资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第09讲:F2812事件管理器(EVA/B),事件管理器概述 通用定时器 比较单元与PWM输出 捕获单元 正交编码脉冲单元(QEP) 事件管理器的中断问题,本章内容,每个事件管理器皆由4个部分组成 通用定时器 比较单元与PWM电路 捕获单元 正交编码脉冲(QEP)电路,1. 事件管理器概述,EVA和EVB模块信号引脚,1. 事件管理器概述,EVA和EVB模块信号引脚,1. 事件管理器概述,事件管理器功能框图 (EVA),Capture Units,Output Logic,Output Logic,EV Control Registers / Logic,Reset,PIE,2,ADC Start,Data Bus,T1PWM_T1CMP,T2PWM_T2CMP,PWM1,PWM2,PWM3,PWM4,PWM5,PWM6,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,Output Logic,TxPR . 15 - 0,External (1/4),Internal (HSPCLK),TxPWM_TxCMP,Note: x = 1 or 2,QEP,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写入新的数值0xXXXXh,首先将这个数值写入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波形。,(1)当T1CNT的计数方式为连续增计数时,T1PWM引脚输出不对称的PWM波形。,改变TxCMP对PWM波形的影响(递增计数模式),This example: TxCON.3-2 = 00 ( TxCNT = TxPR时 TxCMPR重载) TxPR = 3(保持不变) TxCMPR = 1 (initially) Prescale = 1,0,3,0,1,2,3,1,CPUCLK,TxCNT Reg.,3,0,CPU writes a 2 to compare reg. buffer anytime here,TxCMPR=2,TxPWM/TxCMP (active high),(Used for Asymmetric PWM Waveforms),TxCMPR=1,TxCMPR=1,匹配点,匹配点,匹配点,匹配点,(2)当T1CNT的计数方式为连续增/减计数时,T1PWM引脚输出对称的PWM波形。 当定时器T1的控制寄存器T1CON的TMODE1和TMODE0为01时,定时器T1工作于连续增/减计数模式。当T1CNT的值计数到和T1CMPR的值相等时,发生比较匹配事件。如果T1CON的第1位定时器比较使能为TECMPR为1,即定时器比较操作被使能,且GPTCONA的第6位比较输出使能位TCMPOE为1,同时GPTCONA下的T1PIN引脚输出极性为高电平或者低电平的话,T1PWM就会输出对称的PWM波形。,2)当T1CNT的计数方式为连续增/减计数时,T1PWM引脚输出对称的PWM波形。,CPUCLK,0,1,2,3,TxCNT Reg.,2,1,0,1,2,0,3,2,1,TxPWM/TxCMP (active high),This example: TxCON.3-2 = 01 ( when TxCNT = 00 or PR.reg) TxPR = 3 (保持不变) TxCMP
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号