第6章事件管理器.ppt_第1页
第6章事件管理器.ppt_第2页
第6章事件管理器.ppt_第3页
第6章事件管理器.ppt_第4页
第6章事件管理器.ppt_第5页
免费预览已结束,剩余64页可下载查看

下载本文档

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

文档简介

山东大学控制学院张东亮,1,6.1事件管理器功能概述,通用定时器GPT(GeneralPurposeTimer)比较单元与PWM(PulseWidthModulation)电路捕获单元(Capture)正交脉冲编码电路QEP(QuadratureEncoderPulse),281xDSP提供两个完全相同的事件管理器模块EVA/EVB。事件管理器非常适用于运动控制和电机领域。,山东大学控制学院张东亮,2,事件管理器模块接口框图,山东大学控制学院张东亮,3,事件管理器A功能框图,山东大学控制学院张东亮,4,EVAFunctionalBlockDiagram,山东大学控制学院张东亮,5,16PWMs6ComplimentaryPairs+4Independent+TripInputs+ProgrammableDead-Bands1016-bitCompares,4GeneralPurposeTimers6.67nSmaxPWMResolution2QuadratureEncoderInterfacewithIndexInput6CaptureInputsWithProgrammableResolution,ControlPeripherals(EVA+EVB),GPTimer1(CounterEVB:x=3,4)16位可读写的定时器计数器TxCNT16位可读写的定时器周期寄存器TxPR16位可读写的定时器比较寄存器TxCMPR16位可读写的定时器控制寄存器TxCON,山东大学控制学院张东亮,7,通用定时器GPT框图,山东大学控制学院张东亮,8,全局通用定时器控制寄存器GPTCONA/B,D15,12-11,5-4:ReservedD14:T2STAT定时器2的状态。0:减计数D13:T1STATD10-9:T2TOADC定时器2启动AD转换事件D8-7:T1TOADCD6:TCOMOE比较输出允许D3-2:T2PIN定时器2比较输出极性D1-0:T1PIN,山东大学控制学院张东亮,9,单个通用定时器控制寄存器TxCON,D15-14:Free,Soft仿真控制位D13:ReservedD12-11:TMOD1,TMODE0计数模式选择D10-8:TPS2-TPS0输入时钟预定标系数D6:TENBLE定时器2,4周期寄存器选择位D5-4:TCLKS1,TCLKS0时钟源选择D3-2:TCLD1,TCLD0定时器比较寄存器的重载条件D1:TECMPR定时器比较使能位D0:SELT1PR周期寄存器选择,山东大学控制学院张东亮,10,通用定时器的四种工作模式,停止/保持模式连续增计数模式定向增/减模式连续增/减模式,山东大学控制学院张东亮,11,通用定时器连续增计数模式,山东大学控制学院张东亮,12,通用定时器定向增/减计数模式,山东大学控制学院张东亮,13,通用定时器连续增/减计数模式,山东大学控制学院张东亮,14,通用定时器:连续增/减模式,山东大学控制学院张东亮,15,通用定时器增计数模式下的比较/PWM输出GPTimerCompare/PWMOutputinUp/DownCountingModes,山东大学控制学院张东亮,16,通用定时器增减计数模式下的比较/PWM输出,山东大学控制学院张东亮,17,/例,利用GP定时器1在GPIOF8引脚上产生周期为0.4s方波,/令一个LED闪烁/XCLKIN=30MHz,SYSCLKOUT=150MHz#includeDSP28_Device.hinterruptvoideva_timer1_isr(void);voidEVA_Timer1()EvaRegs.GPTCONA.all=0;/初始化EVATimer1EvaRegs.T1PR=0 x9895;/定时周期为5.12us*(T1PR+1)=0.2sEvaRegs.EVAIMRA.bit.T1PINT=1;/使能定时器1的周期中断EvaRegs.EVAIFRA.bit.T1PINT=1;/写1清除定时器1的周期中断标志EvaRegs.T1CNT=0 x0000;EvaRegs.T1CON.all=0 x1740;/连续增计数,128分频,打开定时器,山东大学控制学院张东亮,18,voidmain(void)InitSysCtrl();/初始化系统控制寄存器,时钟频率150MHzEALLOW;SysCtrlRegs.HISPCP.all=0 x0003;/高速时钟的工作频率25MHzEDIS;DINT;/关闭总中断,清除中断标志IER=0 x0000;/关闭外围中断IFR=0 x0000;/清中断标志InitPieCtrl();/初始化PIE控制寄存器InitPieVectTable();EVA_Timer1();EALLOW;GpioMuxRegs.GPFMUX.bit.MCLKXA_GPIOF8=0;/把GPIOF8设置为一般I/O口,输出GpioMuxRegs.GPFDIR.bit.GPIOF8=1;,山东大学控制学院张东亮,19,PieVectTable.T1PINT=,山东大学控制学院张东亮,20,interruptvoideva_timer1_isr(void)GpioDataRegs.GPFDAT.bit.GPIOF8=1;/产生方波EvaRegs.EVAIMRA.bit.T1PINT=1;/使能定时器1的周期中断EvaRegs.EVAIFRA.bit.T1PINT=1;/写1清除定时器1的周期中断标志PieCtrlRegs.PIEACK.all=PIEACK_GROUP2;/清零PIEACK中的第2组中断对应位,山东大学控制学院张东亮,21,6.3比较单元与PWM电路,比较单元框图,山东大学控制学院张东亮,22,比较单元框图,山东大学控制学院张东亮,23,比较单元与PWM发生器,每个事件管理器有三个全比较单元。每个比较单元都有两个相关的PWM输出。比较单元的时基由通用定时器提供。每个事件管理器模块的比较单元包括:三个16位的比较器(EVA:CMPR1,2,3);一个16位的比较控制寄存器(COMCONA);一个16位的比较方式寄存器(ACTRA)6个比较/PWM输出引脚(EVA:PWMy,y=1-6),山东大学控制学院张东亮,24,比较控制寄存器A:COMCONA,D15:CENABLE比较使能位D14-13:CLD1/CLD0比较寄存器重载条件D12:SVENABLE空间矢量PWM模式位D11-10:ACTRLD1/ACTRLD0方式控制寄存器重载条件D9:FCOMPOE比较输出使能位D8:PDPINTASTATUS当前PDPINT引脚的状态D7-0:保留位,山东大学控制学院张东亮,25,比较方式寄存器:ACTRA,D15:SVDIR空间矢量PWM旋转方向位D14-12:D2-D0基本的空间矢量位D11-10:CMP6ACT1/0引脚PWM6的比较输出方式选择位。00-强制低,01-低有效,10-高有效,11-强制高D9-8:CMP5ACT1/0D7-6:CMP4ACT1/0D5-4:CMP3ACT1/0D3-2:CMP2ACT1/0D1-0:CMP1ACT1/0,山东大学控制学院张东亮,26,PWM电路,PWM电路框图,山东大学控制学院张东亮,27,死区单元框图,山东大学控制学院张东亮,28,输出逻辑框图,山东大学控制学院张东亮,29,非对称PWM波形的产生,山东大学控制学院张东亮,30,比较单元与PWM发生器,对称PWM波形的产生,山东大学控制学院张东亮,31,/例,利用GP定时器1的比较器在产生一路PWM波,外设时钟25M/同时用全比较器产生3对PWM波,GP定时器1作全比较单元时基#includeDSP281x_Device.hvoidEVA_PWM()EvaRegs.EXTCON.bit.INDCOE=1;/单独使能比较输出模式EvaRegs.ACTRA.all=0 x0aaa;/空间矢量不动作EvaRegs.DBTCONA.all=0 x08ec;/死区定时器启动EvaRegs.CMPR1=0 x0006;EvaRegs.CMPR2=0 x0005;EvaRegs.CMPR3=0 x0004;EvaRegs.COMCONA.all=0 xa4e0;/空间向量禁止,全比较使能,陷阱禁止,山东大学控制学院张东亮,32,voidEVA_Timer1()EvaRegs.EXTCON.bit.INDCOE=1;/单独使能比较输出模式EvaRegs.GPTCONA.all=0 x0012;/GP定时器1比较输出低有效EvaRegs.T1PR=0 x0013;/定时周期为5.12us*(T1PR+1)EvaRegs.T1CMPR=0 x0003;/GP定时器的比较寄存器EvaRegs.T1CNT=0 x0000;/定时器初值EvaRegs.T1CON.all=0 x1742;/连续增计数,128分频,使能比较,打开定时器voidIOinit()EALLOW;/将GPIOA配置为外设口GpioMuxRegs.GPAMUX.all=0 xffff;EDIS;,山东大学控制学院张东亮,33,voidmain(void)InitSysCtrl();/初始化系统控制寄存器,时钟频率150MEALLOW;SysCtrlRegs.HISPCP.all=0 x0003;/高速时钟的工作频率25MEDIS;DINT;/关闭总中断,清除中断标志IER=0 x0000;/关闭外围中断IFR=0 x0000;/清中断标志IOinit();EVA_PWM();EVA_Timer1();for(;);,山东大学控制学院张东亮,34,三相逆变桥原理图,6.4空间矢量PWM,山东大学控制学院张东亮,35,6.5捕获单元,捕获单元用于捕获输入引脚电平的变化并记录其发生变化的时间。每个事件管理器有3个捕获单元。每个捕获单元有一个与之对应的捕获输入引脚。为了使捕获单元正常工作,应设置如下寄存器:1)初始化捕获单元FIFO堆栈CAPFIFOx,并将适当的状态位清零。2)初始化TxCON以设置所选择的通用定时器的一种操作模式。3)如果希望得到比较和周期中断,则应设置相应的通用定时器的比较器TxCMP和周期寄存器TxPR。4)设置捕获控制器CAPCON。,山东大学控制学院张东亮,36,捕获单元框图,山东大学控制学院张东亮,37,捕获单元框图,山东大学控制学院张东亮,38,使用实例在永磁同步电机控制系统中,捕获操作可用于增量式位置编码器Z脉冲的捕获。Z脉冲即零位脉冲,其到来的瞬间,电机转子d轴位置正好与A相绕组的轴线位置重合,即位置角正好为0。此时正交编码计数器的值(记录的是来自电机的增量式编码器的位置信号),即为零位位置值,被采样进CAP的FIFO中,可以读出。Z脉冲信号一般用捕获口CAP3来捕获。在使用捕获单元时可以采用查询法和中断法。下面是使用查询法采样零位位置的程序实例。,山东大学控制学院张东亮,39,voidmain(void)if(EvaRegs.CAPFIFO.bit.CAP3FIFO=1)/如果有Z脉冲Zero_kCAP3=EvaRegs.CAP3FIFO;/将FIFO中的零位数据读到Zero_kCAP3中if(EvaRegs.CAPFIFO.bit.CAP3FIFO=1)/如果有两次脉冲Zero_kCAP3=EvaRegs.CAP3FIFO;/第二次读,这样Zero_kCAP3总是记录最新值EvaRegs.CAPFIFO.bit.CAP3FIFO=0;/清捕获状态,山东大学控制学院张东亮,40,在上述程序中,只要来了第一个Z脉冲(此时定时器时基值自动打入CAP3FIFO顶层寄存器中),捕获FIFO状态寄存器A中的状态位CAP3FIFO就变1,此时可读出时基值(即零位位置),读出后状态位CAP3FIFO会自动变0。如果不变0,表明在此期间已经捕获了两次(或更多)的计数值,则可以进行第二次读操作,将最新的捕获值读出。作为对比,下例给出了中断法采样程序。为了在第一个Z脉冲到来时就捕捉到,可在初始化程序中人为地先令EvaRegs.CAPFIFO.bit.CAP3FIFO=1,通知CAP3单元在顶层FIFO中已经有了一个采样值(实际上是虚假的采样值),这样在第一个Z脉冲来时,状态位CAP3FIFO就变为2,可以进入中断。进入中断后,读出的第一个值是假的,必须读第二次才能读出底层寄存器中的正确值。,山东大学控制学院张东亮,41,voidCap3int_isr(void)Zero_kCAP3=EvaRegs.CAP3FIFO;/第一次采样值是假的,必须采样第二次Zero_kCAP3=EvaRegs.CAP3FIFO;/第一次采样后,底层寄存器的值自动载人顶层EvaRegs.CAPFIFO.bit.CAP3FIFO=1;/仍令CAP3FIFO为1,保证下次跳变即中断EvaRegs.EVAIFRC.bit.CAP3INT=1;/清中断悬挂PieCtrlRegs.PIEACK.all=PIEACK_GROUP3;return;,山东大学控制学院张东亮,42,虽然两种方法都可使用,但建议在实践中采用查询法而不是中断法。原因如下:在Z脉冲上升沿(或下降沿)瞬间,当前的时基(例如计数器T2)值被自动锁存进FIFO中,不需要在此瞬间进人中断程序记录该值。第二个Z脉冲到来时才能产生中断,所以要做额外处理。查询法可以在第一个Z脉冲到来时作出反应。一般来讲一个程序中的中断越少越好,中断太多有可能出现一些难以预测的问题。,山东大学控制学院张东亮,43,/例,用CAP2对脉冲的上升沿进行捕获,再计算脉冲宽度#includeDSP28_Device.hUint16temp;voidCAP2init()EvaRegs.GPTCONA.all=0 x0000;EvaRegs.CAP2FBOT=0 x0000;EvaRegs.CAP2FIFO=0 x0000;EvaRegs.CAPFIFO.all=0 x0000;EvaRegs.T1PR=0 xffff;EvaRegs.T1CNT=0 x0000;EvaRegs.CAPCON.all=0 x0210;/捕获单元2为检测上升沿,选择Timer1为时钟EvaRegs.T1CON.all=0 xf74c;/Timer1为连续增,预分频系数为128,山东大学控制学院张东亮,44,voidIOinit()EALLOW;GpioMuxRegs.GPAMUX.bit.CAP2Q2_GPIOA9=1;/使能CAP2引脚EDIS;,山东大学控制学院张东亮,45,main(void)InitSysCtrl();/系统初始化DINT;/禁止和清除所有CPU中断IER=0 x0000;IFR=0 x0000;IOinit();CAP2init();EvaRegs.T1CNT=0 x0000;EvaRegs.CAPCON.bit.CAPQEPN=1;while(1)if(EvaRegs.CAPFIFO.bit.CAP2FIFO)=2)temp=EvaRegs.CAP2FBOT-EvaRegs.CAP2FIFO;,山东大学控制学院张东亮,46,6.6正交脉冲编码QEP电路,正交编码脉冲(QEP:QuadratureEncoderPulse)是两个频率相同且正交(相位差90度即1/4个周期)的脉冲。在许多运动控制系统中,需要正反两个方向的运动,为了对位置、速度进行控制,必须检测出当前运动的方向、位置、速度等。EVA、EVB各有一个QEP电路。内部有4倍频电路。,山东大学控制学院张东亮,47,正交脉冲编码电路QEP框图EVA/EVB,山东大学控制学院张东亮,48,正交脉冲编码和经过解码的定时器时钟和方向,山东大学控制学院张东亮,49,事件管理器中断分为三组:A,B,C,每组分配一个中断。每组中断皆有多个中断源。,6.7事件管理器的中断,山东大学控制学院张东亮,50,山东大学控制学院张东亮,51,山东大学控制学院张东亮,52,6.8事件管理器的寄存器,定时器1计数寄存器:T1CNT。定时器1比较寄存器:T1CMPR。定时器1周期寄存器:T1PR。定时器2计数寄存器:T2CNT。定时器2比较寄存器:T2CMPR。定时器2周期寄存器:T2PR。定时器3计数寄存器:T3CNT。定时器3比较寄存器:T3CMPR。定时器3周期寄存器:T3PR。,山东大学控制学院张东亮,53,定时器4计数寄存器:T4CNT。定时器4比较寄存器:T4CMPR。定时器4周期寄存器:T4PR。定时器1控制寄存器:T1CON。定时器2控制寄存器:T2CON。定时器3控制寄存器:T3CON。定时器4控制寄存器:T4CON。,山东大学控制学院张东亮,54,全局通用定时器控制寄存器A:GPTCONA。全局通用定时器控制寄存器B:GPTCONB。比较控制寄存器A:COMCONA。比较控制寄存器B:COMCONB。比较方式控制寄存器A:ACTRA。比较方式控制寄存器B:ACTRB。捕获单元控制寄存器A:CAPCONA。捕获单元控制寄存器B:CAPCONB。捕获单元FIFO状态寄存器A:CAPFIFOA。捕获单元FIFO状态寄存器B:CAPFIFOB。死区控制寄存器A:DBTCONA。死区控制寄存器B:DBTCONB。,山东大学控制学院张东亮,55,EVA中断标志寄存器A:EVAIFA。EVA中断标志寄存器B:EVAIFB。EVA中断标志寄存器C:EVAIFC。EVA中断屏蔽寄存器A:EVAIMA。EVA中断屏蔽寄存器B:EVAIMB。EVA中断屏蔽寄存器C:EVAIMC。EVB中断屏蔽寄存器A:EVBIMA。EVB中断标志寄存器B:EVBIFB。EVB中断标志寄存器C:EVBIFC。EVB中断屏蔽寄存器A:EVBIMA。EVB中断屏蔽寄存器B:EVBIMB。EVB中断屏蔽寄存器C:EVBIMC。EV扩展控制寄存器A:EXTCONAEV扩展控制寄存器B:EXTCONB,山东大学控制学院张东亮,56,定时器x控制寄存器:TxCON,D15-14:Free,Soft仿真控制位D13:ReservedD12-11:TMOD1,TMODE0计数模式选择D10-8:TPS2-TPS0输入时钟预定标系数D6:TENBLE定时器2,4周期寄存器选择位D5-4:TCLKS1,TCLKS0时钟源选择D3-2:TCLD1,TCLD0定时器比较寄存器的重载条件D1:TECMPR定时器比较使能位D0:SELT1PR周期寄存器选择,山东大学控制学院张东亮,57,全局通用定时器控制寄存器A(GPTimerControlRegisterA),D15:ReservedD14:T2STAT定时器2的状态。0:减计数D13:T1STATD10-9:T2TOADC定时器2启动AD转换事件D8-7:T1TOADCD6:TCOMOE比较输出允许D3-2:T2PIN定

温馨提示

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

评论

0/150

提交评论