Simplue 发表于 2014-1-26 12:20
谢谢您,看了您下面的几个回复发现您的建议和评价都挺客观的,我想问下防止ADC飘有哪些比较常用的设计方 ...
其实STC的ADC本身漂得并不大,供电电压稳定,前后两次ADC时,MCU的IO没有大的电流变化,则ADC一般会比较稳定,我一般监测到+-2LSB左右。
凡是没有单独的模拟电源或使用电源做基准,都存在这个问题。比如,STM32F103R8T6这样的,虽然有单独的模拟电源,但是使用模拟电源做基准,则ADC漂的也厉害,我曾经被这个问题折腾很久(尽管我用了非常低噪声的模拟电源),而很多朋友都碰到。
假设内部的ADC本身很稳定,做如下分析,不针对某个MCU,而是这一类的。
1、因为使用电源做基准,如果电源有波动,则前后两次ADC时就等效于基准波动,所以ADC值波动。
2、则前后两次ADC时,MCU的VDD或GND的电流波动大,则内部线路有压降(特别是象STC这种没有模拟电源接入的MCU),造成波动的压降叠加到输入信号上造成波动。最经典的就是IO直接驱动LED数码管,这种情况,我一般在做ADC前关闭LED显示一会再转换,能改善。
在要求精度高的地方,我一般外挂ADC。我不认为几元或十几元的MCU自带的ADC或DAC性能可以跟外挂的比,否则,外挂的一片ADC或DAC都比MCU贵,就卖不掉了,实际情况却不是这样。 |