,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第09讲:,F2812事件管理器(EVA/B),事件管理器概述,通用定时器,比较单元与,PWM,输出,捕获单元,正交编码脉冲单元(,QEP),事件管理器的中断问题,本章内容,每个事件管理器皆由4个部分组成,通用定时器,比较单元与PWM电路,捕获单元,正交编码脉冲(QEP)电路,1.事件管理器概述,事件管理器模块,事件管理器A,事件管理器B,模块,信号,模块,信号,通用定时器,通用定时器1,通用定时器,2,T1PWM/T1CMP T2PWM/T2CMP,通用定时器3,通用定时器,4,T3PWM/T3CMPT4PWM/T4CMP,比较单元,比较器1,比较器2,比较器,3,PWM1/2 PWM3/4 PWM5/6,比较器4,比较器5,比较器,6,PWM7/8,PWM9/10,PWM11/12,捕获单元,捕获器1,捕获器2,捕获器,3,CAP1,CAP 2,CAP3,捕获器4,捕获器5,捕获器,6,CAP4,CAP5,CAP6,正交编码脉冲电路 QEP,QEP,QEP1,QEP2,QEPI1,QEP,QEP4,QEP5,QEPI2,EVA和EVB模块信号引脚,1.事件管理器概述,事件管理器模块,事件管理器A,事件管理器B,模块,信号,模块,信号,外部定时器输入,定时器方向,外部时钟,TDIRA,TCLKINA,定时器方向,外部时钟,TDIRB,TCLKINB,外部比较器输出-触发输入,比较器,C1TRIP,C2TRIP,C3TRIP,C4TRIP,C5TRIP,C6TRIP,外部定时器-,比较触发输入,T1CTRIP*,T2CTRIP,T3CTRIP*,T4CTRIP,功率模块保护中断输入,PDPINTA*,PDPINTB*,外部ADC SOC,触发输入,EVASOC,EVBSOC,EVA和EVB模块信号引脚,1.事件管理器概述,事件管理器功能框图(EVA),PWM Circuits,PWM Circuits,PWM Circuits,Output Logic,Output Logic,Output Logic,GP Timer 1 Compare,GP Timer 1,GP Timer 2 Compare,GP Timer 2,Compare Unit 1,Compare Unit 2,Compare Unit 3,Capture Units,MUX,Output Logic,Output Logic,EV Control Registers/Logic,Reset,PIE,TCLKINA/TDIRA,/,2,ADC Start,Data Bus,QEP,Circuit,CLK,DIR,T1PWM_T1CMP,T2PWM_T2CMP,PWM1,PWM2,PWM3,PWM4,PWM5,PWM6,CAP1/QEP1,CAP2/QEP2,CAP3/QEPI1,1.事件管理器概述,2、通用定时器,F2812内有两个事件管理器(EVA、EVB),每个EV包括两个通用定时器。,EVA:GP1、GP2;,EVB:GP3、GP4;,GP定时器模块包含:,一个16位可读/写及增/减的定时器计数器TxCNT,(x=1,2,3,4)。,一个16位可读/写定时器比较寄存器(双缓冲)TxCMPR;,一个16位可读/写定时器周期寄存器(双缓冲)TxPR;,一个16位可读/写定时器控制寄存器TxCON;,一个通用定时器比较输出引脚TxCMP;,用于内部和外部时钟输入的可编程定标器;,控制和中断逻辑,用于4个可屏蔽中断,(上溢、下溢、比较和周期中断);,输出逻辑。,见下图,2、通用定时器,通用定时器GP的功能框图,16-Bit Timer,Counter,TxCMPR.15-0,GPTCONA,TxCNT.15-0,Compare,Logic,Clock,Prescaler,Output,Logic,TPS 2-0,TxCON.10-8,Period,Register,Shadowed,Compare,Register,Shadowed,TxPR.15-0,External(1/4),Internal,(HSPCLK),TCLKS 1-0,TxCON.5-4,TxPWM_TxCMP,Note:x=1 or 2,QEP,M,U,X,2、通用定时器,和通用定时器1(T1)相关的寄存器:,1.T1周期寄存器 T1PR (16位),2.T1比较寄存器 T1CMPR (16位),3.T1计数寄存器 T1CNT (16位),4.T1控制寄存器 T1CON (16位),5.全局定时器控制寄存器A GPTCONA(16位),2、通用定时器,T1的输入信号,1.来自于CPU的内部时钟,2.外部时钟输入TCLKINA,最大频率为器件自身时钟的1/4,也就是1/4*150M,3.TDIRA/B,用于定时器的增/减计数模式(或增或减),4.复位信号RESET,T1的输出信号,1.定时器的比较输出T1PWM_T1CMP,2.送给ADC模块的AD转换启动信号,3.下溢、上溢、比较匹配和周期匹配信号,4.计数方向指示,2、通用定时器,通用定时器的三个时钟源:,1 HSPCLK,2 来自QEP单元,3 外部管脚(TCLKINA或TCLKINB),设置方法:,TxCON(比特15 比特0)的比特4和比特5两位,Bit 5 4,0 0 HSPCLK,0 1 外部TCLKIN管脚,1 0 保留,1 1 QEP,2、通用定时器,计数寄存器,T1CNT为T1的计数器寄存器,其内容是随着时钟脉冲不断增加或者减少的,每1个HSPCLK的脉冲,T1CNT的值增加1或者减少1。,周期寄存器,T1PR是定时器T1的周期寄存器,用于存放为T1设置的周期值。,比较寄存器,T1CMPR是定时器T1的比较寄存器,用于存放为T1设置的比较值。,2、通用定时器,比较寄存器和周期寄存器的功能,T1PR和T1CMPR在一般情况下是在初始化的时候进行赋值,然后就成为了一个参考标准,CPU会实时的将T1CNT的值和这两个标准进行比较:,当T1CNT的值和T1PR相等时,T1CNT就会复位成0重新开始计数或者逐渐减少直至0,完成1个周期的计数,然后再从0开始计数至T1PR里面的数值,这样循环下去。,当T1CNT的值和T1CMPR的值相等时,就会产生一些比较事件,例如PWM波形就是依靠这个原理来实现的。,2、通用定时器,阴影寄存器的作用,在程序执行的过程当中(定时器正在计数的过程中),可以改变T1CMPR或者T1PR的值吗?,答案是肯定的,可以在一个周期的任何时刻向T1CMPR或者T1PR写入新的数值,其功劳就要归功于阴影寄存器。如上图所示,假设我们要向T1CMPR写入新的数值0 xXXXXh,首先将这个数值写入T1CMPR的阴影寄存器,当T1CON中第3位TCLD1和第2位TCLD0所指定的特定事件发生时,阴影寄存器的数据就会被写入T1CMPR的工作寄存器。,2、通用定时器,定时器1比较寄存器T1CMPR的装载条件如下面的表格所示。如果TCLD1和TCLD0设置为1 0的话,新的数据就会立即被写入T1CMPR,从而改变T1CMPR的值。,定时器比较寄存器之装载条件,TCLD1 TCLD0(T1CON中第3位TCLD1和第2位TCLD0),0 0,当计数器T1CNT值为0,0 1,当计数器T1CNT值为0或者等于周期寄存器,1 0,立即载入,1 1,保留,2、通用定时器,2.1 通用定时器计数操作和计数模式,T1计数模式选择,TMODE1 TMODE0(T1CON.12 T1CON.11),0 0 停止/保持,0 1 连续增/减模式,(先增后减),1 0 连续增模式,(单增再清),1 1 定向增/减计数模式(directional,up/down count mode),(或增或减),A.停止/保持模式,停止/保持模式,就是定时器计数器T1CNT停止计数,保持现有的数值。,B.连续增模式(递增再清),如下图所示,T1PR=2,T1CNT从0开始计数至2,等于周期寄存器值的值时,直接降为0,然后再从0开始计数至2,周而复始。,实际的计数周期为T1PR+1。,T1PR=2 固定不变,B.TxPR的改变对,递增再清,计数模式的影响,TxCON6 用于使能或禁止通用定时器;TxCON.32 只控制TxCMPR的装载条件;,而TxPR仅在一个周期完成后装载(计数器溢出时),C.定向的增或者减计数模式(或增或减),定向的增或者减计数模式,这时候T1CNT进行增计数或者是减计数,取决于引脚,TDIRA,的电平:如果TDIRA为,高电平,,则T1CNT进行增计数;如果TDIRA为,低电平,,则T1CNT进行减计数。,如果在计数过程中TDIRA电平发生了变化,那么必须,在完成当前计数周期后的下一个CPU时钟周期,时,计数方向才发生改变。,D.连续增/减模式(先增后减),如下图:T1PR=2,T1CNT从0开始计数至2,然后再从2逐渐减少至0,周而复始。,实际的计数周期为2*T1PR。,注:T1PR=2 固定不变,TxPR仅在一个周期完成后装载(计数器溢出时),D.TxPR的改变对先增后减计数的影响,注:改变T1PR的情形,TxCON6 用于使能或禁止通用定时器,PWM简介,脉宽调制,简称PWM(Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中,简单的描述就是一些如下图所示的矩形脉冲波形,PWM波形最重要的三个参数是,周期、频率和占空比,。,PWM周期:T=t1+t2,PWM频率:F=1/T,PWM占空比:D=t1/(t1+t2)=t1/T,2.2 定时器的比较操作,EV的比较机制能够产生多路PWM功能。,EVA的两个通用定时器能够产生2路独立的PWM波形T1PWM和T2PWM,,三个比较单元每一个都能产生一对互补的PWM波形(比较单元1产生PWM1和PWM2,比较单元2产生PWM3和PWM4,比较单元3产生PWM5和PWM6),这样,EVA一共能产生8路PWM波形。,EVB和EVA一样,同样能够产生8路PWM波形。,通用定时器GP的功能框图,(侧重于比较器),如何使能定时器的比较操作?,和比较操作有关的寄存器:比较寄存器,TxCMPR,、计数器寄存器,TxCNT,PWM,波形通过引脚,TxPWM,输出,TxCON.1(TECMPR),置,1,使能、清,0,禁止比较操作。,如果比较操作,使能,出现比较匹配后有下列操作:,匹配,1,个时钟周期后,比较中断标志位置位,匹配,1,个,Device Clock,后,,PWM,的输出产生跳变,若,GPTCONA/B,启动,A/D,转换器,则比较中断位置位的同时产生,A/D,转换启动信号,未被屏蔽时,将产生一个外设中断请求,首先介绍通用定时器产生的PWM波形。,T1和T2分别能够产生1路独立的PWM,以T1为例:,当T1计数寄存器T1CNT的值和T1CMPR的值相等时,就会发生比较匹配事件,这时如果PWM的功能使能,则T1PWM引脚便可以输出PWM波形。T1能够产生两种类型的PWM:,一种是不对称的PWM波形,,另一种是对称的PWM波形,,产生哪种类型的PWM波形,取决于T1CNT的计数方式,。,(1)当T1CNT的计数方式为,连续增,计数时,T1PWM引脚输出,不对称的PWM波形,。,当定时器T1的控制寄存器T1CON的TMODE1和TMODE0为,10,时,定时器T1工作于连续增模式。,当T1CNT的值计数到和T1CMPR的值相等时,发生比较匹配事件。如果T1CON的第1位定时器,比较使能为TECMPR为1,,即定时器比较操作被使能,且GPTCONA的第6位,比较输出使能位TCMPOE为1,,同时GPTCONA下的T1PIN引脚输出极性为高电平或者低电平的话,T1PWM就会输出不对称的PWM波形。,