本帖最后由 dffzh 于 2025-9-26 17:26 编辑
@21小跑堂
最近使用ADC芯片ADS1262在做一些数据测试和调试,前前后后也测试了不少数据,今天就与大家分享一下测试记录的总结。
一、 ADC芯片ADS1262的相关寄存器配置和数据测试记录 主要寄存器包括: 1、POWER寄存器; 2、INTERFACE寄存器; 3、MODE0寄存器; 4、MODE1寄存器; 5、MODE2寄存器; 6、INPMUX寄存器; 测试结果请参考文档: ADS1262寄存器配置及测试分析250724.pdf。
二、 ADC芯片ADS1262的相关功能验证和数据测试记录 主要包括: 1、斩波模式关闭时,采集数据偏大的原因分析; 主要原因:软件代码配置错误导致(RDRY信号的中断触发方式应为下降沿触发,而不是上升沿触发); 2、DELAY配置及测试; 只有在斩波模式打开的情况下,MODE0寄存器的DELAY配置才会生效,此时DELAY时间会体现在ADC芯片的DRDY引脚的输出波形上,即: 此时ADC完成一次转换的时间是 DELAY时间+tD(STDR)时间; 其中tD(STDR)为不同滤波模式不同数据速率下的转换延迟时间,如下图: 此时实际的采样率为: 在斩波模式关闭的情况下,DELAY配置不起作用,即此时ADC完成一次转换的时间就是MODE2寄存器的DR采样率。 此外,测试还发现: 在斩波模式关闭的情况下,实际采样率只受DR配置影响,无论滤波模式配置了什么; 从下面的滤波框图可以看出,ADC内部实际的滤波过程其实也不是像MODE1寄存器的FILTER配置里描述的那么单一: 3、GAIN配置为16或32时采样数据与理论不匹配的原因分析; 主要原因:不同GAIN对应的差分输入电压的FSR不一样,如下图: 比如GAIN为16时,差分输入电压FSR等于2.5/16=0.156V。 之前出现的测试现象,即是因为差分输入电压处于FSR临界点位置或超出FSR范围;
另外,回读的SPI数据里也有一个STATUS状态字节,里面有监控PGA报警状态的,比如配置放大器增益128,GAIN配置为32,回读的STATUS字节是79,即PGA位产生了告警。
三、 ADC芯片ADS1262的斩波模式功能的数据测试记录 主要包括以下不同的配置测试: 1、称重传感器空载,PGA增益配置1,DR采样率配置400SPS,斩波模式关闭和打开的采样数据对比测试; 2、称重传感器空载,PGA增益配置1,DR采样率配置7200SPS,斩波模式关闭和打开的采样数据对比测试; 3、称重传感器空载,PGA增益配置4,DR采样率配置400SPS,斩波模式关闭和打开的采样数据对比测试; 4、称重传感器空载,PGA增益配置8,DR采样率配置400SPS,斩波模式关闭和打开的采样数据对比; 5、称重传感器放置一杯水,PGA增益配置1,DR采样率配置400SPS,斩波模式关闭和打开的采样数据对比测试; 6、称重传感器放置一个控制器,PGA增益配置1,DR采样率配置400SPS,斩波模式关闭和打开的采样数据对比测试; 7、称重传感器空载,采集数据1000个点,PGA增益配置1,DR采样率配置400SPS,斩波模式关闭和打开的采样数据对比测试; 8、称重传感器空载,持续运行一个晚上,大概15小时左右,第二天早上发现数据变化有点大,采样数据有20多万个点,已在项目周会上讨论过,目前原因不明确,需要复现后在分析。
四、 ADC芯片ADS1262的内部温度传感器数据读取测试记录 考虑到后续可能会用上ADC芯片温度来做温度补偿操作等,所以研究了ADC芯片的内部温度传感器的数据读取,并进行了对应的采样数据测试。
以下的温度数据没有包括温度计算公式中的25: 主要包括以下测试: 1、裸板冷启动,监控ADC芯片温度变化; 2、ADC芯片温度采样数据和称重传感器空载采样数据,分时采集; 3、ADC芯片温度采样数据和称重传感器空载采样数据,分时采集,运行一个晚上; 4、ADC芯片温度采样数据和称重传感器(放置一个控制器)采样数据,分时采集,运行一个晚上; 5、ADC芯片温度采样数据和称重传感器(放置一个控制器)采样数据,分时采集,运行半天,中间人为给芯片降温; 6、ADC芯片温度采样数据和称重传感器(放置一个控制器)采样数据,分时采集,运行期间通过电风扇间断性给芯片降温后再关闭风扇;
7、称重传感器采样数据升序排序后最大最小值的差值计算。
五、 使用6位半仪器和ADC芯片采样数据的对比测试记录 主要包括6位半采集传感器输出电压,6位半采集放大器输出电压,ADC芯片采集放大器输出电压, 主要包括如下测试:
1、确认了采样数据有时候抖动或偏差大的原因并非串口打印错误引起,实则实际数据存在波动; 2、6位半仪器和ADC芯片采集放大器输出电压数据对比,6位半采样率5Hz(200ms),串口打印间隔200ms,运行一晚上,空载; 此次测试结果,两种方式的变化趋势一样,但6位半采集到的数据波动更小。 3、6位半仪器和ADC芯片采集放大器输出电压数据对比,运行一晚上,放置控制器; 此次测试结果,两种方式的变化趋势却不一样,有些奇怪。 4、6位半仪器采集传感器输出电压,ADC芯片正常采集,下午运行近3小时,空载; 综上,从所测数据来看: 1、传感器输出电压会出现抖动现象; 2、6位半采集的数据在准确度上比ADC芯片采集的要好; 3、ADC芯片采集到的数据波动确实不小; 4、其他的暂未发现明显规律。
六、 ADC芯片ADS1262的噪声性能解读和数据有效位数测试记录 1、ADC芯片输入噪声性能 根据芯片手册里面所描述的,输入噪声性能主要取决于以下配置:PGA增益,采样速率,滤波器模式和斩波模式; 使用尽可能高的增益可以获取较低的输入噪声; 较低的采样速率可以降低输入噪声; 滤波器模式阶数的增加,可以降低输入噪声; 启用斩波模式后,输入噪声可以降低1.4倍左右。
下图为所示条件下ADC芯片的输入噪声性能的部分数据,可以看出,增益越大,噪声越小。 2、ADC数据有效位数对比测试 根据芯片手册里面所描述的,不同配置下,ADC数据的实际有效位数(ENOB)是存在差别的,理论值即为32位; 以下进行了简单的对比测试,ADC配置如下:
采样速率 400SPS,增益 1,斩波 开启,滤波器模式 SINC1,即对应的ENOB为22.7位,近似用23位来计算; 进行了空载和放置一个物体的测试,数据如下: 从以上初测结果来看,不同的ENOB造成的实际差别似乎并不明显,通过以下的数据也可以进行分析: 实际有效位是23位,即无效数据位是9位,按照 (无效低9位ADC数据*2.5/0x7fffffff)*1000000即可得到低9位ADC数据对应的采样电压值,单位用uV表示;
采集数据如下图: 因为低9位数据最大值才0x1FF(511),而分母FSR值很大,得到对应的采样电压值最大才0.594882uV;
因此,对应我们这种应用场景,实际用上ENOB是否可以改善采样效果,有待评估。
七、 使用砝码进行理论重量和实测重量的对比测试记录
传感器输出电压和重量对应关系近似1uv/g,使用传感器输出电压反推实测重量; 使用6位半仪器采集传感器输出电压并统计和使用平均值进行计算: 所测数据如下所示: 不过以上的实测重量是在未校准称重传感器的情况下进行的,如果我们用空载和1000g砝码进行校准,然后计算,得到的结果如下所示:
八、 使用100g砝码进行ADC芯片不同增益配置的测试,对比标准差和平均值 使用100g重量的砝码进行了ADC芯片不同增益配置的采样电压数据测试,主要看下数据处理后的标准差和平均值情况,具体如下: 不同增益配置时的测试环境基本一致(板子上电后开始采样),每隔100ms取1次采集数据,取10次数据后去掉最小最大值,剩余8次取平均值作为一个有效点,即每隔1s打印一个有效点,总共输出了500多个有效点;
不同增益配置下500多个点求出的标准差和平均值数据如下表所示: 平均值电压数据如下图所示:
|