一种利用PWM输出实现D/A转换的方法
2012-11-20吴必瑞谢善娟
吴必瑞,谢善娟
(宁德师范学院物理与电气工程系,福建 宁德 352100)
一种利用PWM输出实现D/A转换的方法
吴必瑞,谢善娟
(宁德师范学院物理与电气工程系,福建 宁德 352100)
针对部分处理器无内置D/A转换的问题,设计了一种利用单片机输出的PWM(脉冲宽度调制)实现D/A转换(模数转换)。并以MSP430F44X为例,给出了电路原理图、软件框图及其实现方法。该D/A转换通过比较器和三极管构成的推挽电路,再经过滤波器得到直流输出。试验结果表明,该D/A转换精度高、抗干扰能力强、降低了硬件电路的成本,有一定的实际应用价值。
脉冲宽度调制(PWM);模数转换(D/A转换);Multisim
PWM(脉冲宽度调制,简称为脉宽调制)是利用单片机(处理器)的输出数字信号对模拟电路控制的一种技术,应用于通信、电子器件控制与变换等领域[1-2]。在电子电路应用系统中经常需要单片机(信号处理器)输出的模拟信号,而采用较多的电路是内置D/A或外接D/A换器来实现。由于较多芯片具有PWM输出功能,而不含自带的D/A转换功能,如MSP430F44X,TMS320F2812等,实现D/A的方法一般要采用SPI等串行接口的D/A芯片,性价比相对较低。为此,笔者介绍由一种利用单片机(信号处理器)内置PWM实现D/A转换的方法。
1 硬件电路设计
MSP430F44X可输出幅值不变而脉宽可调的PWM波,经过比较器LM293的比较输出的信号和经三极管Q1和Q2组成的推挽电路放大后,得到幅值放大的PWM波,再经过R5和C1组成的RC滤波器和二阶巴特沃斯低通滤波器后,就可得到不含交流分量仅含直流分量的模拟输出。MSP430F44X的定时器1PWM输出频率定为10kHz,滤波器的频率以此设计。PWM的频率可定得更高,使该电路的带宽更宽,当然这样会引起分辨率的降低,因此频率要进行取舍。PWM实现D/A转换的电路原理如图1所示。图1中偏置电压Vc和D/A转换后的输出电压VA构成加法电路。调节电阻R8和R7的大小可以改变输出的Uout电压大小。
图1 PWM波实现D/A转换原理图
2 软件程序设计
软件是在IAR Embedded Workbench 开发环境中采用C语言开发的,主要包括系统定时器初始化和中断子程序。软件程序先禁止看门狗,设置系统时钟;设置定时器、利用CCR0控制周期和CCRX控制占空比输出PWM信号。为降低系统功耗,将MSP430F44X设置为低功耗0模式;程序开始运行后通过中断唤醒CPU工作,中断完成后返回低功耗0模式[3-4]。主程序流程图如图2所示:
图2 主程序流程图
3 仿真试验
1)仿真软件Multisim11 Multisim11是EDA的最新电子电路仿真软件版本,具有界面简单、仿真模型丰富、界面友好、操作简单等特点。可采用直观的图形界面创建电路,提供丰富而全面的仪器设备,且同一台仪器可以多台同时调用,和真实试验相比大大节约了费用。有丰富的电路元件库,特别是有大量与现实对应的元件模型,使电路有很强的实用性,并提供多种电路分析方法。利用所提供的虚拟仪器可以用比实验室更灵活的方式进行电路试验、仿真电路实际运行情况、熟悉常用电子仪器测量方法。用户还可以对模拟电路、数字电路和模数混合电路经行分析,也可对高频电路、RF电子电路和部分微机接口电路经行分析,从而清楚而准确地了解电路的工作状态[5]。
2)仿真结果分析 将该电路初始化,包括T1PWM引脚的定义、通用定时器T1的设置等。通过按键操作改变定时器1的CMPR的值就可改变定时器输出的PWM的脉冲,从而改变D/A的输出。在图1中Vc点电位为零时,分别利用万用表和示波器对探测点A、B进行测量,其数据如表1所示,输出波形如图3所示。从试验结果看出,当输入的占空比为50%时输出电压为0,且输入信号的占空比和输出电压值成线性关系。
图3 输出波形图
占空比/%A点电压/VB点电压/V1-13.4-1.22310-11.4-1.0320-8.56-0.77630-5.69-0.51640-2.83-0.255500.030.004602.90.265705.760.525808.640.7879011.51.059913.41.26
4 结 语
大多数的应用电路中实现D/A 转换的方法是采用外接芯片实现的,笔者给出了一种简单的外围电路实现方法。在单片机、信号处理器等应用领域,利用这种方式实现 D/A转换,不但降低芯片成本,同时可以利用多路PWM波输出,实现多路D/A转换,该实现方法有较高的应用价值和推广价值。
[1]尚盟玻.实用D/A转换[J].数字技术与应用,2010(7):95-96.
[2]万山明.TMS320F281xDSP原理及应用实例[M].北京:北京航空航天大学出版社,2007.
[3]胡大可.MSP430系列FLASH型超低功耗16位单片机[M].北京:北京航空航天大学出版社, 2005:242-255.
[4]沈建华,杨艳琴.MSP430系列16位超低功耗单片机实践与系统设计[M].北京:清华大学出版社,2005:169-173.
[5]崔建明,陈惠英,温卫中.电路与电子技术的.Multisim10.0仿真[M].北京:中国水利水电出版社,2009.
[编辑] 洪云飞
10.3969/j.issn.1673-1409(N).2012.10.038
TP368.1
A
1673-1409(2012)10-N123-02