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。为防止出现这种情况,请使用示波器验证数据是否按正确的顺序(目标字节地址、命令字节、数据字节)发送到目标器件。请记住,SCL 信号线上的时钟脉冲用于对 SDA 线上发送的各个位进行分段。每个帧需要为数据位提供 8 个时钟脉冲,为 ACK 或 NACK 位提供 1 个时钟脉冲。

GUID-20210702-CA0I-T361-BTRD-0VD1ZXWJTJ67-low.svg图 3-4 具有多个寄存器地址的 I2C 写入格式示例