标签:
?1)发送器(Transmitter):发送数据到总线的器件
?2)接收器(Receiver):从总线接收数据的器件
?3)主机(Master):初始化发送、产生时钟信号和终止发送的器件
?4)从机(Slave):被主机寻址的器件
? ?
? ?
其线路结构图如下:
? ?
? ?
如上图示,I2C?总线具有如下特点:?
1)I2C?总线是双向传输的总线,因此主机和从机都可能成为发送器和接收器。不论主机是发送器还是接收器,时钟信号SCL?都要由主机来产生。
2)?只需要由两根信号线组成,一根是串行数据线SDA,另一根是串行时钟线SCL?3)?SDA?和SCL?信号线都必须要加上拉电阻Rp(Pull-Up?Resistor)。上拉电阻一般取值3~?10KΩ?
4)?SDA?和SCL?管脚都是漏极开路(或集电极开路)输出结构
? ?
1)3种速率可选择?
标准模式100kbps、快速模式400kbps、最高速率3.4Mbps
? ?
2)具有特定的传输起始、停止条件?
a)起始条件:当SCL?处于高电平期间时,SDA?从高电平向低电平跳变时产生起始条件。?起始条件常常简记为S?
b)停止条件:当SCL?处于高电平期间时,SDA?从低电平向高电平跳变时产生停止条件。?停止条件简记为P
? ?
3)?数据传输从确定从机地址开始?
a)多个从机可连接到同一条I2C?总线上,它们之间通过各自唯一的器件地址来区分?
b)一般从机地址由7?位地址位和一位读写标志R/W?组成,7?位地址占据高7?位,读写位在最后。读写位是0,表示主机将要向从机写入数据;读写位是1,则表示主机将要从从机读取数据
? ?
4)?以字节为单位的数据传输方式?
a)I2C?总线以字节(Byte)为单位收发数据,主机总是先发地址再发数据?
b)在I2C?总线传输数据过程中,每传输一个字节,都要跟一个应答状态位。遵循"谁?接收谁产生"的原则,即总是由接收器产生应答位,应答位为0?表示接收器应答?(ACK);为1?则表示非应答(NACK)?
c)如果接收器在接收完最后一个字节的数据,或者不能再接收更多的数据时,应当产生非应答来通知发送器
1)传输格式图示
(灰色为主机的工作时隙,白色为从机的工作时隙)
S:起始位(START)?
SA:从机地址(Slave?Address),7?位从机地址?
W:写标志位(Write),1?位写标志?R:读标志位(Read),1?位读标志
A:应答位(Acknowledge),1?位应答?
A:非应答位(Not?Acknowledge),1?位非应答?
D:数据(Data),每个数据都必须是8?位?
P:停止位(STOP)??
? ?
2)传输时序示例
所应用范围包括:摄像头、调频收音机芯片、音频编解码芯片、模拟电视、光电鼠标等?
? ?
? ?
参考:
? ?
? ?
标签:
原文地址:http://www.cnblogs.com/mylinux/p/4679068.html