I2C数据传输的格式是:
启动条件
-->
从地址(7bit)
-->
读写(1bit)
--> 确认
--> 子地址(8bit)
--> 确认
--> 传输数据
[n(8bit+确认位)]
--> 停止条件
I2C总线传输数据首先要满足启动条件。启动条件是:时钟线(SCL)为高电位时数据线(SDA)由高电位转向低电位。
启动条件通常由微处理器(MPU)
产生。MPU产生启动条件后,接着传送7位二进制数(7bit)组成的“从地址”,所谓
“从地址”
(即从属地址)就是I2C总线所连接的各集成电路的编号
(二进制数);例如TA8880CN的从地址是1000100、
TA8776N的从地址是1000000,不同的集成电路有不同的从地址。MPU若传送从
地址1000100,TA8880CN就接收
数据,而TA8776N则不能接收数据。传送从地址之后,传送1bit的读写位;读写位如为“0”,表示
MPU向其他集成电路发
送数据,即写入数据;如为“1”表示MPU接收其他集成电路发送的数据,即读入数据。第9位是确认位,此时MPU发送的
时钟脉冲
SCL线为高电位,接收数据的集成电路必须把SDA线电位拉低到低电位,才确认接收数据,即传送的数据才有效。
接着再传送8bit的“子地址”
。所谓“子
地址”
,就是在被控制的集成电路中存放各种控制数据的存储单元的地址。例如
TA8880CN子地址00000000存放白峰值限幅器及色饱和度控制数据。
子地址00000001存放锐度调整开关与色调控制
数据。子地址传送后同样要有确认位。然后一个字节接一个字节地传输数据,每一个字节是8bit长,后面
都要跟随一个确
认位,直到MPU发出停止条件为止。停止条件是:当SCL线在高电位时,SDA线由低电位变为高电位。