了解单片机外设之ADC(模数转换器)的工作原理和应用
目录
ADC (Analog Analog Converter)
概念
ADC简介
ADC特性
工作模式
ADC单通道:
ADC多通道:
数模转换(ADC)原理
ADC (Analog Analog Converter)
A:模拟信号(Analog)
模拟信号是指用连续变化的物理量所表达的信息,如温度、湿度、压力、长度、电流、电压等等,我们通常又把模拟信号称为连续信号,它在一定的时间范围内可以有无限多个不同的取值。模拟信号传输过程中,先把信息信号转换成几乎“一模一样”的波动电信号(因此叫“模拟”)(传感器可以将非电学量转换成电学量)
D:数字(Analog)
0、1(二进制)
数字信号,是指自变量是离散的、因变量也是离散的信号,这种信号的自变量用整数表示,因变量用有限数字中的一个数字来表示。在计算机中,数字信号的大小常用有限位的二进制数表示。
C:转换器(Converter)
转换器(converter)是指将一种信号转换成另一种信号的装置。信号是信息存在的形式或载体。在自动化仪表设备和自动控制系统中,常将一种信号转换成另一种与标准量或参考量比较后的信号,以便将两类仪表联接起来,因此,转换器常常是两个仪表(或装置)间的中间环节。
最直观的体现,模拟信号是连续变化的曲线,而数字量是不连续的一个个离散的点。
概念
ADC,全称模数转换器(Analog-to-Digital Converter),模拟数字转换器即A/D转换器,ADC的作用就是将连续变化的模拟信号转换为离散的数字信号。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。
ADC简介
12位ADC是一个逐次逼近型模数转换器。
它有多达19个多路通道,允许它测量来自16个外部源和3个内部源(温度传感、内部参考电压、外部电池)的信号。
各种通道的A/D转换可以在单次、连续、扫描或间断的模式下进行。
ADC的结果被存储在一个向左对齐或向右对齐的16位数据寄存器中。
看上图:模拟信号来到比较器,逐次逼近寄存器将最高位置一,经过DAC转换成模拟信号,与过来的信号进行比较,大于等于接收到的模拟信号则置1,小于则置0,依次往低位比较,直到比到最低位。
ADC特性
量程:能测量电压的范围0~3.6V(单片机供电范围1.8 到3.6)
分辨率:ADC的分辨率通常以输出二进制数的位数表示,位数越多,分辨率越高,一般来说分辨率越高,转化时间越长。
可配置的转换精度:6位,8位,10位,12位。
转化时间:模拟输入电压在允许的最大变化范围内,从转换开始到获得稳定的数字量输出所需要的时间称为转换时间
工作模式
单次、连续、扫描或间断的模式
EOC:通道转换结束信号
EOS:序列转换结束信号
1、单次转换模式:ADC只执行一次转换;(CHx:通道 )
2、 连续转换模式:转换结束之后马上开始新的转换(没有停止);
3、 扫描模式:ADC扫描选中的所有通道,在每个组的每个通道上执行单次转换。在每个转换结束时,这一组的下一个通道被自动转换。如果设置了CONT位(开启了连续转换模式),转换不会在选择组的最后一个通道上停止,而是再次从选择组的第一个通道继续转换。
4、 间断模式:触发一次,转换一个通道,再触发,再转换。在所选转换通道循环,由触发信号启动新一轮的转换,直到转换完成为止。
ADC单通道:
单次转换:只进行一次ADC转换:配置为“单次转换模式”,扫描模式关闭。ADC通道转换一次后,就停止转换。等待再次使能后才会重新转换
连续转换:进行连续ADC转换:配置为“连续转换模式”,扫描模式关闭。ADC通道转换一次后,接着进行下一次转换,不断连续。(没有STOP)
ADC多通道:
单次转换: 只进行一次ADC转换:配置为“单次转换模式”,扫描模式使能。ADC的多个通道,按照配置的顺序依次转换一次后,就停止转换。等待再次使能后才会重新转换。
连续转换:进行连续ADC转换:配置为“连续转换模式”,扫描模式使能。ADC的多个通道,按照配置的顺序依次转换一次后,接着进行下一次转换,不断连续。
ADC全称是Analog-to-Digital Converter模数转换器,一般我们把模拟信号(Analog signal) 用A来进行简写,数字信号(digital signal) 用D来表示。
数模转换(ADC)原理
自然界绝大部分都是模拟信号,例如压力或温度的测量,为了方便储存,处理和传输,我们会通过ADC把模拟信号转化成数字形式给计算机处理。将模拟转换成数字的形式有两个步骤:采样和量化。
采样是指将模拟波形在时间域上进行切分,每个切片大小大致等于原来波形的值,这一过程往往会丢失一些信息。然而,数字系统的优点(去噪、数字储存以及处理)远远大于丢失信息的不足。在采样完成后,给每个时间片分配一个数字,这样的一个过程称为量化,量化生成的数字可以交由计算机进行处理。下图解释了采样和量化的过程:
作为硬件工程师,日常用到ADC的需求其实很多,例如制作一个数字电源,单片机需要采样电流电压值来作为反馈,进行PID控制。大部分的嵌入式MCU都集成了ADC,位数有12位,16位不等。但是对于一些对于采样精度还有速度要求比较高的场合,需要用到外置的高速ADC,其实他们大多本质上原理都是一样的。
作者:花田里的泪光