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

最新更新时间:2012-02-11来源: 互联网关键字:PWM  模数转换器 手机看文章 扫描二维码
随时随地手机看文章

1. 引言

  本文提出一种采用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]。

  

以CCR0信号作为脉冲周期控制

 

  若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转换器的电路中进行抗干扰隔离时则要麻烦的多。

  

采用PWM技术的A/D转换电路设计

 

  

采用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单片机作为该设计的处理器,不但可简化系统电路设计、缩短开发周期,降低系统功耗,还可利用其内部集成的温度传感器,方便的对被测模拟量进行温度补偿,从而使系统的测试精度得以提高。

  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定时器的有关参数即可,灵活方便,稳定性好,线性度高,由于该转换器与系统的连接仅为两条信号线,因此,可以很方便的采用光电隔离技术提高系统的抗干扰能力,另外由于电路中的低通滤波环节,使得电路本身也具有一定的抗干扰能力,这比较适合在具有较强的干扰环境中使用,采用改进的逐次逼近试探算法实现对模拟电压的测量或A/D变换,提高了采样速率,转换电路设计及算法实现简单,测试分辨率和精度较高,具有较好的应用价值。

关键字:PWM  模数转换器 编辑:神话 引用地址:基于PWM技术的模数转换器设计方法

上一篇:复杂模块接口的独立设计
下一篇:高速数字隔离型串行ADC及应用

推荐阅读最新更新时间:2023-10-12 20:34

最新ADC采用连续时间Sigma-Delta 技术
  美国国家半导体推出业界一款采用连续时间 sigma-delta(1) (CTSD) 技术的高速模拟/数字转换器。这款8通道、12位、50MSPS 的 ADC12EU050模拟/数字转换器属于美国国家半导体PowerWise高能效芯片系列产品。该产品的无混叠信号采样带宽为25MHz,功耗比采用流水线架构的同类竞争产品低一半(350mW)。   15年来,CTSD技术一直是高校与业内的热门研究课题。ADC12EU050芯片首次采用CTSD技术。美国国家半导体还计划推出更多采用CTSD技术的模拟/数字转换器产品。连续时间架构的优点在于不但可以添加信号调节等信号路径功能,而且可为模拟/数字转换器增添滤除混叠信号的滤波功能,大幅精简系
[模拟电子]
最新<font color='red'>ADC</font>采用连续时间Sigma-Delta 技术
3. avr定时器/计数器0 --TC0 --相位修正PWM模式
相位修正PWM 模式(WGM01:0 = 1) 为用户提供了一个获得高精度相位修正PWM 波形的方法。此模式基于双斜坡操作。计时器重复地从BOTTOM 计到MAX,然后又从MAX倒退回到BOTTOM。在一般的比较输出模式下,当计时器往MAX计数时若发生了TCNT0与OCR0的匹配,OC0将清零为低电平;而在计时器往BOTTOM计数时若发生了TCNT0与OCR0 的匹配, OC0 将置位为高电平。工作于反向输出比较时则正好相反。与单斜坡操作相比,双斜坡操作可获得的最大频率要小。但由于其对称的特性,十分适合于电机控制。相位修正PWM 模式的PWM 精度固定为8 比特。计时器不断地累加直到MAX,然后开始减计数。在一个定时器时钟周期里
[单片机]
S3C2440之ADC分析
一、硬件原理分析 我们从结构图和数据手册可以知道,该ADC模块总共有8个通道可以进行模拟信号的输入,分别是AIN0、AIN1、AIN2、AIN3、YM、YP、XM、XP。那么ADC是怎么实现模拟信号到数字信号的转换呢?首先模拟信号从任一通道输入,然后设定寄存器中预分频器的值来确定AD转换器频率,最后ADC将模拟信号转换为数字信号保存到ADC数据寄存器0中(ADCDAT0),然后ADCDAT0中的数据可以通过中断或查询的方式来访问。对于ADC的各寄存器的操作和注意事项请参阅数据手册。 开发板通过一个10K的电位器(可变电阻)来产生电压模拟信号,然后通过第一个通道(即:AIN0)将模拟信号输入ADC。左图中的Aref表示AD的参
[单片机]
由开关电源驱动的高速ADC设计
  系统设计人员正面临越来越多的挑战,他们必须在不降低系统元件(如高速资料转换器)性能的情况下让设计最大程度地实现节能。设计人员们可能转而採用许多以电池供电的应用(如某种手持终端、软体无线设备或可携式超音波扫描器),也可能缩小产品的外形尺寸,因而必须寻求减少发热的诸多方法。   极大降低系统功耗的一种方法是对高速资料转换器的电源进行最佳化。资料转换器设计和製程技术的一些最新进展,让许多新型ADC可直接由开关电源来驱动,因而达到最大化功效的目的。   系统设计人员们习惯在交换式稳压器和ADC之间使用一些低杂讯、低压降稳压器(LDO),以清除输出杂讯和开关频率突波(请参见图1)。但是,这种乾净的电源设计代价是高功耗,因为LDO
[电源管理]
由开关电源驱动的高速<font color='red'>ADC</font>设计
LPC210X的PWM输出DAC程序
程序在LPC210X单片机上面实现: void main() { U8 i; PINSEL0=0x00000000; PINSEL1=(0x02 8); PLL_Init(); T1TC=0; //Timer counter=0; T1PR=0; //prescale=0; T1PR =9; //9+1个Fpclk,TC增加一次 T1MCR=(1 1); //当MR0和TC相等时,TC复位 T1MR0=Fpclk/1000; //PWM的时钟频率为APB时钟频率的1/1000 T1MR3=T1MR0/10; //占空比为90% PWM1CON=(1
[单片机]
高速模数转换器输入阻抗测量
在通信领域,随着中频(IF)频率越来越高,了解输入阻抗如何随频率而变化变得日益重要。本文解释了为什么ADC输入阻抗随频率而变化,以及为什么这是个电路设计难题;然后比较了确定输入阻抗的两种方法:利用网络分析仪测量法和利用数学分析方法计算法。本文还介绍了正确使用网络分析仪的过程,并且提供了一个数学模型,其计算结果与实际测量结果非常接近。 利用高速ADC进行设计时,常常要考虑这样的问题: ADC的模拟输入阻抗与频率有何关系? 数据手册只给出对应一个频点的阻抗。如果要处理100 MHz以上的IF,那输入阻抗是多少?输入阻抗是随频率变化还是保持不变? 考虑在信号链中使用任何新器件时,输入/输出阻抗通常是让所需的信号链各模块
[测试测量]
高速<font color='red'>模数转换器</font>输入阻抗测量
ADC0809与51单片机的连接方式
模数转换器定位为单片机的外部RAM单元,因此与单片机的连接就有很多种。大体上说ADC0809在整个单片机系统中是作为外部RAM的一个单元定位的。具体到某一个连接方式,定位又有区别。adc0809与单片机典型的连接有以下三种: ADC0809与51单片机的第一种连接方式 这是数据线对数据线、地址线对地址线的标准连接方式,如图2.2所示。由于ADC0809片内没有时钟,可利用单片机提供的地址锁存信号ALE经D触发器2分频后获得,ALE引脚的频率是单片机时钟频率的1/6,如果单片机时钟频率采用6MHz,则ALE引脚的输出频率为1MHz,再经过2分频后为500kHz,恰好符合0809对时钟的要求。 由于ADC0809具有输出
[单片机]
<font color='red'>ADC</font>0809与51单片机的连接方式
STM32F4开发板----ADC(005)
ADC的认识 1 ADC初始化参数 /* Exported types ------------------------------------------------------------*/ /** * @brief ADC Init structure definition */ typedef struct { uint32_t ADC_Resolution; /*! Configures the ADC resolution dual mode. This parameter can be a value of @ref ADC_resolution */
[单片机]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved