基于PWM技术的模数转换器的设计方法

 时间:2024-10-12 14:26:45

1、基于PWM技术的A/D转换工作原理及接口电路设计 一般模数转换包括采样、保持、量化和编码四个过程。采样就是将一个连续变化的信号x (t) 转换成时间上离散的采样信号x (n) 。通常采样脉冲的宽度tw 是很短的,故采样输出是断续的窄脉冲。要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,量化的主要问题就是量化误差。编码是将量化后的信号编码成二进制代码输出。这些过程有些是合并进行的。例如,采样和保持就利用一个电路连接完成,量化和编码也是在转换过程同时实现的,且所用时间又是保持时间的一部分。 PWM即脉冲宽度调制,PWM信号是一种周期(T)固定、占空比变化的数字信号。当对其进行积分或低通滤波后,便可获得与其脉冲宽度呈正比的模拟电压,于是将该电压作为试探值与被测模拟量进行比较便可获得与被测模拟量相对应的PWM值或数字量。本设计是利用定时器产生PWM脉冲输出信号,利用比较器作为试探结果状态标志,采用改进的逐次逼近试探算法来实现对被测模拟量的A/D变换。由于一般单片机内部都有定时器,因此可直接利用片内定时器来产生PWM信号即可[2],本设计采用的是MSP430单片机,由于其内部的定时器A具有比较/捕获功能,且内部具有多个捕获/比较器:CCR0--CCRn,因此利用这种功能可更方便的产生PWM信号,从而实现A/D转换。PWM波形的产生是利用定时器A输出模式中的“复位/置位”模式。例如可利用其中的捕获/比较器CCR0来控制PWM的周期,而用CCR1通道控制PWM的占空比,从而可方便的获得PWM信号,如图1所示“复位/置位”模式输出示意图。 由图可知,只要改变CCR1和CCR0的值就可以改变输出波形的脉冲宽度和脉冲周期,例如,以CCR0信号作为脉冲周期控制,当CCR1的值改变时即可改变PWM信号的脉冲宽度或占空比,输出信号就是PWM信号。如图所示。

基于PWM技术的模数转换器的设计方法
基于PWM技术的模数转换器的设计方法

2、微控制器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 存储器。其中的16位定时器A中带有3个捕获/比较通道,内部的Flash 存储器可以实现掉电保护和软件升级。由此采用MSP430单片机作为该设计的处理器,不但可简化系统电路设计、缩短开发周期,降低系统功耗,还可利用其内部集成的温度传感器,方便的对被测模拟量进行温度补偿,从而使系统的测试精度得以提高。

基于PWM技术的模数转换器的设计方法
基于PWM技术的模数转换器的设计方法

3、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转换器的主程序,采用汇编语言编写。其主程序流程图如图所示:

基于PWM技术的模数转换器的设计方法
  • Intel编译器中Fortran发生堆栈溢出的处理方法
  • Android Studio如何显示框架检测
  • 教练车怎么开暖风
  • emf文件怎么打开_emf文件是什么?
  • 粉笔职教软件中怎么开启个性化课程推荐功能
  • 热门搜索
    三八妇女节手抄报内容 读书日手抄报 重阳节手抄报内容大全 元旦手抄报图片大全 创建文明城市手抄报内容 抗击疫情手抄报简单 防控疫情的手抄报 母亲节手抄报简单好画 尊老敬老的手抄报 新学期新气象手抄报图片