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.
您好 Sagar、
您能否帮助我们了解您为改变速度所做的工作以及它是如何工作的? 是否已确保 ADC 正常通信? 您是否曾尝试读回寄存器以检查您发送的内容是否被 ADC 接收? 您是否尝试更改其他寄存器以查看它们是否起作用、即它只是您遇到问题的数据速率、还是所有寄存器都起作用? 您是否从 ADC 获得任何响应、例如 DRDY 脉冲?
它有助于提供有关您在测试过程中所做的工作和发生的事情的分步详细信息、以便我们帮助您诊断问题。
布莱恩
您好 Bryan,
是的、Bryan 我将编码器件中的数据速率更改为2.5sps、我得到2-3个样本、同样、我进行了更改以获得更多样本数、当我提到1000个样本时、它是700-750个样本、如果我提高的数据速率仍然是相同的。 接下来、我将 SPI 最大速度更改为3840000 Hz 、但未使用。
在这里、我还想说的是、每次运行代码时、代码读取的样本数为700个、读取的样本数为900个、因此我无法假设在运行代码时、不同时间间隔的样本数是多少。
您好 Sagar、
您是否有逻辑分析仪向我们展示 SPI 通信的工作原理? 了解命令如何发送到 ADC 以及 ADC 如何响应将非常有帮助。 这一点不会简单地通过查看代码来明显。
您是否正在观察 DRDY 转换(从高到低)以了解新数据何时就绪?
布莱恩
您好、Bryan、
今天、我将 DRDY 引脚连接到逻辑分析仪和 DIN、并且我是 DSO、因此一次只能连接两个通道、因为当我运行代码时、我得到了该值、并且无法找到 DRDY 引脚处于低电平时可用的数据。
您能不能在代码中提到我需要遵循的基本步骤来读取数据?
我对 RPI 与 ADS1256通信有疑问,因此我执行了环回测试来读取和写入虚拟数据,但在这里,我对环回测试有疑问,我应该连接 RPI 或 RPI 的 MISO 和 MOSI 引脚以及 ADS1256 MISO、MOSI 引脚?
当我将我的 DRDY 和 MISO 连接到逻辑分析仪时、它会提供如下所示的结果。
您好 Sagar、
我不知道关于范围的数据应该代表什么,但这显然是坏的。
您是否使用多个板、例如 ADS1256EVM 和 Raspberry Pi 板? 如果是、请确保电路板之间有牢固的接地连接、否则可能会导致您在此处显示的错误。
要读取数据、应发送同步/唤醒命令或切换 SYNC 引脚。 请按照数据表中的说明选择方法。
然后、您等待 DRDY 下降至低电平、以了解新数据何时可用。 然后使用 RDATA 命令输出该数据。 如果您要切换多路复用器、请在此时切换。 如果您在一个通道上持续转换、则只需等待 DRDY 再次下降为低电平即可。
请仔细阅读 ADS1256数据表、然后再继续。 所有这些信息都有详细介绍。
布莱恩
您好 Bryan、
我使用的是 ADS1256而不是 ADS1256EVM、我遵循了您刚才提到的过程、如果更改采样率、它读取的数据将读取到每秒1450个样本、但读取的数据未正确、如果我选择降低采样率和降低采样率、则再次将其作为一个垃圾值 SPI 速度,那么我可以得到正确的值。
好的,我将尝试在逻辑分析仪中获得正确的波形,我将更新您。
此致、
萨加尔姆
您好 Sagar、
您能否给我发送电路板/设置的图片?
布莱恩
您好、Bryan、
这是我的项目设置、我浏览了数据表、我使用输入多路复用器多路复用器寄存器模式来读取数据
我只需写入一个循环、等待 DRDY 引脚变为低电平
一旦 DRDY 引脚为低电平、我就会针对不同通道写入一个寄存器、例如、对于 AIN0、AIN1为01h、对于 AIN2和 AIN3为23h ...等等
然后、我立即发送 SYNC 和 WAKE CMD 进行同步、并有0.2ms 的延迟、然后发送 RDATA CMD 进行读取并放入缓冲器、该数据将由主循环返回、直到我没有获得正确的输出、并且一次它将运行一段时间 无法读取设备 ID 本身。
您好 Sagar、
老实说、我不确定您是否可以通过您所展示的设置从您的系统中获得体面的性能。 所有这些跳线都可能拾取噪声等、从而影响整个系统。 实际上、隔离问题的来源(或来源)将非常具有挑战性。 实际上、问题的根源可能是接线本身、只有在单个 PCB 上构建系统才能解决这一问题。
在系统清理完毕之前、我不知道可以提供多少更多支持。 这里有太多变量。
布莱恩
您好 Bryan,
是的、Bryan 仍在生产 PCB、这就是我这样做的原因、但也可以。 但 我所遵循的程序指出了它的正确或错误、我是否 需要做更多的事情。
您好 Sagar、
ADS1256数据表的第21页分步说明了循环输入和读取数据的过程。 我还复制了显示以下过程的图像。 我无法更好地重述这些信息、因此我只需向您介绍相应的数据表文本。
执行此过程将使您能够以表14中指定的吞吐量从 ADC 中获取数据、前提是遵循第6页中的时序注意事项。 不过、如前所述、在您从 ADC 实现该性能之前、可能需要对电路板进行大量修改。
布莱恩
非常感谢 Bryan 的支持、非常耐心地回答我的任何问题、这真的很棒。