标签:i2c i2c协议 i2c时序 i2c timing
说明:
开始:在SCL的高电平的时候SDA线的从高电平到低电平的跳变定义为开始
停止:在SCL的高电平的时候SDA线的从低电平到高电平的跳变定义为停止
2.有效数据的位置:
说明:在SCL的高电平读取数据,这就告诉我们,在SCL为高电平的时候SDA线必须是稳定的,在进一步说,在SCL的低电平SDA线变数据,或者说在SCL变成高电平之前,将要发送的数据(至于读,读SCL为高电平时间段上SDA线上的数据)放到SDA线上去
3.应答:
当一个字节(8bits)的数据都传输完成的时候继续进行第9位的发送或者判断,SDA线上的低电平定义为应答ACK信号
4.写周期的时序:
从这里可以看到,数据的传输是先高位再低位再加一个应答位的顺序
5.总线时序:
具体的时间要看具体的芯片,下边表格是AT24C01A,AT24C02,AT24C04,AT24C08AT24C16的时间
需要解释的几个时间:
Tsu.sta:SCL变高电平的时刻到开始发送开始信号的时间
Thd.sta:开始信号发送完到SCL允许变低的时间
Tbuf:一组数据发送完,下一组可以开始的时间
6.其他注意的事项:
总线上应该加上拉电阻,因为I2C协议的芯片的内部是OC门(开漏输出的),外部上拉的电阻阻值4.7K或10K。
电压的不同,对时间有影响,因此要想得到不出错的时序,需要验证不同电压下的通信。
标签:i2c i2c协议 i2c时序 i2c timing
原文地址:http://blog.csdn.net/qqliyunpeng/article/details/41511347