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.

[参考译文] ADS1015:转换寄存器读取值异常

Guru**** 2390755 points
Other Parts Discussed in Thread: ADS1015

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1270023/ads1015-conversion-register-reading-value-exception

器件型号:ADS1015

尊敬的:

客户使用 ADS1015进行测试、IIC 连接到2.2K 上拉电阻器、波特率为150K、并使用 AN0和 AN1从两个通道收集电压信号。 未使用的通道暂停以进行处理、遇到以下问题:

1.当读取 AD 转换寄存器转换寄存器(P [1:0]=0h)[RESET=0000h]并更改收集的电压时、读取的12位寄存器值保持不变。

转换寄存器的低4位应该为缺省值0、但是有时示波器上看到的波形显示为1。

3.在 IIC 通信期间,使用示波器检查波形。 正常通信持续一段时间后、波形消失、通信失败。 此处的通信持续时间不是固定的、有时波形会在上电后立即消失、有时波形会在上电后持续数小时。 如果出现异常、示波器会显示 ADS1015并返回 NACK。

4、设置并读取配置寄存器配置寄存器的值、数据结果正常、配置寄存器设置为0xC2E3;

请帮助分析异常的原因

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    Unknown 说:
    波形消失,通信失败。

    通信如何失败? 两个器件都停止传输、还是仅 ADS1015? I2C 总线上是否有任何信号?  

    Unknown 说:
    配置寄存器设置为0xC2E3;

    配置寄存器是否始终为0xC2E3? 如果您要从 AN0和 AN1读取、则需要切换输入 MUX 以读取不同的输入。  

    您还能给我发送 I2C 传输的一些示波器截图吗? 您专门尝试测量哪些未正确读取的电压? 客户将 ADS1015用于 I2C 地址是什么? I2C 传输结束时存在额外的1使我认为 I2C 连接肯定有错误。

    客户还可以使用单次转换而不是连续转换来检查该器件是否能够正常工作。

    列维德弗里斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Levi:

    1-客户仅收集了 AN0的电压值,不涉及在通道之间切换。 但是、MCU 的电源为3.3V、ADS1015的电源为5V。 未知电源不匹配是否会导致 IIC 通信异常?

    转换寄存器中的低4位在图中是否始终为0? 完成后是否会将转换设置为1?

    在配置转换寄存器以切换通道后、我可以立即执行语句以读取转换寄存器吗? 您是否需要延迟处理?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    但是、MCU 的电源为3.3V、ADS1015的电源为5V。 未知电源不匹配是否会导致 IIC 通信异常?

    从 ADS1015数据表中:  

    ADS1015的高电平输入电压为0.7 * VDD、因此如果 ADS1015由5V 电源供电、器件在 I2C 输入线路上至少需要5* 0.7 = 3.5V 的高电平。 如果 MCU 只能处理最大3.3V 的电压、则 I2C 总线将不会被拉高到足以使 ADS1015正常运行。

    -图中显示的转换寄存器中的低4位是否始终为0?

    转换寄存器的最后4位应始终读回0:

    完成后转换是否会设置为1?
    、我在配置寄存器以切换通道后是否可以立即执行此语句以读取转换寄存器? 是否需要延迟处理?

    可随时读取转换寄存器的值、但如果要确保数据始终是新数据、则可以监控 ALERT/RDY 引脚或根据器件的转换时间进行延迟。

     根据数据表第15页对器件进行编程后、您可以通过监测 ALERT/RDY 引脚来检测转换是否在连续模式下完成:

     µs、如果您在150kHz 的频率下运行 SCL 时钟、则3300SPS 的转换频率将以您连续读取数据时可以读取的速率的一半来转换数据、因此150 μ s 的延迟应该足够了。 ADC 的转换时间将为~304µS μ s、因此您可以一直延迟到300µS μ s 结束。

    如果您不断切换输入 MUX、您还应该等待两个转换完成、以便输入多路复用器有时间进行切换。 该器件还可以在单次模式下运行、并且可以在每次切换 MUX 时触发转换。

    请告诉我、如果这可以修复您的问题、

    列维德弗里斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    DeVries 先生、您好!

    如果您不断切换输入 MUX、您还应该等待两个转换完成、以便输入多路复用器有时间进行切换。

    手册中是否提到这一点?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    数据表在连续转换部分提到了这种行为:

    如果您还有任何问题、请告诉我!

    列维德弗里斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    DeVries 先生、您好!

    如果需要将 ALERT/RDY 引脚设置为转换就绪引脚、则需要将其上拉至 VDD、且 COMP_是否需要将 QUE [1:0]设置为00/01/10?

    在连续转换模式下、由于 RDY 引脚的上拉、MCU 的 GPIO 端口将读取高电平。 下图提到转换完成后有8us 高电平脉冲。 MCU 如何对此进行监控?   需要如何设置 COM_POL?  图中的高电平有效意味着什么?

    在单次转换模式下、如果 COMP_POL 设置为0且 MCU 读取 RDY 引脚为0、则可以确定单次转换已完成。 这种理解吗?  COMP_POL 是否可以设置为1?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是否需要将[1:0]设置为00/01/10?

    是的、为了使 ALERT/RDY 线路作为转换警报运行、您必须将 COMP_QUE 位设置为00/01/10。 如果您希望在每次转换结束时触发读取、则应将 COMP_QUE 位设置为00。  

    下图显示转换完成后有8us 高电平脉冲。 MCU 如何监控此情况?

    为了获得更快的响应、MCU 应在连接到 ALERT/RDY 引脚的 GPIO 引脚上配置硬件中断。 或者、您可以在 CONFIG 寄存器中将 COMP_LAT 位设置为1、以便在转换完成时 ALERT/RDY 引脚保持锁存状态。

    如何设置 COM_POL?  图中的活动高电平意味着什么?

    高电平有效意味着配置寄存器中的 COM_POL 位设置为1、以便在指定数量的转换完成时 ALERT/RDY 引脚变为高电平。 您应该根据 MCU 监控中断的方式来设置 COM_POL、这取决于特定 MCU 监控 GPIO 引脚的方式以及您希望如何实现该算法。

    在单次转换模式下,如果 COMP_ POL 设置为0且 MCU 将 RDY 引脚读取为0,则可以确定已完成单次转换。 这种理解吗?

    如果 COMP_QUE 位设置为00、可以确定单次转换已完成。

    COMP_POL 是否可以设置为1?

    [/报价]

    COMP_POL 设置 ALERT/RDY 引脚的极性、因此、如果 COMP_POL 为0、则转换完成时引脚上的电压将下降、如果 COMP_POL 为1、则转换完成时电压将上升到高电平。

    如果您在此方面需要任何其他帮助、请告诉我!

    列维德弗里斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Levi,í a

    非常感谢您的耐心解释!

    如您所说

    COMP_POL 设置 ALERT/RDY 引脚的极性、因此、如果 COMP_POL 为0、则转换完成时引脚上的电压将下降、如果 COMP_POL 为1、则转换完成时电压将上升到高电平。

    COMP_ POL 为1意味着转换完成后、RDY 引脚将被上拉。  在电路设计中、RDY 引脚本身上拉至 VDD。

    我知道、尽管 RDY 通过上拉电阻器在外部连接、但 COPM_ POL 设置为1、但此引脚在转换过程中会在内部输出0、 并且在转换完成后将有8us 高电平脉冲。

    这种理解是否正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是的、您的理解是正确的。 COPM_POL 位控制 ALERT/RDY 引脚的极性。

    Levi DeVries。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Levi:

    如果最大输入信号为4V、则 ADS1015的电源必须大于4V?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Anna、

    输入电压不得超过 VDD + 0.3V、如数据表的第7.1节所示:

    因此、ADS1015的电源不需要超过4V、但最好为误差增加一些裕量。

    列维德弗里斯