ADC采样原理另类解读
我们知道单片机是数字芯片,只认识由0和1组成的逻辑序列,但是我们现实当中有很多模拟的物理量,如温度,这些模拟量该如何被单片机系统处理呢,这就会用到AD转换,AD转换的英文就是Analog to Digital ,由模拟量转化为数字量;而DA,则为Digital to Analog,数字量转化为模拟量。那单片机是如何实现转化的呢?
AD转换芯片上的数据手册上都会告诉你一个信息,这个芯片是8位的,这个芯片是10位,还有12位的,16的。这就代表着单片机AD采样后所能得到的最大值。如何AD采样时8位的那对应的值就为0-255,10位对应的值为0-1023,12位对应的值就为0-4095。对于一个12位AD转换芯片而言,如果输入电压为0,那单片机读到的就是0,如果输入电压是VCC,那单片机读到的就是4095,已经知道了这两个点(0,0),(VCC,4095),根据两点就可以确定一个公式,这时候你就可以求出任意电压值所对应的数字量是多少了。
还有一个重要的概念就是参考电压,通常来讲,参考电压不能超过单片机的供电电压。为什么参考电压不能直接取单片机的供电电压呢,用外用表量一下单片机的供电电压就会发现,他不恒定为5V或者3.3V,有可能是4.95V,5.01V或者是3.29V,3.312V,在对AD采样结果精度要求不高的情况下,可以将VCC作为参考电压。但是对于高精度的仪表而言,就需要一个电压值非常稳定的参考,比如说基准电压芯片LM4040-3.3V,REF3025(输出为2.5V)。
有些多引脚的芯片如STM32的100引脚以上的单片机,有单独的参考电压引脚。而引脚少的单片机如LPC11C14只有48引脚,参考电压引脚不是单独的,可以直接把参考电压接在VCC上,也可以用单独的基准电压作为参考电压,但是要求基准电压喝VCC的压差不能超过0.3V,否则单片机就不能工作了。