参考文献
有关文件及软件,请浏览:
//www.wsdof.com/雷电竞官网登录products/greenpak
下载我们的免费GreenPAK设计软件[1],打开。gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。
雷竞技电竞平台Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。
- GreenPAK设计软件,软件下载和用户指南,Dialog Semiconductor雷竞技电竞平台
- AN-1144 I2C IO控制器8位总线,绿派克设计文件,Dialog半导体雷竞技电竞平台
- GreenPAK开发工具, GreenPAK开发工具网页,Dialog半导体雷竞技电竞平台
- GreenPAK应用笔记,绿派克应用笔记网页,对话半导体雷竞技电竞平台
- SLG46531对话框数据表,半导体雷竞技电竞平台
作者:玉涵太阳
介绍
这个应用笔记是另一个应用笔记的必然结果AN-1090 Simple I2C IO controller with SLG46531V[5].AN-1090解释了如何使I2C IO控制器具有单独的输入和输出引脚。然而,这个应用程序笔记将解释如何设置一个8位总线控制器结合输入引脚和输出引脚。请参见图1中的系统级别视图。
数字输入/输出和OE
为了结合输入和输出,总线接口的每个引脚被设置为“数字输入/输出”。在SLG46531V中只有9个gpio能够“数字输入/输出”,我们将使用其中的8个引脚:引脚#19,18,16,14,13,7,5,3。每个引脚都有一个用于切换模式的OE信号。设置如图3所示的属性,并设置如图2所示的矩阵连接。
每个输出信号由一个I2C虚拟输入控制。OE由2位LUT0控制。2位LUT0的输入都是gnd。因此,如果LUT配置如图4a所示,那么OE将是逻辑1。如果LUT配置如图4b所示,那么OE将是逻辑0。我们将使用I2C动态更改LUT配置。
|
|
|
|
I2C总线写
为了写总线,MCU必须发送2个命令:首先写I2C虚拟输入,然后通过重新配置2位LUT0设置OE = 1:
- W: I2C虚拟输入,写入地址0xF4。每个位对应一个I2C虚拟输入。从左到右的顺序是引脚#19,18,16,14,13,7,5和3。
0 xf4
0
0
0
0
0
0
0
0
0 xf4
1
1
1
1
1
1
1
1
- W: 2比特LUT0,将字节值为0x8的地址0x96的第二个小点写入。要屏蔽第一个字节,读取字节并只更改后四位。
0 x96
X
X
X
X
1
0
0
0
I2C总线读
为了从总线读取,MCU必须发送2个命令:首先通过重新配置2位LUT0设置OE = 0,然后从GPIO输入电平读取。
- W: 2比特LUT0,将字节值为0x0的地址0x96的第二个小点写入。要屏蔽第一个字节,读取字节并只更改后四位。
0 x96
X
X
X
X
0
0
0
0
- R:输入水平,从地址0xF0和0xF6读取pin# 3、5、7和pin# 13、14、16、18、19的输入电平。然后根据位位置对数据进行解析。
0 xf0
X
X
PIN3
X
平快
X
PIN7
X
0 xf6
X
PIN13
PIN14
X
PIN16
0
PIN18
PIN19
警告
下面的警告可以忽略,因为2位LUT0输入故意保持静态,并且真值表将通过I2C重新配置。
模拟
每个数字IO引脚有一个上拉低活动按钮。仿真后启用I2C工具。
I2C命令示例
图7到10显示了每个示例的输出,这是来自I2C工具的屏幕截图。
语法:[是开始的部分,]是停止位,和SA是带有r/w位的从地址。
I2C write to I2C虚拟输入逻辑0,0,0,1,0,1,1。
(SA)0 xf4 0 xe8]
I2C写入2位LUT0配置到1,0,0,0:
(SA)0 x96 (]
I2C write 2-bit LUT0 configuration to 0,0,0,0:
(SA)0 x96 0 x00]
从引脚#7,5和3和#19,18,16,14和13读取输入电平:
(SA)0 xf0[0 xsa读]
I2C write 2-bit LUT0 configuration to 0,0,0,0:
(SA)0 x96 0 x00]
从引脚#7,5和3和#19,18,16,14和13读取输入电平:
(SA)0 xf0[0 xsa读]
(SA)0 xf6[0 xsa读]
结论
在本应用笔记的最后,你应该能够制作一个GreenPAK设计和I2C命令。不像一个- 1090,这种设计使用更少的gpio,以牺牲更多的I2C命令为代价。