看图识I2C
2017-04-14 by:CAE仿真在线 来源:互联网
I2C接口标准出来超过20年了,相关的软件,FPGA和芯片设计都非常成熟,在各种产品上广泛应用。整理了一下几个图片,供自己和大家万一不幸需要调试的时候参考,有了这个就再也不用担心I2C了。
I2C协议中的数据传输时序图:
SCL是时钟,SDA承载的是数据。当SDA从1变动到0,而SCL还是1时,表示开始数据传输。接下来的7位,就是设备的地址。紧接着的是读写标志,其为1时是读取,为0则是写。如果I2C总线上存在着和请求的地址相对应的设备,则从设备会发送一个ACK信号通知主设备,可以发送数据了。接到ACK信号后,主设备则发送一个8位的数据。当传输完毕之后,SCL保持为1,SDA从0变换到1时,标明传输结束。
从这个时序图中可以看到,SCL很重要,并且哪个时钟沿是干嘛的,都是确定好的。比如,前面7个必定是地址,第8个是读写标志,数据传输必须是8位,必须接个ACK信号等等。
前面的时序图并没有标明数据传输的方向,我们现在看看写操作的数据流向:
网格的是主设备发送的,白色格子是从设备发送的。从图示中可以看到,对于写操作,从设备都只是发送ACK进行确认而已。
而读操作的数据流向,就有所不同,如图:
这时候,从设备除了发送ACK以外,紧跟着的还有数据。
我们用示波器来查看波形图,以便于理解。
将示波器的X和Y分别接到SDA和SCL,得到波形并分析如图:
有对比才知道差异,最后上一张异常的波形。找到问题在哪里了吗?
没有ACK响应。很大可能是地址错了,注意上图的地址0x30是7位地址,这样8位地址是0x60。或者从设备不在位。
相关标签搜索:看图识I2C HFSS电磁分析培训 HFSS培训课程 HFSS技术教程 HFSS无线电仿真 HFSS电磁场仿真 HFSS学习 HFSS视频教程 天线基础知识 HFSS代做 天线代做 Fluent、CFX流体分析 HFSS电磁分析