1. 引言
对测控现场的被测模拟信号的处理一般常用A/D或V/F转换技术,两种方法各有特点:A/D转换技术一般用于被测信号速率较高,但干扰不是太严重的场合,而V/F转换技术由于具有较强的抗干扰性且便于实现信号的远传和隔离,因此往往用于现场的干扰较为严重、且信号传输距离较远的场合。但由于V/F变换的采样速率较低,在对分辨率、采样速率和抗干扰性要求都较高时,则采用V/F转换技术往往也难以满足采样要求。尽管A/D转换的采样速率较高,但由于其抗干扰性较差,从而使系统的可靠性、稳定性和测试精度都会受到影响,有时甚至无法正常工作。
本文提出一种采用PWM技术的新型的高性能模数转换器的设计方法,利用MCU内部的定时器,结合改进的逐次逼近的对分试探算法,只须采用普通元器件即可设计出具有高分辨率的A/D转换器,以实现对模拟电压的测量,通过实验证明该设计能够达到较高的精度和分辨率,电路简单、可靠、成本低、传输信号线少,便于远传或隔离,抗干扰能力强,具有较好的应用价值。
2. 基于PWM技术的A/D转换工作原理及接口电路设计
一般模数转换包括采样、保持、量化和编码四个过程。采样就是将一个连续变化的信号x (t) 转换成时间上离散的采样信号x (n) 。通常采样脉冲的宽度tw 是很短的,故采样输出是断续的窄脉冲。要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,量化的主要问题就是量化误差。编码是将量化后的信号编码成二进制代码输出。这些过程有些是合并进行的。例如,采样和保持就利用一个电路连接完成,量化和编码也是在转换过程同时实现的,且所用时间又是保持时间的一部分[1]。
PWM即脉冲宽度调制,PWM信号是一种周期(T)固定、占空比变化的数字信号。当对其进行积分或低通滤波后,便可获得与其脉冲宽度呈正比的模拟电压,于是将该电压作为试探值与被测模拟量进行比较便可获得与被测模拟量相对应的PWM值或数字量。本设计是利用定时器产生PWM脉冲输出信号,利用比较器作为试探结果状态标志,采用改进的逐次逼近试探算法来实现对被测模拟量的A/D变换。由于一般单片机内部都有定时器,因此可直接利用片内定时器来产生PWM信号即可[2],本设计采用的是MSP430单片机,由于其内部的定时器A具有比较/捕获功能,且内部具有多个捕获/比较器:CCR0--CCRn,因此利用这种功能可更方便的产生PWM信号,从而实现A/D转换。PWM波形的产生是利用定时器A输出模式中的“复位/置位”模式。例如可利用其中的捕获/比较器CCR0来控制PWM的周期,而用CCR1通道控制PWM的占空比,从而可方便的获得PWM信号,如图1所示“复位/置位”模式输出示意图。
由图1可知,只要改变CCR1和CCR0的值就可以改变输出波形的脉冲宽度和脉冲周期,例如,以CCR0信号作为脉冲周期控制,当CCR1的值改变时即可改变PWM信号的脉冲宽度或占空比,输出信号就是PWM信号。如图2所示[3]。
若PWM信号的占空比随时间变化,那么经过低通滤波后的输出信号将是幅度变化的模拟信号,因此通过控制PWM信号的占空比,就可以产生不同的模拟信号。本设计中,采用MSP430单片机的定时器A的CCR0来控制周期,采用CCR1来控制占空比,从而产生所需要的PWM信号。
采用PWM技术的A/D转换电路设计如图3、4所示。A/D转换通过MSP430单片机的内部定时器A产生的PWM信号,通过P23口输出,经过两级RC低通滤波后得到与其对应的模拟信号,然后通过运算放大器构成的电压跟随器进行阻抗变换后,作为试探值送电压比较器LM393的一端,在比较器的另一端接入被测模拟量,两信号在比较器中进行比较,通过检测比较器的输出电平状态即可反映出试探值的大小,由比较器的输出状态调整PWM信号的占空比,产生下一次PWM信号的输出,于是通过不断的试探并修正PWM信号的占空比即可使试探值接近或等于被测量,则此时的脉冲值即为被测量的A/D转换值,可以达到16位的转换精度。另外,由原理图4可知,由于整个电路比较简单且该转换器与系统的连接只有两条信号线:即PWM信号输入线和用于将试探值与被测模拟量进行比较的比较器信号输出线,因此在进行抗干扰隔离时将很容易实现,而在采用普通A/D转换器的电路中进行抗干扰隔离时则要麻烦的多。
3. 微控制器MCU的选型
为方便使用和操作,本设计不但设计简单,而且功耗要低,因此经多方面综合、对比决定采用TI公司的具有SOC特点的MSP430系列MCU,这是一种超低功耗的16位混合信号控制器,其内部集成了大量的外围模块和温度传感器,特别适用于电池供电的手持式设备或需要对环境温度进行补偿的测试仪器。
MSP430单片机采用最新的低功耗技术,工作在1.8~3.6V 电压下,有正常工作模式( A M ) 和4 种低功耗工作模式;在最小功耗模式下其工作电流仅为0.1μA,而且可以方便地在各种工作模式之间切换。它的超低功耗性在实际应用中, 尤其是在电池供电的便携式设备中表现尤为突出。在系统初始化后便进入待机模式,当有允许的中断请求时,CPU 将在6μs的时间内被唤醒, 进入活动模式,执行中断服务程序。执行完毕,在RETI 指令之后,系统返回到中断前的状态,继续低功耗模式。
本设计所采用的是MSP430F1232微控制器,具有非常高的集成度,除内部带有具有PWM功能的定时器外,片内还集成了10通道的1 0位A / D转换、温度传感器、USART、看门狗定时器、片内数控振荡器DCO、大量的具有中断功能的I/O 端口、大容量的片内Flash 和RAM 以及信息Flash 存储器[4]。其中的16位定时器A中带有3个捕获/比较通道,内部的Flash 存储器可以实现掉电保护和软件升级。由此采用MSP430单片机作为该设计的处理器,不但可简化系统电路设计、缩短开发周期,降低系统功耗,还可利用其内部集成的温度传感器,方便的对被测模拟量进行温度补偿,从而使系统的测试精度得以提高。