本帖最后由 名字不好起 于 2015-2-21 13:43 编辑 STM32F103系列单片机具有12位的ADC转换器,单个ADC转换速度最快可达到1M,具有很高的实用价值。 然后最让人纠结的是,系列中小于100脚的单片机中ADC的REF+是接到内部的AVDD上的,外部不再引出REF管脚。 如此就会让习惯使用外部参考基准的网友感觉很尴尬,针对此种情况,曾经在STM32研讨会上有人就提了这个问题,问为什么不留意个REF 回答是--IO脚资源紧张,那么多的GPIO,留出一个给VREF多好,ADC再好,没有VREF 就是显得鸡肋。没有办法,好多人就想出了一些解决办法。楼主在 开发的过程中就总结到了一些方案,现将其分享出来。 首先,如果对ADC的转换精度要求不是很高的话,可以才有官方的方案,REF=AVDD,使用一个比较稳定的电源,同时要在程序中加入一些的滤波算法处 理。 其次,如果对ADC的精度要求高的话,也有俩种做法第一:使用内部的17通道,即参照电压通道(注意是参照电压不是参考电压,楼主在一开始的时候就弄糊涂了),ADC同时采集模拟数据和17通道的数据,这就要求采集这两个通道的数据尽量的短。采集ADC数完毕之后就通过内部的数据转化修正当前采集通道对应的实际ADC值。这个做法比较费脑子,费CPU。第二:就是喜欢用外部基准芯片的人喜欢的方案了,和第一种方案中的采集17通道不同的是,这个方案是采集当前接到外部基准芯片的通道,并通过类似于方案一的做法加以处理。 目前楼主,只尝试过这几种做法,就当在这里抛砖引玉了,说实话,以上做法都不是我喜欢的,大家如果有好的方案不妨提出来,分享一下,大家一同讨论下,好一起进步。
64脚和小于64脚的STM32进行AD时注意,参照电源处理方法(2013-05-23 12:11:45)
请注意,ADC_IN17上没有内部基准,将其说成基准电压概念不对。
所以横线以下的理解不对,如果将其做为参考,则其电压假定按1.2V计算,实际测量的数字量是1271~1275,按此推算:
1.2/1275=VDD/4095, 所以VDD=3.85V,很明显供电压换算出来的值与实际3.3V不符,所以不有用其做为参考。
实际上,可以通用ADC_IN1采集某参考源的电压,其它通道按此进行比例换算。
---------------------------------------------------------------- ADC_IN17是内部参照电压,不是基准电压;它仅仅相当于一个标准电压参照。
|
STM32 小于100引脚封装的 AD参考电压问题
最新推荐文章于 2024-06-22 18:23:53 发布