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