ZHCSXM2A December 2024 – April 2025 TMP118
PRODUCTION DATA
物理 I2C 接口由串行时钟 (SCL) 和串行数据 (SDA) 线组成。SDA 和 SCL 线都必须通过外部上拉电阻器(除非集成在控制器内)连接至电源。上拉电阻器的阻值由 I2C 线上的电容值、上拉总线电压以及通信频率决定。有关更多详细信息,请参阅 I2C 上拉电阻器计算应用手册。只有当总线处于空闲状态时,才能启动数据传输。如果在停止条件后,SDA 和 SCL 线都为高电平,则认为总线处于空闲状态。
与该器件的 I2C 通信由控制器发送启动条件开始,并由控制器发送停止条件终止。当 SCL 为高电平时,SDA 线上从高电平到低电平的转换定义了启动条件。当 SCL 为高电平时,SDA 线上从低电平到高电平的转换定义停止条件。
重复启动条件与启动条件类似,用于代替背靠背停止条件和启动条件。重复启动条件看起来与启动条件相同,但两者并不相同,因为重复启动条件在没有停止条件的情况下发生(当总线未空闲时)。
图 7-13 启动和停止条件的定义SCL 的每个时钟脉冲期间会传输一个数据位。SDA 线上的一个字节由 8 个位组成。一个字节可以是器件地址、寄存器指针,或是写入目标或从目标读取的数据。传输数据时,最高有效位 (MSB) 优先。在启动和停止条件之间,可以从控制器向目标传输到 2 个字节的数据。在时钟周期的高电平阶段,SDA 线上的数据必须保持稳定,因为在 SCL 为高电平时数据线上的变化会被解释为控制命令(启动或停止)。
图 7-14 一个字节的数据传输