【雅特力开发板 AT32F421 测评】-TEST03 ADC测试
[复制链接]
本帖最后由 Gen_X 于 2021-4-30 21:04 编辑
条件:雅特力开发板 AT32F421
MCU时钟120Mz, ADC时钟10Mz(最大28MHz,还有很大余量)。
输入:ADC1第一个通道,即 ADC1_0 PA0,内部基准。
测试项目:单次单通道最快采样速度下ADC精度大概范围。
测试环境:雅特力开发板 AT32F421。
单次采样时间 :1.5 + 12.5 = 14 周期 = 1.4 us,采样频率10次/s ,
输出:USART1@256000 ,分别输出采样值和0.5深度的一阶惯性滤波值(便于观察离散度)
ADC 配置:
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_1_5);
采集及滤波:
usAdc = (double)(Get_ADC()) * ADC_VREF / 4096 ;
ADCtemp = (0.5*usAdc + 0.5*ADCtemp ) ; // 0.5 LAG
输出:
printf("%1.4f %1.4f \r\n", usAdc , ADCtemp);
bsp_LED_Toggle();
零点测试结果1: 可以看出第三位小数(mV)离散度不大于±5mV
1.4 V 电池测试结果1: 可以看出第三位小数(mV)离散度不大于±5mV
板子3.3V电源测试结果1: 可以看出第三位小数(mV)离散度不大于±5mV
对于12位ADC,在1.4 us采集速度下,能有这样的精度和稳定性,是非常难得的。
如果采样速度降低,或最高速度下加上简单滤波,可以简单做到±2mV的动态精度。
注:本次测试仅代表本开发板的测试结果,不代表所有芯片和其它开发板的性能。
以前用别的厂家做过ADC测试,小于ms级的采集速度,小数2位后基本发散,最大加过0.01的L
AG滤波系数,不加无法使用,这就是为什么要做这个测试的原因。
总之,测试结果满意。
|