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