第5讲 事件管理器模块(EVA)_第1页
第5讲 事件管理器模块(EVA)_第2页
第5讲 事件管理器模块(EVA)_第3页
第5讲 事件管理器模块(EVA)_第4页
第5讲 事件管理器模块(EVA)_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本讲主要内容1.时间管理器模块概述;2.事件管理器的中断;事件管理器概述Up to Two Event-Manager (EV) Modules (EVA and EVB), Each Includes: Two 16-Bit General-Purpose Timers 16-Bit Pulse-Width Modulation (PWM) Channels Which Enable: Three-Phase Inverter Control Center- or Edge-Alignment of PWM Channels Emergency PWM Channel Shutdown Wi

2、th External PDPINTx Pin Programmable Deadband (Deadtime)(0-16m ms) Three Capture Units for Time-Samping of External Events Input Qualifier Circuitry An input-qualifier circuitry qualifies the input signal to the CAP16, QEP14, XINT1/2, ADCSOC and PDPINTA/B pins in the 240 xA devices. On-Chip Position

3、 Encoder Interface Circuitry Synchronized A-to-D ConversionAPPLICATION: Designed for AC Induction, BLDC, Switched Reluctance, and Stepper Motor Control Applicable for Multiple Motor and/or Converter ControlEVA和EVB的特点1.事件管理器A和事件管理器B绝大部分功能相同;2.具有相同的外设寄存器 EVA寄存器的起始地址为7400H; EVB寄存器的起始地址为7500H; 具体的寄存器地址见

4、书p129。 两个事件管理器的寄存器的使用方法相同。3.下面主要讲述EVA的使用方法,EVB的使用方法可以类推。4.可以产生16路PWM信号,其中EVA:8路;EVB:8路;EVA:8路有6路是用全比较单元产生;有2路是用定时器比较单元产生。和EVB有关的引脚注意:定时器的比较单元和全比较单元的区别第二部分:事件管理器中断1.中断组 事件管理器A的中断事件分为3组, 事件管理器B的中断事件也分为3组,每一组有不同的: (1)中断标志寄存器;EVAIFA、 EVAIFB、EVAIFC; (2)中断屏蔽寄存器:EVAIMA、EVAIMB、 EVAIMC; EVAIMC:如果相应的位为0,则该中断被

5、屏蔽掉,不产生中断请求信号。当事件管理器模块中产生一个中断事件。 EVXIFA中的相应的位置1; 如果EVAIMA中的相应的位为1,则产生一个中断请求。PIE控制进行优先级比较,产生一个内核级的中断请求。2 外设中断的响应过程 产生内核级的外设中断后,PIE控制器将具有最高优先级的中断标志位对应的中断向量装入到外设中断向量寄存器(PIVR)中。PIVR的作用: 外设中断向量寄存器中的值可以区分是哪一个中断源产生的中断,从而在GISR中跳转到SISR中。 在中断服务子程序中,必须用软件直接向中断标志寄存器中的相应位置,写1来清除,该中断标志位,如果没有即时的清除该中断标志位,则以后该中断就不再产

6、生中断请求。中断服务子程序的例子P135 void interrupt T1INT()/定时器1周期中断服务子程序Int flag;Flag=*EVAIFRA&0X0080;If(flag!0X0080) Enable(); Return;*T1CNT=0X00;*EVAIFRA=*EVAIFRA&0X0080;/ 清除定时器1的中断标志,如果事件管理器中,只允许一个中断,从专断产生到相应中断服务子程序的第一条指令被执行,之间的延迟可以由20个CPU周期减小到16个CPU周期。思考题:如果所有的中断中,只允许有一个中断,我们还需要不需要由GISR到SISR的跳转?事件管理器的中

7、断标志寄存器 EVAIFRA地址742Fh EVAIFRA.1511:保留位; EVAIFRA.10: 定时器上溢中断标志位 T10FINT FLAG RW1C_0;读:0 标志被复位; 1 标志被置位;写:0 无效 1 复位标志位;各种中断的缩写和全称缩写全称CMP1INTCompare 1 interruptT1PINTTimer 1 period interruptT1CINTTimer 1 compare interruptT1UFINTTimer 1 underflow interruptT1OFINTTimer 1 overflow interrupt思考题:EVAIFRA的第7位

8、为T1的周期中断的标志位,这位的英语标志是什么?EVAIFRA的第7位位T1的周期中断的标志位,原来这一位为1,如何清除该位。EVAIMFRA的中断屏蔽寄存器EVAIMFA 地址 742CHEVAIMFA.1511:保留位;EVAIMFA.10:T1OFINT ENBLERW_0;0: 禁止1:使能思考:当系统上电复位事,T1OFINT中断是否被使能? 我们在相应的初始化时,是否需要对EVAIMFA进行操作。例子:Initial () SCSR1=0X81FE; /符号扩展位有效,23时钟; *WDCR=0X0E8;/禁止看门狗; *IMR=0 x0002; *IFR=0 x0FFFFH;In

9、t timerint()*EVAIMRA=*EVAIMRA|0X0080;*EVAIFRA=* EVAIFRA&0 x0080;通用定时器 通用定时器概述 通用定时器简称为(GP) general-purpose (GP) timers general-purpose (GP) INPUT/OUTPUT PINS EVA和EVB都有2个定时器,EVA的定时器称为定时器1、定时器2; EVB的定时器称为定时器3、定时器4。定时器的组成1.TxCNT(计数器):可以增加计数;2.TxCMPR( 定时器比较寄存器): 双缓冲,带影子寄存器;注意和比较寄存器的区别CMPRx; 影子寄存器:(d

10、ouble-buffered with shadow register)3.TXPR:定时器周期寄存器 双缓冲,带影子寄存器;4.TXCON:定时器控制寄存器5.Prescaler:预定标器 可用于内部和外部时钟(三个预定标位,可实现1128分频);6. 4 个可屏蔽中断 下溢;上溢;定时器比较中断;周期中断。TIMER1和TIMER2的区别1.TIMER1为所有的比较和PWM电路提供时基,所以我们可以用TIMER的相关中断,来产生PWM波;2.TIMER2为对捕获单元和正交编码脉冲操作提供时基,用TIMER2的相关中断来完成测速功能;TIMER1和其他单元之间的关系TIMER2和其他单元之间

11、的关系和定时器有关的引脚:可用于选择方向的引脚TDIRx; Counting direction for general-purpose (GP) timer (EVA) or GPIO. If TDIRA = 1, upward counting is selected. If TDIRA = 0, downward counting is selected. ()2. 可以选择内部和外部时钟 TCLKINA/B External clock input for GP timer (EVA) or GPIO. Note that the timer can also use the inte

12、rnal device clock. () full-compare units There are three full-compare units on each event manager. These compare units use GP timer1 as the time base and generate six outputs for compare and PWM-waveform generation using programmable deadband circuit. The state of each of the six outputs is configur

13、ed independently. The compare registers of the compare units are double-buffered, allowing programmable change of the compare/PWM pulse widths as needed.控制寄存器1.单个通用定时器的控制寄存器 TxCON:RW_0;T1CON.1514:仿真控制位 00 一旦仿真挂起,立即停止; 01 一旦仿真挂起,在当前定时器周期结束后停止; 10 操作不受仿真挂起影响; 11 操作不受仿真挂起影响。T1CON.13:保留位;读为0,写无效;T1CON.1

14、018:TPS2TPS0;输入时钟预定标系数 000:X/1; 001: X/2 010: X/4 ; 011: X/8 100: X/16; 101: X/32 110: X/64 ; 111: X/128 X=CPU时钟频率思考题:假设cpu频率为10MHZ;TIMER1的周期寄存器的值为FFFFH;预定标系数为111;则多长时间产生一次T1的周期中断?如何增加T1产生周期中断的时间?T1CON.7:定时器2、4周期寄存器选择位 0 定时器2、4使用自己的周期寄存器; 1 使用定时器1和定时器3的周期寄存器;T1CON.6:定时器使能位; 0 禁止定时器操作,定时器被设为保持状态,并且预定

15、标复位; 1 使能定时器操作; T1CON.54:时钟源选择 00:内部时钟; 01:外部时钟; 10:保留; 11:时钟源为正交编码脉冲电路; 只适用于定时器2和定时器4,在定时器1和定时器3中保留,这种设置只有在T1CON.0为0时有效。 T1CON.1211:TMODE1/TMODE0;计数模式选择位; 00:停止/保持; 01:连续增/减; 10:连续增; 11:连续减;定时器控制寄存器A(GPTCONA)/B 当它为高有效时,在一次比较匹配发生时,比较输出由低到高;而后,定时器如果处于增/减计数模式,在第二次匹配时,比较输出从高到低 当它为低有效时,在一次比较匹配发生时,比较输出由高

16、到低;而后,定时器如果处于增/减计数模式,在第二次匹配时,比较输出从低到高;(包含周期匹配的情况)。 当它为强制高/低时,它立即变高/低。 定时器的计数器 每个定时器还有一个映射到数据存储器种的计数器,它们的地址为: T1CNT:7401H ; T2CNT:7405H; T3CNT:7501H; T4CNT:7505H; 例子用T1的周期中断和T2的计数器来测量转速的例子(1)设定T1的周期寄存器;(2)把速度脉冲信号连接到QEP引脚T2;(3)时间到触发T1的周期中断;(4)在T1的中断服务子程序中,读T2CNT的值;同时把T2CNT的值清0;(5)经过处理接得到了转速信号。单个通用定时器比

17、较寄存器(TxCMPR) 每个定时器都有一个与之相关联的比较寄存器,它用于存放一个16位的比较值,当定时器的计数器(TxCNT)的值和其中的比较值相等时,将产生以下事件: (1)根据GPTCONA(GPTCONA)03位的设置的不同,比较输出引脚TxPWM发生跳变; (2)或起动A/D转换; (3)同时产生比较中断请求。 注意事项: 通过设置TxCON的第1位,可以使能或禁止比较操作,比较操作和输出适合于任何一种定时模式,当然也包括QEP模式; 通用比较器的地址为: 7402H(T1CMPR) 7406H(T2CMPR) 7502H(T3CMPR) 7506H(T4CMPR) 单个通用定时器周

18、期寄存器(TxPR) 每个定时器都有一个与之相关联的周期寄存器,它用于存放一个16位的值,当定时器的计数器(TxCNT)的值和其中的比较值相等时,定时器的操作就停止并保持当前的值,并根据计数器的计数方式执行复位操作,或者开始递减计数;并产生周期中断请求。 注意:初始化周期寄存器,应该在计数器被初始化为一个非0值之前就进行初始化,否则,周期寄存器的值被保持不变到下一次下溢发生。周期寄存器的地址为: 7403H(T1PR)、 7407H(T2PR)、 7503H(T3PR)、 7507H(T4PR)。 比较寄存器和周期寄存器的两级缓存 比较寄存器和周期寄存器是带有影子寄存器的,在一个控制周期中的任一时刻,一个新的值都通过两级过程操作的。 所谓的影子寄存器,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论