三种基于HCS12定时器的PWM波形发生器的设计
GD32E230开发标准教程【ch12】定时器与PWM输出 PPT课件

定时器与 PWM输出
GD32E230开发标准教程
01
实验内容
实验内容
将GD32E23x系列微控制器的PA4引脚(TIMER13的CH0)配置为PWM模式0 ,输出一个频率为120Hz的方波,默认的占空比为50%,可以通过按下按键 KEY;对占空比进行递增调节,每次递增方波周期的1/12,当占空比递增到 100%时,PA4引脚输出高电平;通过按下按键KEY:对占空比进行递减调节 ,每次递减方波周期的1/12,当占空比递减到0%时,PA4引脚输出低电平。
实验原理
PWM输出实验流程图分析
由于TIMER13的CNT计数器对PSC_CLK时钟进行计数,而TIMER13_CAR等于599,因 此,TIMER13的CNT计数器递增计数从O到599,计数器的周期=(1/fpsc cLk)×( TIMER13_CAR+1)=(1/72)×(599+1)ms=(100/12)ms, 转换为频率即为 120Hz。
本章任务
任务提示: (1)配置PA8引脚浮空,使用杜邦线连接PA8和PA4引脚。 (2)编写函数实现占空比在一个较小值和较大值之间往复递增或递减循环, (3)在1s处理任务中调用占空比循环函数,实现呼吸灯功能。
原理
timer_channel output mode config 函数的功能是配置外设TIMERx通道输出比较模式。具体描述 如表12-10所示。
实验原理
timer_channel_output_shadow_config函数的功能是配置TIMERx通道输出比较影子寄存器功能。 具体描述如表12-12所示。
实验原理
当按下按键KEY3时,对占空比进行递减调节,每次递减50,由于 TIMER13 的CNT计数器递增计数从O到599,因此,占空比每次递减方波周期的1/12 ,最多递减到0%。当按下按键KEY时,对占空比进行递增调节,每次递增方 波周期的1/12,最多递增到100%。当按下按键KEYz时,占空比设置为50% 。
基于单片机的波形发生器设计与实现

硬件设计
1.3 DAC转换器选择
本设计采用DAC7695型DAC转换器,该芯片是一款16位高 精度数模转换器,具有低噪声、低失真、高速等优点。 DAC7695芯片通过接收单片机发送的数字信号,将其转 换为模拟信号输出,实现波形发生器的数模转换功能
硬件设计
1.4 运放电路与滤波电 路设计
运放电路采用OP07型运算放大器 ,该芯片具有低噪声、低失真、 高带宽等优点。运放电路将DAC 输出的模拟信号进行放大和滤波 处理,提高输出波形的质量。滤 波电路采用RC滤波器,滤除杂波 干扰,提高输出波形的纯度
硬件设计
1.2 单片机选择
本设计采用STM32单片机作为核心控制器。STM32系列单片机是意法半导体(ST)公司推 出的一款基于ARM Cortex-M内核的32位Flash微控制器,具有高性能、低功耗、易于 开发等优点。STM32单片机通过编程可以产生不同频率和幅值的数字信号,并通过DAC 转换器进行数模转换,实现波形发生器的功能
硬件设计
1.1 总体设计
基于单片机的波形发生器的硬件 结构主要包括单片机、DAC转换 器、运放电路和滤波电路等部分 。其中,单片机是整个系统的核 心,负责产生数字信号并控制 DAC转换器进行数模转换;DAC转 换器将数字信号转换为模拟信号 ;运放电路对DAC输出的模拟信 号进行放大和滤波处理;滤波电 路用于滤除杂波,提高输出波形 的质量
基于单片机的波形 发生器设计与实现
2
-
目录
CONTENTS
1 硬件设计 2 软件设计
Байду номын сангаас
基于单片机的波形发生器设计与实现
波形发生器是一种能够产生各种预定波 形的电子设备,广泛应用于信号处理、 通信、测量等领域。基于单片机的波形 发生器,由于其结构简单、成本低廉、 易于编程控制等优点,在实际应用中具
基于单片机的12位PWM DAC的设计

基于单片机的12位PWM DAC的设计在用单片机制作的变送器类和控制器类的仪表中,需要输出1—5V或4—20 mA的直流信号的时候,通常采用专用的D/A芯片,一般是每路一片。
当输出信号的精度较高时,D/A芯片的位数也将随之增加。
在工业仪表中,通常增加到1 2位。
12位D/A的价格目前比单片机的价格要高得多,占用的接口线数量也多。
尤其是在需隔离的场合时,所需的光电耦合器数量与接口线相当,造成元器件数量大批增加,使体积和造价随之升高。
如果在单片机控制的仪表里用PWM方式完成D/A输出,将会使成本降低到12位D/A芯片的十分之一左右。
我们在S系列流量仪表中采用了这种方式,使用效果非常理想。
下面介绍一下PWM方式D /A的构成原理。
[二].电路原理一般12位D/A转换器在手册中给出的精度为±1/2LSB,温度漂移的综合指标在20—50ppm/℃,上述两项指标在0.2级仪表中是可以满足要求的,下面给出的电路可以达到上述两项指标。
用运放做RC滤波器输出的缓冲大有益处。
它不仅提高了滤波电路带载能力,而且使线性度得到了提高。
通过实验可知,这一级运放的的缓冲作用是保证整个D/A精度和线性度的重要环节。
尽管RC滤波器无负载,处在非常理想的条件下工作,但Vo并不完全与占空比成正比。
这是因为所使用的电容不是纯电容,其中含有一定的电感。
在占空比极小时,由于脉冲非常窄,它产生的高次谐波的频率很高,电感对高次谐波的感抗较大,因此在脉冲沿的位置上,尽管电压变化很大,但实际实际给电容充电却很小。
这样就在窄脉冲时产生非线性。
当采用无感电容时,这种非线性有较大改善,但仍不能完全吻合。
由于无感电容容量太小,价格也较高,所以在大时间常数滤波电路中没有实际意义。
在实际使用中解决这一问题的方法是舍弃根部非线性部分,只用线性部分,在工业仪表中,标准的信号一般为1—5V或4—20mA。
而曲线2的非线性部分在0.4V以下,所以当采用1—5V输出信号时,精度为0.03%完全满足12位D/A要求。
PWM信号发生电路

1.PWM信号概述脉冲宽度调制(PWM)信号广泛使用在电力变流技术中,以其作为控制信号可完成DC-DC变换(开关电源)、DC-AC变换(逆变电源)、AC-AC变换(斩控调压)和AC-DC变换(功率因数校正)。
产生PWM信号的方法有多种,现分别论述如下:1)普通电子元件构成PWM发生器电路基本原理是由三角波或锯齿波发生器产生高频调制波,经比较器产生PWM 信号。
三角波或锯齿波与可调直流电压比较,产生可调占空比PWM信号;与正弦基波比较,产生占空比按正弦规律变化的SPWM信号。
此方法优点是成本低、各环节波形和电压值可观测、易于扩展应用电路等。
缺点是电路集成度低,不利于产品化。
2)单片机自动生成PWM信号基本原理是由单片机内部集成PWM发生器模块在程序控制下产生PWM信号。
优点是电路简单、便于程序控制。
缺点是不利于学生观测PWM产生过程,闭环控制复杂和使用时受单片机性能制约。
3)可编程逻辑器件编程产生PWM信号基本原理是以复杂可编程逻辑器件(CPLD)或现场可编程门阵列器件(FPGA)为硬件基础,设计专用程序产生PWM信号。
优点是电路简单、PWM频率和占空比定量准确。
缺点是闭环控制复杂,产生SPWM信号难度大。
4)专用芯片产生PWM信号是生产厂家设计、生产的特定功能芯片。
优点是使用方便、安全,便于应用到产品设计中。
缺点是不利于学生观测PWM产生过程和灵活调节各项参数。
2.电子元件构成PWM发生器电路图1电子元件构成PWM发生器电路3.集成芯片SG3525构成PWM发生器电路一、PWM信号发生电路说明实验电路中,驱动开关管的PWM信号由专用PWM控制集成芯片SG3525产生(美国Silicon General公司生产),PWM信号发生器电路如图2所示。
图2 PWM信号发生器电路图SG3525采用恒频脉宽调制控制方案,内部包含有精密基准源、锯齿波振荡器、误差放大器、比较器、分频器和保护电路等。
调节Ur的大小,在OUTA、OUTB两端可输出两个幅度相等、频率相等、相位相差一个周期、占空比可调的矩形波(即PWM信号)。
pwm波形的生成方法

pwm波形的生成方法
PWM波形的生成方法主要有以下几种:
1. 波形发生器产生PWM:最简单的方式是使用波形发生器,只需要在发生器上设置一下,就能轻易获取想要的PWM。
2. 单片机产生PWM:现在很多单片机都配置了能产生PWM的端口,或者通过单片机的端口进行模拟产生PWM,只需要通过编写一些程序,就能产生出想要的PWM。
3. 可编程逻辑器件产生PWM:以可编程的逻辑器件,如CPLD或FPGA为硬件基础,编写专用程序来产生PWM,这种方式产生的PWM频率、占空比比较准确。
4. 专用PWM芯片产生PWM信号:很多厂家都设计、生产了一些能产生PWM的芯片,使用这些芯片就能很方便产生PWM,也方便应用到产品设计中。
5. 比较式PWM:比较式PWM是最常见的PWM产生方法,它通过比较一个变量信号与一个固定的参考电平来生成PWM信号。
主要包括两个阶段:比较器输出与集成器输出。
比较器是比较式PWM的核心组成部分,由比较器和参考电压组成。
可以将模拟控制信号与一个固定的电压(参考电压)进行比较,从而生成PWM信号。
集成器是比较式PWM的后级,它将比较器输出的脉冲信号进行整形,生成PWM波形。
如果将比较式PWM与单片机
相结合,可以使用定时器/计数器来生成PWM波形。
通过定时器/计数器的控制,可以改变PWM的频率和占空比。
以上内容仅供参考,如需更多信息,建议查阅相关文献或咨询专业人士。
单片机波形发生器设计

单片机波形发生器设计一、引言波形发生器是一种电子测试仪器,用于产生各种形状的波形信号。
在电子设计和测试中,波形发生器是非常重要的工具,可以用于测试电子元器件的响应特性、检测电子电路的特性,以及用于故障分析和调试等。
本文将介绍一种基于单片机的波形发生器设计方案。
二、设计方案1.系统硬件设计本设计方案采用基于单片机的数字波形发生器,利用单片机的高速计数器和定时器功能,生成各种频率和形状的波形信号。
系统硬件主要包括以下几个部分:(1)单片机:选择一款具备高速计数器和定时器功能的单片机,如ATmega328P。
(2)时钟电路:提供单片机工作所需的稳定时钟信号。
(3)按键/旋钮:用于设置波形的频率和形状。
(4)显示器:用于显示当前波形的频率和形状。
(5)输出接口:提供波形信号的输出接口,以便连接到外部电路进行测试。
2.系统软件设计本设计方案采用C语言进行单片机程序的编写,使用单片机的定时器来生成各种频率的波形信号。
(1)初始化:设置单片机的引脚方向和初始化定时器。
(2)按键/旋钮检测:检测按键/旋钮的状态变化,并根据用户的操作进行相应的波形设置。
(3)波形生成:根据用户设置的频率和形状,在单片机的定时器中设置相应的计数值和自动重载值,以产生所需的波形信号。
(4)输出:将生成的波形信号通过输出接口输出到外部电路进行测试或其他应用。
三、系统性能分析1.频率范围:由于采用了单片机的高速计数器和定时器功能,所以波形发生器的频率范围可以较广,通常可以覆盖几赫兹到几千兆赫兹的范围。
2.波形形状:由于使用了单片机的计时器功能,所以可以生成多种形状的波形信号,如正弦波、方波、三角波等。
3.稳定性:由于采用了稳定的时钟电路,所以波形发生器的频率稳定性较高,误差较小。
4.精确度:由于采用了单片机的高速计数器和定时器功能,所以波形发生器的频率和相位精度较高。
四、总结本文介绍了一种基于单片机的波形发生器设计方案。
该方案通过利用单片机的计数和定时器功能,可以生成各种形状和频率的波形信号,具备较高的稳定性和精确度。
FreeScale HCS12系列单片机教程(dg128)
HCS12微控制器系列教程---第一讲:PWM 模块介绍该教程以MC9S12DG128单片机为核心进行讲解,全面阐释该16位单片机资源。
本文为第一讲,开始介绍S12 MCU的PWM模块。
PWM 调制波有8 个输出通道,每一个输出通道都可以独立的进行输出。
每一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器和两个可供选择的时钟源。
每一个PWM 输出通道都能调制出占空比从0—100% 变化的波形。
PWM 的主要特点有:1、它有8 个独立的输出通道,并且通过编程可控制其输出波形的周期。
2、每一个输出通道都有一个精确的计数器。
3、每一个通道的PWM 输出使能都可以由编程来控制。
4、PWM输出波形的翻转控制可以通过编程来实现。
5、周期和脉宽可以被双缓冲。
当通道关闭或PWM计数器为0时,改变周期和脉宽才起作用。
6、8 字节或16 字节的通道协议。
7、有4 个时钟源可供选择(A、SA、B、SB),他们提供了一个宽范围的时钟频率。
8、通过编程可以实现希望的时钟周期。
9、具有遇到紧急情况关闭程序的功能。
10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。
HCS12微控制器系列教程---第二讲:PWM 寄存器简介1、PWM启动寄存器PWMEPWME 寄存器每一位如图1所示:复位默认值:0000 0000B图1 PWME 寄存器每一个PWM 的输出通道都有一个使能位PWMEx 。
它相当于一个开关,用来启动和关闭相应通道的PWM 波形输出。
当任意的PWMEx 位置1,则相关的PWM输出通道就立刻可用。
用法:PWME7=1 --- 通道7 可对外输出波形PWME7=0 --- 通道7 不能对外输出波形注意:在通道使能后所输出的第一个波形可能是不规则的。
当输出通道工作在串联模式时(PWMCTL寄存器中的CONxx置1),那么)使能相应的16位PWM 输出通道是由PWMEx的高位控制的,例如:设置PWMCTL_CON01 = 1,通道0、1级联,形成一个16位PWM 通道,由通道 1 的使能位控制PWM 的输出。
波形发生器设计方案
波形发生器设计方案1. 简介波形发生器是一种用于产生各种波形信号的电子设备。
波形发生器广泛应用于电子实验、通信、测试等领域,具有重要的实际意义。
本文将介绍一个基于数字技术的波形发生器设计方案。
2. 设计原理波形发生器的设计原理是基于数字信号处理技术的。
主要包括以下几个步骤:1.选择合适的数字信号处理器(DSP)芯片作为波形发生器的核心处理器。
DSP芯片具有强大的数学运算能力和高速数据处理能力,适合用于波形生成。
2.实现波形发生器的数字信号处理算法。
根据需求,可以选择正弦波、方波、三角波等常见的波形形式。
具体的算法实现可以利用DSP芯片提供的数学运算指令和运算库来完成。
3.将数字信号处理器与外部模拟电路相连。
使用模数转换器(ADC)将DSP芯片生成的数字信号转换为模拟信号,然后通过低通滤波器进行滤波处理,最后输出所需的波形信号。
3. 设计步骤步骤一:选择合适的DSP芯片根据波形发生器的性能要求,选择一款功能强大的DSP芯片作为波形发生器的核心处理器。
考虑芯片的计算能力、存储容量、接口类型等因素。
步骤二:实现波形生成算法根据需求,在选择的DSP芯片上开发波形生成算法。
可以使用C语言或者汇编语言来编写算法代码。
常见的波形生成算法包括:•正弦波生成算法:利用正弦函数的周期性特点,通过离散化计算得到正弦波的采样值。
•方波生成算法:通过周期性地改变正负值来生成方波的采样值。
•三角波生成算法:通过线性函数的斜率逐渐增大或减小来生成三角波的采样值。
步骤三:连接外部模拟电路将DSP芯片与外部模拟电路相连。
使用模数转换器将DSP芯片生成的数字信号转换为模拟信号。
选择合适的ADC芯片,并配置相应的通信接口。
步骤四:滤波处理与输出通过低通滤波器对模拟信号进行滤波处理。
滤波器的设计要考虑去除数字信号的高频成分,保留所需波形的频谱特性。
最后,将滤波后的信号输出到波形发生器的输出端口。
4. 总结本文介绍了一种基于数字技术的波形发生器设计方案,通过选择合适的DSP芯片、实现波形生成算法、连接外部模拟电路和滤波处理与输出等步骤,可以实现高性能、多种波形的波形发生器。
波形发生器的设计
波形发生器的设计1选题背景波形发生器又名信号源,广泛应用于电子电路、自动控制和科学试验等领域。
雷达、通信、宇航、遥控遥测技术和电子系统等领域都随处可见波形发生器的应用。
如今作为电子系统心脏的信号源的性能很大程度上决定了电子设备和系统的性能的提高,因此随着电子技术的不断发展,现今对信号源的频率稳定度、频谱纯度和频率范围以及信号波形的形状提出越来越高的挑战。
1.1指导思想利用NE555勾成多谐振荡器产生方波,根据LM324输出的锯齿波分别通入低通滤波器和高通滤波器就可以输出正弦波I、正弦波U。
1.2方案论证方案一:使用NE555芯片构成多谐振荡器,输出方波,通过锯齿波发生电路产生锯齿波,然后通过一个f H =10KHz的低通滤波器,通过滤波产生一次,8KHz到10KHZ的正弦波,然后再让锯齿波通过一个24KHz~30KHZ勺带通滤波器,输出三次正弦波。
其中滤出三次谐波的理论依据是,由于锯齿波是一个关于t的周期函数,并且满足狄里赫莱条件:在一个周期内具有有限个间断点,且在这些间断点上,函数是有限值;在一个周期内具有有限个极值点;绝对可积。
方案二:使用功放构成文森桥式震荡电路,产生出8KHz~10KHz的正弦波。
接着是用NE555芯片,搭建出施密特触发电路,产生脉冲波输出;将脉冲波分别输入一个f H =10KHz的低通滤波器和24KHz~30KHz的带通滤波器电路中,产生一次和三次正弦波。
最初方案设计的大体思路在方案一和方案二之间犹豫不决,于是将两个电路的大体电路都进行了简单的设计,发现方案二存在很多的问题很难解决。
问题一:如果使用文森桥式震荡器产生正弦波,改变震荡频率就需要改变RC常数,要同时改变两个R (在实际电路中,同时改变两个电容的值是很复杂的,而且这样也无法得到一个8KHZ~10KHz的连续的频率),需要双滑动变阻器并且要保证滑动变阻器改变的值完全相同,有一定困难。
问题二:NE555芯片搭建出来的是一个简单的施密特触发器,输入正弦波之后,输出的脉冲波的占空比是不可以调整的,不满足实验要求的占空比可调的条件。
基于单片机的波形发生器设计
基于单片机的波形发生器设计波形发生器是一种电子设备,用于产生不同种类的波形信号,常用于科学研究、仪器调试和教学实验等领域。
基于单片机的波形发生器设计可以实现多种波形的生成,并具有灵活性、精确性和可编程性等优点。
在基于单片机的波形发生器设计中,需要使用到以下器件和技术:1.单片机:选择一款适合的单片机作为主控芯片,如常见的AVR系列、PIC系列或STM32系列单片机,单片机应具备足够的计算能力和I/O接口以及定时器等功能。
2.D/A转换器:波形发生器需要将数字信号转换为模拟信号输出,所以需要选择一款适合的D/A转换器芯片,常用的有R-2R网络DAC、运算放大器和数字信号处理器等。
3.储存器:用于存储波形数据,可以选择外部存储器芯片或利用单片机的内部存储器,如EEPROM。
4.模拟电路:用于处理和滤波模拟信号,以保证波形输出的质量和稳定性。
步骤1:确定波形种类和参数。
首先需要确定要生成的波形种类,如正弦波、方波、三角波或锯齿波等,同时需要确定波形的频率、幅度和相位等参数。
步骤2:编写软件程序。
根据所选单片机的指令集和编程语言,编写相应的程序代码,实现波形发生器的生成和输出控制。
程序代码中需要包括波形种类选择、参数设置、波形数据生成和输出控制等。
步骤3:硬件电路设计。
设计相应的硬件电路,包括单片机、D/A转换器、储存器和模拟电路等。
根据所选单片机的引脚功能和特性,连接相应的器件电路,并加入必要的电源供电和信号滤波电路等。
步骤4:测试和调试。
完成硬件电路搭建后,通过上电测试和相关仪器的辅助调试,验证波形发生器的性能和输出准确性。
如果存在问题,及时修正和优化。
1.灵活性:借助单片机的可编程性和多功能性,可以实现多种波形的生成和输出控制,满足不同应用的需求。
2.精确性:单片机具有较高的计算精度和稳定性,可以实现高精度、高稳定的波形输出,对科学研究和实验等场景要求较高的精度非常适用。
3.可编程性:单片机可通过编程实现波形的自动调控和参数的动态变化,使波形发生器具备更高的灵活性和实用性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三种基于HCS12定时器的PWM波形发生器的设计冯道宁 1 2刘昭度1叶阳1(1北京理工大学机械与车辆工程学院 100081)( 2广西机电职业技术学院电气工程系 530007)摘要:在车辆ASR系统开发中,提出了基于HCS12单片机增强型定时器复用I/O输出PWM信号的开发方案,解决了由于硬件限制导致PWM输出通道的不足的问题。
文章介绍了单片机增强定时器通过输出比较寄存器、输出比较中断、TCNT输出翻转实现PWM波形输出的三种方法,详述了各方法中重要寄存器的设置和逻辑对应关系,并给出了相应的波形输出图和程序流程图,通过理论分析和实验结果探讨了不同设计方案的优缺点。
关键词:PWM ;输出比较寄存器;占空比; TCNT中图文分类号:TP368.12 文献标识码:BThree Designs of PWM Generator Based on HCS12 TimerFeng Dao-ning1 2 ,Liu Zhao-du1 ,Ye Yang1(1 School of Mechanical and Vehicular Engineering , Beijing Institute of Technology Beijing 100081 China; 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 ; TCNT1.引言摩托罗拉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中断时间等,因此不宜进行修改。