linux内核驱动之I2C总线规范

1、概括:

        I2C全拼Inter-integrated Circuit,它是由飞利浦开发的 两线式串行总线,用于连接处理器的controler 和外围器件,具有接口线少,控制方式简单,器件封装形式小,通信速率高,廉价等优点,被广泛应用嵌入式设备中。

        简单:总共两线--串行数据(SDA)和串行时钟(SCL)

        灵活:每个器件有个唯一地址对应,可以作为发送器,也可以作为接收器,所以调试也方便。

2、术语:

       发送器:发送数据到总线的设备

       接收器:从总线接受数据的设备

       主机: 发起和结束传送,并产生时钟信号器件

       从机: 被主机寻址的器件

      多主机: 多个主机同时控制总线,但是不会破坏传输

      仲裁:    多主机模式下只允许其中一个控制总线避免传输被破坏的过程

       同步: 两个或者多个器件同步信号的过程

3、位传输:

     (1 ) 有效数据:SDA线上的数据必须在SCL上高电平周期保持稳定,SDA上的改变在SCL上是低电平时才有效,如下图所示

         

     (2)起始条件:SCL为高电平时,SDA 从高到低的一个跳变

     (3)停止时间:SCL为高电平时,SDA从低到高的一个跳变

          

             

4、数据格式:

     (1)字节格式:SDA 上传输是以一个字节+一个相应位为单位,线传送字节的最高位(MSB),必要时从机可以使SCL保持低电平迫使主机进入等待状态,

            

 

     (2)响应:该时钟有主机产生,发送器释放SDA线(高),接收器将SDA线拉低,如下图所示

             

5、寻址方式:

    (1)7位,第一个字节的头七位组成从机地址,最低位(LSB)即第八位是方向位,LSB = “0” 代表主机写,LSB = "1",代表主机读,

          

      (2)10位:兼容7位寻址方式,可以结合使用,

          

 

 

            

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值