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.

[参考译文] ADS1220:仅在发送 RDATA 命令后返回0xFFFFFFFFFFFFFF

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1481678/ads1220-only-returning-0xffffffffff-after-sending-rdata-command

器件型号:ADS1220

工具/软件:

大家好:

我们使用 ADS1220的加热相关项目。  配置如下:

- 3线 RTD

- conf0: 00h

- conf1: 00h

- conf2: 23h

conf3:70h

ADC 仅 在读取数据命令后返回0xFFFFFFFFFFFFFF、更改 RTD 上的温度不会发生任何变化。

我在4,99KΩ Ω Rref 范围内测量到0983V、而在 PT100上测量到0011V。

有什么想法我在这里做错了吗?

感谢您让我走上正确的道路。

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

    尊敬的 Denge:

    Unknown 说:
    I 测量值为0983V (相对于4,99KΩ R ref)、而在 PT100上测量值为0011V。

    这些测量值确实与您的 IDAC 设置相对应、并确认您能够配置器件。

    Unknown 说:
    - conf2:23h

    这样会将器件配置为使用内部2.048V 基准。 对于您的 RTD 应用、将"01"写入配置寄存器2中的 VREF 字段会选择外部 REFP0-REFN0基准、我假设您的 4,99KΩ Ω 基准电阻器已连接到该基准。  

    您能分享原理图吗?

    在发出读取数据命令之前、如何监控转换数据何时准备就绪? 20SPS 配置的转换启动后、您是否在等待必要的时间?

    过去、我们遇到了 RTD 测量和配置的器件导致第一次转换错误的问题。 这是因为当发出 START/SYNC 命令时、IDAC 将导通、这需要时间使 IDAC 电流路径才能使 ADC 输入和基准输入稳定。

    您是否尝试过不止一次读取单个数据、看看 IDAC 电流稳定后、您是否在第一次转换后获得了有效的数据读数?

    此致、

    Angel

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

    您好 Angel、

    我将 conf2从23h 更改为63h 、同时选择外部 REFP0-REFN0基准。

    我的 原理图是数据表第52页上原理图的1对1副本。

    首先我发送命令08h (START/SYNC)、然后轮询 DRDY、直到其为低电平。  然后发送命令10h (RDATA)、后跟24个 SCLK 脉冲。

    我做这个序列三次,一个又一个,但读数保持 FFFFFFFFFFh…

    当我省略命令10h (如 数据表中的图63所示)时、结果变为7FFFFFFFFFh。

    所以我肯定忽略了一些东西!

    你好

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

    尊敬的 Denge:  

    在配置 ADC、发送 START 命令以及尝试读取数据时、是否可以向我发送逻辑分析仪捕获的数字通信数据?

    此致、

    Angel

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

    嗨、Angel、

    随函附上一些迹线:

    我更改为连续模式、但结果保持7FFFFFFFFFh

    此致

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

    您好 Angel、

    陌生人的时间似乎越来越长:我将 从 命令08h (START/SYNC)开始在连续模式下连续进行3次测量、然后读取三次、但不会 在 DRDY 引脚变为低电平之前读取。  结果分别为 7B7Bh、 FF617Bh 和 FF617Bh 。  加热 PT100不会改变返回的数据、但我看到电压从0.11V 上升到0.14V、Rref 上的电压从0.9V 下降到0.5V

    对我来说、很明显 我在做一些错误的事情、但是什么???

    您好、

    Hans

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

    尊敬的 Denge:

    我可以帮你的忙,也可以帮你。

    那么现在您从器件中获得了0xFFFFFF 以外的值、对吗?

    您是否可以尝试将 ADC 恢复为其默认寄存器值(只需对器件进行下电上电)、然后将已知信号施加到 AIN0-AIN1输入。 例如、AA 电池~1.5V。 然后获取数据并查看是否可以使用已知输入获得有效的测量值、否则不会执行任何其他操作(无外部 VREF、无 IDAC、无 RTD 等)

    然后尝试将 CM 位更改为1 (连续转换模式)、并执行与上述相同的测量(一些已知良好电压、除 CM 位之外没有其他寄存器设置变化)

    让我们看看 您是否可以使用基本功能、然后我们就可以开始进行 RTD 测量

    -布莱恩

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

    您好 Bryan、

    它仍然在做奇怪的!  我已经删除了所有滤波器和 Rref。  我连接了电源 AIN0和 AIN1输入端。  所有寄存器均为默认设置。  我首先发送一条 START/SYNC 命令、然后发送 RDATA、 然后等待 DRDY 引脚变为低电平、然后从 ADS1220读取数据。  对于0801V 、连续3个读数为18CD18h、187318h 和181C18h。  重做1、24V 的读数会得到1FF21Fh、203200h 和202500h。  

    在连续模式下、我 发送一条 START/SYNC 命令 、 然后等待 DRDY 引脚变为低电平、然后从 ADS1220读取3个数据。  对于 AIN0和 AIN1输入端的0.800V 电压 、读数为240004h、 22D300h 和 24C704h。 对于1023 V 、结果为30AF79h、 31F6BBh 和30C6ECh 。

       除了 单次触发和连续 模式之间存在巨大差异外、结果看起来是一致的。

    现在如何使用 PT100?

    您好、

    Hans

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

    您好 Hans:

    移除 PT100电路并按照 Bryan 的建议直接施加一个要测量的信号、这些结果仍然看起来非常不一致、输出代码变化很大、并且代码与您针对 ADC 默认配置施加的电压不对应。 这可能表明您的设置中正在执行其他操作、从而导致从 ADC 读取数据时出现错误。 您能否分享设置原理图以验证所有连接是否正常? 施加到 ADC 模拟输入的信号是悬空还是以与 ADC 相同的 GND 为基准? 来自电源的信号是否有噪声? 您能否使用示波器进行验证?

    此致、

    Angel

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

    e2e.ti.com/.../ads1220.pdf

    您好 Angel、

    我施加到 AN0和 AN1的电压悬空、没有以 GND 为基准。  它来自一个实验室供应并且稳定!  

      1V 电压的正确值是多少?   连续模式和单次模式下的结果不同、原因是什么?

    我插入了我用于测试的原理图。  对于 PT100、我使用数据表第52页的原理图。

    您好、

    Hans  

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

    您好 Hans:

    我无法访问原理图的链接。 您可以共享图片或屏幕截图吗?

    对于默认 ADC 设置(增益为1、内部2.048V 基准等)、1V 的输入电压应对应于约为十进制4,096,000的输出代码(十六进制为0x3E8000)。  

    您能否使输入信号以与 ADC 相同的 GND 为基准、从而使其不悬空? 这可能是 ADC 输出代码不一致的原因。 负输入可以连接到 GND、并且在其中一个输入引脚中具有正1V。 禁用 PGA、以便进行单端测量、并将多路复用器配置为用于1V 信号和 GND (即 AIN0-GND)的输入引脚。 1V 输入的输出代码应接近我刚才提到的值。  

    对于相同的输入信号和 ADC 配置、从单次转换模式切换到连续转换模式时、结果不应明显不同。  

    首先要确保 ADC 正常运行并获取有效的转换数据、然后再继续进行 PT100电路实现。

    此致、

    Angel

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

    您好 Angel、

    I grounded AIN1—AIN0产生负数、现在可获得以下结果:

    3C631Bh、3C62CBh 和3C636Ch  

    第二次运行:

    3C6090h、 3C60CCh 和 3C616Eh

    现在这比以前更稳定...  现在剩下的!

    您好、

    Hans

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

    您好 Hans:

    这些输出代码不对应于负数、转换为电压的代码对应于大约0.966V、这与1V 输入信号更加匹配。 数据表的"8.5.2数据格式"部分说明了如何将 ADC 代码中的读数解释为电压。

    测量浮动电压很可能是您进行测量的原因、但现在这些测量在建立共同接地后似乎更合理。

    我们有以下详细介绍 RTD 电路的应用手册:RTD 测量基本指南(修订版 A)

    以下是3线 RTD 应用的电路实现示例:

    如果您对实施有任何疑问、请告诉我。

    此致、

    Angel

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

    您好 Angel、

    我复制了图的原理图。 2-3、并编程以下配置:conf0: 30h、conf1: d0h、conf2: 63h、conf3:30h 。

    我测量的是 Rref 上的0、93V 和 RTD 上的0、11V。

    这三个读数现在为 0165C8h、 016473h 和0167B3h  

    我希望这是一个改进(!?)

    问候语、

    Hans

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

    嗨、Denge

    已编程以下配置:conf0: 30h 、conf1 :d0h、conf2:63h、conf3:30h 。

    您在使用2000SPS 的数据速率时、正在启用50Hz 抑制。 这只能在数据速率设置为20SPS 时使用、因此我建议禁用此功能:

    0165C8h、 016473h 和 0167B3h

    这些读数对应于0.0107V、01069V 和0.01079V、这与 RTD 的 DMM 测量值011不会太远。

    您的电路现在似乎确实可以正常工作。

    我建议将 IDAC 电流从100uA 增加到100uA、这会增加基准和 RTD 的电压值。 您可以尝试使用250uA IDAC 配置。 这样、ADC 输出读数应该更加一致。 如果您不需要以2000SPS 的最高数据速率运行、也可以减小数据速率设置、这应该会进一步降低 ADC 噪声。

    此致、

    Angel

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

    嗨、Angel、

    我根据您的建议调整了 CONFIG 寄存器、现在工作正常。

    最后一个问题:您使用什么公式进行电压代码转换?

    您好、

    Hans

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

    您好 Hans:

    数据表的"8.5.2数据格式"部分说明了如何在 ADC 代码和电压之间进行转换。

    电压值基本上是十进制*电压值1 LSB 的 ADC 代码。

    此致、

    Angel