模数转换器与嵌入式微处理器的接口技术
采样与保持
ADC转换直流信号的工作原理简单明了。但如果在转换期间输入信号的变化超过一个最低有效位(LSB),ADC将得到不正确(或至少是不精确)的结果。减小误差的一种方法是在ADC之前添加低通滤波器,并选择适当的参数以保证ADC的输入在一个转换周期中的变化不超过一个最低有效位。
处理变化的输入信号的另一种方法是在ADC之前添加采样-保持(S/H)电路,图3显示了采样-保持电路的工作原理。S/H电路具备带有控制输入的模拟(固态)开关,当开关闭合时,输入信号将连接至保持电容,而缓冲器的输出将跟踪输入。当开关开启时,输入信号将与保持电容断开。
图中还给出了S/H的工作波形,S/H输入连接一个缓慢上升的信号,当控制信号较低时(采样模式),输出将跟踪输入;随着控制信号的增强(保持模式),输出将与输入的保持电容断开,并保持在S/H切换至保持模式时的输入值。当电路再次闭合,电容迅速充电,输出再次跟踪输入。通常S/H在ADC转换开始前切换至保持模式,而当转换结束后切回至采样模式。
在理想条件下,保持电容不会发生漏电并且缓冲放大器具有无穷大的输入阻抗,因此输出将保持恒定。但在实际中,保持电容会漏电,而且缓冲放大器的输入阻抗是有限的,因而输出电平将随着电容放电产生缓慢的漂移。
S/H电路在保持模式下保持输出的性能取决于保持电容的质量、缓冲放大器(主要是输入阻抗)的特性和采样/保持开关(实际的电子开关在开路时总会有漏电)的质量。保持模式下输出呈现出的漂移量称为固定偏差率(droop rate),可用毫伏/秒、毫伏/微秒或微伏/微秒来表示。
实际中,S/H电路由于电子开关无法达到理想状况而具有有限的输入阻抗。这意味着在采样模式下,保持电容需要通过某些电阻进行充电,这限制了S/H可获取的输入速率。S/H在采样模式下为获得满刻度输入所必须保持的采样时间称为采集时间,单位是纳秒或微秒。
采样时一些电阻与保持电容相串联,这样的效果等同于低通RC滤波器。这无疑限制了S/H所能获取的最大频率,该频率称为满功率带宽,单位是千赫或兆赫。
如前所述,由于电子开关无法达到理想状况,某些输入信号将出现在输出中,即便在保持模式下也是如此,这种状况称为馈通,单位是分贝。
输出偏移表示输入信号与输出信号之间的差异,S/H电路数据表通常以毫伏的形式表示保持模式下的偏移和采样模式的偏移。
应用软件
使用S/H的ADC系统必须能处理硬件异常情况。在某些系统中,软件通过端口或寄存器输出位直接控制S/H的控制输入。S/H通常置为采样模式,而软件必须满足采集时间要求。在某些系统中,这项工作的完成仅仅只需将S/H置为采样模式,直到需要转换为止。
当S/H置为保持模式后,另一位(或写入地址,或进行其它操作)将启动ADC。转换完成后,软件将读取结果。然而,一旦异常中断(或出现最坏情况的中断堆栈)导致S/H的输出电路变化至少一个最低有效位,将会出现问题。这种情况一旦发生,软件必须在S/H切换至保持模式之前禁止中断,并在开始转换之前开放中断,这样就能保证ADC在发生S/H偏差之前完成转换工作。
软件还必须能调节S/H的充电时间。当电子开关闭合并与S/H电容的输入信号连通时,电容必须在有限的时间内充电,因为此时开关和任何驱动输入的电源都将具有非零阻抗。如果这些阻抗之和充分大,软件将需要增加延迟,以使得保持电容在转换之前,在终值的一个最低有效位变化以内有充分的时间进行充电。
内部微控制器ADC
许多微控制器均带有片上ADC。典型的器件包括Microchip的PIC167C7xx系列产品和Atmel的AT90S4434。大多数微控制器ADC采用逐次逼近法,因为这种方法能对转换速率和微控制器裸片空间成本进行最佳折衷。
PIC16C7xx微控制器包含一个带有模拟输入多路复用器的8位逐次逼近ADC。该系列微控制器具有4至8个通道,内部寄存器控制所选的通道并启动转换。输入一旦选定,在启动A/D转换之前,必须经过一段稳定时间使S/H电容充电。软件必须保证上述操作所需的延迟时间。
转换精确度
一些微控制器(如Microchip系列产品)允许使用一个输入引脚作为参考电压,该引脚通常与某种精密参考电源相连。转换后从A/D转换器上读取的值为:
(Vin/Vref)×256
某些微控制器使用电源电压作为参考。在5V系统下,这意味着Vref为5V。因此采用8位ADC测量3.2V信号将得到如下结果:
(Vin×256)/Vref =(3.2v×256)/5V =16310 =A316
然而得到的结果还取决于5V电源值。如果电源电压超过1%,即为5.05V,那么A/D转换的结果将为:
(3.2V×256)/5.05V=16210=A216
因此电源电压1%的变化将导致转换结果计数改变1。典型电源的电压变化范围为2%或3%, 因此电源电压的变化将对转换结果产生显著的影响。电源电压的输出常常受到电源间负载、温度、交流输入变化的影响。
这里提出了一个影响所有ADC设计的问题:参考电压的精确度。典型的ADC参考电压可为2.5V额定值,但可在2.47V和2.53V(这些数值来自数据表的实数部分)之间变化。如果采用10位的ADC,在上述给定的参考范围极限条件下,转换2V的输入将得到如下结果:当Vref=2.47V时, 转换结果=(2V×1,024)/2.47=82910;当Vref = 2.53V时,转换结果=(2V×1,024)/2.53=80910。
各部分之间参考电压的变化可导致输出发生20个计数的变化。图4显示了参考变化对ADC结果的影响。尽管误差的百分比在整个范围内维持不变,但ADC值越大,误差值显然也越大。
- 基于DSP的广播级数字音频延时器(06-07)
- 基于AD9268的短波接收全数字传输结构(07-25)
- DSP与数据转换器协同工作所必须考虑的10大因素(01-26)
- 基于ADC0809和51单片机的多路数据采集系统设计方案(10-29)
- 基于TLC320AC01与DSP的接口电路设计(01-15)
- 基于DSP和CPLD技术的多路ADC系统的设计方案(05-19)