主题中讨论的其他器件: ADS131M08
您好!
我使用 ADS131M04-Q1、并使用 Verilog 连接 FPGA。 ADC 配置为:MODE = 16'h0100、 CLOCK = 16'h0F0A 、GAIN1 = 16'h7777、其他默认设置。 FPGA 提供的 ADC 时钟 fCLK = 8.1968MHz、SPI 时钟为 fCLK/4。
我遵循以下步骤:
1.在2048个 ADC 时钟周期内设置 SYNC/RESET = 0
2.使 SYNC/RESET 失效为 1并等待 2个 ADC 时钟周期
3.在 DRDY 的上升沿等待
4.将 CS 置为低电平
5.写入寄存器:
命令{WREG_CMD、MODE_REG_ADDR、7'd2、8 'd0}(共24位)、
模式{16'h0100、8 'd0} (共24位)、
时钟{16'h0F0A、8 'd0} (共24位)、
GAIN1{16'h7777、8 'd 0} (共24位)
虚设52{'d 0}。 发送的字总数为6个。
6.禁用 CS 并等待 DRDY 的下降沿。
7.启用 CS 并读取6个字。
8.禁用 CS 并等待 DRDY 的下降沿。
9. 启用 CS 和读取寄存器命令:
{RREG_CMD、MODE_REG_ADDR、7'd2、8 'd0} (共24位)、
虚拟{120 'd 0}。 发送的字总数为6个。
禁用 CS 并等待 DRDY 的下降沿。
11. 启用 CS 并读取寄存器:
{3个寄存器} (总共3x24位)、
虚拟{3x24位}。 总共6个字。
重复步骤8-10。 执行此操作时、不会重复获取寄存器值。 为什么?
并查看了 DRDY 的行为:
它不是周期性的。 为什么?
此致