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.

[参考译文] ADS1120:ADS1120示例代码。

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/990094/ads1120-ads1120-sample-code

器件型号:ADS1120
主题中讨论的其他器件: ADS124S08ADS1220ADS114S06

 我正在寻找通过 PT100/PT1000等3线传感器或 NTC /PTC 等2线传感器测量温度的示例代码。 我是 ADS1120的初学者、非常感谢您在这方面提供的任何帮助。

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

    您好!

    器件产品页面 ADS1120上提供了所有支持材料、所有 TI 器件都是如此、任何补充文档或 EVM 都将列出。

    在 软件方面、 产品页面的设计和开发部分提供了适用于此系列器件的示例代码。

    此致

    Cynthia

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

    您好 Syed、

    我建议查看 ADS1120数据表的应用部分。  我还建议查看 《RTD 测量基本指南》。  本文档是一个非常有用的指南、用于说明测量值。  我们目前正在为 ADS1x20系列器件的温度测量工作特定示例代码、但代码尚未最终确定、很遗憾、我无法提供何时可用的时间表。  我们有一个温度传感库 、您可能会发现它很有用、因为它显示了测量方法的各种代码示例、但代码是针对 ADS124S08器件的。  但是、代码可根据您的使用进行调整。

    ADS1220是24位版本、提供了基本的示例代码。  该示例仅相对于 ADS1120的转换结果的长度有所不同。  所有通信命令和寄存器设置都是相同的。

    此致、

    Bob B

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

    尊敬的 Bob:

    感谢您的回答。 实际上、我们在器件中使用了 ADS114S06、现在我们在器件的较小型号中使用了 ADS112。 我目前正在尝试测量2线 RTD。 我使用400欧姆的电阻代替 RTD、固定 Rref = 4020欧姆。 RTD 连接在 AIN1和 AIN2之间。 IDAC1设置为500uA、AIN0被选为 IDAC1多路复用器。 目前、我已关闭 IDAC2。 增益为1。 SPS 为正常值20。 PGA 启用、内部温度+烧毁电流禁用。  

    进行了比较。 我复位 ADC、然后写入配置0x43 0x30 0x00 0x55 0x20的4个字节。 读回它、它是相同的。 我发送 START 命令并等待60ms、然后我发送读取数据命令并读回0xEF 0x95、我不确定我读取的内容没有任何意义。 请帮助我理解我的错误。这不仅是不准确的、而且完全是错误的。

    PS: 对于 ADS114、我们也不是有意使用 IDAC2。 我们首先在 AIN1和 AIN2之间进行测量、然后在 AIN2和 ANI3之间进行测量、并减去这两个测量值以消除引线的影响。 因为我们不希望依赖2个电流源的匹配精度。 而2线测量的精度已知会有点不准确、因为它仅在 AIN1和 AIN2之间进行测量。

    期待您的回应

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

    您好 Syed、

    由于输出是二进制补码、因此返回的代码值为负值。 结果显示为-4203个代码、增益为1时、该值约为0。  只是快速近似、结果为负值大约500欧姆。 仔细检查基准电阻器上的电压、并验证电流是否流经 AIN1至 AIN2的电阻器。

    此致、

    Bob B

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

    Bob、您好、感谢您的回答。 我只将 REFP0连接到接地侧的 Rref、而 REFN0连接到电流从其进入的 Rref。 (显示的内容是数据表第52页)。 我想这会导致-ve 电压和负代码。  

    另一个问题是、如果我使用的配置与上一条消息中描述的相同、但使用 AIN1和 AIN3。 我将常量0xFF 0x61视为代码、而不管我连接了什么 RTD 电阻。 如果我将 PSW 设置为自动、我只会不断地读取0x7F 0xFF。 您是否对正在发生的情况有任何想法

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

    您好 Syed、

    REFP 需要连接到相对于 AVSS 的最高正电压。

    我对您的连接非常困惑。  您说过您使用的是 AIN0、AIN1和 AIN2在2线制模式下使用的单个 IDAC。  不清楚连接到 AIN3的是什么。  您可以将原理图发送给我吗?

    此致、

    Bob B

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

    这样可以消除混乱。

    我将测量2线和3线 RTD。
    用于2线。 我将进行一次测量。 介于 AIN1和 AIN3之间。 IDAC1通过 AIN0。
    用于3线。 我将进行2次测量。 i)在 AIN1和 AIN2之间 ii)在 AIN2和 AIN3之间。 然后从第一个值中减去第二个值。 以获得准确的值。
    在这两种情况下、我将仅通过 AIN0使用 IDAC1。

    PS:在使用 ADS114S 时、上述策略(以及冷端温度补偿)对我们来说效果良好。 因此、我希望使用 ADS1120进行类似的测量。

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

    您好 Syed、

    我不确定为什么要打开 PSW 位、因为这将打开到 AVSS (GND)的内部连接。  这将意味着电流将流经滤波器电阻并与基准电阻器并联接地。  这将显著降低基准电压。  因此、可能会对 AIN3和低侧开关的工作方式产生一些误解。

    至于在2线制模式下从 AIN2到 AIN3的测量、当这短接时、您应该会看到接近0的值。  返回的代码显示为大约97个代码的负偏移。  您可以使用 AINP 和 AINN 连接到(AVDD-AVSS)/2的多路复用器设置来确定 ADC 偏移。  进行几次转换并求平均值、然后从后续读数中减去代码值。

    您针对预期测量所述的方法应适用于 ADS1120。  确保 REP0未连接到 GND。

    此致、

    Bob B

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

    感谢您的提示。  

    我仍然不明白的一件事是、当我在 AIN1和 AIN3之间进行2线测量时、为什么我经常看到0xFF 0x61作为数据。

    PS:PSW 始终打开。

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

    您好 Syed、

    最初、您说您是在 AIN2和 AIN3之间进行测量。  我回去读了一些后来的文章,我发现我错过了你后来说的 AIN1和 AIN3。  确保为 AIN1和 AIN3写入正确的寄存器设置、即多路复用器设置的位7:4 0100b、而不是0101b。

    此致、

    Bob B

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

    尊敬的 Bob:

    感谢您提供有关硬件的提示。 复活节后、我能够校正我的硬件。 遗憾的是、REFP0和 REFN0被切换、所以我对它们进行了校正。

    使用0x30 0x00 0x54 0x20。 我能够正确测量 AIN1和 AIN2之间的电阻。 (与不同的 MUX 配置类似、我在 AIN1和 AIN3以及 AIN2和 AIN3之间读取)。

    现在、我在检测短路(SC)和断线(WB)时遇到了一些问题。

    我尝试检测 AIN1和 AIN2之间的 SC 和 WB

    断线:

    和导通烧毁电流源的方法。 我能够检测 AIN1和 AIN2之间的 WB。

    Config:0x31 0x81 0x14 0x20 ,我测量了0x7F 0xFF。 (断线正确)

    您可以在配置中注意到、激励电流仍处于启用状态。 如果我禁用它、那么我会读取以下内容

    Config:0x31 0x81 0x10 0x00 ,我测量了0x3D 0xC6 (wierd 值)

    短路 :

    我无法使用上述任何配置检测 AIN1和 AIN2之间的短路。 (AIN2和 AIN3也按照我的原理图的要求短路)

    Config:0x31 0x81 0x14 0x20 ,我测量了0x0D 0x55

    禁用 激励电流、然后我读出以下内容

    Config:0x31 0x81 0x10 0x00 ,我测量值为0x07 0xCF

    在这方面、请帮助我正确检测传感器故障、因为第30页的数据表中没有太多内容。 我的想法已经不多了。

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

    您好 Syed、

    不久前、我的一位同事编写 了一份有关 RTD 断线检测 的应用手册、您可能会发现该手册很有用。  查看应用手册、了解它是否有助于您完成该过程。  如果您在查看应用手册后仍有疑问、请告诉我。

    此致、

    Bob B

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

    感谢您提供的文档、我将立即查看。 是否有任何东西可帮助我进行短路检测? 与 ADS114S 一样、我们使用内部基准并消耗电流来检测短路。 现在我无法检测到它

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

    您好 Syed、

    使用 BCS 并检查传感器短路的问题是、您将看不到"0"或接近零的读数、因为 BCS 将在输入滤波电阻器上产生压降。   

    在正常工作配置(IDAC 打开)中并使用内部基准、如果输入(导线)短路、您应该会看到接近0的读数。 这种方法的缺点是如果也存在断线、输入也可能显示为0。  因此、在这里、您需要确保外部基准首先有效并且没有断线。

    此致、

    Bob B

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

    尊敬的 Bob:  

    感谢您提供的提示、我能够找到一种检测断线和短路的方法。 目前、我想补偿内部温度。 我已启用内部温度传感器、并且正在读取0x0A20、但我不知道该值意味着什么。 您能指导我如何从我先前的读取值中补偿它吗?

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

    您好 Syed、

    温度传感器的转换值是一个左对齐的14位值。  如果取0x0A20值并右移2、则得到的值为十进制648的0x0288。  系数为1代码等于0.03125°C 或乘以648即可得到20.25°C

    实际上、我不确定您打算如何使用该值、因为我记得您正在进行比例式测量的原理图。  您计划如何使用内部温度传感器进行补偿?  由于相对于 LSB 的值、误差很小、因此您极不可能需要使用16位器件以这种方式进行补偿。

    如果要测量热电偶(TC)而不是 RTD 或热敏电阻、则需要补偿 TC 连接点的冷端。  ADS1120数据表的9.2.1节介绍了该过程、其他信息可在 《热电偶测量基本指南》中找到。  在这里、您将获取内部温度读数并转换为用于冷端电压的 TC 类型的电压值。  然后、您将 TC 电压与为冷端计算的电压相加、然后将该电压和转换回温度。

    此致、

    Bob B

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

    尊敬的 Bob:

    再次感谢 您提供了另一个很好的描述性答案。 我要做的是、在测量3线 Pt100或 Pt1000时尝试实现与 ADS114S 相同的精度。 对于 ADS114S,我们观察到在25C -40C (-0.086%)和+60C (0.034%)下比例测量(相同的 RTD 和 Rref)存在差异。 根据电气特性中写入的值、我们有一种补偿机制、需要我们计算 ADC 的温度、根据 ADC 的温度、我们计算了最终从主要测量电阻中添加或减去的小电阻。

    它在 ADS112S 中听起来是否可行、或者您是否对环境温度补偿有任何其他想法?

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

    您好 Syed、

    与用于 ADS114S0x 的概念一样、您当然可以在 ADS1120中使用类似的概念。  请记住、对于任一器件、 可能存在不同器件之间的差异。  在这些系统中、我经常看到基准电阻器的温漂产生的增益误差的主要问题。

    此致、

    Bob B

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

    大家好、我想用感谢函结束这个话题。 ADS1120S 目前工作正常。 感谢您的全面支持和快速回复。 您的支持质量确实是一流的!