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.

[参考译文] CCS/ADS1220:在单个 SSI 总线上使用多个 ads1220的情况下、执行冷端补偿的最佳方法是什么。

Guru**** 2535150 points
Other Parts Discussed in Thread: ADS1220, SN74LVC244A

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/788644/ccs-ads1220-what-is-the-best-way-of-performing-cold-junction-compensation-in-case-of-having-multiple-ads1220-on-a-single-ssi-bus

器件型号:ADS1220
主题中讨论的其他器件: SN74LVC244A

工具/软件:Code Composer Studio

大家好、我计划使用 ADS1220执行 TC 测量。 我有8个 ADS1220通过 SSI 与 Tiva 通信。 我正在寻找最佳序列而不影响测量精度。 最初、我计划在每个 ADS1220上启动 ADC 转换、然后对于下一次扫描、我计划启动内部温度。 转换、以执行 CJC 并获得最终结果。 但是、由于 ADC 和 int 之间的延迟、不确定这是最佳方法。 每个 ADS1220上的温度传感器读数。 该延迟是否会影响我的读数的精度? 谢谢。。。

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

    这可以通过几种方式实现。 准确度将取决于所需的数据速率和冷端的稳定性。 通常、热质量变化不会很快。 您可以考虑以一组8 (x1)的形式捕获数据、而不是以2 (x4)或4 (x2)的形式进行测量。

    为了获得最大测量速度、您可以栅极 DOUT/ DRDY 引脚(以防止输出驱动器争用)并命令所有器件同时启动。 您还可以同时配置所有 ADS1220。 您只需要单独读取转换数据。

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

    尊敬的 Bob:

    数据越低、准确度就越高? 我们的数据速率将设置为20SPS。

    如果我理解正确、您建议按2 (x4)一组进行测量的顺序:

    1 -将 CS1设置为低电平、设置 CONFIG reg、启动 ADC 转换、 将 CS1设置为高电平

    2: 将 CS2设置为低电平、设置 CONFIG reg、启动 ADC 转换、 将 CS2设置为高电平

    3延迟(1/SPS +裕度)

    4 - 将 CS1设置为低电平、读取 ADC 数据、设置 config reg、启动内部温度。 转换、 将 CS1设置为高电平

    5 - 将 CS2设置为低电平、读取 ADC 数据、设置 config reg、启动内部温度。 转换、 将 CS2设置为高电平

    6延迟(1/SPS +裕度)

    7- 将 CS1设置为低电平、读取为 int。 临时数据、设置配置寄存器、启动 ADC 转换、 将 CS1设置为高电平

    8- 将 CS2设置为低电平、读取为 int。 临时数据、设置配置寄存器、启动 ADC 转换、 将 CS2设置为高电平

    9-从#3开始重复此操作

    这仅适用于第一个组。 将对所有组执行该操作... 如果有任何缺失、请更正。

    关于最大测量速度、如何同时启动所有器件。 我应该首先将相关的 CS 引脚设置为低电平并发送 START 命令、然后针对每个引脚单独重复该操作。 请详细说明如何同时配置所有 ADS1220?  

    谢谢。。。

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

    我建议了两种不同的可能性。 第一种方法是分组进行测量、以便冷端测量更接近热电偶测量。 这与您上一个帖子中的步骤1至9类似。

    第二种方法是一次性对所有器件执行组寄存器写入和 START/SYNC 命令。
    1-将所有器件的 CS 设置为低电平(并将 OE 缓冲器设置为高电平)
    2-发送用于在 ADS1220多路复用器上设置 AIN0/AIN1的 WREG 命令
    3-发送 START 命令
    4 -将所有器件的 CS 设置为高电平(并将 OE 缓冲至低电平)
    5-等待转换结束
    6 -环通所有读取数据的器件
    a.将 CS 设置为低电平
    b.发送 RDATA 命令并读取转换结果
    c.将 CS 设置为高电平
    d.循环返回到6读取下一个器件、直到从8个器件读取所有数据
    7-将所有器件的 CS 设置为低电平(并将 OE 缓冲器设置为高电平)
    8-发送 WREG 命令以进行内部温度传感器测量
    9-发送启动命令
    10 -将所有器件的 CS 设置为高电平(并将 OE 缓冲为低电平)
    11-循环所有读取数据的器件
    a.将 CS 设置为低电平
    b.发送 RDATA 命令并读取转换结果
    c.将 CS 设置为高电平
    d.环回6读取下一个器件、直到读取所有数据
    如果您还有一个热电偶连接到 AIN2/AIN3、您将按照与上述步骤相同的步骤操作、除了步骤2是 WREG、以将多路复用器设置为 AIN2/AIN3。

    正如我在上一篇文章中所述、您无法在不阻止 DOUT/DRDY 同时驱动输出的情况下同时为所有器件设置 CS 低电平、因为某些器件可能具有逻辑低电平、而其他器件则具有逻辑高电平。 该驱动器将导致电流过大并可能损坏 ADS1220。 为了防止输出驱动器争用、您可以使用逻辑器件隔离输出。 一种可能的方法是使用 SN74LVC244A。 使用此器件、您可以将"Y"指定输出与 DVDD 的弱上拉电阻(100k)连接在一起、以防止 GPIO 输入悬空(也可以设置 Tiva GPIO 以使用引脚上的弱上拉电阻)。 每个"A"输入都将连接到 ADS1220 DOUT/DRDY 输出之一。 您还需要将244A 上的两个 OE 使能端连接在一起、并连接到微控制器上的附加 GPIO 引脚。 将所有器件的 CS 设置为低电平时、您还可以将 OE 设置为高电平以禁用输出。 当使用 CS 读取数据时、您需要确保 OE 被拉至低电平以启用所需的 DOUT/DRDY 信号。

    此致、
    Bob B