三种基于HCS12定时器的PWM波形发生器的设计

三种基于HCS12定时器的PWM波形发生器的设计
冯道宁  1 2刘昭度1叶阳1
(1北京理工大学机械与车辆工程学院 100081)( 2广西机电职业技术学院电气工程系 530007)摘要:在车辆ASR系统开发中,提出了基于HCS12单片机增强型定时器复用I/O输出PWM信号的开发方案,解决了由于硬件限制导致PWM输出通道的不足的问题。文章介绍了单片机增强定时器通过输出比较寄存器、输出比较中断、TCNT输出翻转实现PWM波形输出的三种方法,详述了各方法中重要寄存器的设置和逻辑对应关系,并给出了相应的波形输出图和程序流程图,通过理论分析和实验结果探讨了不同设计方案的优缺点。
关键词:PWM ;输出比较寄存器;占空比; TCNT
中图文分类号:TP368.12  文献标识码:B
Three Designs of PWM Generator Based on HCS12 Timer
Feng Dao-ning1 2 ,Liu Zhao-du1  ,Ye Yang1
(1 School of Mechanical and Vehicular Engineering , Beijing Institute of Technology Beijing 100081 C
hina; 2 Department of Electrical Engineering , Guangxi Vocational College of Mechanical &Electrical          Technology, Nanning  530007,China)服装吊牌制作
Abstract : The development of multiplex I/O output PWM waveform based on enhanced capture timer module of HSC12 single-chip is proposed in vehicle ASR system, to solves PWM output channels shortage due to hardware limitation led to the problem. Three approaches taken in the investigation is called output-compare register、interrupt caused by output-compare and TCNT output flip. Details of the methods set the single-chip registers and logical corresponding relation is introduced, the waveform output map and the procedure-flow chart is given. The character of different designs is proposed and the limitation is researched according to theory analysis the experimental results.
Key Word : PWM ; Out Compare Register ; Duty ; TCNT
1.引言
摩托罗拉HCS12系列单片机是汽车和工业领域得到广泛应用的高效16位微控制器,其配置了一个脉冲宽度调制(PWM)系统,可通过PP0-PP7 共8个输出口产生8路PWM输出,但在某些场合,例如汽车的ASR的控制系统中,8路PWM输出口已经用于控制不同的电磁阀,但在ASR中控制节气门开度的直
流电机同样需要PWM的控制,因此在设计中必须采用其他方式产生一路独立的PWM输出,为了简化电路设计,在设计中采用增强型定时器单元(ECT)通过输出比较的方式产生频率和占空比可控的PWM信号,在试验中我们测试了三种基于该思路的设计。
2.方案设计
HCS12系列单片机的ECT增强型定时器有三个功能[1-4]:输入捕捉、输出比较和脉冲累加器,以DP256单片机为例,ECT部分的核心是一个16位自由运行计数器(TCNT),所有输入捕捉和输出比较功能的计时信息都来源于TCNT,当定时器系统启用时,通过设置TSCR1的TEN位,计数器从$0000开始,每经过一个模块时钟加1,直到加到$FFFF,然后自动溢出为$0000并继续计数.16位自由记数器的当前值保存在两个8位寄存器中,高位存在TCNTH,低
位存在TCNTL中.综合这两个寄存器就形成TCNT.通常ECT生产PWM波形的方法是采用输出比较的功能,就是当输出比较事件发生时(即TCx = TCNT时),相应引脚的电平会发生变化。如果每个通道执行独立的输出比较功能,那么我们可以用TCLT1/TCLT2寄存器中的OMx和OLx位来设置它们各自的输出电平和输出模式。PWM调速分为两种工作方式[5-6]:一种是双极性工作制,另一种是单极性工作制。由于单极性工作制电压波形中的交流成分比双极性工作制的小,其电流的最大波动也比双极性工作制的小,所以我们采用了单极性工作制。调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。实验测试节气门电机的最佳响应频率为350HZ[7-8],因此设计中,我们均采用定频调宽法。
2.1输出比较7的寄存器产生PWM
使用该方案可以将PT0~PT6的输出波形的频率统一到PT7输出频率之下。其两要点有二:首先是输出比较7屏蔽寄存器(OC7M)和输出比较7数据寄存器(OC7D),其次是TSCR2中的TCRE位。OC7M表示当通道7发生时输出比较事件时,相应输出端口的电平同时发生变化(1为变化,0为不变化);OC7D表示输出比较事件发生时,相应引脚的输出电平,若OC7Dx为1,相应的输出比较通道x输出高电平; 反之,为0。TC0~TC6的计数器可以与TC7进行比较,这样所有的TC0~TC6的输出频率都统一到TC7确定的频率下,而TC0~TC6所输入的数值则代表高/低电平的占空比,从而实现在相应的PT口输出PWM可能。在编程中要注意将TSCR2寄存器中的TCRE位设置为1,这样TCNT可以被输出比较7置位。OC7M 具有更高的优先级,它优于通过TCTL1 和TCTL2 寄存器中的OMn 和OLn 设定的引脚动作,若OC7M 中某个位置1,就会阻止相应引脚上由OM 和OL 设定的动作。
但如果去掉OC7M的配置,即OC7M=0,则所有通道的输出波形均一样,波形为方波。当PT7通道的寄存器CT7作为输出进行连续比较时,会屏蔽CT0~CT6,所以PT0~PT6尽管设为输出比较通道,其输出值和PT7一致,各通道的输出的波形只是在计数到TC7时溢出,溢出时波形反转。程序和各PT端口生产的PWM波形图如下所示:
TIOS=0xf0; TSCR1=0x80; TCTL1=0x55;
一个圆柱形玻璃容器
TC4=2500; TC5=1000; TC6=4000; TC7=5000;
TSCR2=0x08; OC7M=0xf0; OC7D=0X00;
其中PT4输出为占空比为0.5的方波,PT5输出波形的占空比为0.8, PT6输出的波形占空比为0.2,若晶振频率为25M,那么各PT口的输出波形的频率均为5KHz。
PT4 PT5 PT6TCNT=0
图1 波形图
2.2输出比较中断方式
该方式在输出比较中断中不断修改输出比较值TCx,以达到实现不同占空比的目的[9]。其主要步骤可
分为以下2步,以PT4输出为例:
(1)初始化设定TCTL1=0X01,既当TC4=TCNT,输出电平自动翻转(当前输出电平和原来相反),同时根据占空比和频率计算出TC4在高低电平时的计数值,例如占空比为0.4时高
电平计数值4000,低电平计数值为6000,占空比=4000/(4000+6000)=0.4,注意计数值不能超过TCNT的最大值65535
(2)在输出比较中断中修改相应的TC4的值,当输出比较中断发生,说明TCNT=TC4,进入中断后判断下一个输出波形是高或低电平,若为高电平则TC4=TCNT当前值+4000,为低电平则TC4= TCNT当前值+6000。
该方法在简单的程序中是可行的,图2为输出的波形图,图3为程序流程图,但在涉及较为复杂的控制程序,例如在实验中加入了RTI中断后,PWM的输出占空比将会极不稳定,因为RTI中断级别高于输出比较中断,当进入RTI中执行其他的子程序时,PT口的输出比较中断便被屏蔽,使得PWM占空比发生改变,通过示波器观察的结果证明也是如此。故此类产生PWM波形的方法不仅逻辑上繁琐而且可靠性和稳定性差[10]。
图2 PT4输出波形图3 程序流程图
甘汞电极2.3 TCNT溢出翻转方式
ECT中有一个特殊的溢出触发寄存器TTOV[10],当TCNT计数=65535时,TCNT 溢出,设定相应TTOV寄存器中的值可使得相应PTx的输出电平翻转。因此当TCNT 计数器等于TC寄存器时可生成频率一定,但占空比可变的PWM波形,占空比根据TCx 来定。TCNT=TCx时,输出电平翻转一次,当TCNT计数到65535,由溢出翻转寄存器TTOV再翻转输出电平一次[11-12]。以PT4输出占空比为0.6的PWM波形为例,程序如下:
麦克风架TIOS=0x10 //pt4为输出比较通道
TSCR1=0x80;//启动定时器
TCTL1=0x01;//PT4为输出状态
TC4=65535*0.4;//确定PT4低电平所所用的时间
TTOV=0X10;//溢出后翻转
通过波形图4可以看出,设PT4初始电平为低电平,当TCNT=TC4时,PT4翻转输出电平变为高电平,同时TC4赋新值,当TCNT计数65535时,计数器溢出,TCNT=0,此时PT4又输出低电平,周而复始从而形成占空比稳定PWM波形[13]。此方法的优点是不需要利用输出比较中断对TC4反复赋值,只需要在主程序里运行上述程序一次即可。
图4 PT4输出波形
3 PWM频率和占空比的修改
很多控制对象要求能在程序中实时修改PWM的输出频率和占空比,以适应不同场合的需求。
3.1PWM占空比修改
方法1和方法3修改占空比的方式是在RTI实时中断中设置TCx的值实现的,而方法2则是在输出比较中断中修改TCx值来完成[14]。
3.2 PWM频率的修改
方法1和方法2均可实时修改输出的波形的频率,方法1可在RTI中断中通过对TC7的设置实现,而方法2则是通过TCx在高低电平设定相应的值来决定的,例如TC4高=4000,TC4低=6000,若想频率能提高一倍,可设定TC4高=2000,TC4低=3000,但占空比保持不变。方法3在程序中无法修改时钟频率的方法是在时钟锁相环中对SYNR和REFDV寄存器的修改,但修改会影响到系统其他和时钟相关的设置,例如总线时钟频率、串口输出波特率、RTI中断时间等,因此不宜进行修改。
4 强制输出比较
在编程中还要灵活应用CFORC强制输出比较寄存器,其用于程序初始化时设定相应输出端口的输出电平[15]。强制输出比较一旦设定,当TCNT开始计数相应端口的输出电平便根据先前TCTL1寄存器的的设定值而改变,若没有强制输出,TCx=TCNT才会改变PTx通道的输出电平。
5 结论
在试验中通过测试比较,方法1和方法3产生的PWM波形最为稳定和可靠,不受其他硬件中断的影响,
对PWM波形对节气门开度的控制效果良好,方法2可以产生PWM波形,但在加入了RTI中断后,输出比较中断受到比其高一级RTI中断的影响,波形的占空比发生了变化,因此不宜采用。利用方法1输出比较寄存器7可在多个通道生产占空比不同但频率一致的PWM波形,而使用方法3编程对单通道输出PWM波形更为便利,适用于PWM 频率固定的场合。将实验测试中的方法3用于车辆ASR系统的节气门开度控制,取得了良好的效果。
参考文献
[01]孙同景.Freescale 9S12十六位单片机原理及嵌入式开发技术[M].机械工业出版社,2008
[02]Steven F.Barrett著.嵌入式系统—使用68HC12和HCS12的设计与应用[M].电子工业出版社,2006
[03] 王宜怀. 嵌入式系统设计实战:基于飞思卡尔S12X微控制器[M].北京航空航天大学出版社,2011
[04] 张阳.MC9S12XS单片机原理及嵌入式系统开发[M].电子工业出版社,2011
[05]王效华, 牛思先.基于单片机PWM控制技术的实现[J].武汉理工大学学报,2010(01):94-98上海港区导航
[06]杨庆张德明.HCS12单片机PWM功能在汽车自动变速器中的应用[J].微型电脑应用,2007(11):24-26
[07]何玮. 捷达GTX轿车自适应巡航控制系统研究[D]. 北京: 北京理工大学,2007
[08]李志远. 捷达GTX轿车驱动防滑控制技术研究[D]. 北京: 北京理工大学,2008
[09]吴,王俊,王景.利用单片机产生PWM信号的软件实现方法[J].机电技术,2008, (01):20-21
[10] 周鑫玲. 飞思卡尔8位单片机脉宽调制模块用法探究[J]. 实验室科学.2010[03]:97-98
[11佀海.Experiment Research on Fine Regulation of Wheel Cylinder Pressure Using PWM Technology[J].
北京理工大学学报(英文版).2008[02]:153-158
[12]李慧, 朱德文. 基于PWM控制的高速开关电磁阀在汽车防抱死制动系统中的应用[J]. 机械研究与应
用,2007[3]:83-84花生采摘机
[13] 王金晨. 基于PWM的可调速电动汽车模型控制系统的设计[J].伺服控制,2011[6]:42-48
[14]平朝春,张加胜.基于单片机实现的一种独特的PWM控制方法[J].变频器世界,2008,(10) :51-53
[15]孙家俊. 基于MC9S12xDT512的ABS模糊控制系统的研究[J].机床与液压.2009[9]:179-181

本文发布于:2024-09-22 19:42:20,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/176432.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:输出   波形   方法   占空比
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议