请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:LP5814主题中讨论的其他器件: LP5816、 LP5817、LP5815
工具/软件:
解决 I2C NACK 的四个步骤、
- 硬件检查
- 器件 I2C 从器件地址检查
- 实数输出 I2C 数据位检查
- SCL/SDA 高低电平检查
通常、在执行这四个步骤之后、应找到 I2C NACK 的根本原因、并且应解决问题。
但是、还有其他可能引入 I2C NACK 的因素、例如时钟频率超出范围、时序参数违反规范。 尤其是当使用 GPIO 来仿真 I2C 功能而不是使用控制器的标准 I2C 外设时。
1、硬件检查
- 测量 LP5814/LP5815/LP5816/LP5817 VCC 引脚上的电压 、确保电压介于 2.5V 至 5.5V 之间
- 测量 SCL/SDA 上的电压、确保在没有 I2C 通信时 SCL/SDA 保持在高电平状态、作为 VIO 的电压。 请注意、SCL/SDA 需要上拉电阻器。

2.器件 I2C 从器件地址检查
- LP5814 和 LP5816 具有相同的 7 位独立从器件地址 0x2C
- LP5815 和 LP5817 具有相同的 7 位独立从器件地址 0x2D
- LP5814 / LP5815 / LP5816 / LP5817 具有相同的 7 位广播从器件地址 0x34

3.实际输出 I2C 数据位 检查
- 通常、我们可能会看到代码中设置了正确的 I2C 地址、但仍然满足 NACK。 然后、我们可能需要怀疑 SCL/SDA 上的实际输出位没有映射代码数据
- 使用示波器或数字分析仪捕获 SCL/SDA 上的位
- 将捕获的位与代码数据进行比较
![]() |
![]() |
4. SCL/SDA 高电平低电平检查
- 如果在检查电源轨和 I2C 地址是否正确后仍然接收到 NACK、则可能需要检查 SCL/SDA 的高/低电平是否满足规格
- 对于 LP5814/LP5815/LP5816/LP5817、
–SCL/SDA 的电压电平大于 1.4V 可成功识别为高电平
–SCL/SDA 的电压电平低于 0.4V 可成功识别为低电平


