ZHDA360A June   2015  – October 2026 INA209 , INA219 , INA220 , INA220-Q1 , INA223 , INA226 , INA226-Q1 , INA230 , INA231 , INA3221 , INA3221-Q1 , LM8323 , LM8325-1 , LM8327 , LM8328 , LM8330 , LM8333 , LM8335 , OPT3001 , OPT3001-Q1 , OPT3002 , OPT3004 , OPT3006 , OPT3007 , P82B715 , P82B96 , PCA6107 , PCA9306 , PCA9306-Q1 , PCA9515A , PCA9515B , PCA9518 , PCA9534 , PCA9534A , PCA9535 , PCA9536 , PCA9538 , PCA9539 , PCA9543A , PCA9544A , PCA9545A , PCA9546A , PCA9548A , PCA9554 , PCA9554A , PCA9555 , PCA9557 , PCF8574 , PCF8574A , PCF8575 , PCF8575C , TCA4311A , TCA5405 , TCA6408A , TCA6416A , TCA6418E , TCA6424A , TCA6507 , TCA8418 , TCA8418E , TCA8424 , TCA9406 , TCA9509 , TCA9517 , TCA9517A , TCA9534 , TCA9534A , TCA9535 , TCA9538 , TCA9539 , TCA9539-Q1 , TCA9543A , TCA9544A , TCA9545A , TCA9546A , TCA9548A , TCA9554 , TCA9554A , TCA9555 , TCA9617A , TCA9617B , TCA9800 , TCA9801 , TCA9802 , TCA9803

 

  1.   1
  2.   摘要
  3.   商标
  4. 1电气特性
    1. 1.1 通过漏极开路实现双向通信
      1. 1.1.1 漏极开路拉低
      2. 1.1.2 漏极开路释放总线
  5. 2I2C 接口
    1. 2.1 常规 I2C 运行
      1. 2.1.1 启动条件和停止条件
      2. 2.1.2 重复 START 条件
    2. 2.2 数据有效性与字节格式
    3. 2.3 确认 (ACK) 和否定确认 (NACK)
  6. 3I2C 数据
    1. 3.1 在 I2C 总线上向目标器件写入
    2. 3.2 在 I2C 总线上从目标器件读取
  7. 4修订历史记录

常规 I2C 运行

I2C 总线是一种使用控制器与目标器件通信的标准双向接口。除非目标器件已被控制器寻址,否则目标器件不能发送数据。I2C 总线上的每个器件都有一个特定的器件地址,以便区别于同一 I2C 总线上的其他器件。许多目标器件在启动时需要进行配置来设置器件行为。这通常在控制器访问目标器件内部的寄存器映射时进行,这些寄存器映射具有唯一的寄存器地址。一个器件可以有一个或多个用于存储、写入或读取数据的寄存器。

物理 I2C 接口由串行时钟 (SCL) 和串行数据 (SDA) 线组成。SDA 和 SCL 线都必须通过上拉电阻器连接至 VCC。上拉电阻器的大小由 I2C 线上的电容量(有关进一步细节,请参阅 I2C 上拉电阻器计算)(SLVA689) 决定。只有当总线处于空闲状态时,才能启动数据传输。如果在停止条件后,SDA 和 SCL 线都为高电平,则认为总线处于空闲状态。

控制器访问目标器件的一般过程如下:

  1. 假设控制器想要向目标器件发送数据:
    • 控制器/发送器发送一个 START 条件并对目标/接收器进行寻址
    • 控制器/发送器向目标/接收器发送数据
    • 控制器/发送器以 STOP 条件终止传输
  2. 如果控制器想要接收/读取目标器件的数据:
    • 控制器/接收器发送一个 START 条件并对目标/发送器进行寻址。
    • 控制器/接收器将要读取的寄存器地址发送给目标/发送器
    • 控制器/接收器接收目标/发送器的数据。
    • 控制器/接收器以 STOP 条件终止传输