主题中讨论的其他器件: ADS1114
您好!
我正在对该器件上的寄存器进行写入和读取操作。 当我发出 SFOCAL (0x19)命令并等待1秒时、当我重新读取所有寄存器时、我看到寄存器0x0B 和0x0C 仍然为零。
由于 s/w 的结构、我发送0x19的3个字节为零。 这会导致问题吗?
我确保在发出校准命令之前已开始转换。
谢谢
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.
您好、Graham、
我不确定在 SFOCAL 命令之后发送 NOP 是否会终止校准、但如果这是一个简单的更改、我建议只发送 SFOCAL 命令。
在回读校准寄存器之前、您是否知道/DRDY 信号是否变为低电平? 在某些较低的数据速率下(尤其是对于 SINC3滤波器)、您可能需要等待一秒钟以上才能完成校准。 确保等待足够长的最佳方法是等待/DRDY 中断、然后读回校准寄存器。
由于全局斩波会禁用偏移校准寄存器、您可能还需要确保 ADC 未处于待机模式、并且全局斩波会被禁用。
您好、Graham、
红色 LED 指示 START 引脚设置为高电平以实现连续转换模式。 在软件 GUI (数据分析中的"收集"命令)中收集转换时、还有一个额外的绿色 LED 将在转换过程中闪烁。
由于偏移在一个代码的级别内、您很可能看不到偏移校准寄存器的变化。 数据表中显示的典型偏移小于1LSB 或代码的值、因此无需进行任何更改。
如果要验证是否正在进行偏移校准、则需要连接示波器或逻辑分析仪、并在发出偏移命令后测量 DRDY 之间的时间。 默认设置为8个用于校准的样本(SYS 寄存器和 CAL_SAMP 位设置)。 这意味着发出命令后、您应该会看到 DRDY 之间的时间延长了8个周期。
此致、
Bob B
尊敬的 Bob:
感谢您的回复、这很有用。
我在0x19命令之前的1.25ms 看到 DRDY 脉冲。 请参见随附的。
然后我发出0x19命令并看到 DRDY 保持高电平11.61ms。 因此8 x 1.25 = 10ms。 看起来是正确的。
我怀疑在测量 RTD 上的电压= 0.677v 时不需要偏移。 我的基准电阻器上的电压= 0.797v。 RREF = 797ohm、IDAC = 1mA。
0.677/0.797 * 32767 = 27833。 我看到的是28083。 因此、我认为需要校准。 有什么想法吗?
谢谢
您好、Graham、
您是否使用了先前在该主题中共享的完全相同的脚本设置? 您需要确保使用 Rref 作为基准电压、并且知道 Rref 的确切值、以便测量为比例式。 RTD = Rref *代码/满量程代码。 在这种情况下、由于激励源抵消了转换、因此不应转换任何电压测量值。 在提供的脚本中、您未将 Rref 用作参考源。
您能否准确地共享所使用的寄存器设置以及 RTD 与 EVM 的连接方法?
谢谢、
Bob B
尊敬的 Bob:
我有一个 EVM 和一个 EVM 连接到处理器板。 如果我们专注于 EVM +处理器板、
我们已将 R68和 R70替换为高精度797欧姆电阻器。
寄存器02 = 0x10
寄存器03 = 0x08
寄存器04 = 0x1A
寄存器05 = 0x16
寄存器06 = 0x07
寄存器07 = 0xf5
寄存器08 = 0x00
寄存器09 = 0x10
其他寄存器=默认值
我停止使用 EVM、因为当我从 DSEvalSE 内的脚本发出 SFOCAL 命令时、它会以3个相邻字节(0x08、0x19、0x0A)发送起始、校准和停止、我认为这不正确。 它应该刚刚发送0x19字节。
附件是对我看到的内容的一些注释。
Thane2e.ti.com/.../SFOCAL-Cal-command.pptxks以获取帮助
此致、
Graham
您好、Graham、
寄存器5应为0x06、而不是0x16。 您需要为高侧基准启用两个基准缓冲器输入。 您的797欧姆电阻器的精度是多少? 您到底连接了什么输入呢? 它是真正的 RTD 还是常规电阻器(和值)? 我还想看到一系列测量、而不是仅仅一个点。 要完全了解是否存在偏移、您需要精确地知道基准电阻器值和输入电阻值。 您无法使用电压反向计算电阻、因为这是假设 IDAC 恰好为1mA。 此外、对于2线 RTD 测量、您必须包括任何引线电阻的误差。 如果需要、您还可以短接终端块的输入、以查看您是否获得0代码读数。 如果您看到的不是0代码、这也将是偏移量的指示器。
至于 EVM 脚本、0x08开始转换、因为 ADC 必须进行转换才能进行测量。 由于 EVM 配置可能相当复杂、START 命令可确保器件正在转换、否则会忽略偏移校准。 0x19是自偏移校准命令本身。 0x0A 是停止命令。 如果 START 引脚保持高电平、则忽略 START/STOP 命令。 如果在 ADS114S08不转换时发出 SFOCAL 命令、则将忽略该命令。 只需包含 START/STOP 命令、即可确保器件在使用 EVM 固件时进行转换。
此致、
Bob B
尊敬的 Bob:
很抱歉、回复延迟、我没有收到您以上回复的电子邮件。
RREF 为0.1%容差电阻器。
我使用1K 电位器模拟 Rrtd。
我想您对电压测量的看法。 我将在将来测量电阻。
短接引脚听起来不错、我会尝试这种方法。
关于 EVM 脚本、我可以理解 START 0x08和0x19 SFOCAL 命令是紧密连续的、但 STOP 命令似乎太快了、无法进行校准?
此致、
Graham
您好、Graham、
编写 EVM 固件时、发送用于校准的命令可确保 ADS114S08处于转换模式。 如果 START 引脚保持高电平、则不会发出 START 和 STOP 命令、如果是 SFOCAL 命令、则只会看到发送的0x19字节。
如果 START 引脚为低电平、则 ADS114S08将需要器件进行转换。 为了使运行状态逻辑简单、只监控 START 引脚。 即使寄存器设置被设置为连续模式、ADS114S08是否正在实际转换也不清楚、因此将发送 START 命令(0x08)、后跟 SFOCAL (0x19)和 STOP (0x0A)命令。 如果 ADS114S08处于单次转换模式、则会忽略 STOP 命令。 如果处于连续转换模式、则会启动自偏移校准命令、并且在校准命令完成之前停止命令不会生效。 它被保持在一个命令队列中、等待前一个转换过程完成、然后再进入停止条件。 因此、只有在 START 引脚为低电平时才会添加启动/停止。
此致、
Bob B
感谢 Bob、命令队列解释了这一点。
还有一点我不清楚。 ADC 设置为提供比例输出代码、电压基准取自 Rref。 我们的电流源会馈送到 Rref 和 Rrtd、因此它们会看到相同的电流值、无论这是多少、这并不重要。
因此、比较 Rrtd 和 Rref 两端的电压并乘以32767应该得到输出代码。 测量两个电阻器上的电阻会产生相同的结果。
我将短接 Rrtd、查看输出代码是否为0。 我想这种情况不会发生、因为轨迹和导线会产生一些电阻、从而给出一些代码。
此致、
Graham
您好、Graham、
在测量电压(或该物质的电阻)并与 ADC 输出进行比较时、需要考虑的一个注意事项是使用的测量源。 该仪表应是高精度校准仪器。 大多数电压表将使用某种平均值来显示结果。 结果在应用探头的时间内有效。 如果您测量基准记下电压、请移动探头并测量输入电压、然后将这些结果与 ADC 转换进行比较、您将会增加一些误差、因为您没有在 ADC 转换的同时精确测量电压。 结果应该接近、但结果可能与 ADC 相对于漂移或噪声进行转换的结果不同。 因此、我可以声明、相对于 ADC、电压测量可能不正确。
由于基准电阻器是具有特定精度水平的固定值、因此对输入电阻器(而不是 POT)使用具有相似精度水平的固定电阻值更有意义。 这样、您就可以从测试中移除电压测量误差。 作为侧注、我们发现电位计可能是误差源、因为它们会随着时间的推移而因自发热而变化。 在我们的测试中、我们使用固定电阻值或 RTD 校准器。
对于 RTD 测量、您会担心 RTD 的电阻而不是电压。 使用比例式方法和单个 IDAC 电源、电阻比等于代码比(Rrtd/Rref = ADC 代码/32767)。 如果您知道您的电阻、则可以求解预期的 ADC 代码。 此示例使用的增益为1。 如果使用 PGA 增益、则还需要考虑增益(Rrtd/Rref = ADC 代码/32767/PGA)。 测量的精度水平在电阻器精度水平之内。
在该测量方法中、我们删除了电压测量精度、电压源测量时序以及任何计算误差。 激励源的噪声和漂移也会消除。
此致、
Bob B