




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例合肥工业大学合肥工业大学机械与汽车工程学院机械与汽车工程学院滕滕 勤勤2014.42014.4基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例本章内容本章内容p 7.1 PWM7.1 PWM模块概述模块概述p 7.2 PWM7.2 PWM模块结构和特点模块结构和特点p 7.3 PWM7.3 PWM模块工作原理模块工作原理p 7.4 PWM7.4 PWM模块寄存器及设置模块寄存器及设置p 7.5 PWM7.5 PWM模块基础应用实例模
2、块基础应用实例p 7.6 7.6 智能车系统中智能车系统中PWMPWM模块的应用模块的应用基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.1 PWM7.1 PWM模块概述模块概述p 【脉冲宽度调制【脉冲宽度调制(P Pulseulse W Widthidth M Modulateodulate,PWMPWM】通过软件编程来调节波通过软件编程来调节波形的占空比和周期,以产生精确的输出脉冲序列。形的占空比和周期,以产生精确的输出脉冲序列。7.1.1 PWM7.1.1 PWM信号的产生方法信号的产生方法p 利用单片机实现利用单片机实现PW
3、MPWM波的方法:波的方法:利用软件延时利用软件延时p 通过指令构成程序循环,在不同的循环结束时,改变通过指令构成程序循环,在不同的循环结束时,改变I/OI/O口的电平。口的电平。【缺点【缺点】极大地占用了极大地占用了CPUCPU资源,而且不易产生精确的脉冲序列。资源,而且不易产生精确的脉冲序列。利用利用输出比较功能或模数递减计数器输出比较功能或模数递减计数器p 通过软件编程,任意设定高、低电平的时间常数,输出通过软件编程,任意设定高、低电平的时间常数,输出PWMPWM脉冲信号。脉冲信号。【缺点【缺点】由于需要重置计数初值,在一定程度上占用由于需要重置计数初值,在一定程度上占用CPUCPU的时
4、间。的时间。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.1 PWM7.1 PWM模块概述模块概述7.1.1 PWM7.1.1 PWM信号的产生方法信号的产生方法利用内置的利用内置的PWMPWM模块模块p 单片机内部集成的单片机内部集成的PWMPWM模块专门用于输出模块专门用于输出PWMPWM信号。信号。 【优点【优点】基本上不占用基本上不占用CPUCPU资源。资源。7.1.2 7.1.2 微控制器微控制器PWMPWM模块的用途模块的用途p 【应用场合【应用场合】工业控制和消费类机电产品。工业控制和消费类机电产品。 【D/AD/A
5、转换转换】与一个低通滤波器配合,输出一个与脉宽成正比的直流电压。与一个低通滤波器配合,输出一个与脉宽成正比的直流电压。 【开关量控制【开关量控制】 【变频调速【变频调速】利用利用PWMPWM模块产生不同频率的电压信号,调节交流电动机的模块产生不同频率的电压信号,调节交流电动机的转速,常用于变频器、变频空调、节能冰箱等。转速,常用于变频器、变频空调、节能冰箱等。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.1 PWM7.1 PWM模块概述模块概述7.1.2 PWM7.1.2 PWM模块的用途模块的用途 【平均电流或电压控制【平均电流
6、或电压控制】直流电动机调速直流电动机调速灯光亮度调节灯光亮度调节比例电磁阀控制比例电磁阀控制电喷汽油机的怠速控制阀、电喷汽油机的怠速控制阀、EGREGR控制阀、控制阀、VVTVVT机构机油机构机油压力控制阀,高压共轨柴油机的压力控制阀,高压共轨柴油机的PCRPCR阀、阀、VNTVNT增压压力调节阀等。增压压力调节阀等。 直流伺服电动机控制直流伺服电动机控制航模或智能小车的舵机控制,发动机节气门调节,航模或智能小车的舵机控制,发动机节气门调节,无人机机翼调节,无人自动驾驶汽车的方向盘控制等。无人机机翼调节,无人自动驾驶汽车的方向盘控制等。 【控制命令字编码【控制命令字编码】无线遥控车的控制,通信
7、编码,电视机、空调的遥控部分。无线遥控车的控制,通信编码,电视机、空调的遥控部分。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.2 PWM7.2 PWM模块结构和特点模块结构和特点p MC9S12DG128MC9S12DG128单片机的单片机的PWMPWM模块与端口模块与端口P P共享引脚。共享引脚。p 当当PWMPWM功能激活后,功能激活后,P P口对应引脚的通口对应引脚的通用用I/OI/O功能自动关闭。功能自动关闭。PWMPWM功能未启用功能未启用时,相应的引脚可用作通用时,相应的引脚可用作通用I/OI/O口。口。【PWMPW
8、M模块特点模块特点】p 工作频率高工作频率高当振荡器频率为当振荡器频率为16MHz16MHz时,时,PWMPWM模块的最高时钟频率可达模块的最高时钟频率可达25MHz25MHz。p 占空比可调范围宽占空比可调范围宽占空比调节范占空比调节范围围0 0100%100%。p 分辨率高分辨率高最高分辩能力达最高分辩能力达0.15%0.15%。有效有效时间时间无效无效时间时间周周期期平均值平均值0 %10 %50 %90 %99 %周期有效时间占空比 基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.2.1 PWM7.2.1 PWM模块功能模块
9、功能【组成【组成】p时钟源、预分频器、时钟时钟源、预分频器、时钟选择开关、分频器和时钟选择开关、分频器和时钟控制电路、控制电路、PWMPWM通道、使通道、使能控制、极性选择、对齐能控制、极性选择、对齐方式选择以及对应的输出方式选择以及对应的输出引脚。引脚。 7.2 PWM7.2 PWM模块结构和特点模块结构和特点基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.2.1 PWM7.2.1 PWM模块功能模块功能【组成【组成】p 8 8路路8 8位独立的位独立的PWMPWM通道,通道,通过相应的设置也可以通过相应的设置也可以变为变为4 4
10、个个1616位位PWMPWM通道。通道。p 每个每个PWMPWM通道由独立运行通道由独立运行的的8 8位双向脉冲计数器位双向脉冲计数器PWMCNTPWMCNT、周期比较寄存、周期比较寄存器器PWMPERPWMPER和占空比比较和占空比比较寄存器寄存器PWMDTYPWMDTY等组成。等组成。7.2 PWM7.2 PWM模块结构和特点模块结构和特点基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.2.1 PWM7.2.1 PWM模块功能模块功能p 【设置【设置】由周期寄存器和占空比寄存器确定由周期寄存器和占空比寄存器确定PWMPWM波形的
11、输出波形的输出周期和占空比周期和占空比。由极性寄存器由极性寄存器PWMPOLPWMPOL选择选择PWMPWM输出波形的输出波形的极性极性。由对齐方式选择寄存器。由对齐方式选择寄存器PWMCAEPWMCAE选择选择PWMPWM输出波形的输出波形的对齐方式对齐方式。p 【复位【复位】复位后复位后8 8位加位加/ /减脉冲计数器被设置为减脉冲计数器被设置为递增计数递增计数,所有通道禁止,所有通道禁止,即所有计数器不计数。即所有计数器不计数。p 【紧急关闭【紧急关闭】PWMPWM通道通道7 7除了用于波形输出外,还作为紧急关闭功能的输入。除了用于波形输出外,还作为紧急关闭功能的输入。p 【中断【中断】
12、PWMPWM模块只有一个中断源,在紧急关闭时产生。模块只有一个中断源,在紧急关闭时产生。若若PWMPWM关闭寄存器关闭寄存器PWMSDNPWMSDN中的中断允许位中的中断允许位PWMIEPWMIE置位,且紧急关闭允许置位,且紧急关闭允许(PWMSDNPWMSDN中的控制位中的控制位PWM7ENA=1PWM7ENA=1),当),当PWM7PWM7通道出现规定的紧急关闭有效通道出现规定的紧急关闭有效电平(由电平(由PWM7ILPWM7IL位决定低电平或高电平)时,中断标志位决定低电平或高电平)时,中断标志PWMIFPWMIF置位,向置位,向CPUCPU提出中断请求。提出中断请求。基于HCS12的嵌
13、入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.2 PWM7.2 PWM模块结构和特点模块结构和特点7.2.2 PWM7.2.2 PWM模块基本特性模块基本特性p 具有周期和占空比可编程的具有周期和占空比可编程的8 8个独立个独立PWMPWM通道;通道;p 每个每个PWMPWM通道具有独立的计数器;通道具有独立的计数器;p 每个通道可编程允许每个通道可编程允许/ /禁止禁止PWMPWM功能;功能;p 每个通道可软件选择每个通道可软件选择PWMPWM脉冲极性;脉冲极性;p 具有双缓冲的周期和占空比寄存器,当到达有效周期终点(具有双缓冲的周期和占空比寄存
14、器,当到达有效周期终点(PWMPWM到达到达0 0)或)或通道禁止时,修改值生效;通道禁止时,修改值生效;p 每个通道可编程中心对齐或左对齐输出;每个通道可编程中心对齐或左对齐输出;p 4 4个时钟源(个时钟源(A A、B B、SASA和和SBSB)提供宽带频率,可编程的时钟选择逻辑;)提供宽带频率,可编程的时钟选择逻辑;p 紧急关闭。紧急关闭。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.2 PWM7.2 PWM模块结构和特点模块结构和特点7.2.3 7.2.3 操作模式操作模式p【正常工作模式【正常工作模式】如果如果PWMPW
15、M模块使能,模块使能,PWMPWM连续不断地工作。如果连续不断地工作。如果8 8个通道都被禁止个通道都被禁止(PWME7(PWME7PWME0 =0)PWME0 =0),为了节电,预分频器计数器被关闭。,为了节电,预分频器计数器被关闭。p【等待模式【等待模式】等待模式下,如果等待模式下,如果PWMPWM控制寄存器控制寄存器PWMCTLPWMCTL中的中的PSWAIPSWAI位位=0=0,PWMPWM可以连续不可以连续不断地工作。断地工作。如果如果PWMCTLPWMCTL寄存器中的寄存器中的PSWAIPSWAI位位=1=1,通过禁止预分频器的输入时钟,可以,通过禁止预分频器的输入时钟,可以实现低
16、功耗,此时实现低功耗,此时PWMPWM不工作,不工作,PWMPWM输出保持静态输出保持静态( (高或低高或低) )。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.2 PWM7.2 PWM模块结构和特点模块结构和特点7.2.3 7.2.3 操作模式操作模式p【冻结模式【冻结模式】在冻结模式下,在冻结模式下,PWMPWM可以继续工作。可以继续工作。通过设置通过设置PWMCTLPWMCTL寄存器中的寄存器中的PFRZPFRZ位,可以选择禁止预分频器的时钟输入。位,可以选择禁止预分频器的时钟输入。即,如果即,如果PFRZ=1PFRZ=1,
17、只要,只要MCUMCU处于冻结模式,预分频器的输入时钟被禁止。处于冻结模式,预分频器的输入时钟被禁止。为了重新激活预分频器时钟,设置为了重新激活预分频器时钟,设置PFRZ=0PFRZ=0或退出冻结模式。或退出冻结模式。p【停止模式【停止模式】在停止模式下,由于从在停止模式下,由于从IPIP总线到模块的所有时钟停止,因此,总线到模块的所有时钟停止,因此,PWMPWM模块模块停止工作,停止工作,PWMPWM输出保持静态输出保持静态( (高或低高或低) )。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3 PWM7.3 PWM模块的工作
18、原理模块的工作原理【PWMPWM模块工作原理模块工作原理】p PWMPWM模块工作时,对应有效电平宽度的计数值存放在占空比寄存器中,对模块工作时,对应有效电平宽度的计数值存放在占空比寄存器中,对应脉冲周期的计数值存放在周期寄存器中。每个通道波形开始的电平由极应脉冲周期的计数值存放在周期寄存器中。每个通道波形开始的电平由极性选择寄存器性选择寄存器PWMPOLPWMPOL中的中的PPOLxPPOLx位决定(例如高电平)。位决定(例如高电平)。p PWMPWM启动后,开始一个输出周期,计数器从启动后,开始一个输出周期,计数器从0 0开始对时钟脉冲进行计数。当计数值开始对时钟脉冲进行计数。当计数值等于
19、占空比寄存器中的预置值时,占空比比较器输出有效,输出控制电路使引脚等于占空比寄存器中的预置值时,占空比比较器输出有效,输出控制电路使引脚电平变为规定的极性(例如低电平),计数器继续计数。当计数值等于周期寄存电平变为规定的极性(例如低电平),计数器继续计数。当计数值等于周期寄存器中的预置值时,周期比较器输出有效,输出控制电路使引脚电平反向(例如高器中的预置值时,周期比较器输出有效,输出控制电路使引脚电平反向(例如高电平),同时复位计数器,开始下一个输出周期。电平),同时复位计数器,开始下一个输出周期。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及
20、其应用实例7.3 PWM7.3 PWM模块的工作原模块的工作原理理7.3.1 PWM7.3.1 PWM时钟的产生时钟的产生p【时钟电路组成【时钟电路组成】时钟时钟输入控制、预分频器、输入控制、预分频器、分频器和时钟选择电路。分频器和时钟选择电路。【PWMPWM预分频器输入时钟预分频器输入时钟】总线时钟总线时钟ECLKECLK。由。由PWMPWM控控制寄存器制寄存器PWMCTLPWMCTL中的中的PFRZPFRZ位、位、PWMPWM允许寄存器允许寄存器中的中的8 8位位PWME7PWME7PWME0PWME0以以及冻结模式信号控制。及冻结模式信号控制。基于HCS12的嵌入式系统设计第第7 7章章
21、 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.1 PWM7.3.1 PWM时钟的产生时钟的产生p当当MCUMCU处于冻结模式处于冻结模式( (冻冻结模式信号激活,结模式信号激活,Freeze Mode Signal=1)Freeze Mode Signal=1)时,如果冻结模式时,如果冻结模式PWMPWM停止位停止位PFRZ=1PFRZ=1,则禁止,则禁止总线时钟输入。总线时钟输入。p当所有当所有8 8个个PWMPWM通道被禁通道被禁止止(PWME7(PWME7PWME0=0)PWME0=0)时,时,也禁止总线时钟输入。也禁止总线时钟输入。基于HCS12的嵌入式系统设计
22、第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.1 PWM7.3.1 PWM时钟的产生时钟的产生【预分频【预分频】p 【PWMPWM模块时钟源模块时钟源】Clock AClock A、Clock BClock B、Clock SAClock SA和和Clock Clock SBSB。p Clock AClock A和和Clock BClock B由预分频由预分频器对总线时钟分频得到。器对总线时钟分频得到。p Clock AClock A和和Clock BClock B的分频因的分频因子分别由子分别由PWMPWM预分频时钟选择预分频时钟选择寄存器寄存器PWMP
23、RCLKPWMPRCLK中的中的PCKA2PCKA2、PCKA1PCKA1、PCKA0PCKA0和和PCKB2PCKB2、PCKB1PCKB1、PCKB0PCKB0位确定,分频位确定,分频系数系数1 11/1281/128。PCKAECLKClockA2/ffPCKBECLKClockB2/ff基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.1 PWM7.3.1 PWM时钟的产生时钟的产生【时钟分频【时钟分频】p 一个一个8 8位重装载递减计数位重装载递减计数器从分频寄存器器从分频寄存器(PWMSCLA)(PWMSCLA)装入用
24、户编程的分频值,装入用户编程的分频值,对对Clock AClock A再次分频。再次分频。p 当递减计数器等于当递减计数器等于1 1时,时,发生两件事:发生两件事:脉冲输出脉冲输出和和8 8位计数器重装载位计数器重装载。计数。计数器电路输出信号进一步器电路输出信号进一步2 2分频,得到分频,得到Clock SAClock SA,分,分频比为频比为2 2,4 4,6 6,8 8,512512。Clock SA = ClockA/(2 PWMSCLA)基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3 PWM7.3 PWM模块的工作原模
25、块的工作原理理7.3.1 PWM7.3.1 PWM时钟的产生时钟的产生【时钟分频【时钟分频】pClock BClock B由另一个重装载由另一个重装载计数器再次分频,然后计数器再次分频,然后再除以再除以2 2,得到,得到Clock SBClock SB,分频比为分频比为2 2,4 4,6 6,8 8,512512。p重装载计数器的分频比重装载计数器的分频比由由PWMPWM比例因子寄存器比例因子寄存器B B(PWMSCLBPWMSCLB)决定。)决定。Clock SB = Clock B/ (2 PWMSCLB)基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉
26、宽调制模块及其应用实例7.3 PWM7.3 PWM模块的工作原模块的工作原理理7.3.1 PWM7.3.1 PWM时钟的产生时钟的产生【时钟选择【时钟选择】p每个每个PWMPWM通道可以选择两通道可以选择两个时钟之一,预分频时个时钟之一,预分频时钟钟(Clock A(Clock A或或Clock B)Clock B)或分频后的时钟或分频后的时钟(Clock (Clock SASA或或Clock SB)Clock SB)。p用用PWMCLKPWMCLK寄存器中的寄存器中的PCLKxPCLKx控制位选择时钟。控制位选择时钟。通道通道0 0、1 1、4 4和和5 5,只,只能选择时钟能选择时钟Clo
27、ck AClock A或或Clock SAClock SA。通道通道2 2、3 3、6 6和和7 7,只能选择时钟只能选择时钟Clock Clock B B或或Clock SBClock SB。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3 PWM7.3 PWM模块的工作原理模块的工作原理7.3.2 PWM7.3.2 PWM通道定时器通道定时器pPWMPWM模块的核心模块的核心通道定时器。通道定时器。【定时器通道组成【定时器通道组成】1 1个通道计数器个通道计数器PWMCNTxPWMCNTx1 1个周期寄存器个周期寄存器PWMP
28、ERxPWMPERx1 1个占空比寄存器个占空比寄存器PWMDTYxPWMDTYx(每个寄存器为(每个寄存器为8 8位)。位)。p波形输出周期波形输出周期由周期寄存器和通道计数器的数值协调控制。由周期寄存器和通道计数器的数值协调控制。p占空比占空比由占空比寄存器和通道计数器值协调控制。由占空比寄存器和通道计数器值协调控制。p用户可以选择波形输出的用户可以选择波形输出的对齐方式对齐方式和每个通道开始输出的和每个通道开始输出的极性极性。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.2 PWM7.3.2 PWM通道定时器通道定时器【
29、PWMPWM的使能的使能】p 每个每个PWMPWM通道有通道有1 1个启动个启动波形输出的使能位波形输出的使能位PWMExPWMEx。当当PWMExPWMEx=0=0时,通道禁止,时,通道禁止,控制门关闭,通道计数器控制门关闭,通道计数器不计数;不计数;当当PWMExPWMEx=1=1时,控制门打时,控制门打开,允许时钟送到开,允许时钟送到PWMPWM电电路,同时,输出多路转换路,同时,输出多路转换器切换,立即使能相应的器切换,立即使能相应的PWMPWM输出输出。PWMPWM定时器通道框图定时器通道框图 基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制
30、模块及其应用实例p每个每个PWMPWM通道有一个极性控制位通道有一个极性控制位PPOLxPPOLx,用来选择,用来选择PWMPWM输出触发输出触发器器Q Q端输出或端输出或/Q/Q端输出,决定波端输出,决定波形周期开始时的电平。形周期开始时的电平。p当极性选择寄存器当极性选择寄存器PWMPOLPWMPOL中的中的极性选择位极性选择位PPOLxPPOLx=1=1时,时,PWMPWM波波形开始为高电平,占空比寄存形开始为高电平,占空比寄存器中的数值代表高电平的持续器中的数值代表高电平的持续时间。时间。p如果极性选择位如果极性选择位PPOLxPPOLx=0=0,开始,开始时输出为低电平,占空比寄存时
31、输出为低电平,占空比寄存器中的数值代表低电平的持续器中的数值代表低电平的持续时间。时间。PWMPWM定时器通道框图定时器通道框图 7.3.2 PWM7.3.2 PWM通道定时器通道定时器【PWMPWM的极性选择的极性选择】基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.2 PWM7.3.2 PWM通道定时器通道定时器【PWMPWM周期和占空比周期和占空比】p每个每个PWMPWM通道的周期寄存器通道的周期寄存器PWMPERxPWMPERx和占空比寄存器和占空比寄存器PWMDTYxPWMDTYx都是双缓冲的,当改变都是双缓冲的,当改
32、变寄存器中的数值后,出现下列情况之一时才生效:寄存器中的数值后,出现下列情况之一时才生效:当前有效周期结束;当前有效周期结束;写计数寄存器(计数器复位到写计数寄存器(计数器复位到$00$00););通道被禁止。通道被禁止。p【写操作【写操作】如果如果PWMPWM通道被禁止,写周期寄存器和占空比寄存器时,数值将保存到对应的锁存通道被禁止,写周期寄存器和占空比寄存器时,数值将保存到对应的锁存器和缓冲器中。器和缓冲器中。当通道被禁止时,向周期寄存器写当通道被禁止时,向周期寄存器写0 0,将导致下一个时钟到来时刻计数器复位。,将导致下一个时钟到来时刻计数器复位。通过向占空比寄存器或周期寄存器写入新的数
33、值,然后写计数器,可以通过向占空比寄存器或周期寄存器写入新的数值,然后写计数器,可以“立即立即”强制占空比或周期变化。因为这将迫使计数器复位,并且锁存新的占空比或周期强制占空比或周期变化。因为这将迫使计数器复位,并且锁存新的占空比或周期值。值。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.2 PWM7.3.2 PWM通道定时器通道定时器【PWMPWM定时器的计数器定时器的计数器】每个每个PWMPWM通道有一个专用的通道有一个专用的8 8位加位加/ /减计数器减计数器PWMCNTxPWMCNTx。PWMPWM通道使能后,通道使能
34、后,计数器计数器PWMCNTxPWMCNTx按选定的时钟源速率工作。按选定的时钟源速率工作。当当PWMPWM通道计数器工作时,如果相应的通道计数器工作时,如果相应的PWMPWM通道被禁止(通道被禁止(PWMEx=0PWMEx=0),则),则计数器计数器PWMCNTxPWMCNTx停止计数;停止计数;当相应的当相应的PWMPWM通道重新变为允许时(通道重新变为允许时(PWMExPWMEx=1=1),计数器从),计数器从PWMCNTxPWMCNTx寄存寄存器中的计数值开始,继续计数,在上一次停止处继续输出波形。器中的计数值开始,继续计数,在上一次停止处继续输出波形。p读通道计数器读通道计数器 在任
35、何时刻可以读取每个通道计数器中的数值,不会影响计数器和在任何时刻可以读取每个通道计数器中的数值,不会影响计数器和PWMPWM通通道的工作。道的工作。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3 PWM7.3 PWM模块的工作原理模块的工作原理7.3.2 PWM7.3.2 PWM通道定时器通道定时器【PWMPWM定时器的计数器定时器的计数器】p 写通道计数器写通道计数器 向计数器写任何值都将使计数器复位到向计数器写任何值都将使计数器复位到$00$00,并将计数器设置为递增计数,并将计数器设置为递增计数,同时,立即将缓冲器中的数值
36、装入占空比寄存器和周期寄存器,然后根同时,立即将缓冲器中的数值装入占空比寄存器和周期寄存器,然后根据极性选择位改变输出电平。据极性选择位改变输出电平。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3 PWM7.3 PWM模块的工作原理模块的工作原理7.3.3 PWM7.3.3 PWM输出方式输出方式p 【输出类型选择【输出类型选择】左对齐输出左对齐输出和和居中对齐输出居中对齐输出,由,由PWMPWM居中对居中对齐允许寄存器齐允许寄存器PWMCAEPWMCAE中的中的CAExCAEx位决定。位决定。根据选择的输出模式(左对齐或居中对
37、齐),根据选择的输出模式(左对齐或居中对齐),PWMPWM计数器与周计数器与周期寄存器的匹配情况不同:期寄存器的匹配情况不同:在在左对齐输出模式左对齐输出模式下,计数器从下,计数器从0 0开始递增计数,直到等于开始递增计数,直到等于PWMPWM周期寄存器的值,在有效周期结束时,计数器被清周期寄存器的值,在有效周期结束时,计数器被清0 0。在在居中对齐输出模式居中对齐输出模式下,计数器从下,计数器从0 0开始开始先递增计数先递增计数,当等于,当等于PWMPWM周期寄存器的值后,周期寄存器的值后,再递减计数再递减计数,直至回到,直至回到0 0。基于HCS12的嵌入式系统设计第第7 7章章 S12S
38、12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.3 PWM7.3.3 PWM输出方式输出方式【左对齐输出方式【左对齐输出方式】p当当PWMPWM居中对齐允许寄存器居中对齐允许寄存器PWMCAEPWMCAE中的控制位中的控制位CAEx=0CAEx=0时,时,PWMPWM通道被设置成通道被设置成左对齐输出方式。此时,左对齐输出方式。此时,8 8位计数器位计数器PWMCNTxPWMCNTx只能被设置成只能被设置成循环递增计数循环递增计数。p 当当CAEX=0CAEX=0时,产生三个动作:时,产生三个动作:(1 1)复位计数器前的)复位计数器前的T T触发器,使其触发器,使其输出输出Q=0
39、Q=0,计数器,计数器PWMCNTxPWMCNTx设置成递增计设置成递增计数;数;(2 2)通过一个与门使计数器前的触)通过一个与门使计数器前的触发器的发器的T T端置端置0 0,使,使Q Q端电平保持不变;端电平保持不变;(3 3)打开上面的与门,这样,当到)打开上面的与门,这样,当到达一个周期的计数终点时,允许周期比达一个周期的计数终点时,允许周期比较器复位计数器较器复位计数器PWMCNTxPWMCNTx和输出和输出T T触发器。触发器。 基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.3 PWM7.3.3 PWM输出方式输
40、出方式【左对齐输出方式【左对齐输出方式】PWMEx=1PWMEx=1时,产生两个动作:时,产生两个动作:(1 1)将控制门打开,允许时钟输入;(将控制门打开,允许时钟输入;(2 2)切换输出多路转换器,关闭切换输出多路转换器,关闭P P口的通用口的通用I/OI/O功能,允许功能,允许PWMPWM脉冲输出。脉冲输出。p 输出波形的初始电平由输出波形的初始电平由PWMPWM极性寄存器极性寄存器PWMPOLPWMPOL中的极中的极性选择位性选择位PPOLxPPOLx定义,决定定义,决定波形由输出波形由输出T T触发器的触发器的Q Q端端输出或输出或/Q/Q端输出。端输出。p PWMPWM启动后,计数
41、器启动后,计数器PWMCNTxPWMCNTx从从0 0开始递增计数,开始递增计数,开始一个输出周期。开始一个输出周期。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.3 PWM7.3.3 PWM输出方式输出方式【左对齐输出方式【左对齐输出方式】p当计数值等于占空比寄存器当计数值等于占空比寄存器PWMDTYxPWMDTYx中的设定值时,占空比比较器输出中的设定值时,占空比比较器输出高电平,使输出高电平,使输出T T触发器翻转,触发器翻转,PWMPWM波形改变状态。此时,波形改变状态。此时,PWMCNTxPWMCNTx继续继续计数。
42、计数。 p当计数值等于周期寄存器当计数值等于周期寄存器PWMPERxPWMPERx中中的设定值时,周期比较器输出高电的设定值时,周期比较器输出高电平,上面的与门输出为高电平,计平,上面的与门输出为高电平,计数器数器PWMCNTxPWMCNTx和输出和输出T T触发器复零,触发器复零,PWMPWM波形再次变化。同时,占空比寄波形再次变化。同时,占空比寄存器存器PWMDTYxPWMDTYx和周期计数器和周期计数器PWMPERxPWMPERx均复零,结束一个输出周期。均复零,结束一个输出周期。 基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例
43、【左对齐输出方式【左对齐输出方式】p然后,从相应的缓冲器重新装载周期然后,从相应的缓冲器重新装载周期寄存器和占空比寄存器的设定值,寄存器和占空比寄存器的设定值,PWMCNTxPWMCNTx重新开始计数,开始一个新重新开始计数,开始一个新的输出周期。的输出周期。【通道输出频率【通道输出频率】vPWMPWMX X频率时钟频率时钟(A(A、B B、SASA或或 SB)/PWMPERSB)/PWMPERX X【PWMPWMX X占空比占空比】高电平时间占周期的百高电平时间占周期的百分比分比v极性极性0(PPOLx=0)0(PPOLx=0)时,时,v极性极性=1(PPOLx=1)=1(PPOLx=1)时
44、,时, 100%PWMPERPWMDTYPWMPER占空比XXX100%PWMPERPWMDTY占空比XX基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3 PWM7.3 PWM模块的工作原理模块的工作原理7.3.3 PWM7.3.3 PWM输出方式输出方式【居中对齐输出【居中对齐输出】当当PWMPWM居中对齐允许寄存器居中对齐允许寄存器PWMCAEPWMCAE中的控制位中的控制位CAEx=1CAEx=1时,时,PWMPWM通道被设置为居中对齐输出方式。通道被设置为居中对齐输出方式。在这种模式下,在这种模式下,8 8位计数器位计数器
45、PWMCNTxPWMCNTx是是双向计数器双向计数器,既做加法,既做加法计数,也做减法计数。计数,也做减法计数。只要计数器的值等于只要计数器的值等于$00$00,便设置,便设置PWMCNTxPWMCNTx为为递增计数递增计数。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.3 PWM7.3.3 PWM输出方式输出方式【居中对齐输出【居中对齐输出】p当当CAEx=1CAEx=1时,产生两个动作:时,产生两个动作:打开计数器前打开计数器前T T触发器触发器T T端相连的端相连的与门,当计数值等于周期寄存器与门,当计数值等于周期寄存器
46、PWMPERxPWMPERx中的设定值时,允许周期中的设定值时,允许周期比较器输出的高电平使触发器翻比较器输出的高电平使触发器翻转,改变计数器的计数方向;转,改变计数器的计数方向;关闭上面的与门,当计数值等于关闭上面的与门,当计数值等于周期寄存器周期寄存器PWMPERxPWMPERx中的设定值时,中的设定值时,禁止周期比较器复位计数器禁止周期比较器复位计数器PWMCNTxPWMCNTx和输出和输出T T触发器,以便计触发器,以便计数器变为递增计数时,仍保持原数器变为递增计数时,仍保持原来的输出电平。来的输出电平。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例
47、脉宽调制模块及其应用实例7.3.3 PWM7.3.3 PWM输出方式输出方式【居中对齐输出【居中对齐输出】p当控制位当控制位PWMEx=1PWMEx=1时,控制门被时,控制门被打开,允许时钟输入。同时,输打开,允许时钟输入。同时,输出多路转换器允许出多路转换器允许PWMPWM脉冲输出,脉冲输出,关闭关闭P P口的通用口的通用I/OI/O功能。功能。p极性选择位极性选择位PPOLxPPOLx控制多路转换控制多路转换器切换,使波形由输出器切换,使波形由输出T T触发器触发器的的Q Q端或端或/Q/Q端输出,定义输出波端输出,定义输出波形的初始电平。形的初始电平。pPWMPWM启动后,计数器启动后,
48、计数器PWMCNTxPWMCNTx从从0 0递增计数,开始一个输出周期。递增计数,开始一个输出周期。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.3 PWM7.3.3 PWM输出方式输出方式【居中对齐输出【居中对齐输出】p当计数值等于占空比寄存器当计数值等于占空比寄存器PWMDTYxPWMDTYx中的设定值时,占空比比较器输出高中的设定值时,占空比比较器输出高电平,使输出电平,使输出T T触发器翻转,触发器翻转,PWMPWM波形波形改变状态。此时,改变状态。此时,PWMCNTxPWMCNTx继续计数。继续计数。p当计数值等于周
49、期寄存器当计数值等于周期寄存器PWMPERxPWMPERx中的设中的设定值时,周期比较器输出高电平,计数器定值时,周期比较器输出高电平,计数器前前T T触发器触发器T T端输入为端输入为1 1,则触发器翻转,则触发器翻转,计数器计数器PWMCNTxPWMCNTx改变方向,从递增计数变改变方向,从递增计数变为递减计数。为递减计数。p由于此时由于此时CAEx=1CAEx=1,上面的与门输出仍为低,上面的与门输出仍为低电平,禁止周期比较器复位计数器电平,禁止周期比较器复位计数器PWMCNTxPWMCNTx和输出和输出T T触发器,输出触发器,输出T T触发器仍触发器仍保持原来的输出电平。保持原来的输
50、出电平。 基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.3 PWM7.3.3 PWM输出方式输出方式【居中对齐输出【居中对齐输出】p当计数值递减到等于占空比寄存器当计数值递减到等于占空比寄存器PWMDTYxPWMDTYx中的设定值时,占空比比较中的设定值时,占空比比较器又一次输出高电平,输出触发器再器又一次输出高电平,输出触发器再次翻转,次翻转,PWMPWM输出也改变状态。此时,输出也改变状态。此时,PWMCNTxPWMCNTx仍然继续计数。仍然继续计数。p当计数值递减到当计数值递减到0 0时,结束一个输出时,结束一个输出周期
51、。同时,计数器周期。同时,计数器PWMCNTxPWMCNTx、占空、占空比寄存器比寄存器PWMDTYxPWMDTYx和周期寄存器和周期寄存器PWMPERxPWMPERx均复位,计数器方向从递减均复位,计数器方向从递减计数变回到递增计数。随后,从相应计数变回到递增计数。随后,从相应的缓冲器装载周期寄存器和占空比寄的缓冲器装载周期寄存器和占空比寄存器,存器,PWMCNTxPWMCNTx重新开始计数,开始重新开始计数,开始一个新的输出周期。一个新的输出周期。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.3 PWM7.3.3 PWM输
52、出方式输出方式【居中对齐输出【居中对齐输出】p居中对齐输出模式下,计数器从居中对齐输出模式下,计数器从0 0递增计数到周期寄存器中的值,然后递减计数到递增计数到周期寄存器中的值,然后递减计数到0 0。p【有效周期【有效周期】2 2 PWMPERxPWMPERxp【通道输出频率【通道输出频率】PWMxPWMx频率时钟频率时钟(A(A、B B、SASA或或 SB)/(2SB)/(2 PWMPERx)PWMPERx)p【PWMxPWMx占空比占空比】高电平时间占周期的百分比高电平时间占周期的百分比p极性极性0 (PPOLx0 (PPOLx=0)=0)时,时,p极性极性=1(PPOLx=1)=1(PP
53、OLx=1)时,时,【注意【注意】当通道正在运行时当通道正在运行时, ,将将PWMPWM的输出模式从左对齐输出模式改为居中对齐输的输出模式从左对齐输出模式改为居中对齐输出模式,可能使出模式,可能使PWMPWM输出不规则,反之亦然。输出不规则,反之亦然。【建议【建议】在在PWMPWM通道使能前,编程输出模式。通道使能前,编程输出模式。100%PWMPERPWMDTYPWMPER占空比XXX100%PWMPERPWMDTY占空比XX基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.4 7.3.4 通道级联通道级联p S12S12单片机
54、允许将单片机允许将2 2个个8 8位位PWMPWM通道级联构成通道级联构成1 1个个1616位位PWMPWM通道,以获得更高的通道,以获得更高的PWMPWM输出精度。输出精度。p 8 8个通道个通道分为分为4 4组组,分别为:,分别为:PWM0PWM0和和PWM1PWM1、PWM2PWM2和和PWM3PWM3、PWM4PWM4和和PWM5PWM5、PWM6PWM6和和PWM7PWM7。【通道级联控制【通道级联控制】p 通道级联由通道级联由PWMPWM控制寄存器控制寄存器PWMCTLPWMCTL中的中的4 4个控制个控制位位CONxyCONxy选择,其中选择,其中x=0 x=0、2 2、4 4、
55、6 6,y=1y=1、3 3、5 5、7 7。p 【注意【注意】如果需要级联的两个通道中任意一个如果需要级联的两个通道中任意一个正在工作,必须先禁止其工作,然后再级联。正在工作,必须先禁止其工作,然后再级联。只有当两个相应的通道都禁止时,才能改变这只有当两个相应的通道都禁止时,才能改变这些控制位。些控制位。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.4 7.3.4 通道级联通道级联【级联后的寄存器和计数器【级联后的寄存器和计数器】p2 2个通道的占空比寄存器、周期寄存个通道的占空比寄存器、周期寄存器和计数器均连接成器和计数器
56、均连接成1616位的寄存器,位的寄存器,通道通道1 1、3 3、5 5、7 7的寄存器作为低位字的寄存器作为低位字节,通道节,通道0 0、2 2、4 4、6 6的寄存器作为高的寄存器作为高位字节。位字节。p在级联模式下,按在级联模式下,按1616位方式写位方式写1616位计位计数器或者单独写计数器的低位或高位数器或者单独写计数器的低位或高位字节都将使字节都将使1616位计数器复位。位计数器复位。p为了保持数据的一致性,读为了保持数据的一致性,读1616位计数位计数器必须按器必须按1616位方式访问。位方式访问。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉
57、宽调制模块及其应用实例7.3.4 7.3.4 通道级联通道级联【级联后的输出引脚【级联后的输出引脚】p级联后的级联后的1616位通道输出分别使位通道输出分别使用低用低8 8位通道(通道位通道(通道1 1、3 3、5 5、7 7)的引脚,高的引脚,高8 8位通道(通道位通道(通道0 0、2 2、4 4、6 6)的引脚变成通用)的引脚变成通用I/OI/O引脚。引脚。【级联后的时钟源【级联后的时钟源】p4 4个个1616位通道的时钟源分别由低位通道的时钟源分别由低8 8位通道(通道位通道(通道1 1、3 3、5 5、7 7)的)的时钟选择控制位决定,高时钟选择控制位决定,高8 8位通位通道(通道道(
58、通道0 0、2 2、4 4、6 6)的时钟)的时钟选择没有意义。选择没有意义。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3 PWM7.3 PWM模块的工作原理模块的工作原理7.3.4 7.3.4 通道级联通道级联【级联后的使能控制【级联后的使能控制】p 一旦一旦PWMPWM控制寄存器控制寄存器PWMCTLPWMCTL中的控制位中的控制位CONxy=1CONxy=1,允许级联模式,则相应的,允许级联模式,则相应的1616位位PWMPWM通道允许或禁止由低通道允许或禁止由低8 8位通道(通道位通道(通道1 1、3 3、5 5、7
59、7)的)的PWMExPWMEx位控制。在这种情位控制。在这种情况下,高位字节通道(通道况下,高位字节通道(通道0 0、2 2、4 4、6 6)的)的PWMExPWMEx位无效,且相应的位无效,且相应的PWMPWM输出被禁输出被禁止。止。【级联后的极性选择【级联后的极性选择】p 级联后级联后PWMPWM输出的极性由相应的低输出的极性由相应的低8 8位通道(通道位通道(通道1 1、3 3、5 5、7 7)的)的PPOLxPPOLx位控制。位控制。【级联后的输出对齐模式【级联后的输出对齐模式】p 级联模式下的左对齐输出和居中对齐输出模式,由低位字节通道(通道级联模式下的左对齐输出和居中对齐输出模式,
60、由低位字节通道(通道1 1、3 3、5 5、7 7)的)的CAExCAEx位控制,高位字节通道(通道位控制,高位字节通道(通道0 0、2 2、4 4、6 6)的)的CAExCAEx位无效。位无效。基于HCS12的嵌入式系统设计第第7 7章章 S12S12脉宽调制模块及其应用实例脉宽调制模块及其应用实例7.3.4 7.3.4 通道级联通道级联p 级联模式下控制寄存器设置级联模式下控制寄存器设置 CONXXPWMEXPPOLXPCLKXCAEXPWMX输出输出CON67PWME7PPOL7PCLK7CAE7PWM7CON45PWME5PPOL5PCLK5CAE5PWM5CON23PWME3PPOL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水泥购销合同协议
- 环保水处理项目合作框架协议
- 学校食堂蔬菜采购合同
- 股份制企业的合同文书规范与管理
- 蔬菜种植合作的协议书(3篇)
- 两人合作合同
- 环保产业技术创新与应用合同
- 公司股权分配合同协议年
- 派遣合同就业协议书
- 人才委托协议
- 10kV配网工程变配电(台架变、箱变、电缆分接箱)的安装设计施工精细化标准
- Opera、绿云、西软、中软酒店管理系统对比分析
- Q∕GDW 12118.3-2021 人工智能平台架构及技术要求 第3部分:样本库格式
- 广东省义务教育阶段学生转学转出申请表(样本)
- 毕业论文牛仔布染色工艺和质量控制
- 机耕路工程施工方案与技术措施
- 如何成为一个优秀的生产经理
- 国经贸企[1996]895号(城镇集体所有制企业、单位清产核资产权界定暂行办法)
- 飞机总体课程设计
- 现场组织机构框图及职责
- 世界梁氏家族世系表
评论
0/150
提交评论