IIC(Inter-Integrated Circuit)总线协议浅谈

IIC(Inter-Integrated Circuit)总线协议浅谈

1、IIC协议的思想

IIC协议可以比喻成“老师点名”:老师相当于主机,学生相当于从机,学生的名字相当于IIC设备的地址。当老师点到某一个学生名字时,每个学生都能听到,但只有被叫到的学生才能回答(响应),被叫学生与老师的对话相当于主机与从机之间的交流(读写)。

2、IIC协议的时序

 

图1 IIC总线概念图

       IIC总线的工作方式如图1所示,总线有两条信号线SDA和SCL,SDA是双向三态串行数据,SCL是单向串行时钟。IIC总线可以挂载多个IIC设备,并且相互进行通信由时序控制,

       IIC协议的时序主要包括:START和STOP信号时序、写操作、读操作和字节写时序,下面分别进行介绍。

2.1 START信号和STOP信号时序

 

图2 起始信号和停止信号

       起始信号的产生过程:在SCL拉高之际,SDA由高变低;停止信号的产生过程:在SCL拉高之际,SDA由低变高。

2.2 响应(Ackonwledge)信号时序

 

图3 响应信号时序

       如何知道IIC设备已经接受到数据呢?这时候就需要IIC设备接受完数据后向总线反馈一个响应信号,意思是告诉总线,信号接受成功。因为SDA的硬件端口连接了上拉电阻,所以在接受完数据后呈现高电平状态,此时输出低电平表示信号响应。

2.3 写操作

 

图4 写操作

       由于此刻是写操作,所以设备地址的访问方向是“写”,所以访问方向位设置为0。

2.4 读时序

 

图5 读操作

       相较写操作,读操作不仅多了许多“拼图”,而且途中也改变访问方向。

3、IIC的应用

       1)利用IIC扩展串行EEPROM

 

2)利用IIC扩展IO接口

 

4、IIC思想的来源猜想

       1)老师点名

       2)沙场秋点兵

 

posted @ 2015-06-02 21:06  yulone  阅读(976)  评论(0编辑  收藏  举报