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 连接出现问题。 我们仅从 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