模数转换模块 ADC 是连接现实世界模拟量和数字量之间的桥梁,它的转换精度经常可以决定一个产品的品质。现在单片机上一般都会集成 ADC,我们如何根据自己的应用选择恰当的产品呢?怎么实现高的性价比,让产品在激烈的市场竞争中立于不败之地呢?下面我们从常用的几种 ADC 类型的特点,到使用中的注意事项,逐一探讨一下。

 

ADC 类型

常用的 ADC 基本上可以分为三种类型: Flash 型,SAR 型,Sigma-Delta 型。下面我们来了解一下它们的工作原理与性能特点。单片机中最常采用的是 SAR 型,在一些高精度场合会用到 Sigma-Delta 型,而 Flash 型很少会集成在 MCU 内部,如果需要一般需要通过串行或并行总线外扩。

 

1.Flash 型

 

 

这种 ADC 使用电阻分压网络,输入的电压会同时与分压网络中的多个参考电压比较,比较器的输出通过编码器输出 2 进制的数字输出。这种 ADC 速度快,精度高,但缺点是随着输出位数的增加,它需要的分压电阻和比较器成指数增长,体积和成本随之迅速增加。

 

2.SAR 逐次逼近型

SAR(Successive Approximation Register)型 ADC 仍然使用电压比较的方法,它使用数字电路控制 DAC 输出一个变化的电压,并用此电压和输入电压比较,经过多次比较逐渐使 DAC 输出接近输入电压,从而得出数字输出。

 

 

举例如下:

 

假设 ADC 参考电压为 0-5V,输入为 3.2V。

 

压控寄存器最高位置为 1,其余位为 0,DAC 输出参考电压一半 2.5V,输入 3.2 > 2.5,比较器输出 1,压控寄存器最高位 1 保留。然后次高位置 1,DAC 输出 3.75V,此时 3.2V < 3.75V,比较器输出 0,压控寄存器次高位置 0。之后与 3.125V 比较得到 1,与 3.4375V 比较得到 0。这样如果是 8 位 ADC,最后就得到数字输出 10100011。SAR 型 ADC 以较低的成本实现较高的转换速度和分辨率,比较常用的可以达到 1MHz 的转换速度和 12-Bit 的分辨率,得到了比较广泛的应用。如果单片机手册没有特别注明,一般都是集成的这种类型的 ADC。

 

 

3.Sigma Delta 型

下图为一个简化的原理电路。左半部分为模拟调制电路,它的作用为根据输入电压的大小输出位宽为 1bit 的比特流。右半部分为数字滤波和裁决器,根据比特流输出数字转换结果。

 

 

工作过程如下:输入电压减去 DAC 输出后的差值经过积分器后和 0V 电压比较,如果大于等于 0V 输出 1,否则输出 0。以一定的频率控制比较器输出形成比特流,控制 DAC 输出电压,1 控制 DAC 输出+Vref 参考电压,0 控制 DAC 输出-Vref 参考电压。当 DAC 在比较器输出的比特流控制下高速切换时,类似于 PWM 在输出端产生一个平均电压。容易看出,全 1 的比特流对应的平均电压为+Vref,全 0 的比特流对应的电压为-Vref,如果 1 和 0 各占一半,那么对应的电压是 0V。

 

当平均电压 Vadc 小于输入 Vin 时,趋向于输出更多的 1 来增大 Vadc。当平均电压 Vadc 大于 Vin 时,趋向于输出 0 来减小 Vadc。这样一个合适的 1,0 比率的比特流会使 Vadc 最接近 Vin,达到平衡状态。后级的数字滤波和裁决器从 1,0 的比率就可以推断出输入电压 Vin 的大小。

 

Sigma Delta 型单片机可以达到很高的分辨率,但转换速度慢很多。比较典型的如 24-Bit,输出速率几十到几百 HZ。集成此类 ADC 的单片机一般用于计量,仪表等。如 TI 的 MSP430AFE253。

 

4.Pipeline 型

这种类型的 ADC,结合了 Flash 型和 SAR 型,先用分压电阻比较法,快速判断输入电压落入的范围,然后用逐次逼近法在此范围内取得精确的转换结果。此类型 ADC 很少在单片机中采用。