1.I2C总线的构成
I2C总线是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据,在CPU与被控I2C总线器件之进行双向传送。I2C总线器件采用7位寻址,但是由于数据传输速率和功能要求提高,I2 C总线也增强为快速模式(400kbit/s)和10位寻址,以满足更高速度和更大寻址空间的需求。
在信息的传输过程中,I2C总线上级联的每一个芯片既是发送器又是接收器,这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制码两部分。地址码用来选址,即接通需要控制的电路,确定控制的种类。通过线“与”方式,图5-8给出了单片机应用系统中最常使用的I2C总线外围通用器件。
图5-8 I2C总线结构
2.I2C总线的信号类型
I2C总线在传送数据过程中共有3种信号,它们分别是:起始信号、终止信号和应答信号。
起始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始数据传送。
终止信号:SCL为高电平时,SDA由低电平向高电平跳变,结束数据传送,如图5-9所示。
图5-9 I2C总线起始和终止信号
应答信号是接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况确定是否继续传递信号。若未收到应答信号,由此判断为受控单元出现故障,如图5-10所示。
(www.xing528.com)
图5-10 I2C总线应答信号定义
3.数据位的有效性规定
I2C总线进行数据传送时,在时钟信号为高电平期间,数据线上的数据必须保持稳定。只有在时钟线上的信号为低电平时,数据线上的状态才允许变化,如图5-11所示。
4.I2C总线数据传输流程
1)开始,发送开始信号,表明传输开始。
2)发送地址,主设备发送地址信息,包含7位的从设备地址和1位的指示位(表明读或者写,即数据流的方向)。
图5-11 数据的传送过程
3)发送数据,根据指示位,数据在主设备和从设备之间传输。数据一般以8位为单位进行传输,最高位放在前面。具体传输多少数据并没有限制。接收器上用一位的ACK(应答信号)表明每一个字节都收到了,传输可以被终止和重新开始。
4)停止,发送停止信号,结束传输。
目前很多集成电路上都集成了I2C接口。带有I2C接口的单片机有Cygnal公司的C8051F0××系列、Philip公司的SP87LPC7××系列、Microchip公司的PIC16C6××系列等。很多外围器件如存储器、监控芯片等也提供I2C接口。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。