我使用 16位同步从属模式下的ADS131A04模块,具有以下硬件模式引脚设置:
M0:无连接(同步从属模式)
M1:无连接(16位设备字)
M2:GND (抗锤代码字验证关闭)
我能够初始化ADC模块并读/写所有寄存器,但 在启用ADC后,总是获得所有通道数据的0。
以下是初始化过程中的通信顺序:
TX:0x0655 //解锁
Rx:0x0655
Tx:0x0011 //重置
RX:0xFF04 //就绪
TX:0x0655 //解锁
Rx:0x0655
Tx:0x4d02 //设置CLK1:使用外部16.384MHz时钟。fICLK = fCLKIN / 2
Rx:0x2d02
Tx:0x4e20 //设置CLK2:fmod = fICLK / 2
Rx:0x2e20
Tx:0x4f0f 0000 0000 0000 0000 //启用ADC
Rx:0x2f0f 0000 0000 0000 0000 0000
Tx:0x0033 0000 0000 0000 0000 //唤醒
Rx:0x0033 0000 0000 0000 0000 0000
Tx:0x0033 0000 0000 0000 0000 //锁定
Rx:0x0033 0000 0000 0000 0000 0000
Tx:0x0000 0000 0000 0000 0000 //读取数据
Rx:0x2200 0000 0000 0000 0000 //问题:状态字(0x2200)表示无错误,但信道数据的以下4个字全部为0
...
Tx:0x0000 0000 0000 0000 0000 0000
Rx:0x2200 0000 0000 0000 0000 0000
我已在示波器上测量数据信号,测量结果与我在软件代码中接收到的数据匹配。
我不知道为什么我不接收任何通道数据, 不管 我向 ADC通道馈入的电压是多少。
提前感谢。
Tx:0x0033 0000 0000 0000 0000 0000
Rx:0x0033 0000 0000 0000 0000 0000