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:在模拟输入和内部温度传感器之间切换

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

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1108231/ads1220-switching-between-analog-inputs-and-internal-temperature-sensor

器件型号:ADS1220

您好!

我们一直将 ADS1220用于惠斯通电桥传感器、现在我们也希望使用 内部温度传感器进行温度测量。 但是、我们发现 从 ADS1220接收到的数据会混合在一起、以便温度测量是桥接值、 并且桥接传感器测量具有间歇性错误值、 我们怀疑这是一个温度值。

我们希望实现的是: 每15毫秒进行一次电桥测量、每1秒进行一次内部温度测量。 在 Int Temp 测量期间、电桥测量暂停。  

配置寄存器如下:

  • 寄存器:00 / 01  / 02 / 03  
  • 桥:  3e/40/88      /  00
  • 内部温度:3e/42/88      / 00   

用于采样桥式传感器和内部温度传感器的伪代码如下所示:

  1. 发送所有配置寄存器  
  2. 发送 Start 命令
  3. 等待数据就绪
  4. 读取数据寄存器
  5. 断电
  6. 计算输出

当我们单独运行每个样本时(例如 电桥测量仅每15毫秒 一次-或- Int Temp 仅每1秒一次)、接收到的值是正确的。 但是 、当配合使用以使 ADS1220必须切换输入时、它会混合这些值。 我们监控了 DRDY 引脚、当开关发生时、似乎存在100毫 秒的间隙。

 

我们的设置是否是处理电桥和内部温度之间开关的理想方式? 是否有办法确保 RDATA 是我们想要的正确值? (例如、可能读回配置寄存器?)  

谢谢、

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

    Leo、

    我正在审核您的申请、很快就会回来。

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

    Leo、

    我有机会查看您 的帖子。  您的伪代码看起来正确。  我检查了您的寄存器、它们也是正确的。  我不太清楚您的意思、即" 当配合使用以使 ADS1220必须切换输入时、它会混合值"。  您能否调整伪代码以显示 从桥式传感器到内部温度传感器的转换发生在何处?   此外、显示了用于多次读取的循环。

    艺术

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

    尊敬的 Art:  

    感谢您查看我们的问题。 这是 我们的 while 环路中更广泛的伪代码

    1. 递增计数
    2. 如果 COUNTA = 1秒
      1. 设置温度测量标志
      2. 发送所有配置寄存器(内部温度)
      3. 发送 Start 命令
      4. 等待数据就绪
      5. 读取数据寄存器
      6. 断电
      7. 计算输出
      8. 清除温度测量标志
      9. 零 COUNTA
    3. 如果 countB = 15ms
      1. 如果温度测量标志清零
        1. 发送所有配置寄存器(桥接器)
        2. 发送 Start 命令  
        3. 等待数据就绪
        4. 读取数据寄存器
        5. 断电
        6. 计算输出
        7. 零计数 B
    4. 延迟
    5. 返回到#1

    在我上一篇文章的上下文中、当注释掉步骤2或步骤3时、效果良好;计算值正确。 当我们尝试执行步骤#2和#3时、这些值会混在一起。  

    对于温度测量、通常为~0并对电桥变化做出响应

    对于电桥测量、值通常是正确的、并对电桥变化作出响应。 但是、我们每隔1秒左右就会得到一个超出范围的值。  

    我希望这澄清了这个问题

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

    Leo、

    1.  非常清楚、谢谢。
    2.  我看到您的伪代码断电、但我看不到加电。  我想知道这是在哪里完成的。  作为一个实验、我希望您尝试注释掉断电和上电。  我想确保在加电和断电期间不会发生奇怪的情况(例如、在断电时未完全断电或数字 I/O 打开)。  ADS1220具有必须满足的严格电源斜升速率(图83)。
    3.  另一个良好的故障排除测试是读回寄存器1。  如果温度传感器和模拟输入看起来是交换的、最好查看该寄存器是什么。  我知道您在原始帖子中提到了这一点(好主意!)。
    4. 我认为、当加电/断电时、可能会发生不同步的情况。  您可以考虑在写入寄存器之前(上电后)发出复位命令。  从技术上讲、不需要这种方法、因为上电应自动复位器件、但上电可能不是干净的。

    但愿这对您有所帮助。  感谢您提供有关问题的重要文档。

    艺术