• 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)沙场秋点兵

  • 相关阅读:
    js基础四
    序列化和反序列化
    数组
    枚举
    Class对象和反射
    字符串String
    对象的克隆
    异常处理机制
    多继承和代码块
    接口和抽象类
  • 原文地址:https://www.cnblogs.com/yulone/p/4547656.html
Copyright © 2020-2023  润新知