首页 > 代码库 > I2C详细介绍
I2C详细介绍
I2C时序
1.开始和停止:
说明:
开始:在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详细介绍
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。