主题中讨论的其他器件: ADS124S08EVM、 ADS124S08
我很难从 ADS124S06获取线性 ADC 读数。 我能够像使用 ADS124S08EVM 板一样正确设置 ADS124S06。 设置如下:
- 输入多路复用器(0x02)、 AIN5P 和 AIN4N (0x54)
- PGA (0x03)、 PGA 旁路和默认增益1 (0x00)
- 数据速率(0x04)、 G 通道禁用、低延迟滤波器、2.5SPS (0x10)
- 基准(0x05)、 正基准缓冲器旁路、负基准缓冲器旁路、内部2.5V 基准、内部基准始终开启(0x3A)
- 激励电流(0x06)、 (0x00)
- 激励 IDACMUX (0x07)、 (0x00)
- 传感器 VBIAS (0x08)、 (0x00)
- 系统控制(0x09)、 8个样本(0x10)
我可以毫无问题地回读每个寄存器、并读取偏移和增益寄存器以获取它们的默认值。
我已将其设置为连续转换模式、并在 DRDY 引脚变为低电平时读取该引脚、以使用 RDATA 命令完成读取。 然后、我从 ADS124S06、MSB 到 LSB 读取3个字节的数据。 以下是使用 RDATA 时从 ADS124S06移位24位的方法。
字节接收= SpiReceiveByte();// 24位数据的 MSB
receivedData =接收;
字节接收= SpiReceiveByte();// 24位数据的中字节
receivedData =(receivedData << 8)|(long) byteReceived;
byteReceived= SpiReceiveByte ();// 24位数据的 LSB
receivedData =(receivedData << 8)|(long) byteReceived;
然后、如果我将0xFF000000添加到长整数"保留数据"中、我会检测 ADC 计数是否大于0x7FFFFF。
我仍然无法确认 ADS124S06有什么问题。 这可能是布局问题、也可能是我选择在转换结果准备就绪时读取转换结果的问题。 如果有任何帮助,将不胜感激。
下图是我使用 ADS124S06的原始读数收集的数据。
下面的数据与上面的图相对应、来自 PCB 上的 ADS124S06。
使用 ADS124S08EVM 和数据分析工具收集了下图。 我使用此图来展示从 ADS124S08EVM 读取电压时电压源的线性度。
下面的两台设备最近都经过了校准。
电压源:Datron 4700
DMM:HP 3458A