我正在将 ADS124S08 (目前正在使用您的评估板、但已切断-基本上是一个简单的电源和芯片支架)连接到 FT240X (并行 USB 接口)。 我使用 FT240X 上的位拆裂与 ADS124通信。 我正在使用 LabView 接口运行 FT240X 和位拆裂。 我可以成功通信、读取寄存器、更改寄存器、有时还可以读取 A/D 转换。
我正在使用按需转换(reg 4设置为 X22 -单冲、SINC 滤波器、10SPS)。 无论这些寄存器的设置是什么、都会出现问题。
问题非常不寻常。
在发出单次启动转换命令后(如上所述)、我在直接模式下读取转换。
读取18个寄存器后、我发出 START 命令、然后等待/READY 变为低电平。 在执行 START 命令后、/READY 立即变为低电平、然后我读取了垃圾信息。 如果我重复此命令、无论我使用多少次读取、它都将读取 OK。 读取寄存器会继续执行该序列、其中的第一个开始读取是垃圾。
现在,读取的是 AD1 (reg 2设置为1C)。 如果我只将 reg 2更改为 x2C 值(读取 AD2)并发出启动命令、则它会正确读取。 然后、如果我继续执行开始读取操作、它将读取垃圾信息。 但是、如果我在开始读取之前插入一个 NOP、那么它的读取是正确的。 如果我继续执行序列 NOP-Start-Read -NOP-Start-Read、一切都正常。 通过使用一个示波器、NOP 读取前一个转换的第一个字节(正如它应该的那样)。
现在、如果我切换到另一个寄存器、有时我需要 NOP、有时我不需要 NOP。 如果我使用过多的 NIOP、那么它会读取垃圾。
基本上、当系统不工作但运行正常时(延迟就绪直到转换完成)、/READY 线路在发出 START 命令后立即变为低电平。 我可以通过更改 SPS 或低延迟滤波器与 sinc 的数量来延迟准备工作、因此我相信系统至少响应正确。 我还会读取寄存器、并且任何更改都是正确的。
我已经尝试 用编程方式切换其他线路-例如 CS (当前连接低电平)和/RESET (当前悬空)和 START (当前连接低电平)。 认为这是编程错误。 几年前、我在 TIMPSP430F149工作、还花了几天时间来发现器件错误。 此芯片未报告勘误表、因此我假设一定会产生愚蠢的编程错误。
该程序有许多用于故障排除的变体、没有成功、并且具有示波器和波形的监控线路看起来很棒。 甚至尝试更改数据速率。 尝试停止转换、唤醒等、但未成功。
注意:/READY 指 DOUT/\RDY 行、但/DRDY 行的行为相同(在示波器上镜像)。
如果对这种异常行为有任何想法、我们将不胜感激。