我使用 Arduino Uno 来控制和读取 ADS122C04中的数据。
我正在测试新的电路板设计、以便可能出现硬件问题。 4个模拟输入用作2个差分对。 AIN0和 AIN2是信号基准、AIN1和 AIN3是基准。 未连接 NDRDY (引脚14)。 该芯片由+5VDC 供电。 一个外部+2.5VDC 基准芯片被连接至 REFP 并且 REFN 被接地。 DVDD 和 NRST 通过电感器连接到+5V。 AVSS 和 DGND 接地。 A0和 A1连接到+5V。
代码的工作方式如下:
复位(0x06)
设置配置寄存器:寄存器0 (0x40)= 0x00;寄存器1 (0x44)= 0x0A;寄存器2 (0x48)= 0x00;寄存器3 (0x4C)= 0x00
启动/同步(0x08)
环路
{
读取配置寄存器2 (位7)中的 DRDY 标志
DRDY 置位时
发送 RDATA 并读取3个字节
延迟2000ms
}
问题是从未设置 DRDY 标志。 我可以随时发送 RDATA 并读取3个字节、但我获得的数据与 AINx 引脚上的电压电平不一致、这表明数据转换未执行。 我已经尝试使用内部和外部基准以及连续和单次转换(发送启动/同步并在读取每个单次转换之前等待50ms)。 我的开始/同步似乎没有完成。
我已经读取了所有4个配置寄存器、发送了一个新值并读取了寄存器、以验证我是否可以配置寄存器。
我出了什么问题?
请提供任何帮助。