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.

[参考译文] ADS1299:在RDATAC模式下启动时偶尔从ADC读取所有零

Guru**** 2553260 points
Other Parts Discussed in Thread: ADS1299

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/596682/ads1299-occasionally-reading-all-zeros-from-adc-at-boot-in-rdatac-mode

部件号:ADS1299

出于某种原因,我在启动时从ADC读取所有零。 我遵循ADS1299的通电顺序和初始化,但每次重新启动后都无法获得正确的数据。

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

    您是否能够读取和写入寄存器? 如果是,您能否提供您回顾的寄存器设置? 我想确保配置良好。

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

    我在写的文章之后直接读了一读。 我当前编写以下内容:

    将0xE0写入CONFIG3 (0x03)->读取0x00 (MOSI -> 0x43 0x00 0xE0;Miso -> 0x00 0x00 0x00)
    将0x90写入config1 (0x01)->读取0x00 (MOSI -> 0x41 0x00 0x01;Miso -> 0x00 0x00 0x00)
    将0xC0写入CONFI2.2 (0x02)->读取0x00 (MOSI -> 0x42 0x00 0x02;Miso -> 0x00 0x00 0x00)

    出于某种原因,如果我使用CS行(将其设为低以启用,设为高以禁用),我偶尔会读回零。 但是,如果我不使用CS线,而只是保持较低的值,我每次都能获得良好的数据。

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

    请在示波器或逻辑分析仪上查看。 微控制器上的SPI模块通常会使字节之间的CS达到高位,从而每次重置ADC上的接口并破坏通信。 您的微型上可能有一个设置禁用此功能。

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

    感谢您的反馈。 我目前正在使用SW芯片选择,我在数据表的9.5 .2.1 部分发现,我需要等待4个或更多tclk周期才能将CS拉回到高位。 我增加了3.5 我们的超时时间,这似乎已经成功了。 除了该段落之外,其他地方都没有记录这一点。

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

    是的,这是此设备上接口的另一个不幸部分,它往往会使人跳闸。 我在下一个数据表修订版中做了一个注释以清除此问题。

    Brian