我有一个基于 ADS1282的设计 -我正在使用 RDATAC 命令读取数据。 DRDY 按预期触发、但 DOUT 为0。 SPI 接口本身正在按预期读取和写入寄存器。 通过在 DRDY 触发 SPI 读取、DOUT 根本不会改变。 输入时钟稳定在4.096MHz、并且在 DRDY 触发后生成 SCLK。 BYPA 大约为1.8V。 如果有任何有关如何调试该内容的指导、那就好了。
谢谢
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.
我有一个基于 ADS1282的设计 -我正在使用 RDATAC 命令读取数据。 DRDY 按预期触发、但 DOUT 为0。 SPI 接口本身正在按预期读取和写入寄存器。 通过在 DRDY 触发 SPI 读取、DOUT 根本不会改变。 输入时钟稳定在4.096MHz、并且在 DRDY 触发后生成 SCLK。 BYPA 大约为1.8V。 如果有任何有关如何调试该内容的指导、那就好了。
谢谢
您好、Santosh、
我不确定这里的问题是什么、因为您说寄存器的读取和写入对您有效。 假设 SPI 通信正在工作、读取 DOUT 上所有零或所有零的最可能原因是 SCLK 脉冲根据/DRDY 发出的时序...
如果您尝试在/DRDY 变为低电平之前超时数据、则可能会导致 DOUT 上的值固定(0x000000或0xFFFFFFFF)。 我知道的另一个唯一的例子是、在重新同步期间、器件的运行方式与此类似、将处于连续同步模式(而重新同步/DRDY 将切换、但 DOUT 将在 FIR 滤波器稳定所需的63个转换周期内保持低电平)。 您是否有可能对 CONFIG0寄存器进行编程以将器件置于连续同步模式?
为了解决此问题、我将仔细检查一个示波器、该示波器仅在/DRDY 信号变为低电平后发送 SCLK。 应存在32个 SCLK 脉冲、且/DRDY 应在第一个 SCLK 脉冲之后返回高电平。
此外、您还可以尝试对 CONFIG0寄存器进行编程、以使用"仅 SINC 滤波器块"(以缩短数字滤波器稳定时间)、并在多次读取数据或读取数据之前等待更长时间、以查看 DOUT 最终是否发生变化。
如果您有其他可以共享的信息、请查看原理图并了解如何对器件寄存器进行编程。
Chris、
感谢您的快速响应。
是- CONFIG0确实被设置为连续同步模式。 仅在 DRDY 变为低电平后生成 SPI 时钟-我使用 DRDY 变为低电平作为触发 SPI 读取。 我将重新检查示波器上的时序。 如果您可以查看原理图、那就很好了-只需将相关页面发布到论坛中、或者是否存在其他机制。
我当前使用的寄存器设置为:
配置0 -连续同步、4000SPS、FIR -线性、滤波器:SINC + LPF
配置1 - MUX:AINP1 + AINN1、PGA 斩波:启用、PGA 增益:1.
高通、偏移和满量程寄存器都是默认值。
谢谢
桑托什
您好、Santosh、
如果您的器件处于连续同步模式、则可以选择将某种时钟单应用于 SYNC 引脚。 该时钟必须具有等于数据速率整数倍的周期、并且必须非常精确!
如果器件在 SYNC 引脚上看到的上升沿信号不在与新转换开始相对应的1主时钟(即4.096MHz 时钟)周期内、则器件将重新同步、数据将读取全0直到同步完成。
如果不需要、我强烈建议将器件配置为脉冲同步模式。 在脉冲同步模式下、仅当您指示器件(通过 SPI 命令或 SYNC 引脚上升沿)时、器件才会重新同步。
至于原理图、如果您不想将其发布到公共论坛、您可以通过私人邮件将其发送给我。 单击我的用户名、您应该可以选择直接向我发送消息。