This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1115: ADS1115无响应

Part Number: ADS1115

使用FPGA 搭建I2C协议 驱动ADS1115,但从机一直NACK,转换数据一直被外部源拉高(0xFFFF,怀疑ADS1115没有输出数据)目前排查了时序及配置寄存器,地址指针寄存器,转换寄存器相关数据,发现如下情况:

1. 写操作进行配置寄存器,ADS1115 第9bitACK响应为1,正确应该是0(波形及I2C解码如下):

2.写操作(从机地址&转换寄存器地址),ADS1115第9bitACK响应为1,正确应该是0(波形及I2C解码如下):

3.读操作,ADS1115返回值全为1(0xffff)(波形及I2C解码如下):

请问这是什么问题导致我的ADS1115无法响应,主机(我的FPGA)应该收的数据全部被外部源拉高?

  • 您好

    https://www.ti.com.cn/tool/cn/download/ADS1115-C-EXAMPLE-CODE

    这是官方给的相关例程。相关坑原因

    1. I2C通信问题‌:

      • 检查I2C总线的连接是否正确,包括SDA、SCL以及地址线的连接。
      • 确保ADS1115的I2C地址设置正确,并且与FPGA中的配置相匹配。
      • 使用逻辑分析仪或示波器检查I2C通信波形,确保时钟和数据线在正确的时序下工作。
    2. 电源和接地问题‌:

      • 检查ADS1115的电源供应是否正常,确保电压和电流都在规格范围内。
      • 检查接地是否良好,避免地电位差导致的信号干扰。
    3. 输入信号问题‌:

      • 检查输入到ADS1115的信号是否在规格范围内,特别是模拟输入信号的电平和范围。
      • 如果使用了差分输入,确保差分对信号的平衡性和幅度都在规格要求内。
    4. 外部干扰和拉高问题‌:

      • 检查是否有外部信号或干扰源将I2C总线或模拟输入信号拉高。
      • 特别是在使用长距离传输或在高噪声环境下,需要特别注意信号的完整性和抗干扰能力。
    5. ADS1115内部故障‌:

      • 如果以上检查都没有问题,可能需要考虑ADS1115内部是否存在故障。
      • 可以尝试更换一块新的ADS1115进行测试,以排除器件本身的问题。

    针对你提到的“数据全部被外部源拉高”的问题,具体可能的原因包括:

    • I2C总线上的上拉电阻设置不当‌:确保I2C总线上的上拉电阻符合规格要求,通常推荐值为4.7kΩ至10kΩ。
    • 外部干扰导致总线被意外拉高‌:检查周围是否有其他信号源或电磁干扰可能导致I2C总线被意外拉高。
    • ADS1115内部保护机制激活‌:在某些情况下,如果输入信号超出规格范围或存在其他异常情况,ADS1115可能会激活内部保护机制,导致输出信号异常或被拉高。

    为了解决这个问题,你可以尝试以下步骤:

    1. 重新检查I2C连接和配置‌:确保所有连接都正确无误,并且FPGA中的I2C配置与ADS1115的要求相匹配。
    2. 检查电源和接地‌:确保ADS1115的电源供应稳定且接地良好。
    3. 隔离和排查输入信号‌:逐一排查输入信号源,确保它们都在规格范围内,并且没有受到外部干扰。
x 出现错误。请重试或与管理员联系。