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

 

  1.   1
  2.   摘要
  3.   商标
  4. 1I2C 概述
    1. 1.1 发展历程
    2. 1.2 I2C 速度模式
  5. 2I2C 物理层
    1. 2.1 两线制通信
    2. 2.2 开漏连接
    3. 2.3 无损总线争用
  6. 3I2C 协议
    1. 3.1 I2C START 和 STOP
    2. 3.2 逻辑 1 和 0
    3. 3.3 I2C 通信帧
  7. 4I2C 示例
    1. 4.1 DAC80501 示例
      1. 4.1.1 DAC80501 DAC 数据寄存器
      2. 4.1.2 DAC80501 I2C 示例写入
    2. 4.2 ADS1115 示例
      1. 4.2.1 ADS1115 配置寄存器
      2. 4.2.2 ADS1115 I2C 示例读取
      3. 4.2.3 ADS1115 转换结果
  8. 5保留地址
    1. 5.1 常规调用
    2. 5.2 START 字节
    3. 5.3 C-Bus 地址、不同的总线格式、未来用途
    4. 5.4 HS 模式控制器代码
    5. 5.5 器件 ID
    6. 5.6 10 位目标寻址
      1. 5.6.1 10 位目标寻址写入
      2. 5.6.2 10 位目标寻址读取
  9. 6高级主题
    1. 6.1 时钟同步和仲裁
    2. 6.2 时钟延展
    3. 6.3 电气规格
    4. 6.4 电压电平转换
      1. 6.4.1 示例 1
      2. 6.4.2 示例 2
      3. 6.4.3 示例 3
      4. 6.4.4 示例 4
    5. 6.5 确定上拉电阻器大小
      1. 6.5.1 最小上拉电阻大小
      2. 6.5.2 确定最大上拉电阻器大小
  10. 7与 I2C 类似的协议
  11. 8总结

DAC80501 I2C 示例写入

I2C 写入从 START 条件开始。SDA 被设置为低电平,然后 SCL 被设置为低电平。然后写入 I2C 地址。在 A0 引脚连接到 VDD 的情况下,DAC80501 会响应地址 100 1001(或 49h)。读/写 (R/W) 位设置为低电平,表示控制器正在写入设备。

地址字节完成后,DAC80501 通过下拉地址帧最后一位的 SDA 来对地址进行 ACK。控制器向总线上的所有目标器件发送地址和读取或写入信息。如果目标 DAC80501 具有匹配的地址,器件会发送一个 ACK 以向控制器指示接收到有效地址,从而器件已准备好接收信息。

控制器发送写入 DAC80501 的地址后,控制器会告知器件正在写入哪个寄存器。发送至目标器件的第二个字节是 DAC 数据寄存器的寄存器指针。这里,将 0000 1000 发送到 DAC80501。作为响应,DAC80501 将 SDA 设置为低电平以进行 ACK。同样,目标器件向控制器指示器件已接收到地址指针数据以及正在写入哪个寄存器。

现在,DAC 数据寄存器值每次发送到目标器件一个字节。对于此字节,发送 DAC 数据的第一字节。位 0100 1100 发送到 DAC80501。DAC80501 会对第一个字节进行 ACK。

最后,配置寄存器的最后一个字节发送到目标器件。这里,将 1100 1101 发送到 DAC80501。DAC80501 会对第二个数据字节进行 ACK。最后,SCL 被释放为高电平,然后 SDA 被释放。在此操作中,控制器通过发出 STOP 条件来释放总线。

将这些帧放在一起后,I2C 写入显示为图 4-2。在这里,该图显示了针对所有帧采用正确位设置的整个通信。如果示波器绘制了 SDA 和 SCL 的 I2C 通信图,则可以直接将此图与该图进行比较以进行调试。

DAC80501 DAC80501 的 DAC 数据寄存器的示例写入图 4-2 DAC80501 的 DAC 数据寄存器的示例写入