资源描述
Click to edit Master title style,TM,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Freescale Semiconductor Confidential and Proprietary Information.Freescale and the Freescale logo aretrademarksof Freescale Semiconductor,Inc.All other product or service names are the property of their respective owners.Freescale Semiconductor,Inc.2005.,Slide,*,Freescale,HCS12,微控制器,MC9S12DP256,2005,年,8,月,Enhanced Capture Timer Module,增强型捕捉定时器模块,ECT,模块结构,一个,16,位向上带可编程预分频的主计数器,.,一个,16,位的带可编程预分频的模数向下计数器,8,个独立的定时器通道,每个通道具备输入捕捉和输出比较功能,4,个,8,位脉冲累加器,也可设置成,2,个,16,位脉冲累加器,.,通过对寄存器编程可以实现不同的功能,2,定时器结构,预分频选择,PR2:0,M Clock,1 2 4 8 16 32 64 128,TCNT,15.0,DATA BUS,PIN,R,R,R,R,1,计数器使能,0,计数器禁止,TEN,TSWAI TSFRZ TFFCA,TSCR1-,定时器控制寄存器,RST:0 0 0 0 0 0 0 0,TCNT,CLK,.,TEN,B0.B7 B8.B15,R=Reserved,$0006,Address Offset,$0004,05,$FFFE,$FFFF,$0000,*,*,*,*,T,O,F,模块时钟,计数器寄存器,脉冲累加器,计时器溢出时,对溢出标志位置位,如允许中断,则向,CPU,发出中断请求,3,定时器,预分频,计数器,寄存器,:,1.TCNT,16,位自由运行,/,模计数器,B15.B0,RST:0.0,Address Offset,$0004,$0005,1,定时器溢出中断使能,0,定时器中断禁止,$000D,3.TSCR2,RST:0 0 0 0 0 0 0 0,1,定时器由,OC7,比较符合时复位,0,定时器自由运行,TCRE-,允许使用,PWM,功能,B7.B0,TOI 0 0 0 TCRE PR2 PR1 PR0,2.TFLG2,定时器溢出标志位,写,1,清零,TOF,0 0 0 0 0 0 0,B7.B0,RST:0 0 0 0 0 0 0 0,$000F,标志寄存器,除以,1,2,4,8,16,32,64,128,0,0,0,0,1,1,1,1,0,1,0,1,0,1,0,1,0,0,1,1,0,0,1,1,PR2 PR1 PR0,预分频系数选择,4,定时器编程步骤,用途:产生周期中断,初始化,设定预分频系数,定时器溢出中断使能,定时器使能,中断函数,清标志位,用户自己的代码,void,ECT_Init(void,),TSCR2_PR =7;/,prescale,factor is 8,bus clock/128=8Mhz/8,TSCR2_TOI =1;/timer overflow interrupt enable,TSCR1_TEN =1;/timer enable,#,pragma,CODE_SEG NON_BANKED,#,pragma,TRAP_PROC,void,Int_TimerOverFlow(void,),TFLG2_TOF =1;/clear timer overflow flag,/,用户自己的代码,.,#,pragma,CODE_SEG DEFAULT,在,PRM,文件中,加入,VECTOR ADDRESS 0 xFFDE,Int_TimerOverFlow,5,输出比较功能,16,位自由运行计数器,16,位输出比较寄存器 比如:,0 x5678,软件可以修改,引脚控制逻辑,中断请求,OCxF,状态标志位置位,,当比较发生时(值相等时),OCxI,中断屏蔽,(,通过软件使能,),共有,8,个输出比较通道,每个通道有自己的向量表和控制寄存器,在特定的时刻输出一个信号,当比较寄存器的值和计数,器的值相等时,采取行动,比如:当,TCNT=0 x5678,TCNT,TOCx,Pin,OCx,比较,比较器,相等,置位,OR,OR,清零,翻转,6,输出比较寄存器,C7F C6F C5F C4F C3F C2F C1F C0F,OM7,OL7,OM6,OL6,OM5,OL5,OM4,OL4,1.TC7 TC0,2.TFLG1,3.TIE,4.TCTL1,比较,/,捕捉标志位,写,1,清除中断状态标志位,比较,/,捕捉屏蔽位,0=,屏蔽中断请求,1=,中断请求允许,OMX,OLX,Action on,OCx,0,0,1,1,0,1,0,1,No Action,OCx,Toggle,OCx,Drive,OCx,LO,Drive,OCx,HI,输出模式和输出电平,(O7OC0),B6,B5,B4,B3,B7,B2,B1,B0,5.TCTL2,B6,B5,B4,B3,B7,B2,B1,B0,RST:0 0 0 0 0 0 0 0,$0008,RST:0 0 0 0 0 0 0 0,RST:0 0 0 0 0 0 0 0,RST:0 0 0 0 0 0 0 0,$000C,$000E,$0009,Address Offset,$0010-$0011,-,-,$001E-$001F,16,位捕捉,/,比较寄存器,(TC7),16,位捕捉,/,比较寄存器,(TC0),-,-,C7F C6F C5F C4F C3F C2F C1F C0F,B6,B5,B4,B3,B7,B2,B1,B0,OM3,OL3,OM2,OL2,OM1,OL1,OM0,OL0,B6,B5,B4,B3,B7,B2,B1,B0,FOC7 FOC6 FOC5 FOC4 FOC3 FOC2 FOC1 FOC0,6.CFORC,B7 B6 B5 B4 B3 B2 B1 B0,RST:0 0 0 0 0 0 0 0,$0001,7,输出比较,OC7-OC0,中断,:,清除中断,对,TFLG1,其中的,OCxF,写,1,不要使用位操作,使用,OC7-OC0,向量表,复位条件:,自由运行计数器,(TCNT),被初始化为,$0000,,并且被禁止,输出比较寄存器,被初始化为,$0000,捕捉,/,比较引脚与比较功能断开,中断被禁止,标志位被清零,强制比较位被清零,8,输出比较,通道,7,OC7(1 of 2),用途,:,1,、多个输出比较引脚的控制,2,、通过,2,个输出比较来控制,1,个引脚,可以输出短脉冲,在每个时钟周期内,输出比较寄存器,7,和自由运行的计数器进行比较,如果它们的值相等,则:,1,、中断标志位被置,1,2,、输出引脚,OC7-OC0,的状态被改变 或,/,和 产生中断,OC7,可以影响多个引脚(,OC7-OC0,),当,OC7,和,OC7-OC0,某个引脚的动作有冲突时,,OC7,的动作将被执行,9,输出比较,7(2 of 2),C7I C6F C5F C4F C3F C2F C1F C0F,OC7M7 OC7M6 OC7M5 OC7M4 OC7M3 OC7M2 OC7M1 OC7M0,4.,TIE,定时器中断允许使能,5.,OC7M,-OC7MASK,B7.B0,1,-TC7,-16,位比较寄存器,7.,RST:0 0 0 0 0 0 0 0,RST:0 0 0 0 0 0 0 0,$0002,$000C,C7F C6F C5F C4F C3F C2F C1F C0F,RST:0 0 0 0 0 0 0 0,$000E,B7.B0,2.,TCNT,-16-,位计数器,B15.B0,RST:0.0,$0004,$05,B7.B0,3.,TFLG1,标志位,OC7D7 OC7D6 OC7D5 OC7D4 OC7D3 OC7D2 OC7D1 OC7D0,6.,OC7D,-OC7DATA,RST:0 0 0 0 0 0 0 0,$0003,B7.B0,OC7MASK,根据寄存器的设置,可以控制任意一路或全部输出比较引脚,OC7DATA,当,OC7,比较事件发生时,引脚的逻辑电平,10,定时器溢出时电平翻转,TOV7 TOV6 TOV5 TOV4 TOV3 TOV2 TOV1 TOV0,TOVx,定时器溢出时,电平翻转,只有当通道被配置成输出比较时,才有效,Address Offset,$0007,RST:0.0,1.,TTOV,-,定时器溢出时电平翻转寄存器,$000D,2.TSCR2,定时器系统控制寄存器,RST:0 0 0 0 0 0 0 0,B7.B0,TOI 0 0 0 TCRE PR2 PR1 PR0,1,定时器由,OC7,比较事件发生来复位,0,定时器自由运行,11,输入捕捉,IC7-IC0(1 of 3),用途,:,1,、测量事件发生的间隔时间,2,、对实时时间进行响应,输入捕捉能感应到引脚上的电平的变化,如果发现电平变化,则:,1,、计数器的值被保存到到输入捕捉寄存器中,状态标志位被置,1,2,、如果中断允许,则向,CPU,发出中断请求,12,输入捕捉功能,比较,/,捕捉 单元,16,位自由运行计数器,16,位输入捕捉锁存器,捕捉发生时,状态位置,1,向,CPU,发出中断请求,Edge,沿选择,检测,ICx,ICxF,ICxI,上升,/,下降沿,可选中断屏蔽,当外部事件发生时,或外部信号输入发生变化时,记录当前时间,TCNT,TICx,延时,计数器,0 0 0 0 0 0 DLY1 DLY0,Bit 7 6 5 4 3 2 1 0,DLYCT,延时计数器控制寄存器,DLY1:0-Delay Counter Values,00 =Disabled,01 =256 M Clocks,10 =512 M Clocks,11 =1024 M Clocks,Address Offset,$0029,注,:,如果输入信号电平和跳变之前的电平相反时,,延时计数器在当前时钟计数时刻产生一个脉冲,,它用来去除噪声,OR,OR,16,位保持寄存器,应用,:ABS,刹车,.,雷达测距,发动机,引脚,共有,8,个输入捕捉通道,每个通道有自己的向量表和控制寄存器,13,输入捕捉,IC7-IC0(2 of 3),B2,B1,B0,EDGxB,输入捕捉沿控制,(IC7IC0),EDGxA,ICx,EDGE,0,1,0,1,无边沿,ICx,禁止,上升沿,下降沿,任何沿,4.TCTL3,C7F C6F C5F C4F C3F C2F C1F C0F,C7I C6I C5I C4I C3I C2I C1I C0I,2.TFLG1,3.TMSK1,1.TC7 TC0,EDG7B EDG7A EDG6B EDG6A EDG5B EDG5A EDG4B EDG4A,5.TCTL4,EDG3B EDG3A EDG2B EDG2A EDG1B EDG1A EDG0B EDG0A,B6,B5,B4,B3,B7,B2,B1,B0,RST:0 0 0 0 0 0 0 0,RST:0 0 0 0 0 0 0 0,RST:0 0 0 0 0 0 0 0,RST:0 0 0 0 0 0 0 0,B6,B5,B4,B3,B7,B2,B1,B0,B6,B5,B4,B3,B7,B2,B1,B0,B6,B5,B4,B3,B7,B2,B1,B0,$000E,$000C,$000A,$000B,Address Offset,$0010-$0011,-,-,$001E-$001F,16,位捕捉,/,比较寄存器,(TC7),16,位捕捉比较寄存器,(TC0),-,-,比较,/,捕捉标志位,写,1,清除中断状态标志位,比较,/,捕捉屏蔽位,0=,屏蔽中断请求,1=,中断请求允许,0,0,1,1,14,输入捕捉,/,输出比较选择,IOS7 IOS6 IOS5 IOS4 IOS3 IOS2 IOS1 IOS0,TIOS,定时器输入捕捉,/,输出比较选择寄存器,IOSx,=1,输出比较功能,=0,输入捕捉功能,RST:0 0 0 0 0 0 0 0,$0000,B6,B5,B4,B3,B7,B2,B1,B0,TIMER,定时器使能,1,计数器使能,0,计数器禁止,TSCR,定时器系统控制寄存器,RST:00,$0006,TEN TSWAI TSFRZ,TFFCA,Reserved,TSWAI,在,WAIT,模式时,定时器停止,0=,不停止,1=,停止,TSBCK,在,DEBUG,模式时,定时器停止,0=,不停止,1=,停止,TFFCA,定时器快速标志位清除使能,0=,定时器标志位正常清零,1=,输入捕捉时读取寄存器,输出比较时写寄存器,可以对相应通道标志位清零,15,脉冲累加模式,8,位计数器,PA7/PAI,脉冲累加器输入引脚,事件计数模式,引脚作为计数器时钟,软件选择以什么沿来计数,计数器溢出时,产生中断(可选),在,PAI,引脚每个主动电平将产生中断,8,位计数器,PA7/PAI,脉冲累加器输入引脚,时间累加模式,引脚作为计数器,软件选择主动电平作为门的输入,当计数器溢出时产生中断,在使能的引脚上后面的边缘时产生中断,自由运行,E/64,时钟,对事件计数模式,,PEDGE,选择哪个,PAI,的沿用来增加,PACNT,寄存器,对门累加模式,,PEDGE,选择哪个,PAI,状态用来禁止计数,(,比如,.PEDGE=1-,禁止计数 当,PAI=HI).,16,脉冲累加结构,PIN,TCx,PIN,Logic,DIV by 64,Control Reg.,+,8/16 BIT CNTR,Holding Register,POLARITY,CONTROL,PTx,IRQ,D,A,T,A,B,U,S,注,1:,PTx,可以被用作脉冲累加,,输入捕捉或输出比较,这里,PTx,=PT0-PT3,SELECTED,CLOCK,Delay,Counter,Edge,Detector,0 0 0 0 0 0 DLY1 DLY0,Bit 7 6 5 4 3 2 1 0,DLYCT,-Delay Counter Control Register,DLY1:0-Delay Counter Values,00 =Disabled,01 =256 M Clocks,10 =512 M Clocks,11 =1024 M Clocks,Address Offset,$0029,注,:,如果输入信号电平和跳变之前的电平相反时,,延时计数器在当前时钟计数时刻产生一个脉冲,,它用来去除噪声,17,增强型捕捉,ECT,比标准的,TIM,增强的特点,4,个输入捕捉通道有,16,位缓冲寄存器,4,个,8,位,/,2,个,16,位脉冲累加器,16,位带,4,位预分频的模数向下计数器,4,个用户选择的延时计数器用来消除噪声,主定时器预分频扩展至,7,位,队列和锁定模式,主定时器,输入捕捉寄存器,保持寄存器,外部事件,拷贝,拷贝,拷贝,读取数据,读取数据,外部事件,18,模向下计数器,二进制向下计数器,.,可以完全控制计数起始值,应用于精确事件计时,-,用于产生周期性的标志位和中断,主定时器单独运行。时钟来自总线时钟,并经过预分频。,可以被设置为定时中断或产生标志位。或装载初始值后向下计数到,$0000,。,装载,向下计数至,0,执行动作,19,ABS,应用举例,PT0,PT1,PT2,SENSOR 1,SENSOR 2,SENSOR 3,SENSOR 4,PB1,PB2,PB3,PB4,BRAKE,FLUID,PUMP,SYSTEM,SIGNAL,CONDITIONING,LOGIC,IC/PA,SIGNAL,CONDITIONING,LOGIC,SIGNAL,CONDITIONING,LOGIC,SIGNAL,CONDITIONING,LOGIC,PT3,左前轮,右前轮,左后轮,右后轮,H,C,S,1,2,TIMER,定时器输入捕捉测量车轮转速,发送命令到刹车压力调节阀来调节压力,IC/PA,IC/PA,IC/PA,如果左右轮速脉冲周期不等,则,调节电磁阀,20,低功耗模式,TSCR,定时器系统控制寄存器,RST:00,$0006,TEN TSWAI TSFRZ,TFFCA,Reserved,TSWAI,在,WAIT,模式时,定时器停止,0=,不停止,1=,停止,TSBCK,在,DEBUG,模式时,定时器停止,0=,不停止,1=,停止,TFFCA,定时器快速标志位清除使能,0=,定时器标志位正常清零,1=,输入捕捉时读取寄存器,输出比较时写寄存器,可以对相应通道标志位清零,21,PULSE WIDTH MODULATION(PWM),脉宽调制模块,22,什么是,PWM?,T,on,T,off,T,period,Average,0%,10%,50%,90%,99%,应用,:,D/A,转换,马达控制,音调生成,正弦波生成,占空比,=,高电平时间,/,周期,=T,on,/T,period,23,PWM,信号的产生,(,边缘对齐,),开始,周期,T,PWM,T,PWM,占空比,T,Duty,PWMDTYx,PWMPERx,PWMPERx,f,Clock,T,Clock,8-bit Counter,PWMCNTx,时钟,8-bit Compare=,PWMDTYx,8-bit Compare=,PWMPERx,0 x00,0 x00,Reset,Pin,当,8,位计数器的值等于,PWMDTY(duty,cycle,寄存器,),时,电平从有效跳到无效;当,8,位计数器的值等于,PWMPER,(周期寄存器)时,电平从无效跳到有效,然后计数器清,0,,重新开始计数,24,PWM,模块特点,8,个带周期占空比可程控的,PWM,独立通道,4,个可程控选择的时钟源,每个,PWM,通道有专用的计数器,PWM,每个通道脉冲极性可以选择,每个,PWM,通道可使能,/,禁止,周期和占空比双缓冲,每个通道有中心对齐和边缘对齐方式,分辨率,:8,位,(8,通道,),16,位,(4,通道,),带中断功能的紧急切断,工作模式,25,PWM,结构框图,通道,7,周期和占空比,计数器,通道,6,周期和占空比,计数器,.,通道,0,周期和占空比,计数器,管脚,使能选择,极性选择,对齐方式选择,管脚,管脚,26,PWM,初始化步骤,禁止,PWM,Disable PWM,PWME,选择时钟,S,elect clock(prescaler and scale)for the PWM,PWMPRCLK,PWMSCLA,PWMSCLB,PWMCLK,选择极性,Select polarity,PWMPOL,选择对齐模式,Select center or left aligned mode,PWMCAE,对占空比和周期编程,Program duty cycle and period,PWMDTYx,PWMPERx,使能,PWM,通道,Enable,used PWM channels,PWME,27,PWM,时钟选择,(1 of 4),Clock A(Ch 0,Ch 1,Ch 4,Ch 5),Clock SA(scaled A;Ch 0,Ch 1,Ch 4,Ch 5),Clock B(Ch 2,Ch 3,Ch 6,Ch 7),Clock SB(scaled B;Ch 2,Ch 3,Ch 6,Ch 7),4,个时钟源,:,Bus Clock,Divide by Prescaler Taps:,2,4,8,16,32,64,128,预分频,PWMPRCLK$_03,Clock SA,Clock SB,Clock A,Further Division of the clock:,2,4,6,8,.,512,Clock B,Further Division of the clock:,2,4,6,8,.,512,PWMSCLA$_08,PWMSCLB$_09,分频,28,PWM,时钟选择,预分频寄存器,(2 of 4),0,PCKB2,PCKB1,PCKB0,0,PCKA2,PCKA1,PCKA0,R,W,Reset:,0,0,0,0,0,0,0,0,=Unimplemented or Reserved,PWMPRCLK$_03,PCKx2,PCKx1,PCKx0,Value of Clock x,0,0,0,Bus Clock,0,0,1,Bus Clock/2,0,1,0,Bus Clock/4,0,1,1,Bus Clock/8,1,0,0,Bus Clock/16,1,0,1,Bus Clock/32,1,1,0,Bus Clock/64,1,1,1,Bus Clock/128,可在任意时刻读写,!,x=A or B,设置,PRESCALE,寄存器,:,PWMPRCLK=0 x22;/B=Bus/4,A=Bus/4,PWMPRCLK=0 x07;/B=Bus,A=Bus/128,Software Examples,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,29,PWM,时钟选择,分频寄存器,(3 of 4),总线时钟,f,Bus,Divide by Prescaler Taps:,2,4,8,16,32,64,128,8-Bit Down Counter,Bit 7,Bit 6,Bit 5,Bit 4,Bit 3,Bit 2,Bit 1,Bit 0,PWMSCLx,分频值,PWMSCLx=$00,PWMSCLx value is 256,可在任意时刻读写,!,x=A or B,/2,Clock Sx,Clock x,Clock x=,f,Bus,/PWMPRCLK,Count=1,PWMPRCLK$_03,PWMSCLB$_09,PWMSCLA$_08,例如,:,要求,:Clock Sx=1 kHz,总线时钟,=16 MHz,Prescaler=128 Prescaler=64,Clock x=125 kHzClock x=250 kHz,PWMSCLx=63 PWMSCLx=125,Clock Sx=992 HzClock Sx=1000 Hz,30,PWM,时钟选择寄存器,(4 of 4),PCLK6,PCLK5,PCLK4,PCLK3,PCLK2,PCLK1,PCLK0,R,W,Reset:,0,0,0,0,0,0,0,0,PWMCLK$_02,PCLK7,选择时钟源,:,PCLK0=1;/SA is source of ch 0,PCLK6=0;/B is source of ch 6,PWMCLK=0 x11;/all channels,软件示例,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,PCLK5,通道,5,时钟选择,1=,时钟源为,SA,0=,时钟源为,A,PCLK4,通道,4,时钟选择,1=,时钟源为,SA,0=,时钟源为,A,PCLK3,通道,3,时钟选择,1=,时钟源为,SB,.,0=,时钟源为,B,PCLK2,通道,2,时钟选择,1=,时钟源为,SB,0=,时钟源为,B,PCLK1,通道,1,时钟选择,1=,时钟源为,SA,0=,时钟源为,A,PCLK0,通道,0,时钟选择,1=,时钟源为,SA,0=,时钟源为,A,PCLK7,通道,7,时钟选择,1=,通道,7,的时钟源为,SB,0=,通道,7,的时钟源为,B,.,PCLK6,通道,6,时钟选择,1=,时钟源为,SB,.,0=,时钟源为,B,31,PWMPERx,PWMDTYx,PWM,计时器通道,8-Bit Counter,PWMCNTx,8-Bit Compare=,PWMDTYx,8-Bit Compare=,PWMPERx,PWMCNT0,$_0C,PWMCNT1,$_0D,PWMCNT2,$_0E,PWMCNT3,$_0F,PWMCNT4,$_10,PWMCNT5,$_11,PWMCNT6,$_12,PWMCNT7,$_13,PWMDTY0,$_1C,PWMDTY1,$_1D,PWMDTY2,$_1E,PWMDTY3,$_1F,PWMDTY4,$_20,PWMDTY5,$_21,PWMDTY6,$_22,PWMDTY7,$_23,PWMPER0,$_14,PWMPER1,$_15,PWMPER2,$_16,PWMPER3,$_17,PWMPER4,$_18,PWMPER5,$_19,PWMPER6,$_1A,PWMPER7,$_1B,极性位,Polarity Bit=1,Duty=High Time,Channel x,x=0.7,Double,Buffered,Double,Buffered,PWMDTYx,PWMPERx,占空比寄存器,周期寄存器,32,使能,/,禁止,PWM,PWME6,PWME5,PWME4,PWME3,PWME2,PWME1,PWME0,R,W,Reset:,0,0,0,0,0,0,0,0,PWME$_00,PWME7,1=,通道,x,使能,.,下一个时钟开始输出,PWM,0=,通道,x,禁止,通道,7,通道,6,通道,0,.,使能,/,禁止,PWM,通道,:,PWME5=1;/Enable PWM channel 5,PWME3=0;/Disable PWM channel 3,PWME=0 xFF/Enable all 8 PWM channels,PWME=0;/Disable all 8 PWM channels,软件示例,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,33,PWM,极性选择寄存器,PPOL6,PPOL5,PPOL4,PPOL3,PPOL2,PPOL1,PPOL0,R,W,Reset:,0,0,0,0,0,0,0,0,PWME$_00,PPOL7,1=,在周期开始时,,PWM,通道输出为高电平,当计数器等于占空比寄存器的值时,输出为低电平,0=,在周期开始时,,PWM,通道输出为低电平,当计数器等于占空比寄存器的值时,输出为高电平,PWMDTYx,PWMPERx,PPOLx=1,PWMDTYx,PWMPERx,PPOLx=0,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,通道,7,通道,6,通道,0,.,34,对齐方式选择,-,左对齐,(1 of 3),Clock Source,E=100 ns,Duty Cycle,=75%,Period,=400 ns,时钟源,=E=10 MHz(100 ns period),PPOLx=0,PWMPERx=4,PWMDTYx=1,PWMx,频率,=10 MHz/4=2.5 MHz,PWMx,周期,=400 ns,PWMx,占空比,=*100%=75%,Start,分辨率?,35,对齐方式选择,-,中央对齐,(2 of 3),PWMDTYx,E=100ns,Period=PWMPERx*2,=800 ns,时钟源,=E=10 MHz(100 ns period),PPOLx=0,PWMPERx=4,PWMDTYx=1,PWMx,频率,=10 MHz/8=1.25 MHz,PWMx,周期,=800 ns,PWMx,占空比,=*100%=75%,Start,PWMDTYx,E=100ns,PWMPERx,PWMPERx,Duty Cycle=75%,36,PWM,中央对齐使能寄存器,(3 of 3),CAE6,CAE5,CAE4,CAE3,CAE2,CAE1,CAE0,R,W,Reset:,0,0,0,0,0,0,0,0,PWMCAE$_04,CAE7,CAEx,中心对齐模式选择,通道,x,1=,通道,x,中心对齐输出,0=,通道,x,左边对齐输出,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,通道,7,通道,6,通道,0,.,37,16,位分辨率,两个,8,位,PWM,通道可以组合成一个,16,位,PWM,通道,Period/Duty Compare,PWMCNT6,PWMCNT7,PWM7,Clock Source 7,CONxx,PWMEx,PPOLx,PCLKx,CAEx,PWMx OUTPUT,CON67,PWME7,PPOL7,PCLK7,CAE7,PWM7,CON45,PWME5,PPOL5,PCLK5,CAE5,PWM5,CON23,PWME3,PPOL3,PCLK3,CAE3,PWM3,CON01,PWME1,PPOL1,PCLK1,CAE1,PWM1,38,16,位,PWM,组合,软件可选择通道组合,.,在组合模式下,可以左对齐或中心对齐输出,增加了分辨率,周期可以更长,CLOCK SOURCE,5,PWCNT 4 PWCNT 5,PERIOD/DUTY COMPARE,CLOCK SOURCE,7,PWCNT 6 PWCNT 7,PERIOD/DUTY COMPARE,CLOCK SOURCE,3,PWCNT 2 PWCNT 3,PERIOD/DUTY COMPARE,CLOCK SOURCE,1,PWCNT 0 PWCNT 1,PERIOD/DUTY COMPARE,PWM7,PWM5,PWM3,PWM1,39,紧急关闭,紧急关闭通道,7,Channel 6,Period and Duty,Counter,Channel 5,Period and Duty,Counter,.,Channel 0,Period and Duty,Counter,故障输入,信号,PWMLVL=1,PWMLVL=0,PWM7INL=1,PWMLVL=0,Interrupt,PWMIE,PWMIF,40,PWM,关闭寄存器,PWMIE,PWMR,STRT,PWMLVL,0,PWM7INL,PWM7EN,R,W,Reset:,0,0,0,0,0,0,0,0,PWMSDN$_24,PWMIF,0,PWM7IN,=Unimplemented or Reserved,设置关闭有效电平,PWM7INL,设置关闭时的输出电平,PWMLVL,使能紧急关闭,PWM7ENA,Initialisation,中断使能,PWMIE,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,41,工作模式,等待模式,在,WAIT,模式下,允许输入时钟到预分频器,PSWAI,=,1,0,在,WAIT,模式下,停止输入时钟到预分频器,冻结模式,在,FREEZE,模式下,,PWM,计数器继续,PFRZ,=,1,0,在,FREEZE,模式下,,PWM,计数器停止,CON45,CON01,0,PSWAI,R,W,PWMCTL$_05,CON67,CON23,PFRZ,0,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,使能,/,禁止时钟,在,WAIT,模式时,PFRZ PWM,计数器停止在,Freeze,模式时,42,PWM,控制寄存器,Reset:,0,0,0,0,0,0,0,0,Bits1:0=Unimplemented or Reserved,CON45,CON01,0,PSWAI,R,W,PWMCTL$_05,CON67,CON23,PFRZ,0,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,16,位工作模式,43,PWM,通道周期寄存器,-,周期计算,Bit 6,Bit 5,Bit 4,Bit 3,Bit 2,Bit 1,Bit 0,R,W,Reset:,1,1,1,1,1,1,1,1,PWMPERx$_14-_1B,Bit 7,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,左对齐输出,中心对齐输出,44,PWM,通道占空比寄存器,-,占空比计算,Bit 6,Bit 5,Bit 4,Bit 3,Bit 2,Bit 1,Bit 0,R,W,Reset:,1,1,1,1,1,1,1,1,PWMDTYx$_1C-_23,Bit 7,Bit 0,Bit 1,Bit 2,Bit 3,Bit 4,Bit 5,Bit 6,Bit 0,极性,=0,极性,=1,45,
展开阅读全文