资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第10章 S12脉宽调制模块lPULSE WIDTH MODULATIONl脉冲宽度调制(PWM)是工业控制和机电产 品中最常用的技术。例如控制电动机的速度和伺 服电机的旋转角度等。什么是PWM?TonToffTperiodAverage0 %10 %50 %90 %99 %应用: D/A转换 马达控制 音调生成 正弦波生成占空比=高电平时间/周期 =Ton/Tperiod10.1 PWM概述 S12可提供优异的频率高、分辨率高、占空 比可调、范围宽的PWM信号。主要特点: 8个带周期占空比可程控的PWM独立通道 4个可程控选择的时钟源 每个PWM通道有专用的计数器 PWM每个通道脉冲极性可以选择 每个PWM通道可使能/禁止 周期和占空比双缓冲 每个通道有中心对齐和边缘对齐方式 分辨率: 8位 (8通道), 16位 (4通道) 带中断功能的紧急切断 占空比可调范围010010.2 PWM结构和原理通道 7周期和占空比计数器通道 6周期和占空比计数器 .通道 0周期和占空比计数器管脚使能选择极性选择对齐方式选择管脚管脚10.2.1 PWM工作原理开始周期 TPWMTPWM占空比 TDuty PWMDTYxPWMPERxPWMPERxfClock, TClock8-bit CounterPWMCNTx时钟8-bit Compare = PWMDTYx8-bit Compare = PWMPERx0x000x00ResetPin当8位计数器的值等于PWMDTY(duty cycle寄存器) 时,电平从有效跳到无效; 当8位计数器的值等于PWMPER(周期寄存器)时 ,电平从无效跳到有效,然后计数器清0,重新开 始计数PWMPERxPWMDTYxPWM 计时器通道 8-Bit CounterPWMCNTx8-Bit Compare =PWMDTYx8-Bit Compare =PWMPERxPWMCNT0 $_0C PWMCNT1 $_0D PWMCNT2 $_0E PWMCNT3 $_0F PWMCNT4 $_10 PWMCNT5 $_11 PWMCNT6 $_12 PWMCNT7 $_13PWMDTY0 $_1C PWMDTY1 $_1D PWMDTY2 $_1E PWMDTY3 $_1F PWMDTY4 $_20 PWMDTY5 $_21 PWMDTY6 $_22 PWMDTY7 $_23PWMPER0 $_14 PWMPER1 $_15 PWMPER2 $_16 PWMPER3 $_17 PWMPER4 $_18 PWMPER5 $_19 PWMPER6 $_1A PWMPER7 $_1B极性位Polarity Bit = 1 Duty = High TimeChannel x x = 0 . 7Double BufferedDouble BufferedPWMDTYxPWMPERx占空比寄存器周期寄存器对齐方式选择-左对齐Clock Source E = 100 nsDuty Cycle = 75 %Period = 400 ns时钟源 = E = 10 MHz (100 ns period) PPOLx = 0 PWMPERx = 4 PWMDTYx = 1PWMx 频率 = 10 MHz/4 = 2.5 MHz PWMx 周期 = 400 ns PWMx 占空比 = *100% = 75%Start对齐方式选择-中央对齐 PWMDTYx E = 100nsPeriod = PWMPERx*2 = 800 ns时钟源 = E = 10 MHz (100 ns period) PPOLx = 0 PWMPERx = 4 PWMDTYx = 1PWMx 频率 = 10 MHz/8 = 1.25 MHz PWMx 周期 = 800 ns PWMx 占空比 = *100% = 75%StartPWMDTYx E = 100nsPWMPERxPWMPERxDuty Cycle = 75%16位分辨率两个8位PWM通道可以组合成一个16位PWM通道Period/Duty ComparePWMCNT6PWMCNT7PWM7Clock Source 7CONx xPWME xPPOL xPCLK xCAE xPWMx OUTPUT CON6 7PWME 7PPOL7PCLK7CAE 7PWM7CON4 5PWME 5PPOL5PCLK5CAE 5PWM5CON2 3PWME 3PPOL3PCLK3CAE 3PWM3CON0 1PWME 1PPOL1PCLK1CAE 1PWM116位 PWM 组合 软件可选择通道组合. 在组合模式下,可以左对齐或中心对齐输出 增加了分辨率,周期可以更长CLOCK SOURCE5PWCNT 4 PWCNT 5PERIOD/DUTY COMPARECLOCK SOURCE7PWCNT 6 PWCNT 7PERIOD/DUTY COMPARECLOCK SOURCE3PWCNT 2 PWCNT 3PERIOD/DUTY COMPARECLOCK SOURCE1PWCNT 0 PWCNT 1PERIOD/DUTY COMPAREPWM7PWM5PWM3PWM1PWM 时钟选择 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 ClockDivide by Prescaler Taps:248163264128预分频PWMPRCLK $_03Clock SAClock SBClock AFurther Division of the clock:2468.512Clock BFurther Division of the clock:2468.512PWMSCLA $_08PWMSCLB $_09分频PWM 时钟选择 预分频寄存器 0PCKB2 PCKB1 PCKB00PCKA2 PCKA1 PCKA0RW Reset: 00000000= Unimplemented or ReservedPWMPRCLK $_03PCKx 2PCKx 1PCKx 0Value of Clock x 000Bus Clock001Bus Clock / 2010Bus Clock / 4011Bus Clock / 8100Bus Clock / 16101Bus Clock / 32110Bus Clock / 64111Bus Clock / 128可在任意时刻读写! x = A or B设置 PRESCALE 寄存器: PWMPRCLK = 0x22;/ B= Bus/4, A = Bus/4 PWMPRCLK = 0x07;/ B = Bus, A = Bus/128Software ExamplesBit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 0PWM 时钟选择 分频寄存器总线时钟 fBusDivide by Prescaler Taps:2481632641288-Bit Down CounterBit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0PWMSCLx分频值PWMSCLx = $00 PWMSCLx value is 256 可在任意时刻读写! x = A or B/ 2Clock SxClock xClock x = fBus / PWMPRCLKCount = 1PWMPRCLK $_03PWMSCLB $_09PWMSCLA $_08例如: 要求: Clock Sx = 1 kHz 总线时钟 = 16 MHzPrescaler = 128 Prescaler = 64 Clock x = 125 kHzClock x = 250 kHz PWMSCLx = 63 PWMSCLx = 125 Clock Sx = 992 HzClock Sx = 1000 HzPCLK6 PCLK5 PCLK4 PCLK3 PCLK2 PCLK1RW Reset: 00000000PWMCLK $_02PCLK7Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 0PCLK5 通道 5时钟选择1 =时钟源为SA0 =时钟源为A PCLK4 通道 4时钟选择1 =时钟源为SA0 =时钟源为APCLK3 通道 3时钟选择1 =时钟源为SB. 0 =时钟源为B PCLK2 通道 2时钟选择1 =时钟源为SB0 =时钟源为BPCLK1 通道 1时钟选择 1 =时钟源为SA 0 =时钟源为A PCLK0 通道 0时钟选择 1 =时钟源为SA 0 =时钟源为APCLK7 通道 7时钟选择1 = 通道7的时钟源为SB0 =通道7的时钟源为B. PCLK6 通道 6时钟选择1 =时钟源为SB.0 =时钟源为B使能/禁止 PWMPWME6 PWME5 PWME4 PWME3 PWME2 PWME1 PWME0RW Reset:00000000PWME $_00PWME71 = 通道 x 使能. 下一个时钟开始输出PWM 0 = 通道x禁止通道7通道6通道 0.使能/禁止 PWM 通道: PWME5 = 1;/ Enable PWM channel 5 PWME3 = 0;/ Disable PWM channel 3 PWME = 0xFF/ Enable all 8 PWM channels PWME = 0;/ Disable all 8 PWM channels软件示例Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 0PWM 中央对齐使能寄存器 CAE6CAE5CAE4CAE3CAE2CAE1CAE0RW Reset: 00000000PWMCAE $_04CAE7CAEx 中心对齐模式选择,通道 x 1 = 通道 x 中心对齐输出 0 = 通道 x 左边对齐输出 Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 0通道7通道6通道 0.紧急关闭紧急关闭通道 7Channel 6Period and DutyCounterChannel 5Period and DutyCounter .Channel 0Period and DutyCounter故障输入 信号PWMLVL=1PWMLVL=0PWM7INL=1PWM7INL=0InterruptPWMIEPWMIFPWM 关闭寄存器PWMIEPWMR STRTPWMLVL0PWM7INL PWM7ENRW Reset: 00000000PWMSDN $_24PWMIF0PWM7IN= Unimplemented or Reserved设置关闭有效电平 PWM7INL设置关闭时的输出电平 PWMLVL使能紧急关闭 PWM7ENAInitialisation中断使能 PWMIEBit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 0工
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号