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/ADS1248:多通道的 ADC 值错误

Guru**** 2550920 points
Other Parts Discussed in Thread: ADS1248

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/750463/ccs-ads1248-bad-adc-value-for-multiple-channel

器件型号:ADS1248

工具/软件:Code Composer Studio

您好!

我使用 ADS1248测量2个差分电压。
其中一个具有单位增益、但另一个需要64增益值。

我必须每2ms 执行2次测量。

我的 psedo 代码:
医生:2kSPS
电源 ADS
重置为高电平
高电平启动
设置 RDATAC

while ()

等待计时器中断(每2ms)
对于(2)

等待空位低
CS 低电平
读取 ADC 值并更改通道(在同一 SPI 通信上)
更改增益
CS 高电平

将测量值保存在 RAM 中

我的问题:
ADC 值的1%是错误的(值= 0或0x7FFFFF)。
如果我在更改通道寄存器和增益寄存器之间设置延迟、则所有值都正常、但我需要2ms 以上的时间。

您能告诉我两个 ADS 寄存器更改的最短时间吗?

谢谢

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

    Gregoire、您好!

    我会更改一些内容。  由于您的数据速率比收集时间快得多、因此我建议您不要使用 RDATAC 模式、而是使用 SDATAC 模式、然后通过 RDATA 命令读取数据。  如果在读取数据期间发生更新、这将防止数据损坏。

    其次、确保不会以64的增益使 PGA 过载。  当增益为64时、可能会发生过载、然后您将通道从较低电压信号切换到较高电压信号。  PGA 超出范围后、需要一段时间才能恢复。  防止这种情况的一种方法是在更改多路复用器之前始终切换到增益为1。  您的伪代码可能如下所示:

    医生:2kSPS
    电源 ADS
    重置为高电平
    高电平启动
    设置 SDATAC

    while ()

    等待计时器中断(每2ms)
    对于(2)

    等待空位低
    CS 低电平
    使用 RDATA 读取 ADC 值并将增益更改为1

    更改通道(在同一 SPI 通信上)

    更改适合多路复用器输入的增益
    CS 高电平

    将测量值保存在 RAM 中

    当然、有很多方法可以完成相同的任务、例如在增益为64时设置标志、以便您知道增益应在多路复用器之前切换。

    此致、

    Bob B

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

    该解决方案的储罐桶、

    我的收集信息和更改寄存器需要小于300µs μ s 的时间、一次转换需要大于500µs μ s 的时间、并且每次访问4个第一寄存器后 ADS 都会重新启动 ADC 转换。
    所以我觉得我在这里没有任何问题。

    但你的第二个理论可能是我的问题。
    在更改顺序以替换增益和多路复用器寄存器后、我会获得更好的结果。 我必须做更多的测试、但我认为这是一种好方法。

    谢谢