ad

stm32f0的参考电压与基准电压的理解

stm32f0内部有基准电压,范围在1.18~1.24之间,并且芯片出厂前已经加了标准的3.3V,并且把基准电压读到的AD值放入0x1FFFF7BA地址。

在AD采样的应用中,参考电压至关重要,如果参考电压差异较大,在相同的两个板子上参考电压都不一致的话,读到的AD值就没有一致性,批量产品的误差不可控,所以一般情况下,都需要一个准确的参考电压给AD采样使用。

stm32f0芯片的低成本版本中,参考电压直接和VCC在内部连在一起,就是说常规的3.3V就直接作为ADC的参考电压使用。一般的通用3.3V电源芯片(基准专用芯片就很准了)输出的3.3V都有1-5%的误差范围,两个相同的芯片,之间的差就很明显了,作为ADC参考电压,用同样的软件测到的值就不同了。

stm32f0可以利用片内基准可以在使用通用3.3V芯片时达到不错的精度效果。片内的基准电压很稳定,不受外界的影响而改变读数,只是两个相同芯片的基准电压不一致而已,但是在出厂时已经以标准的3.3V为满量程参考,然后读到片内基准的AD值,以只读形式保存在0x1FFFF7BA地址。那么我们就可以每次在未知片外满量程参考的前提下,读取ad_ch17的值,该值就是在外部满量程参考电压下的基准电压AD读数,那么就得到如下公式:

ad_ch17 / 出产标定在0x1FFFF7BA的只读值 = 3.3V / 片外参考值

片外参考值就是片外电压,结果就是:3.3V * 出产标定在0x1FFFF7BA的只读值 / ad_ch17

有了片外参考的准确电压值,其他通道的ADC电压值也就很准确地测量出来了。

虽然在计算上饶了好几个大圈,但是这样做减低了硬件成本,屏弃所有专业的芯片,使用低成本的stm32f0配合通用电源芯片就可以达到专业级的效果,这样确实是stm32f0芯片的设计师的良苦用心。

已邀请:

admin

赞同来自:

赞一个

魚在天上飛

赞同来自:

就是这么用的

要回复问题请先登录注册