定义术语
1、数据有效性
在 SCL 高电平期间,SDA 必须稳定,所以一般情况下,SCL 高电平宽度小,SDA 高电平宽度大,用示波器看也是这样的。
2、起始条件和停止条件
起始条件:SCL 高电平时,SDA 由高变低。
停止条件:SCL 高电平时,SDA 由低变高。
一般每传输一个字节(8 bit),就会重新开始。SDA 在 SCL 是低电平期间变换数据,不可以在 SCL 高电平期间变换数据,否则会认为是起始和停止条件。
传输长度必须是一个字节(8 bit)
每次传输的字节不受限制
数据必须以 MSB 开头进行传输,也就是先传输最高位
从机可以将时钟线 SCL 保持在低位,迫使主机进入等待状态。
3、ACK or NACK
每次传输完一个字节以后,从设备要进行一个回应,回应 ACK 或者 NACK。
ACK :在传输 8 bit 以后,在第九个 bit ,SCL 高电平,如果 SDA 是低电平,说明回应了 ACK。
NACK:在传输 8 bit 以后,在第九个 bit ,SCL 高电平,如果 SDA 是高电平,说明回应了 NACK。
4、write data
5、read data
6、复合格式
7、I2C Transfer Regulation
以 START 条件开始
以 STOP 条件结束
传输的第一个字节为 7bit 从机地址 + 1bit 读写位
每个总线上的设备都会比较 STRAT 信号后面的 7bit 地址与自己的地址是否匹配
每个 byte(8 bits) 后面都会有 ACK 或者 NACK
在 START 信号或者 repeated START 信号后,从机必须重置自己的总线逻辑
一个 START 后面紧跟着一个 STOP 信号,是非法格式
主机 master 可以不产生 STOP 信号,而是直接产生一个 repeated START信号+另外一个设备地址,直接开始访问另外一个设备
8、10-bit addressing
解析如下:
A9-A0 表示 10bits 地址
全部0条评论
快来发表一下你的评论吧 !