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.

[参考译文] ADS131M06:通信稳定性问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1396797/ads131m06-issues-with-communication-stability

器件型号:ADS131M06

工具与软件:

我与 ads131m06的通信遇到问题。 我正在正确地从 SPI 读取数据、但更改寄存器的值时遇到问题。  

首先、我能够更改时钟寄存器以在高分辨率模式下将频率设置为250SPS、方法如下:

b0110_0001_1000_0000_0000_0000、x7F1E00

它几乎总是工作正常、但偶尔、它上电每10-50次、频率似乎错误地设置为32kSPS。 在下图中、标记为2、3的 ADC 应将频率重置为250SPS、但标记为2的 ADC 应以32kSPS 的速率运行。

然后、发现 SPI 通信存在基本问题、其中数据在 SCLK 的下降沿而不是上升沿发送。 另外、还在上升沿(而不是下降沿)错误地读取了数据。   修复后、示波器上显示的是通信的开始

令人惊讶的是、在发现此错误之前、一切都进展顺利。 但是、由于完成了此修复、我仍可以从 ADC 读取数据、但这些 ADC 在写入寄存器时不会正确响应。 读取寄存器工作正常、当读取时钟时、我得到了 x3F0E00、这使我感到很惊讶、因为复位值列为7F0E、但我看到实际上此寄存器的保留部分应该读取0。

但是、我发送前面提到的命令、他们从不将采样频率设置为250SPS、而是发送预期的确认响应

b0100_0001_1000_0000_0000_0000

但请勿更改其采样频率通常的4kSPS。 但是、在极少情况下、采样频率仍错误地设置为32kSPS。

不过、现在如果我尝试通过发送7F0A00、7F0600 RESP 将采样频率增加到8kSPS 或16kSPS、ADC 根本无法正常工作、DRDY 始终设置为0、没有上升沿。 此外、通过将 SYNC_RESET 置为有效达2048个 MCLK 周期、然后等待5us 或使用 RESET 命令(为此、我在使用此命令时并不总是收到确认代码)、无法从此异常状态恢复。 只有断电和上电才能成功恢复。

总之、以下是修复 SPI 通信的方法:

预期结果   实际结果

250SPS            4kSPS、很少为32kSPS、但会出现预期确认响应。

8kSPS             停止工作

16kSPS            停止工作

复位              等待后偶尔才会收到预期的确认、如果 ADC 停止工作、则不会恢复

您知道什么可能导致此类意外行为?

谢谢!

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

    您好、 Vladislav、

    欢迎来到 E2E 论坛。

    您说:"然而、我发送了前面提到的命令、他们从不将采样频率设置为250SPS、而是发送预期的确认响应。 b0100_0001_1000_0000_0000_0000_0000"

    Dale:您在此处发送的命令不正确、这是您在开头发送的另一个命令字。 您之前向 ADC 发送了"b0110_0001_1000_0000_0000_0000、x7F1E00"、请仔细检查是否错误地从微控制器发送了错误的命令。  B0110 是 ADS131M06的正确 RREG 命令。  

    ADC 上电并根据需要写入寄存器后、我建议通过发送锁定命令来锁定器件/接口、以防在测试过程中向 ADC 发送任何潜在的干扰信号。
    在您更正命令并遵循我的建议后、请告知我您的新测试结果。
    BR、
    戴尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的快速回复! 您指出的代码不是发送的命令。 这是 发送 WREG 命令后 ADC 的确认响应、看起来正确。 我已按照您的建议发送 LOCK 命令、但这无法解决问题。

    此外、我还注意到了一些 ADC 无法启动的情况、即使没有向其发送命令、或停止工作、也无法复位、几分钟后就进入运行状态。 与之前报告的问题一样、这种情况偶尔发生。 你们中有人知道导致此类错误的原因吗?

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

    您好、 Vladislav、

    如果锁定命令未解决问题、则可以表明问题不是由 SPI 总线的干扰信号引起的。 您能否提供原理图供您审阅? 最好不仅为 ADC 包含电路、也为电源包含电路。 如果您不想在公共论坛上分享、可以通过私人消息与我分享。 您的 系统中是否有任何电机或其他设备可以生成瞬态信号? 我们没有收到关于这一问题的任何报告。

    -戴尔