《第9PWM脉宽调制名师编辑PPT课件.ppt》由会员分享,可在线阅读,更多相关《第9PWM脉宽调制名师编辑PPT课件.ppt(19页珍藏版)》请在第壹文秘上搜索。
1、第第09章章 PWM脉宽调制脉宽调制lPULSE WIDTH MODULATION-数字脉冲输出数字脉冲输出l脉冲宽度调制(脉冲宽度调制(PWM)是工业控制和机电产品中最常用的)是工业控制和机电产品中最常用的技术。例如控制电动机的速度和伺服电机的旋转角度等。技术。例如控制电动机的速度和伺服电机的旋转角度等。TonToffTperiodAverage占空比占空比=高电平时间高电平时间/周期周期=Ton/Tperiod0%10%50%90%99%应用:D/A转换 马达控制 音调生成 正弦波生成9.1 PWM概述概述 S12X MCU可以不通过定时器,而使用专门的可以不通过定时器,而使用专门的PWM
2、模块以产模块以产生生PWM波形,极少占用波形,极少占用CPU资源资源 S12X MCU可提供优异的频率高、分辨率高、占空比可调、范可提供优异的频率高、分辨率高、占空比可调、范围宽的围宽的PWM信号。主要特性:信号。主要特性:8个带周期占空比可程控的PWM独立通道(与PTP复用)4个可程控选择的时钟源 脉冲输出极性可选 每个PWM通道有专用的计数器 每个PWM通道可使能/禁止 占空比可调范围0100 分辨率:8位(8通道),16位(4通道)周期和占空比双缓冲 每个通道有中心对齐和左对齐方式 带中断功能的紧急切断 9.2 PWM结构原理和功能描述结构原理和功能描述 PWM_8B8C时钟选择时钟选择
3、控制控制使能使能(Enable)极性极性(Polarity)PWM7 PWM通道通道 通道通道7PWM6 通道通道6PWM5 通道通道5 通道通道4PWM4 通道通道3PWM3 通道通道2PWM2 通道通道1PWM1 通道通道0PWM0周期和占空比周期和占空比计数器计数器周期和占空比周期和占空比计数器计数器周期和占空比周期和占空比计数器计数器周期和占空比周期和占空比计数器计数器周期和占空比周期和占空比计数器计数器周期和占空比周期和占空比计数器计数器周期和占空比周期和占空比计数器计数器周期和占空比周期和占空比计数器计数器总线时钟总线时钟PWM时钟时钟对齐对齐(Alignment)lPWM波形输出
4、原理波形输出原理开始开始周期周期Tperoid占空比占空比 TDutyPWMDTYxPWMPERxPWMPERxfClock,TClock8-bit CounterPWMCNTx时钟源时钟源8-bit Compare=PWMDTYx8-bit Compare=PWMPERx0 x000 x00ResetPin当当8位计数器的值等于位计数器的值等于PWMDTY(占空比常数寄存器占空比常数寄存器)时,电平从有效跳到无效时,电平从有效跳到无效;当当8位计数器的值等于位计数器的值等于PWMPER(周期常数寄存器)时,电平从无效跳到有效,(周期常数寄存器)时,电平从无效跳到有效,然后计数器清然后计数器清
5、0,重新开始计数开始下一个周期,重新开始计数开始下一个周期 1.Clock A (Ch 0,Ch 1,Ch 4,Ch 5)2.Clock SA (Scaled A;Ch 0,Ch 1,Ch 4,Ch 5)3.Clock B (Ch 2,Ch 3,Ch 6,Ch 7)4.Clock SB (Scaled B;Ch 2,Ch 3,Ch 6,Ch 7)4个时钟源:Bus ClockPWMPRCLKClock SAClock SBClock AClock BPWMSCLAPWMSCLB 预分频:预分频:1、2、4、8、16、32、64、128 比例分频:比例分频:2、4、8、16、32、64、512
6、比例分频:比例分频:2、4、8、16、32、64、512%100_:1%100_:0),(_PWMPERxPWMDTYxCycleDutyPolarityPWMPERxPWMDTYxPWMPERxCycleDutyPolarityPWMPERxSBSABAClockFrequencyPWMx时钟源 选择=10 MHz(100 ns period)PPOLx=1PWMPERx=4PWMDTYx=1PWMx 频率=10 MHz/4=2.5 MHz 即:PWMx 周期=1/2.5MHz=400 nsPWMx 占空比=1/4*100%=25%Clock=100ns占空比=25%周期=400ns%100
7、_:1%100_:02),(_PWMPERxPWMDTYxCycleDutyPolarityPWMPERxPWMDTYxPWMPERxCycleDutyPolarityPWMPERxSBSABAClockFrequencyPWMx时钟源 Clock=10 MHz(100 ns period)PPOLx=0PWMPERx=4PWMDTYx=1PWMx 频率=10 MHz/8=1.25 MHzPWMx 周期=1/1.25MHz=800 nsPWMx 占空比=(4-1)/4*100%=75%Clock=100ns占空比=75%周期=800nsClock=100ns两个两个8位位PWM通道可以组合成一
8、个通道可以组合成一个16位位PWM通道,例如:通道,例如:周期/占空比 比较PWMCNT6PWMCNT7PWM7输出PWM7时钟源CONxxPWMExPPOLxPCLKxCAExPWMx OUTPUTCON67PWME7PPOL7PCLK7CAE7PWM7CON45PWME5PPOL5PCLK5CAE5PWM5CON23PWME3PPOL3PCLK3CAE3PWM3CON01PWME1PPOL1PCLK1CAE1PWM1 软件可选择通道组合软件可选择通道组合 在级联模式下,可以左对齐或中心对齐输出在级联模式下,可以左对齐或中心对齐输出 常数寄存器、计数器都合成为常数寄存器、计数器都合成为16位
9、位-增加了分辨率,周期可以更长增加了分辨率,周期可以更长PWM 时钟预分频寄存器时钟预分频寄存器-PWMPRCLK0PCKB2 PCKB1 PCKB00PCKA2 PCKA1 PCKA0RWReset:00000000=Unimplemented or ReservedPCKx2PCKx1PCKx0Value of Clock x000Bus Clock001Bus Clock/2010Bus Clock/4011Bus Clock/8100Bus Clock/16101Bus Clock/32110Bus Clock/64111Bus Clock/128可在任意时刻读写!x=A or B例:
10、设置 PRESCALE 寄存器-PWMPRCLK=0 x22;/B=Bus/4,A=Bus/4PWMPRCLK=0 x07;/B=Bus,A=Bus/128Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 09.3 PWM模块的使用与设置模块的使用与设置PWM 时钟比例分频寄存器时钟比例分频寄存器-PWMSCLA、PWMSCLBSxClockxClockPWMSCLxPWMSCLxxClockSxClock_2_2_PWMSCLx=$00 PWMSCLx value is 256可在任意时刻读写!x=A or B例如:要求:Clock Sx=1 kHz总线时钟=16
11、 MHzPrescaler=128 Prescaler=64 Clock x=125 kHz Clock x=250 kHzPWMSCLx=63 PWMSCLx=125 Clock Sx=992 Hz Clock Sx=1000 Hz准一些准一些PCLK6 PCLK5 PCLK4 PCLK3 PCLK2 PCLK1RWReset:00000000PCLK7Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 0PCLK5 通道 5时钟选择 1=时钟源为SA 0=时钟源为APCLK4 通道 4时钟选择 1=时钟源为SA 0=时钟源为APCLK3 通道 3时钟选择 1=时钟
12、源为SB.0=时钟源为BPCLK2 通道 2时钟选择 1=时钟源为SB 0=时钟源为BPCLK1 通道 1时钟选择1=时钟源为SA0=时钟源为APCLK0 通道 0时钟选择1=时钟源为SA0=时钟源为APCLK7 通道 7时钟选择 1=通道7的时钟源为SB 0=通道7的时钟源为B.PCLK6 通道 6时钟选择 1=时钟源为SB.0=时钟源为BPWM 时钟选择寄存器时钟选择寄存器-PWMCLKPWM 极性选择寄存器极性选择寄存器-PWMPOLPPOLx=0-输出周期以低电平开始 =1-输出周期以高电平开始PCLK0PWM 中心对齐使能寄存器中心对齐使能寄存器-PWMCAE CAE6CAE5CAE
13、4CAE3CAE2CAE1CAE0RWReset:00000000$_04CAE7CAEx 中心对齐模式选择,通道 x 0=通道 x 左对齐输出 1=通道 x 中心对齐输出Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 0.PWM 关断寄存器关断寄存器-PWMSDN 主要用于处理通道主要用于处理通道7的紧急关闭中断的紧急关闭中断PWMIEPWMLVL0PWM7INL PWM7ENARWReset:00000000$_24PWMIFPWM7IN=Unimplemented or ReservedBit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6B
14、it 0PWMRSTRT紧急关断通道 7输入紧急关断触发Channel 6Period and DutyCounterChannel 5Period and DutyCounter.Channel 0Period and DutyCounter外部故障输入信号PWMLVL=1PWMLVL=0PWM7INL=1PWM7INL=0InterruptPWMIEPWMIFPWM7ENA=1PWM控制寄存器控制寄存器-PWMCTL等待模式在WAIT模式下,允许输入时钟到预分频器PSWAI=10在WAIT模式下,停止输入时钟到预分频器冻结模式在FREEZE模式下,PWM计数器继续 PFRZ=10在FREE
15、ZE模式下,PWM计数器停止CON45CON010PSWAIRW$_05CON67CON23PFRZ0Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 0使能使能/禁止时钟禁止时钟在在WAIT模式时模式时PWM计数器停止计数器停止在在Freeze模式时模式时通道级联控制:通道级联控制:0-不级联不级联1-级联成级联成16位位PWM 通道周期寄存器通道周期寄存器-PWMPERxBit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0RWReset:11111111$_14-_1BBit 7Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit
16、 6Bit 0PWM 通道占空比寄存器通道占空比寄存器-PWMDTYxBit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0RWReset:11111111$_1C-_23Bit 7Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 0注:周期与占空比计算按书上公式注:周期与占空比计算按书上公式PWM使能使能/禁止寄存器禁止寄存器-PWMEPWME6 PWME5 PWME4 PWME3 PWME2 PWME1 PWME0RWReset:00000000$_00PWME70=通道x禁止1=通道x使能,下一个时钟开始输出PWM 通道7通道6通道 0.使能/禁止 PWM 通道:PWME5=1;/Enable PWM channel 5PWME3=0;/Disable PWM channel 3PWME=0 xFF/Enable all 8 PWM channelsPWME=0;/Disable all 8 PWM channels软件示例软件示例Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 09.4 PWM的应用实例的