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:返回两线 RTD 中的满量程数据

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1419551/ads1220-returns-full-scale-data-in-two-wire-rtd

器件型号:ADS1220

工具与软件:

您好!

ads1220双线 RTD 连接出现问题。 我们仅从 ads1220获取连接了 PT100的满量程输出。  

我们可以将配置发送到 ADC 并通过 SPI 读取它们、这样我们就可以确保问题不出在 SPI 中。 我们使用以下配置:

    CFG0_PGA_BYPASS_OFF = 0x0
    CFG0_GAIN_2 = (0x1 << 1)
    CFG0_MUX_P1N0 = (0x6 << 4)
    
    CFG1_BCS_OFF = 0x0
    CFG1_TS_OFF = (0x0 << 1)
    CFG1_CM_SINGLE_SHOT = (0x0 << 2)
    CFG1_MODE_NORMAL = (0x0 << 3)
    CFG1_DR_STAGE4 = (0x3 << 5)
    
    CFG2_IDAC_250UA = 0x4
    CFG2_PSW_ALWAYS_OPEN = (0x0 << 3)
    CFG2_FIR_BOTH = (0x1 << 4)
    CFG2_VREF_EXT_REFP0_REFN0 = (0x1 << 6)
    
    CFG3_DRDY_DEDICATED = (0x0 << 1)
    CFG3_I1MUX_AIN3 = (0x4 << 5)
    CFG3_I2MUX_DISABLE = (0x0 << 2) 


    cfg0 = ADS1220.CFG0_PGA_BYPASS_OFF | ADS1220.CFG0_GAIN_2 | ADS1220.CFG0_MUX_P1N0                     
    cfg1 = ADS1220.CFG1_BCS_OFF | ADS1220.CFG1_TS_OFF | ADS1220.CFG1_CM_SINGLE_SHOT | ADS1220.CFG1_MODE_NORMAL | ADS1220.CFG1_DR_STAGE4 
    cfg2 = ADS1220.CFG2_IDAC_250UA | ADS1220.CFG2_PSW_ALWAYS_OPEN | ADS1220.CFG2_FIR_BOTH | ADS1220.CFG2_VREF_EXT_REFP0_REFN0
    cfg3 = ADS1220.CFG3_DRDY_DEDICATED | ADS1220.CFG3_I1MUX_AIN3 | ADS1220.CFG3_I2MUX_DISABLE   
 

这里是我们的联系。

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

    尊敬的 Samuli:

    抗混叠滤波器中用于模拟输入的差分电容(10nF)比共模电容(100nF)小10倍。  

    TI 建议差分电容器 CDIFF 至少比共模电容器(CM1和 CM2)大一个数量级(10x)、因为共模电容器不匹配会将共模噪声转换为差分噪声。 数据表的"9.2.1.2详细设计过程"节对此进行了介绍。

    从原理图中可以看出、假设为 AIN3引脚配置了 IDAC 激励电流。 您是否测试了基准电阻器上是否存在压降、以确认 IDAC 电流设置是否正确?

    从您共享的电流来看、IDAC 电流似乎被设置为"250uA"。

    在这种情况下、使用1.65kΩ 基准电阻器进行比例式测量、基准电阻器两端的电压将仅为~0.4125V。

    当使用一个外部电压基准时、最小 Vref 电压应该为0.75V、否则您在建议运行条件之外运行此器件:

    尝试增大 IDAC 电流或基准电阻的值、以使施加的外部基准电压在数据表中规定的值范围内。

    使用逻辑分析仪探测 SPI 通信线路也始终是一个好主意、这样可以确保与器件的数字通信状态良好。

    此致、

    天使

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

    嗨、Angel、

    我们根据您的建议将电容器从10nF 交换到了1μF。


    以下是我们的新连接:




    我们还测试了 1.65k 基准电阻两端的电压、对于 CFG2_IDAC_500UA、我们测得的电压为0.85V。 我们还使用不同的 IDAC 值进行测量、以确保 IDAC 正常工作。 对于1000uA 的示例、我们测得的电压为1.69V。

    然而、通过这些更改、我们只会收到满量程值。  


    下面是我们的测试程序输出(配置寄存器、原始 ADC 数据)的控制台打印输出



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

    尊敬的 Samuli:

     设置寄存器配置后、您是否发出 START/SYNC 命令来启动转换?  

    您如何确定转换结果何时准备就绪?

    您能否提供对 ADC 寄存器写入/读取的数字通信的捕获以及在读取 ADC 数据时的捕获、而不是控制台打印?

    此致、

    天使

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

    e2e.ti.com/.../adc_5F00_troubleshoot.zip

    我已附上一个 zip 文件、其中包含所请求捕获的图像。
    它包含单次和连续模式的尝试、并且图像按照发生的顺序进行编号。

    在设置寄存器后使用单次模式时、我们将发出 START/SYNC。 接着是1秒的延迟、之后我们读取3个字节。

    在连续模式下、在设置配置后、我们每秒使用 RDATA 命令读取3个字节。

    目前、我们只使用延迟来确保在读取字节时已准备好转换结果。

    在每种情况下、读取的3个字节为7F FF FF。

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

    尊敬的 Samuli:

    我将查看这些捕获的内容、并在明天回复您。

    此致、

    天使

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

    尊敬的 Samuli:

    我仍然需要更详细地查看这些捕获、但明天应该可以通过 EOD 来获得这些捕获。

    此致、

    天使

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

    尊敬的 Samuli:

    我详细介绍了数字通信捕获、感谢发送这些数据、这些数据在故障排除时始终非常有用。

    您可以对配置寄存器进行写入并正确回读、这可以验证与器件的通信是否在正常运行。

    需要指出的一点是、您发送了两个文件夹、一个用于连续转换模式、一个用于单次模式、但在这两组采集中、您都要将器件设置为连续转换模式。

    两组捕获都在将0x64 (0110 0100b)写入配置寄存器1、进而将其设置为连续转换模式:

    若要将器件设置为单次模式并保持相同的设置、您应将0x60写入配置寄存器1。

    在连续转换模式捕获中、寄存器设置与单次模式捕获相同、但这次是正确的、因为您打算将器件设置为连续转换模式。

    但是、在连续转换模式捕获中、您不会在设置寄存器配置后发出 START/SYNC 命令。 需要使用此命令来启动 ADC 转换:

    如果不使用此命令、则在发出 RDATA 命令时、不会读取任何 ADC 数据:  

    为原理图捕获中所示的电路正确设置了 IDAC、输入 MUX、外部 REFP0-REFN0和大多数设置。

    但是很突出的一点是、在配置寄存器2中、您启用了60Hz 抑制:

    这只能与正常模式下的20SPS 数据速率设置一起使用、但要将配置寄存器1中的数据速率设置为175SPS:

    这可能会导致问题。

    如果需要60Hz 抑制、请将数据速率设置为20SPS、如果需要20SPS 以外的数据速率、请将"00b"写入 FIR 滤波器字段:

    此外、请确保在设置配置寄存器后、在读取 ADC 数据之前发出 START/SYNC 命令、并且确保正确设置所需配置(例如单次模式)。

    在发出 START/SYNC 后监控 DRDY、以便确保在执行 RDATA 之前已准备好 ADC 数据。

    希望这对您有所帮助!

    此致、

    天使

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

    嗨、Angel、

    我们按照您的建议修改了配置寄存器:

    寄存器0:0x61
    寄存器1:0x60
    寄存器2:0x45
    寄存器3:0x82

    我们不确定是否"需要 60Hz 抑制"、因此我们将其设置为关闭状态、将数据速率保留为175SPS。

    我们还检查了 DRDY 引脚:

    发送 START/SYNC 时、其 在短时间内由低电平变为高电平、然后重新变为低电平。
    之后、使用 RDATA 读取数据会将 DRDY 信号设置为高电平。

    我们能得到的仍然是7F fF fF fF。

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

    尊敬的 Samuli:

    发送 START/SYNC 时、 在短时间内从低电平变为高电平、然后恢复为低电平。
    之后、使用 RDATA 读取数据会将 DRDY 信号设置为高电平。[/QUOT]

    纠正这是 DRDY 的行为方式、以指示何时可以读取新的 ADC 转换数据。

    您现在的操作似乎是正确的、因此我不太确定问题可能是什么、您只能获得满量程读数。

    您是否仅尝试过测试一款器件?

    器件可能已在某个时刻损坏、因此最好尝试使用不同的 ADS1220来查看结果是否不同。

    您还可以尝试对 ADC 使用不同的配置、例如使用内部基准将输入短接至 GND 或1/2 Vs、或使用内部基准的单端测量。 要查看您是否可以获得非满量程(7F FF FF)的 ADC 输出读数。  

    这些运算放大器的输出电压应不同于满量程、否则器件可能会损坏。

    此致、

    天使

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

    您好、Angel、

    ADS1220中也存在同样的问题、发现如果在 ADS1220运行时断开 PT100、请将 PT100再次连接到 ADS1220、结果良好。

    很奇怪、您可以查看下面的日志、谢谢。

    ADC 代码:8388544
    RTD 电阻值:824.993713
    温度:9223372036854775807.9223372036854775807


    ADC 代码:8388544
    RTD 电阻值:824.993713
    温度:9223372036854775807.9223372036854775807


    ADC 代码:8388544
    RTD 电阻值:824.993713
    温度:9223372036854775807.9223372036854775807


    ADC 代码:1493824
    RTD 电阻值:146.914093
    温度:122.247627


    ADC 代码:1513664
    RTD 电阻值:148.865325
    温度:127.435073


    ADC 代码:1515840
    RTD 电阻值:149.079315
    温度:127.998191

    Leon

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

    尊敬的 Leon:

    感谢您的分享。  

    尝试一下、看看它是否解决了问题、可能是值得的。

    此致、

    天使

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

    我发现一个类似的问题、即如果使用 RTD 测量并配置器件、第一次转换总是错误的。  

    在 POR、复位或断电命令之后、START/SYNC 后的第一次转换始终错误。  对于 ADS1220、在 POR 和复位后会发生自动转换。  但是、此操作对于关闭模拟电路的 POWERDOWN 命令有所不同。  退出 POWERDOWN 状态时会发出 START/SYNC 命令以唤醒器件。

    发出 START/SYNC 命令后将开启 IDAC、结果表明 IDAC 输入和基准输入的 IDAC 电流路径均通过一段时间实现稳定。  

    是否检查了第一个满量程 ADC 读数后的以下 ADC 转换结果?

    此致、

    天使。

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

    您好、Angel、

    我们按照 POR、RESET 命令、START/SYNC 命令逐次发送的命令序列进行操作、并且在这种情况下会持续输出错误值(至少经过10分钟测试)。 当我断开 PT100时、输出值仍为8388544、在我重新连接 PT100后、该值正常。

    我还在错误值条件下测量了电压、REFP 约为1.65V、VIN0和 VIN1之间的电压为约55mV 的正常值。

    是否有任何寄存器或其他我可以检查以进行进一步分析的东西?

    谢谢。

    Leon

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

    电流寄存器设置如下所示。

    ADS1220_0_register:0x66
    ADS1220_1_register:0x04
    ADS1220_2_register:0x65
    ADS1220_3_register:0x70

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

    尊敬的 Leon:

    我可以在下周早些时候通过 ADS1220EVM 尝试重新创建视频、然后我们就会重新获得结果。

    此致、

    天使

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

    您好、Angel、

    谢谢你。

    我们使用的电路是3线 RTD、如下所示。

    Leon

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

    您好、Angel、

    我可能是该问题的根本原因。

    我发现、如果我同时配置 IDAC1和 IDAC2、则错误将消失。

    但是、如果 I 首先配置 IDAC2、则延迟至少3秒(该时间可能与以下所用的 CAP 和 RES 相关)。 和配置 IDAC1。 工作正常。

    R REF = 1.65KΩ Ω、R F3 = R F4 = 1 kΩ、C DIF2 = 100nF 且 C CM3 = C CM4 = 10nF。

    CONFIG ADC 寄存器的日志:

    //配置 IDAC2

    [09:33:19.141]温度:10
    ADS1220_3_register:0x10

    延迟4秒。

    //配置 IDAC1

    [09:33:23.544]Temp:70
    ADS1220_3_register:0x70

    如果我先配置 IDAC1、再延迟3秒、然后配置 IDAC2、则值仍然错误。

    在电路中、我们可以看到我们使用的是外部基准、这意味着我们可能需要先使用 IDAC2设置外部 REF、外部 REF 就绪后、为 PT100启用 IDAC1、然后我们可以进行 ADC 采样并获取正确的值。

    您能否帮助内部进行检查、这是否是此问题的根本原因?

    谢谢。

    Leon

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

    尊敬的 Leon:

    感谢更新、我将尝试重新创建、让您知道我在我这边看到的内容。

    此致、

    天使

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

    尊敬的 Leon:

    我将在星期四之前开始演示。

    此致、

    天使

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

    尊敬的 Leon:

    我现在准备好了一个 ADS1220EVM 和一个 PT -100 3线 RTD。

    我将设置我的硬件并使用 ADS1220 EVM GUI 来重新创建此设置、并在下周早些时候与您分享我的结果。

    此致、

    天使

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

    您好!

    我在 ADS1220 EVM 上重新创建了2线和3线 RTD 设置。

    我为2线 RTD 使用了100欧姆电阻器、EVM 上的基准电阻为2.4千欧。

    增益= 1、PGA 禁用、175SPS DR。

    以下是 IDAC 设置为1mA (VREF =~2.4V、通过电阻测得的电压=~100mV)时的结果。

    以下是 IDAC 设置为500uA 时的结果(VREF =~1.2V、通过电阻测得的电压=~50mV)。

    对于3线 RTD、我使用了实际的 PT -100 3线 RTD、基准电阻= 2.4千欧。

    两个 IDAC 均设置为500uA。

    Vref =(IDAC1 + IDAC2)* 2.4k Ω=(500uA + 500uA)* 2.4k Ω=~2.4V

    通过 RTD 元件进行电压测量=(IDAC1)*(~100欧姆)=(500uA)*(~100欧姆)=~50mV

    结果、当 IDAC1首先开启时、IDAC2为:

    结果、当 IDAC2首先开启时、IDAC1:

    由于启用了 IDAC 的顺序、因此结果没有任何显著差异。 只要一切都稳定、结果就应该正常了、那么可能只需要在设置器件和开始进行转换之间设置一个小延迟、从而确保这一点。

    存在一些噪声、但结果符合预期、2线和3线 RTD 设置应该适用于 ADS1220。

    此致、

    天使

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

    您好、Angel、

    感谢您的努力和细节。 我们将对此进行进一步测试、可能需要使用示波器仔细捕获波形。  这可能与客户设计的电路有关、您对"小延迟"的建议是我们将让客户尝试测试的主要重点。

    谢谢你。

    Leon