安德鲁

[笔记].I2C札记.[I2C]

0
阅读(2145)

数据的有效性

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

图1 I2C总线的位传输

起始和停止条件

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

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

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

字节格式

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

图3 I2C总线的数据传输

响应(应答)

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

图4 I2C总线的响应

7位的地址格式

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

图5 完整的数据传输

可能的数据传输格式有:

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

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

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

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

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

图8 符合格式

信号连接示意图

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

参考

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

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

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

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

Baidu
map