跳到主要内容

AN-1144 I2C IO控制器8位总线

内容

参考文献

对于相关的文件和软件,请访问:

https://www.dialog-semicondoduments.c亚博电竞菠菜om/products/greenpak.

下载我们的免费GreenPak Designer软件[1]打开.gp文件[2]并使用GreenPak开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。

yabo国际娱乐对话框半导体提供完整的应用程序库注意[4],其中包含了设计示例以及对话框IC中的功能和块的说明。

  1. GreenPak Designer软件,软件下载和用户指南,对话框半导体yabo国际娱乐
  2. AN-1144 I2C IO控制器8位总线.GP,GreenPak设计文件,对话半导体yabo国际娱乐
  3. GreenPak开发工具,GreenPak开发工具网页,对话框半导体yabo国际娱乐
  4. GreenPak应用笔记,绿派克应用笔记网页,对话半导体yabo国际娱乐
  5. SLG46531.数据表,对话框半导体yabo国际娱乐

作者:余汉太阳

介绍

这个应用笔记是另一个应用笔记的必然结果AN-1090简单的I2C IO控制器,具有SLG46531V[5]。AN-1090说明如何使用单独的输入和输出引脚进行I2C IO控制器。但是,此应用笔记将解释如何设置8位总线控制器,该控制器将输入引脚与输出引脚组合。有关系统级视图,请参阅图1。

图1.系统级视图

数字输入/输出和OE

要将输入与输出结合起来,每个引脚接口总线都设置为“数字输入/输出”。Only 9 GPIOs in the SLG46531V are ‘Digital Input/Output’ capable and we will be using 8 of those pins: PINs #19, 18, 16, 14, 13, 7, 5, 3. Each of these pins have an OE signal that toggles the mode. Set the properties as shown in Figure 3 and setup the matrix connections as shown in Figure 2.

每个输出信号由I2C虚拟输入控制。OE由2位LUT0控制。2位LUT0的输入均为GND。因此,如果LUT配置如图4A所示,那么OE将是逻辑1.如果LUT配置如图4B所示,则OE将是逻辑0.我们将使用I2C在飞行中更改LUT配置。

图2. GreenPak设计
图3.引脚配置
图4A。OE = 1
图4B。OE = 0.

I2C总线写道

要编写总线,MCU必须发送2命令:首​​先写入I2C虚拟输入,然后通过重新配置2位LUT0来设置OE = 1:

  1. W:I2C虚拟输入,写入地址0xF4。每个位对应于I2C虚拟输入。从左到右的顺序是销#19,18,16,14,13,7,5和3。

    0xF4.

    0.

    0.

    0.

    0.

    0.

    0.

    0.

    0.

    0xF4.

    1

    1

    1

    1

    1

    1

    1

    1

  2. w:2位lut0,用字节值0x8写入地址0x96的第二个啃。要屏蔽第一个蚕食,请读取字节并仅更改后两位。

    0x96

    X

    X

    X

    X

    1

    0.

    0.

    0.

I2C总线读

要从总线读取,MCU必须发送2个命令:通过重新配置2位LUT0来发送2个命令,然后从GPIO输入电平读取。

  1. w:2位lut0,用字节值0x0写入地址0x96的第二个啃。要屏蔽第一个蚕食,请读取字节并仅更改后两位。

    0x96

    X

    X

    X

    X

    0.

    0.

    0.

    0.

  2. R:输入水平,从地址0xF0和0xF6读取pin# 3、5、7和pin# 13、14、16、18、19的输入电平。然后根据位位置对数据进行解析。

    0xF0.

    X

    X

    PIN3.

    X

    PIN5.

    X

    PIN7.

    X

    0xF6.

    X

    PIN13

    PIN14.

    X

    PIN16.

    0.

    PIN18.

    PIN19

警告

可以忽略以下警告,因为2位LUT0输入故意留下静态,并且真相表将通过I2C重新配置。

图5.警告和规则检查器

仿真

每个数字IO引脚都有一个上拉效低电平按钮。仿真后启用I2C工具。

图6.仿真器配置

示例I2C命令

每个示例的输出如图7到10所示,其是来自I2C工具的截图。

语法:[是起点,]是止步位,而且SA是具有R / W位的从地址。

  1. I2C写入I2C虚拟输入逻辑0,0,0,1,0,1,1,1。

    [Sa.0xf4,0xe8.]

  2. I2C写入2位LUT0配置到1,0,0,0:

    [Sa.0x96 0x08]

    图7.示例一
    图8.示例II
  3. I2C将2位LUT0配置写入0,0,0,0:

    [Sa.0x96 0x00.]

  4. I2C读取引脚#7,5和3以及#19,18,16,14和13的输入水平:

    [Sa.0xF0.[0xSA阅读]

  5. I2C将2位LUT0配置写入0,0,0,0:

    [Sa.0x96 0x00.]

  6. I2C读取引脚#7,5和3以及#19,18,16,14和13的输入水平:

    [Sa.0xF0.[0xSA阅读]

    [Sa.0 xf6[0xSA阅读]

图9.示例III
图10.示例IV

结论

在此应用程序结束时,您应该能够制作GreenPak设计和I2C命令。不像AN-1090.,此设计使用较少的GPIO以牺牲更多I2C命令为代价。