引言
IIC总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
- 主从双向通信。主从器件都可发送接收数据,主器件产生SCL时钟、控制总线传送方向,并产生开始停止条件。
- 有SCL时钟线和SDA数据线,都是双向线传输线。总线备用时候(没人用的时候)SDA=SCL=高电平,只有关闭IIC总线时候SCL才是低电平。
- 传输速率:
- 普通模式:100k bit/s
- 快速模式:400k bit/s
- 高速模式:3.4M bit/s
总线备用:
开始和停止信号:
开始和停止信号 | |||
信号 | SCL | SDA | 注意 |
开始信号 | 高 | 由高到低 | 跳变前高电平持续时间要大于4.7us且SDA的低电平持续时间要大于4us |
结束信号 | 高 | 由低到高 | 跳变前低电平持续时间要大于4us且SDA的高电平持续时间要大于4.7us |
应答信号:
ACK应答:
非ACK(非应答):
控制字
控制字 | |||
IIC从器件地址4位 | 片选和块选 | 读写? | |
1010(串行EEPROM) | A2 A1 A0 | 1读0写 | |
由Philip公司IIC规程决定 | A2 A1 A0 | R/-W |
AT24CTXX:包含一个地址计数器,保存被存取的最后一个字的地址,并在片内自动加一。(就是说以前存取的地址为n,下一次就是n+1)
读操作
字节写:
页面写:
读操作:
字节读:读当前地址内容
随机读:先写地址,然后读
顺序读: