ZHCACH2 march   2023 PCA9306

 

  1.   摘要
  2.   商标
  3. 1引言
  4. 2处理 NACK 时的常规检查
    1. 2.1 NACK
    2. 2.2 查看原理图
    3. 2.3 仔细检查控制器和目标之间的 SDA 和 SCL
    4. 2.4 RESET 正确偏置
    5. 2.5 器件焊接正确
  5. 3示波器截图
    1. 3.1 为什么要使用示波器进行调试?
    2. 3.2 设置示波器
    3. 3.3 收到 NACK 时验证 I2C 地址
    4. 3.4 验证启动和停止条件
    5. 3.5 检查字节格式
    6. 3.6 上升时间是否符合 I2C 标准?
    7. 3.7 发送的命令字节是否有效?
  6. 4I2C 开关
    1. 4.1 TI I2C 开关的停止条件
  7. 5I2C 缓冲器
    1. 5.1 缓冲器的 VoL 与 ViLc
    2. 5.2 缓冲器的 VoL 超过 I2C 目标器件的 ViL
    3. 5.3 缓冲器的静态失调电压不能连接到其他静态失调电压
  8. 6检查清单
  9. 7结论

NACK

在 I2C 通信中,每个事务都包含来自控制器的 8 位(1 字节)信息,后跟来自目标器件的一位信息。目标器件发送的位可以是 0(通常表示为 ACK 位),也可以是 1(通常表示为 NACK 位)。当目标发送 ACK 位时,这表示已正确收到传输的数据,而没有任何错误。当目标发送 NACK 位时,这表示接收器未正确接收到传输的数据或地址。在 I2C 系统中,有几种一般情况可能导致生成 NACK。了解 I2C 总线 应用手册的 ACK 和 NACK 一节中对这些情况进行了详细说明。

图 2-1 中的示例展示了 I2C 控制器尝试写入地址 0x55h 的目标器件时发生了 NACK 以及 I2C 目标 NACK(不会在第 9 个时钟脉冲上将 SDA 驱动为低电平)。

GUID-20221012-SS0I-1C7Z-VPHC-VVN0RJKPPS6R-low.svg图 2-1 NACK 示例