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.

[参考译文] ADS1256:读数据不正确

Guru**** 2540720 points
Other Parts Discussed in Thread: ADS1256

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/870967/ads1256-not-correct-read-data

器件型号:ADS1256

大家好、我最近使用 ADS1256来转换数据、在 SPI 中遇到了一些数据不正确的问题。

我使用信号发生器生成具有固定低频的正弦波、有时我的波形将如下所示:

红圈中有一个尖峰点。(这里看起来像是0.05~0.1V 的电压尖峰、但有时它很大。) 这对我的工作造成了非常糟糕的影响。
我正在使用 python 代码,设置 SPI=1000000;GaN =1;2000SPS 或3750SPS,并使用 SELFCAL、SELFOCAL、WAKEUP、SYNC IN series,最后使用 RDATA。

在通过 SPI 从缓冲区读取3个字节后,我使用下面的代码将其转换为如上图所示的数据点。

READ_DATA =(buf[0]<<16)& 0x0000
READ_Dara |=(buf[1]<8)& 0x0000
READ_DATA |= buf[2]& 0xff
返回 READ_DATA 

我确实确定这个问题不是由信号发生器引起的,因为我使用直流电源来测试它。

在使用 CAL 命令之前是否有任何特殊设置? 或者 python 速度不够快? 还是这是芯片的原始问题? 或者 我如何通过某种方法避免此问题?


我真的需要急切地处理它,谢谢!

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

    您好!

    欢迎访问 TI E2E 论坛!

    有时噪声会导致正弦波图中出现一些小尖峰;但是 、您所描述的内容似乎与 ADC 转换时序或 SPI 时序有更多关系...

    • 如果您的代码正在停止并启动 ADC 转换、那么您可能无法获得一致的数据速率、并获得在时域中不正确对齐的结果。

    • 或者、您应该检查逻辑分析仪或示波器上的 SPI 信号、以确保您的 Python 代码能够在/DRDY 信号变为低电平(表示新转换已完成)之前可靠地计时 ADC 数据。 如果您发现您的代码在/DRDY 变为低电平时超时 ADC 数据、您可能会得到一个损坏的结果、这是前两个结果中位的组合。


    第二个问题是我在使用 Python 等高级语言时看到的一个常见问题。 高级语言通常具有额外的头端或计时延迟、当硬件需要严格的计时时、这可能会导致问题。

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

    好的,我会尝试它,非常感谢!