ZHCSXB4 October 2024 TAA3040
ADVANCE INFORMATION
I2C 总线使用 SDA(数据)和 SCL(时钟)这两个信号,通过串行数据传输在系统中的集成电路之间进行通信。地址和数据 8 位字节优先以 MSB 的形式传输。此外,总线上传输的每个字节都由接收器件通过一个响应位进行响应。每次传输操作从主器件在总线上驱动启动条件开始,到主器件在总线上驱动停止条件结束。当时钟处于逻辑高电平时,总线使用数据引脚 (SDA) 上的转换来指示启动和停止条件。SDA 上从高电平转换到低电平表示启动,而从低电平转换到高电平表示停止。正常的数据位转换必须发生在时钟周期的低电平时间内。
主器件会驱动一个启动条件,后跟 7 位从器件地址和读取/写入 (R/W) 位,以打开与另一个器件的通信,然后等待确认条件。从器件会在确认时钟期间将 SDA 保持为低电平以指示确认。当发生这种情况时,主器件会传输序列的下一个字节。每个从器件都通过一个唯一的 7 位从器件地址加上 R/W 位(1 个字节)进行寻址。所有兼容器件均使用线与连接,通过双向总线共享相同的信号。
在启动和停止条件之间可以传输的字节数没有限制。在传输最后一个字时,主器件会生成一个停止条件以释放总线。图 6-66 展示了一般的数据传输序列。
在系统中,对 SDA 和 SCL 信号使用外部上拉电阻器,以设置总线的逻辑高电平。SDA 和 SCL 电压不得超过器件电源电压 IOVDD。