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.

[参考译文] ADS8910B:器件错误地进入源同步模式导致 SPI 问题

Guru**** 2580715 points
Other Parts Discussed in Thread: ADS8910B

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/798114/ads8910b-spi-issues-due-to-part-erroneously-entering-source-synchronous-mode

器件型号:ADS8910B
我们的 ADS8910B ADC 上的 SPI 接口存在一些问题。 我们的板使用 TI MSP342E401Y MCU 作为 ADC 的主机控制器。 我们有一个连接到 ADS8910B SDI 引脚的传统 SPI 端口、用于写入设置寄存器并将器件置于四 SPI 模式。 然后、MCU 上有一个单独的四通道 SPI 端口、该端口连接到 ADS8910B 的 SDO 线路以读取数据。
有时、器件会处于数据不与时钟对齐的状态。 经过一些调试后、我发现这是由于 ADS8910B 上的 RVS 引脚输出时钟、数据线与内部 ADC 时钟同步、而不是由 MCU 驱动 SCLK 引脚。  
根据 ADS8910B 数据表、RVS 引脚仅在源同步模式下输出时钟、通过将 SDO_CNTL 的位[1:0]设置为11来启用该模式。  
image.png
我们初始化例程的一部分是设置该寄存器、因此似乎该寄存器被破坏、或者这些位被以另一种方式设置。 一旦我们进入四通道 SPI 模式、除了通过 SDI 线路之外、我们似乎没有任何其他的写入 ADS8910B 的方法、在写入初始寄存器以设置四通道 SPI 模式后、我们将其保持为低电平。  
有什么想法可以在这里做什么? 在我们的其中一个电路板上、这种情况间歇性发生、而在另一电路板上、每次我们循环通电时、这种情况似乎都会发生。  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Michael、

    这可能是 SDO_CNTL 寄存器写入命令期间的时序问题(不符合设置或保持时间)、也可能是信号完整性问题。

    如果可能、请使用/CS、SCLK 和 SDI 捕获写入命令 SPI 帧、以确认满足具有适当时序的有效命令。

    如果这是一个信号完整性问题、可以通过添加一个与 SPI 线路串联的电阻器来多次修复这一问题。 SCLK 是最关键的、但/CS 和 SDI 有时也会受到影响。 如果可能、请尝试在这些线路中添加一个50欧姆的串联电阻器。 如果这是原因、它应该有助于减少间歇性故障或完全消除这些故障。

    另一种可能是电源引脚上的噪声过大。 这可能是由于旁路电容器放置在离 ADC 太远的位置、或者电容不足。 1uF 陶瓷旁路电容器应直接放置在 DVDD、DECAP 和 RVDd 引脚旁边、类似于数据表中的图119。 其他客户也发现了随机问题、例如盖未安装或损坏。

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

    自您最初发布以来已经过几周、我假设您已经能够完成此工作。 我将关闭该线程。 如果您有其他问题、请随时创建新帖子。

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

    您好、Keith、是的、我们已经解决了这个问题。 我们没有连接 SDI 线路、因此固件无法从 ADC 读取正确的寄存器值。 感谢你的帮助。