基于PWM技术的A/D转换电路的设计
温度传感器,特别适用于电池供电的手持式设备或需要对环境温度进行补偿的测试仪器。
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单片机作为该设计的处理器,不但可简化系统电路设计、缩短开发周期,降低系统功耗,还可利用其内部集成的温度传感器,方便的对被测模拟量进行温度补偿,从而使系统的测试精度得以提高。
4. A/D 转换分辨率分析及主程序设计
由于采用PWM技术的A/D转换器的分辨率取决于控制PWM脉冲占空比的定时器的计数值位数或字长,因此可通过改变定时器计数位数来改变A/D转换的分辨率,而MSP430单片机的内部定时器A中的计数器字长为16位,因此其PWM信号占空比的调整范围为0~216-1,于是当系统定时器的计数器字长为16位时,采用PWM技术的A/D转换器的最大分辨率可达16位。由于单片机内部的16位定时器采用晶振作为内部计数器的工作时钟,因此其定时精度一般都较高,且其计数值与PWM脉冲占空比成严格的线性关系,输入脉冲精确,因此A/D转换的线性度和精度较好,线性度误差小于1%。转换速率与分辨率和选取的PWM信号的周期有关,分辨率越高,转换时间越长,但同采用V/F方式相比较,转换速度要快的多。
为了能够缩短试探时间提高在高分辨率下的采样速度,采用改进的逐次逼近的对分试探法使得试探值能够迅速逼近被测模拟量。常规的对分试探法是每次试探开始时,首先将最大计数值的一半(即字长对分值)作为试探初值并将其转换成PWM信号输出,相当于输出1:1占空比的PWM脉冲信号,然后测试比较器的状态,以确定当前试探值的大小,若试探值小于被测模拟量,则保留当前试探值,否则去掉,然后再将剩余值的一半(即:剩余对分值)作为新的增量与上次保留值相加后产生新的试探值并将其转换成PWM脉冲信号输出,再测试比较器的状态,若大于被测模拟量,则去掉当前增量,否则保留,随后每次的输出都将剩余对分值作为增量进行试探,一直持续的试探下去,直到试探完与分辨率相当的次数,例如:实现具有16位分辨率的A/D转换就要试探16次由于该方法在采样时无论当前采样值试探值多么接近被测值,其每次采样的试探次数都相同,为减小试探次数提高采样速率,在本设计中采用了一种改进的逐次逼近试探算法,可大大减少试探次数,其具体实现的方法是:当第一次试探完并获得采样值后,保留当前采样值,不再以剩余对分值作为新的增量,而是以最小值作为初次增量(即:将最低位置1,可将其看作权值),与上次保留值相加并转换成PWM信号输出,通过测试比较器输出确定当前增量值是否需要保留,若试探值小于被测模拟量,则保留当前试探值,否则去掉。若需要增大试探值时,则可将权值左移一位再与上次试探值相加,以形成新的试探值,这样可以使逐次逼近试探值总处在跟踪试探状态,从而大大减少了试探次数。由于在实际测试过程中被测模拟量一般很少有突变情况发生,大都处在缓变增加或缓变减小状态,因此采用这种改进的逐次逼近的试探算法,将会有效的提高A/D转换器的采样速率。
采用PWM技术的A/D转换器的主程序,采用汇编语言编写。其主程序流程图如图5所示:
5. 结束语
采用普通元器件利用MCU内部定时器结合PWM技术设计高分辨率的A/D转换器,改变A/D转换的分辨率只须修改PWM定时器的有关参数即可,灵活方便,稳定性好,线性度高,由于该转换器与系统的连接仅为两条信号线,因此,可以很方便的采用光电隔离技术提高系统的抗干扰能力,另外由于电路中的低通滤波环节,使得电路本身也具有一定的抗干扰能力,这比较适合在具有较强的干扰环境中使用,采用改进的逐次逼近试探算法实现对模拟电压的测量或
- 电源设计小贴士 2:驾驭噪声电源(01-01)
- 适合高效能模拟应用的线性电压稳压器(07-19)
- DC-DC变换器中一种高性能振荡电路的设计(04-08)
- 弥补模拟控制器缺点的数字控制器(08-04)
- 欠压/过压锁定(08-25)
- 多重转换:冗余电源系统电流限制的一种新方法(12-24)