zoukankan      html  css  js  c++  java
  • [笔记].I2C札记

    数据的有效性

    SDA数据线必须在SCL时钟线的高电平周期保持稳定,在SCL时钟线的低电平周期才可改变高低电平。

    图1 I2C总线的位传输

    图1 I2C总线的位传输

    起始和停止条件

    起始条件(S):SCL时钟线保持高电平时,SDA数据线从高电平向低电平切换;

    停止条件(P):SCL时钟线保持高电平时,SDA数据线从低电平向高电平切换。

    图2 I2C总线的起始和停止条件

    图2 I2C总线的起始和停止条件

    字节格式

    发送到SDA数据线的每个字节必须为8位。每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。首先传输的是最高位(MSB)。

    图3 I2C总线的数据传输

    图3 I2C总线的数据传输

    响应(应答)

    数据传输必须带响应。在响应的时钟脉冲期间,发送器释放SDA数据线(高);接收器必须将SDA数据线拉低,使之在这个时钟脉冲的高电平期间保持稳定的低电平。响应位的数据状态遵循“谁接收谁产生”的原则,即总是由接收器产生响应位。此过程必须考虑建立和保持时间。

    图4 I2C总线的响应

    图4 I2C总线的响应

    7位的地址格式

    在起始条件(S)后,发送一个从机地址。这个地址共有7位,紧接着的是第八位的数据方向位(R/W’)。数据传输一般由主机产生的停止位(P)终止。如果主机仍希望在总线上通信,它可以产生重复其实条件(Sr)和寻址另一个从机,而不是首先产生一个停止位。

    图5 完整的数据传输

    图5 完整的数据传输

    可能的数据传输格式有:

    1. 主机(发送器)发送到从机(接收器)。传输的方向不会改变。见图6。

    2. 在第一个字节后,主机立即读从机。见图7。在第一次响应时,从机(发送器)变成主机(接收器),从机(接收器)变成从机(发送器)。第一次响应仍有从机产生。之前发送了一个不响应信号(A‘)的主机产生停止条件。

    3. 复合格式,见图8。传输改变方向的时候,起始条件和从机地址都会被重复。但R/W’位取反。如果主机(接收器)发送一个重起始条件,它之前应该发送一个不响应信号(A‘)。

    图6 主机(发送器)用7位地址寻址从机(接收器),传输方向不变

    图6 主机(发送器)用7位地址寻址从机(接收器),传输方向不变

    图7 在第一个字节后,主机立即读从机

    图7 在第一个字节后,主机立即读从机

    图8 符合格式

    图8 符合格式

    信号连接示意图

    图9 I2C总线信号连接示意图

    图9 I2C总线信号连接示意图

    参考

    1.Philips Semiconductors, The I2C SPECIFICATION V2.1, 2000.02

    2. 周立功单片机, I2C总线概要, 2006.11

    3. 周立功单片机, 虚拟I2C汇编程序软件包

    4. 何立民, I2C总线应用设计, 1995, 北京航天航空大学出版社

  • 相关阅读:
    web前端开发规范
    前端工程构建工具之Yeoman
    javascript编码规范
    IOS和安卓不同浏览器常见bug
    SASS对css的管理
    移动端开发注意事项
    性能调试工具
    前端开发和其他类别工程师配合的那些事!
    前端工程师常见的面试题
    前端性能优化浏览器+服务器篇
  • 原文地址:https://www.cnblogs.com/yuphone/p/1617923.html
Copyright © 2011-2022 走看看