ZHCSUD0A June 2024 – November 2024 TPSM82866C
PRODMIX
控制器通过产生启动条件来启动数据传输。启动条件是当 SCL 为高电平时在 SDA 线上发生从高电平到低电平的转换,如图 7-3 所示。所有与 I2C 兼容的器件都会识别启动条件。
控制器随后产生 SCL 脉冲,并在 SDA 线上发送 7 位地址和读取/写入方向位 (R/W)。在所有传输期间,控制器确保数据有效。有效数据条件要求 SDA 线在时钟脉冲的整个高电平期间保持稳定(请参阅图 7-4)。所有器件都识别控制器发送的地址,并将该地址与内部固定地址进行比较。只有具有匹配地址的目标器件才会通过在第九个 SCL 周期的整个高电平期间拉低 SDA 线来生成确认消息(请参阅图 7-5)。在检测到该确认消息时,控制器便知道已建立与目标的通信链路。
控制器产生更多的 SCL 周期,以便向目标器件发送数据(R/W 位为 0)或从目标器件接收数据(R/W 位为 1)。在任一种情况下,接收器都需要确认发送器发送的数据。因此,响应信号可由控制器或目标产生,具体取决于哪个是接收器。9 位有效数据序列包含 8 个数据位和 1 个确认位,可根据需要继续。
为了用信号指示数据传输结束,控制器通过在 SCL 线处于高电平期间将 SDA 线从高电平拉至低电平来产生停止条件(请参阅图 7-3)。此操作将释放总线并停止与寻址的目标器件之间的通信链路。所有与 I2C 兼容的器件都必须识别停止条件。在收到停止条件后,所有器件都知道总线已释放,并等待启动条件,接着是匹配的地址。
尝试从本节中未列出的寄存器地址读取数据会导致读出 0x00。