Category: Software
Product Number: max32675
adc转化的数据精度不够,只达到了小数点第四位,怎么达到小数点第七位呢?
adc转化的数据精度不够,只达到了小数点第四位,怎么达到小数点第七位呢?
__CommunityServer__Service__ - Moved from Precision Microcontrollers to Other Products. Post date updated from Friday, May 17, 2024 5:53 AM UTC to Friday, May 17, 2024 5:53 AM UTC to reflect the move.
Jackie Wang - Moved from Other Products to 通用SOC/MCU. Post date updated from Friday, May 17, 2024 5:53 AM UTC to Monday, May 20, 2024 2:41 AM UTC to reflect the move.
您能否再详细描述您遇到的问题,是读取ADC转换后的digital code,再转换成电压计算的时候printf的数据小数点位数不够吗?
是的,还有digital code转换为电压值会有0.004v的偏差,具体的转化公式是什么呢
我不太清楚你的程序具体是怎么写的。举个例子如果是单极性输入的话,假如说ADC的full scale是2.5V,LSB=2.5/(2^24-1)=0.000000149V,
actual voltage = 0.000000149f * digital code
根据官方例程的配置,它的转化公式是VREF/(2^23 – 1),full scale是5V,采集10mv的电压,根据这个公式算出来还是有0.004v左右的偏差,这个偏差怎么解决呢
首先,您需要明确您的ADC是配置在bipolar mode还是unipolar mode。
如果是bipolar mode, VREF=2.5V, 那么full scale为5V,Positive 1LSB就是VREF/(2^23-1)
如果是unipolar mode,VREF=2.5V,那么full scale为2.5V,1LSB就是VREF/(2^24-1)
详细请参考MAX32675的user guide, Page 232,Table 16-8 www.analog.com/.../max32675-user-guide.pdf
双极呀,我就是按照232页来写的公式呀,可结果为啥有偏差呢
请问您是怎么得出来这个偏差的呢?是通过仪器标定得出来的吗?
ADC本身也会存在一定的offset和gain error,所以也可以通过芯片自身的calibration功能去把这个误差校掉