ZHDA297 November 2022 ADC081C021 , ADC081C027 , ADC101C021 , ADC101C027 , ADC121C021 , ADC121C021-Q1 , ADC121C027 , ADC128D818 , ADS1000 , ADS1000-Q1 , ADS1013 , ADS1014 , ADS1015 , ADS1015-Q1 , ADS1100 , ADS1110 , ADS1112 , ADS1113 , ADS1114 , ADS1115 , ADS1115-Q1 , ADS7823 , ADS7827 , ADS7828 , ADS7828-Q1 , ADS7830 , ADS7924 , AFE539A4 , DAC081C081 , DAC081C085 , DAC101C081 , DAC101C081Q , DAC101C085 , DAC121C081 , DAC121C085 , DAC43204 , DAC43401 , DAC43401-Q1 , DAC43608 , DAC43701 , DAC43701-Q1 , DAC53002 , DAC53004 , DAC53202 , DAC53204 , DAC53204W , DAC53401 , DAC53401-Q1 , DAC53608 , DAC53701 , DAC53701-Q1 , DAC5571 , DAC5573 , DAC5574 , DAC5578 , DAC60501 , DAC60502 , DAC63002 , DAC63004 , DAC63202 , DAC63204 , DAC6571 , DAC6573 , DAC6574 , DAC6578 , DAC70501 , DAC70502 , DAC7571 , DAC7573 , DAC7574 , DAC7578 , DAC7678 , DAC80501 , DAC80502 , DAC8571 , DAC8574
SDA 和 SCL 线路上均使用开漏连接,并连接到 NMOS 晶体管。该开漏连接控制 I2C 通信线路并将线路拉至低电平或者释放线路至高电平。开漏是指当 NMOS 关闭时的 NMOS 总线连接。图 2-2 展示了 NMOS 导通时的开漏连接。
要设置 SDA 或 SCL 线路的电压电平,需设置 NMOS 开启或关闭。当 NMOS 导通时,器件通过电阻器将电流拉至地。这会将开漏线路拉至低电平。通常,I2C 从高电平到低电平的转换是在 NMOS 在 SDA 或 SCL 上下拉时的快速转换。转换速度由 NMOS 驱动强度以及 SDA 或 SCL 上的任何总线电容决定。
当 NMOS 关断时,器件停止拉电流,上拉电阻器将 SDA 或 SCL 线路拉至 VDD。图 2-3 显示了 NMOS 关闭时的开漏线路。上拉电阻器将线路拉至高电平。开漏线路的转换较慢,因为线路针对总线电容上拉,并且未被主动驱动。
通过控制该开漏连接,SDA 和 SCL 均可设置为高电平和低电平,从而启用 I2C 通信。
由于 I2C 通信线上的电容,SDA 和 SCL 线路以指数建立 RC 时间常数放电,具体取决于 I2C 总线上的上拉电阻器和电容的大小。较高的电容会限制 I2C 通信速度,器件数量以及总线上器件之间的物理距离。上拉电阻越小,上升时间越短,但通信需要更大的功率。较大的上拉电阻器具有较慢的上升时间,导致通信速度变慢,但所需的功耗更低。