MC9S12XS系列脉宽调制模块及其应用实例.ppt
《MC9S12XS系列脉宽调制模块及其应用实例.ppt》由会员分享,可在线阅读,更多相关《MC9S12XS系列脉宽调制模块及其应用实例.ppt(57页珍藏版)》请在三一办公上搜索。
1、MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,MC9S12XS单片机原理及嵌入式系统开发,合肥工业大学张 阳,吴 晔,滕 勤 Email:,TEL:,,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,第7章 MC9S12XS系列脉宽调制模块及其应用实例,PWM模块概述 PWM模块结构组成和特点 PWM模块寄存器及设置 PWM模块应用实例 智能车系统中PWM模块的应用,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.1 PWM模块概述,脉冲宽度调制(PWM)是产生精确脉冲序列输出和实现D/A转换的有效方法,微控制器的脉宽调制
2、模块被广泛应用于工业控制和新型消费机电产品中(如智能空调、节能冰箱、电动自行车等)。PWM信号通过软件编程调节波形的占空比、周期和相位,能够用于直流电动机调速、伺服电动机控制、D/A转换器等应用。例如,电视机遥控部分普遍采用14位或16位的PWM产生调谐电压;在无人自动驾驶汽车系统中,常用伺服电动机来控制方向盘,伺服电动机的旋转角度与给定的PWM信号占空比一致,每个占空比数值都对应一个旋转角度;在灯光亮度调节、直流电动机速度控制等方面,采用PWM信号能够很容易实现。MC9S12XS系列产生PWM信号的方法主要有两种:利用输出比较功能和MCU内置的PWM模块实现。利用输出比较功能可以通过软件编程
3、设定输出任意脉冲信号,但会占用CPU资源,而且不易产生精确的脉冲序列;而MCU内部集成的PWM模块专门用于输出PWM信号,使用时极少占用CPU资源。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.2 PWM模块结构组成和特点,MC9S12XS128内置的PWM模块框图如图7.1所示。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.2 PWM模块概述,由图7.1可知,MC9S12XS128的PWM模块具有8路8位独立PWM通道,通过相应设置也可以变为4个16位PWM通道,每个PWM通道由独立运行的8位通道计数器PWMCNT、两个比较寄存器为
4、通道周期寄存器PWMPER和占空比寄存器PWMDTY等组成。通过对各寄存器的参数设置,确定PWM波形的输出周期和占空比,另外还可以通过通道极性寄存器PWMPOL和居中对齐使能寄存器PWMCAE设置PWM输出脉冲波形的极性和对齐方式。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.2 PWM模块概述,PWM模块具有以下基本特征:具有可编程周期和占空比的8个独立PWM通道;每个PWM通道具有独立的计数器;每个通道可编程允许/禁止PWM功能;每个通道可软件选择PWM脉冲极性;具有双缓冲的周期和占空比寄存器,当到达有效周期终点(PWM计数器到达0)或通道禁止时,修改值生效;
5、每个通道可编程中心对齐或左对齐输出;8个8位通道或4个16位通道PWM分辨率;4个时钟源(A、B、SA和SB)提供宽频带频率;可编程的时钟选择逻辑;紧急关闭功能。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,MC9S12XS128的PWM模块的相关寄存器详见表7-1,其中PWM测试寄存器(PWMTST)、PWM预分频计数寄存器(PWMPRSC)、PWM比例因子A计数寄存器(PWMSCNTA)和PWM比例因子B计数寄存器(PWMSCNTB)仅用于出厂测试,所以后文不对其进行说明。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入
6、式系统开发,7.3 PWM模块寄存器及设置,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.1 PWM使能寄存器(PWME),PWM使能寄存器(PWM Enable Register,PWME)中的每个控制位对应相应的PWM通道,可以通过设置相应的控制位启动或者停止PWM信号输出。当任意一个PWMEx位被置位(PWMEx=1)时,相应的PWM信号产生输出。但是,由于PWMEx需要与时钟源同步,直到PWM模块时钟的下一个周期到来,才能输出正确的PWM波形。当处于级联模式时,8个8位PWM通道通过两两级联构成4个16位的PWM通道,此时
7、PWME1、PWME3、PWME5和PWME7对应控制4个16位PWM通道,而其他控制位无效,如图7.2所示。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.1 PWM使能寄存器(PWME),读:任何时刻;写:任何时刻。PWME7:PWM通道7使能位。0表示禁止PWM通道7输出;1表示允许PWM通道7输出。PWME6:PWM通道6使能位。0表示禁止PWM通道6输出;1表示允许PWM通道6输出,如果CON67=1,该位无效,且PWM通道6输出无效。PWME5:PWM通道5使能位。0表示禁止PWM通道5输出;1表示允许PWM通道5输出
8、。PWME4:PWM通道4使能位。0表示禁止PWM通道4输出;1表示允许PWM通道4输出,如果CON45=1,该位无效,且PWM通道4输出无效。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.1 PWM使能寄存器(PWME),PWME3:PWM通道3使能位。0表示禁止PWM通道3输出;1表示允许PWM通道3输出。PWME2:PWM通道2使能位。0表示禁止PWM通道2输出;1表示允许PWM通道2输出,如果CON23=1,该位无效,且PWM通道2输出无效。PWME1:PWM通道1使能位。0表示禁止PWM通道1输出;1表示允许PWM通道
9、1输出。PWME0:PWM通道0使能位。0表示禁止PWM通道0输出;1表示允许PWM通道0输出;如果CON01=1,该位无效,且PWM通道0输出无效。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.2 PWM极性寄存器(PWMPOL),每个PWM通道波形开始时的信号极性由PWM极性寄存器(PWM Polarity Register,PWMPOL)中的极性选择位(PPOLx)决定,如果PPOLx位为1,周期脉冲开始时PWM通道输出高电平信号,当通道计数器PWMCNTx数值等于占空比寄存器PWMDTYx数值时翻转为低电平信号;相反,如
10、果PPOLx位为0,周期脉冲开始时PWM通道输出低电平信号,当PWMCNTx数值等于PWMDTYx数值时翻转为高电平信号,PWMPOL寄存器如图7.3所示。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.2 PWM极性寄存器(PWMPOL),读:任何时刻;写:任何时刻。注意:PWMPOL 寄存器中的PPOLx位可以在任何时刻进行写入操作。如果正在产生PWM信号时要求改变信号极性,则PWM输出脉冲在信号极性转换过程中可能被截短或延长。PPOLx:PWM通道x输出波形极性位。0表示PWM通道x在周期脉冲开始时输出低电平,当到达占空比计
11、数值时翻转为高电平;1表示PWM通道x 在周期脉冲开始时输出高电平,当到达占空比计数值时翻转为低电平。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.3 PWM时钟选择寄存器(PWMCLK),每一个PWM通道可以选择两个时钟之一作为该通道的时钟源。PWM时钟选择寄存器(PWM Clock Select Register,PWMCLK)如图7.4所示。,读:任何时刻;写:任何时刻。注意:PWMCLK寄存器中的PCLKx位可以在任何时刻写入。如果正在产生PWM信号时要求改变信号极性,则PWM输出脉冲在信号极性转换过程中可能被截短或延长
12、。PCLK7、PCLK6、PCLK3、PCLK2:PWM通道7、6、3、2时钟选择位。0表示Clock B作为相应通道时钟源;1表示Clock SB作为相应通道时钟源。PCLK5、PCLK4、PCLK1、PCLK0:PWM通道5、4、1、0时钟选择位。0表示Clock A作为相应通道时钟源;1表示Clock SA作为相应通道时钟源。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.3 PWM时钟选择寄存器(PWMCLK),PWM时钟选择框图如图7.5所示,从图中可知,PWM模块一共有4个时钟源,分别为Clock A、Clock B、
13、Clock SA和Clock SB,其中Clock A和Clock B由总线时钟直接分频得到,分频因子由PWM预分频时钟选择寄存器(PWMPRCLK)中的Bit2Bit0或Bit6Bit4确定(如图7.6所示),PWMPRCLK寄存器的介绍详见节。Clock SA由Clock A通过PWM比例因子A寄存器(PWMSCLA)再次分频得到,Clock SB由Clock B通过PWM比例因子B寄存器(PWMSCLB)再次分频得到,PWMSCLA寄存器和 PWMSCLB寄存器的介绍详见节和节。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3
14、.3 PWM时钟选择寄存器(PWMCLK),MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.4 PWM预分频时钟选择寄存器(PWMPRCLK),读:任何时刻;写:任何时刻。注意:PWMPRCLK寄存器中的位可以在任何时刻写入。如果正在产生PWM信号时要求改变极信号性,则PWM输出脉冲在信号极性转换过程中可能被截短或延长。PCKB2PCKB0:Clock B预分频因子选择位。这3位决定了Clock B的分频因子,Clock B可以作为通道2、3、6或7的两个时钟源之一,如表7-2所示。,MC9S12XS单片机原理及嵌入式系统开发单片机
15、原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.4 PWM预分频时钟选择寄存器(PWMPRCLK),MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.4 PWM预分频时钟选择寄存器(PWMPRCLK),PCKA2PCKA0:Clock A预分频因子选择位。这3位决定了Clock A的分频因子,Clock A是可以作为通道0、1、4或5的两个时钟源之一,如表7-3所示。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.5 PWM居中对齐使能寄存器(PWMCAE)
16、,PWM居中对齐使能寄存器(PWM Center Align Enable Register,PWMCAE)包含8个控制位,如图7.7所示。用于控制相应PWM通道输出波形为中心对齐输出或左对齐输出。如果CAEx=1,相应的PWM通道输出波形为中心对齐;如果CAEX=0,相应的PWM通道输出波形为左对齐。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.5 PWM居中对齐使能寄存器(PWMCAE),注意:仅当相应的通道被禁止输出时,才可以设置该寄存器。CAEx:通道x居中对齐输出方式位。0表示通道x输出波形为左对齐方式。1表示通道x输
17、出波形为居中对齐方式。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.5 PWM居中对齐使能寄存器(PWMCAE),PWM左对齐输出波形如图7.8所示。当使用左对齐方式输出时,8位通道计数器PWMCNTx只做加法计数;当PWMCNTx计数器加法计数到通道占空比寄存器PWMDTYx中设置的数值时,PWM通道输出波形发生变化;当PWMCNTx计数器加法计数到通道周期寄存器PWMPERx中设置的数值时,PWMCNTx清零,输出波形电平发生变化,然后读取PWMDTYx寄存器和PWMPERx寄存器中的数值作为下一次PWMCNTx加法计数参考
18、使用。PWM通道计数器PWMCNTx介绍详见节,PWM通道周期寄存器PWMPERx介绍详见节,PWM通道占空比寄存器PWMDTYx介绍详见节。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.5 PWM居中对齐使能寄存器(PWMCAE),PWM居中对齐输出波形如图7.9所示。当使用居中对齐格式输出时,8位计数器PWMCNTx既做加法计数器也能做减法计数器;当PWMCNTx计数器加法计数到PWMDTYx寄存器中设置的数值时,PWM通道输出波形发生变化;当PWMCNTx计数器加法计数到PWMPERx寄存器中设置的数值时,PWMCNTx计
19、数器会从加法计数器变为减法计数器;当PWMCNTx计数器开始减法计数到PWMDTYx寄存器中的数值时,PWM通道输出波形再次发生变化;当PWMCNTx计数器中数值减到0时,PWMCNTx重新变为加法计数器,然后读取PWMDTYx寄存器和PWMPERx寄存器中的数值作为下一次PWMCNTx计数参考使用。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.6 PWM控制寄存器(PWMCTL),PWM控制寄存器(PWM Control Register,PWMCTL)如图7.10所示。该寄存器用于PWM模块的各种控制,其中包括4个级联控制位
20、,用于将一对8位PWM通道级联成一个16位通道。当通道6和通道7级联时,通道6的寄存器成为16位寄存器中的高8位字节,通道7的寄存器为16位寄存器中的低8位字节;当通道4和通道5级联时,通道4的寄存器成为16位寄存器中的高8位字节;当通道2和通道3级联时,通道2的寄存器成为16位寄存器中的高8位字节;当通道0和通道1级联时,通道0的寄存器成为16位寄存器中的高8位字节。读:任何时刻;写:任何时刻。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.6 PWM控制寄存器(PWMCTL),注意:仅当需要级联的两个通道都被禁止输出时,才可以
21、设置PWMCTL寄存器中相应的控制位。CON67:通道6、通道7级联位。0表示通道6、7作为两个独立的8位PWM通道。1表示8位PWM通道6、7级联形成一个16位PWM通道。通道6的寄存器作为16位通道的高8位字节,通道7作为低8位字节,这时通道7的引脚用做16位PWM的信号输出(端口PWM7),通道7的时钟选择控制位、极性控制位、输出使能控制位、居中对齐使能位有效;通道6的相应寄存器控制位均无效。CON45:通道4、通道5级联位。0表示通道4、5作为两个独立的8位PWM通道。1表示8位PWM通道4、5级联形成一个16位PWM通道。通道4的寄存器作为16位通道的高8位字节,通道5作为低8位字节
22、,这时通道5的引脚用做16位PWM的信号输出(端口PWM5),通道5的时钟选择控制位、极性控制位、输出使能控制位、居中对齐使能位有效;通道4的相应寄存器控制位均无效。,MC9S12XS单片机原理及嵌入式系统开发单片机原理及嵌入式系统开发,7.3 PWM模块寄存器及设置,7.3.6 PWM控制寄存器(PWMCTL),CON23:通道2、通道3级联位。0表示通道2、3作为两个独立的8位PWM通道。1表示8位PWM通道2、3级联形成一个16位PWM通道。通道2的寄存器作为16位通道的高8位字节,通道3作为低8位字节,这时通道3的引脚用做16位PWM的信号输出(端口PWM3),通道3的时钟选择控制位、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MC9S12XS 系列 脉宽调制 模块 及其 应用 实例

链接地址:https://www.31ppt.com/p-5439601.html