IIC简介 白话文

来源:互联网 发布:软件测试逻辑覆盖 编辑:程序博客网 时间:2024/05/01 18:10

IIC(Inter-Integrated Circuit 集成电路总线),一共两根信号线SDA SCL。
SDA(data)就是数据线,SCL(clock)是时钟线,时钟线的意思就是,在示波器上我会呈现出一个周期一个周期的图像,不会改变,除了在开始,和数据传输结束。
有以下几个法律条款:

  1. 准备起床上班!
    总线空闲信号:SDA SCL均处于高电平。

  2. 开始工作了!
    起始信号:SCL高电平 SDA由高变低完成。

  3. 我下班了!
    结束信号:SCL高电平 SDA由低变高完成。
    下面是在Start信号之后,Stop信号之前的信号

  4. 工作当中!
    Start之后,SCL该变低了,在SCL变低的这段时间,SDA在考虑并决定(完成)要传输1(如果原来是高就不变,如果原来是低就升起来)还是0(如果原来是高就降下来,如果原来是低就不变)的数据资料,下一个SCL的高电平位置,读取SDA的这一个数据bit(为最高位bit7),SCL以周期性的变化,在低电平,SDA就做决定,高电平就去取SDA数据直到第8个bit(bit0 共8bit),当此完成后,SCL的低电平,SDA要再次做决定(这是他做的第9个决定,不同与之前)当SCL变高电平后,读取SDA,高电平表示未响应(NACK信号 后面讲),低电平表示响应(ACK 后面讲)。记住SDA的数据变换(0到1或者1到0)一定发生并且完成在SCL**同一个低电平**的时候。

  5. 上班过程当中,我是歇一会或请假下班(NACK)还是继续工作(ACK)呢!
    关于ACK和NACK,如果是ACK表示可以继续下一个BYTE的传送,还有数据发送(下一个byte),如果是NACK信号,表示不再响应,SDA要发送Stop信号了,不再传输数据。

高深时序图

情况总结

偷得图
最后一张图位置:
http://blog.sina.com.cn/s/blog_98ca54fc0101590o.html

准备下班。。。

0 0
原创粉丝点击