Gen_X 发表于 2021-4-30 13:54

【雅特力开发板 AT32F421 测评】-TEST03 ADC测试

本帖最后由 Gen_X 于 2021-4-30 21:04 编辑

<p>条件:雅特力开发板 AT32F421</p>

<p>MCU时钟120Mz, ADC时钟10Mz(最大28MHz,还有很大余量)。</p>

<p>输入:ADC1第一个通道,即&nbsp; ADC1_0&nbsp; &nbsp; PA0,内部基准。</p>

<p>测试项目:单次单通道最快采样速度下ADC精度大概范围。</p>

<p>测试环境:雅特力开发板 AT32F421。</p>

<p>单次采样时间 :1.5 + 12.5 = 14 周期 = 1.4 us,采样频率10次/s ,</p>

<p>输出:USART1@256000 ,分别输出采样值和0.5深度的一阶惯性滤波值(便于观察离散度)</p>

<p>ADC 配置:</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_1_5);</p>

<p>采集及滤波:</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;usAdc = (double)(Get_ADC()) * ADC_VREF / 4096 ;</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ADCtemp = (0.5*usAdc + 0.5*ADCtemp ) ;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; 0.5 LAG</p>

<p>输出:</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;printf(&quot;%1.4f %1.4f \r\n&quot;, usAdc , ADCtemp);&nbsp; &nbsp;&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bsp_LED_Toggle();</p>

<p>零点测试结果1: 可以看出第三位小数(mV)离散度不大于&plusmn;5mV</p>

<p></p>

<p>1.4 V 电池测试结果1: 可以看出第三位小数(mV)离散度不大于&plusmn;5mV</p>

<p></p>

<p>板子3.3V电源测试结果1: 可以看出第三位小数(mV)离散度不大于&plusmn;5mV</p>

<p></p>

<p>对于12位ADC,在1.4 us采集速度下,能有这样的精度和稳定性,是非常难得的。</p>

<p>如果采样速度降低,或最高速度下加上简单滤波,可以简单做到&plusmn;2mV的动态精度。</p>

<p>注:本次测试仅代表本开发板的测试结果,不代表所有芯片和其它开发板的性能。</p>

<p>&nbsp;</p>

<p>以前用别的厂家做过ADC测试,小于ms级的采集速度,小数2位后基本发散,最大加过0.01的L</p>

<p>AG滤波系数,不加无法使用,这就是为什么要做这个测试的原因。</p>

<p>总之,测试结果满意。</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

soso 发表于 2021-4-30 16:17

<p>恭喜喜提一满意芯片 哈哈,期待后续评测</p>

Gen_X 发表于 2021-5-1 11:18

本帖最后由 Gen_X 于 2021-5-2 15:15 编辑

<p>祝大家劳动节快乐!</p>

<p>今天&mdash;&mdash;劳动节,无意中查看了AT32F421的ADC最高采集时钟,前面为了让测试顺利,我取了10M采集时钟。</p>

<p>根据时钟定义,我提高到了20M,离最大28还有距离,但下一档就超过了,所以,只能做20M试验了。</p>

<p>结果出乎预料:零点和3.3v测试竟然在mv级没有误差,误差在小数点后第4位,这完全超出了我的认知。</p>

<p>总结:不一定ADC采集时钟越慢精度越高!</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp;期望大家注意,最高采用和MCU较为规整的整数采集频率,例如MCU为120M,则采集时钟取8和12的整数倍,</p>

<p>例如 :3、4、6、8、12、20等,并测试采用误差最小且最稳定的一个时钟。</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp;仅代表个人、本次测试结果!&nbsp; &nbsp;</p>

kehui 发表于 2024-4-11 23:45

谢谢分享
页: [1]
查看完整版本: 【雅特力开发板 AT32F421 测评】-TEST03 ADC测试