您好!
我能够读取和写入 ADC 的寄存器。
ADC 配置:
1) 1)将采样率从20sps 更改为100sps (默认值)
2) 2)将寄存器(10h)的输入多路复用器位更改为 AIN0至 AINCOM、如随附的图所示。

3) 3)在设计中启用外部基准、如所示。

我已将 PGA 增益设置为0.125,并将5.00v 设置为 ADC 的输入。我将得到 x"ecxxxx"十六进制值作为 ADC 转换输出。
我已附上了 Vivado ILA 原理图和波形的屏幕截图。
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.
您好!
我能够读取和写入 ADC 的寄存器。
ADC 配置:
1) 1)将采样率从20sps 更改为100sps (默认值)
2) 2)将寄存器(10h)的输入多路复用器位更改为 AIN0至 AINCOM、如随附的图所示。

3) 3)在设计中启用外部基准、如所示。

我已将 PGA 增益设置为0.125,并将5.00v 设置为 ADC 的输入。我将得到 x"ecxxxx"十六进制值作为 ADC 转换输出。
我已附上了 Vivado ILA 原理图和波形的屏幕截图。
您好 Ramesh、
您是否执行了 RREG 来确认 WREG 命令已生效? 如果它们由于任何原因而没有、您可能会得到无效数据。
只需确认:这是您从 ADC 接收到的数据字节吗? 您是否启用了 STATUS0字节(下图中的字节为"1E")? 很难分辨、因为数据 CRC 在两种情况下都不匹配。

如果启用了 STATUS0字节、则 DOUT 上的命令结构假设给定的命令为12 00 AA:
如果 STATUS0字节被禁用、则 DOUT 上的命令结构假设给定的命令为12 00 AA:
因此、无论在哪种情况下、CRC 似乎都是不正确的、除非我缺少一些东西。 这意味着 ADC 和 MCU 之间存在一些通信错误。 您可能会检查是否存在噪声或任何其他可能干扰数字通信线路的东西。
请告诉我您尝试的内容以及测试结果。
布莱恩