技术分享

当前位置:首页>文章中心>技术分享
全部 354 技术分享 334 单片机入门 20

基于CPLD的数字PWM信号发生器的设计

作者:滕旭东 王弘辉 傅友登   来源:网上搜集   时间:2008-05-01   访问量:1180

0 引言

逆变电源,在弧焊机和超声波清洗设备等方面应用很广,其技术核心就是产生PWM(脉冲宽度调制)信号,通过改变PWM信号的频率和占空比,调节和控制功率开关器件的开通以及关断时间,实现电源频率和功率输出的调节,形成逆变电源[1,3]。目前, 逆变电源常使用模拟/数字混合设计的专用芯片如TL494、SG3525等来产生PWM信号,这类芯片最大缺点是波形不稳定,会受到电磁场和工作环境温度的影响,漂移现象严重,而且不易用微处理器控制,动态调节频率和功率困难。考虑到CPLD (复杂可编程逻辑器件)具有高可靠性,通用性 好,在线可编程等特点,已有研究者[3,5]开始采用CPLD来设计PWM波形发生器,然而这些设计过程较为复杂,调整不灵活,需要资源数较多的可编程逻辑器件,从而带来使用不便和成本较高等缺点。本文提出一种基于CPLD的PWM波形发生器设计原理,具备智能控制及死区调整功能,芯片资源占用少,能较好地解决设计功能实现和开发成本的矛盾。

1 PWM信号产生原理

采样控制理论中有一个重要结论[4]:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。以该结论为理论基础,可以利用计数器和触发器设计PWM信号产生电路,使输出端得到一系列幅值相等而宽度不相等的两路脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则改变计数器的数值,就可以调整脉冲的宽度,从而实现逆变电源输出功率和频率的调整。在控制大功率电路时,PWM信号发生电路产生的两路脉冲要求有一定的死区时间tp,即为了保证大功率器件不同时导通而设置的所有大功率器件同时处于截止状态的时间,如图1所示。

08062222080612.jpg
2 数字PWM信号发生器的设计



复杂可编程芯片可以用VHDL语言 (硬件电路描述语言)或者电路原理图方式进行自顶向下的设计开发,实现相应的电路功能[2,3,5]。根据上节介绍的PWM波形产生原理,设计框图如图2所示。图中主要由周期预置计数器、减一计数器、零值/中值检测器、死区控制器、RS触发器和控制信号产生电路等部分组成,实现数字PWM信号的产生。

08062222145831.jpg

   用16位计数器模块作为周期预置计数器和减一计数器。周期预置计数器先向减一计数器预置初始值N,接着减一计数器在分频后的时钟信号CLK1作用下,实现二进制数N的减一运算。减一过程中,变化的计数值与N/2做中值检测,二者相等时产生高电平信号Half_Flag,同时计数器继续减一操作;当计数值减到零值时,由全零检测器产生高电平信号Zero_Flag,并重新赋减一计数器初值N,下一个时钟重新计数。随着计数器周而复始的减一操作,于是产生周期为T=N/fclk1的两路触发脉冲信号Half_Sig和Zero_Sig。如图3所示。

08062222163979.jpg

两路触发脉冲信号经脉冲电路整形后,分别送入RS触发器FF0和FF1的输入控制端。由于触发脉冲信号周期为T,所以触发器FF0和FF1的输出端Q每隔周期T才翻转一次且翻转方向相反,从而形成的周期为2T的数字脉冲波形信号,即无死区的PWM波形,见图4。可见两路触发脉冲信号的周期T决定了PWM信号的频率值,如果要改变PWM波形输出频率f,调整周期预置计数器的初值N就可实现,计算公式如下:

08062222185785.jpg

08062222194062.jpg

其中: 08062222201967.jpg为晶振频率; 08062222205569.jpg为频率精度;式(1)(2)表明晶振基准频率越高,计数器位数越多,频率精度就会越高。例如晶振频率 为40M时,频率精度为10~20Hz,而晶振频率 为60M时,频率精度可达1~5Hz。

(2)表明晶振基准频率越高,计数器位数越多,频率精度就会越高。例如晶振频率 为40M时,频率精度为10~20Hz,而晶振频率 为60M时,频率精度可达1~5Hz。

2.2 死区设计

08062222224516.jpg

上述PWM信号产生以后,利用死区控制器产生控制信号形成和调整死区tp。死区控制器内部有延时预置计数器和两个减一计数器。控制过程为:延时预置计数器先向两个减一计数器置数,由触发脉冲Half_Flag和Zero_Flag分别启动两个减一计数器,实现交叉控制触发器FF0和FF1的翻转,如图5所示。当脉冲Half_Flag送入触发器R端后,FF0触发器立刻进行翻转,同时启动内部减一计数器,使FF1触发器延时后翻转,两个触发器的翻转时刻正好相差了一个延时预置计数器的计数时间,即死区时间tp,这样形成了一个死区;当脉冲Zero_Flag送入RS触发器R端后,FF1触发器立刻翻转,内部另一个减一计数器开始工作,使FF0触发器延时相同时间tp后翻转,这样又形成了一个死区。随着两路触发脉冲的周期重复,于是产生两路PWM波形。

2.3 脉宽控制

PWM信号的死区时间越长,其有效宽度越窄,反之就越宽。所以我们可以通过控制预置计数器的计数值来改变死区时间,达到调整PWM信号宽度的目的。当采用数字PI 或PID 调节器时,反馈信号经过A/ D转换后送给死区延时预置计数器,在计数器减到0时自动预置成为下一次的死区时间,从而实现脉宽调整功能。

2.4 控制信号产生电路

控制信号产生电路由T触发器、比较器、译码器等数字逻辑电路组成。主要功能产生各种触发信号控制计数器置数、运算操作和启动时刻,包括周期预置计数器、减一计数器和死区延时预置计数器等;其次控制外部总线访问CPLD内部的数据缓存器或地址锁存器,实现智能控制和自适应调节。



3 基于CPLD的PWM波形发生器的应用示例

08062222251531.jpg

图6 智能PWM信号发生器的电路原理图

Fig.6  Circuit Configuration of  the intelligent PWM Waveforms Generator

基于CPLD设计的PWM波形发生器与微处理器接口简单,可以通过数字化的控制方法设置和调整参数[2],满足各种工况要求。此外容易实现过流、过压和过热等保护功能。图6为数字超声波电源的PWM波形发生器设计电路。该设计采用单片机AT89C2051控制基于CPLD的PWM波形发生器的工作,CPLD芯片采用EPM7128SLC84-15。电路中用四个按键来设置CPLD的工作模式和控制参数,其中键Fre_Up和Fre_Down来调整PWM信号频率;键Multi_single设置单频/跳频工作方式;键Start_Key启动/停止PWM波形发生器。

开机后,单片机根据键盘操作,通过A[0..2]总线向CPLD送入访问地址,译码后D[0..3]上的数据写入选中计数器,实现对PWM波形发生器的设置,按下Start_Key键启动CPLD开始独立工作。在工作过程中,电流采样反馈信号Feedback送入A/D转换器形成四位二进制数值[PD0..PD3],用该数据来调整PWM脉冲信号的死区延时预置计数器即占空比,从而可以跟踪谐振点的变化,稳定输出功率。如果外部电路电路出现异常,用保护信号Protect停止PWM信号的产生。

4.结论

     本文提出的基于CPLD的全数字化PWM发生器设计,结构简单,工作可靠,不仅克服了专用模拟芯片带来的温度漂移,同时实现死区的智能控制和功(频)率在线调节,且具备软启动功能,从而扩展了功率器件的选择范围。以该方案设计的数字超声波电源,经生产厂家测试,频率稳定且功率控制精度高,调整方便,成本低。

本文创新点在于提出一种基于CPLD的数字PWM信号发生器的设计,该设计解决了目前数字PWM波形发生器的死区时间不可控制和功率跟踪困难等缺点,推进了数字PWM发生器的实用化。

参考文献

[1] 徐涛.超声波发生器电源技术的发展[J].洗净技术,2003,03(7):13~17

[2] 高建华. 一种基于CPLD 的单片机与PCI 接口设计解决方案[J].微计算机信息,2006,6-2:224~226

[3] 刘松,熊腊森.使用VHDL设计基于CPLD/FPGA逆变电源的PWM波形[J].焊接学报,2002,23(6):89~91

[4] 李旭,谢运祥.PWM技术实现方法综述[J]. 电源技术应用,2005,02:40~43

[5] 梁中华,肖丹等.一种基于CPLD的SPWM控制波形生成方法[J]. 沈阳工业大学学报,2005,27(2):187~191

上一篇:常用晶体三极管参数

下一篇:滤波扼流圈设计方法

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 咨询专员

在线咨询

咨询电话

18906103328

电话咨询

微信扫一扫

微信联系
返回顶部