您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第6章事件管理器--山东大学DSP研究生
山东大学控制学院张东亮1第6章事件管理器本章内容:6.1事件管理器功能概述6.2通用定时器6.3比较单元与PWM电路6.4空间矢量PWM6.6捕捉单元6.7正交脉冲编码电路QEP6.8事件管理器的中断6.9事件管理器的寄存器6.10事件管理器的应用实例山东大学控制学院张东亮2每个事件管理器包括:•通用定时器GPT(GeneralPurposeTimer)•比较单元(CompareUnit)与PWM(PulseWidthModulation)电路•捕获单元(Capture)•正交脉冲编码电路QEP(QuadratureEncoderPulse)281xDSP提供两个完全相同的事件管理器模块EVA/EVB。事件管理器非常适用于运动控制和电机控制领域。6.1事件管理器功能概述山东大学控制学院张东亮3事件管理器模块接口框图山东大学控制学院张东亮4事件管理器A功能框图山东大学控制学院张东亮5EVAFunctionalBlockDiagram山东大学控制学院张东亮616PWMs6ComplimentaryPairs+4Independent+TripInputs+ProgrammableDead-Bands1016-bitCompares,4GeneralPurposeTimers6.67nSmaxPWMResolution2QuadratureEncoderInterfacewithIndexInput6CaptureInputsWithProgrammableResolutionControlPeripherals(EVA+EVB)GPTimer1(Counter&Period)GPTimer2(Counter&Period)CaptureMUXClockSelectGPCompare1OutputLogicT1PWM/T1CMPOutputLogicT2PWM/T2CMPGPCompare2PWMTripEnableController5PWMTRIPs/PDPINTs6PWMsFullCompareDeadBandLogicOutputLogicTMRCLKTIMERDIRTMRDIRTIMERCLK3CAP/QEPEventManager(1Module)QEP&MUXInputLogicTwoOn-ChipEventManagers山东大学控制学院张东亮7通用定时器x包括以下部件:(EVA:x=1,2;EVB:x=3,4)16位可读写的定时器计数器TxCNT16位可读写的定时器周期寄存器TxPR16位可读写的定时器比较寄存器TxCMPR16位可读写的定时器控制寄存器TxCON6.2通用定时器1.通用定时器的功能山东大学控制学院张东亮8通用定时器GPT框图山东大学控制学院张东亮92.通用定时器的输入与输出通用定时器的输入包括:•内部高速时钟HSPCLK。•外部时钟TCLKINA/B,最高频率不超过CPU时钟的1/4。•方向输入TDIRA/B,控制定时器增/减计数的方向。•复位信号RESET。•用于QEP电路时,QEP产生定时器的时钟和方向。通用定时器的输出包括:•通用定时器比较输出TxCMP,x=1,2,3,4。•为ADC模块提供ADC转换启动信号。•为自身比较逻辑和比较单元提供下溢、上溢、比较匹配和周期匹配信号。•计数方向指示位。山东大学控制学院张东亮10单个通用定时器控制寄存器TxCON•D15-14:Free,Soft仿真控制位•D13:Reserved•D12-11:TMOD1,TMODE0计数模式选择•D10-8:TPS2-TPS0输入时钟预定标系数•D6:TENBLE定时器2,4周期寄存器选择位•D5-4:TCLKS1,TCLKS0时钟源选择•D3-2:TCLD1,TCLD0定时器比较寄存器的重载条件•D1:TECMPR定时器比较使能位•D0:SELT1PR周期寄存器选择3.通用定时器的寄存器山东大学控制学院张东亮11全局通用定时器控制寄存器GPTCONA/B•D15,12-11,5-4:Reserved•D14:T2STAT定时器2的状态。0:减计数•D13:T1STAT定时器1的状态。•D10-9:T2TOADC定时器2启动AD转换事件•D8-7:T1TOADC定时器1启动AD转换事件•D6:TCOMOE比较输出允许•D3-2:T2PIN定时器2比较输出极性•D1-0:T1PIN定时器1比较输出极性山东大学控制学院张东亮12通用定时器比较寄存器(TxCMPR,x=1~4)通用定时器周期寄存器(TxPR,x=1~4)通用定时器比较寄存器和周期寄存器的双缓冲山东大学控制学院张东亮134.通用定时器的比较输出通用定时器的比较输出可以高电平有效、低电平有效、强制高或强制低,与GPTCONA/B控制寄存器的设置有关。当比较输出高(低)电平有效同时在第一次比较匹配时,比较输出由低变为高(由高变为低)。如果通用定时器配置为递增/递减计数模式,则在第二次比较匹配或周期匹配时,比较输出从高至低(由低至高)。当定时器的比较输出设置为强制高(低)时,它立即变为高(低)电平。山东大学控制学院张东亮145.定时器计数方向寄存器GPTCONA/B中的相应位反映了通用定时器的计数方向:•1代表递增计数;•0代表递减计数。6.通用定时器的时钟可以采用内部CPU时钟或外部时钟作为时钟源,外部时钟通过TCLKINA/B引脚提供。外部时钟的频率必须小于或等于内部CPU频率的1/4。在定向增/减计数模式下,通用定时器2(EVA)和通用定时器4(EVB)可以使用QEP电路,此时QEP电路为定时器提供时钟和方向输入。山东大学控制学院张东亮157.通用定时器的同步适当地配置T2CON控制寄存器,可实现通用定时器2与通用定时器1的同步。方法如下:•将T2CON中的T2SWT1位置1,使定时器2使用定时器1的使能位TENABLE启动定时器,这样即可实现两个计数器的同步启动。•在启动同步操作之前,用不同的初始化值初始化通用定时器1和定时器2中的计数器。•通过将寄存器T2CON的SELT1PR位置位,使通用定时器2使用通用定时器1的周期寄存器作为自己的周期寄存器,而不用自己本身的周期寄存器。山东大学控制学院张东亮168.用一个定时器事件启动A/D转换9.仿真悬挂时的通用定时器操作山东大学控制学院张东亮1710.通用定时器中断在通用定时器的EVAIFRA、EVAIFRB、EVBIFRA和EVBIFRB寄存器中有16个中断标志,当发生下列事件时,每个通用定时器可产生4个中断。•上溢(Overflow),TxOFINT(x=1~4)。•下溢(Underflow),TxUFINT(x=1~4)。•比较匹配(Comparematch),TxCINT(x=1~4)。•周期匹配(Periodmatch),TxPINT(x=1~4)。山东大学控制学院张东亮18通用定时器的有四种工作模式•停止/保持模式•连续增计数模式•定向增/减模式•连续增/减模式11.通用定时器的计数操作模式山东大学控制学院张东亮19通用定时器连续增计数模式山东大学控制学院张东亮20通用定时器定向增/减计数模式山东大学控制学院张东亮21通用定时器连续增/减模式山东大学控制学院张东亮22通用定时器连续增计数模式下的比较/PWM输出GPTimerCompare/PWMOutputinUp/DownCountingModes12.通用定时器的比较操作非对称波形的产生山东大学控制学院张东亮23通用定时器连续增减计数模式下的比较/PWM输出对称波形的产生山东大学控制学院张东亮24//例,利用GP定时器1在GPIOB5引脚上产生周期为1s的方波,//令一个LED闪烁//XCLKIN=30MHz,SYSCLKOUT=150MHz#includeDSP281x_Device.hinterruptvoideva_timer1_isr(void);intcounter;//全局变量软件计数器,扩大定时时间voidEVA_Timer1(){EvaRegs.GPTCONA.all=0;//初始化EVATimer1EvaRegs.T1PR=0x492;//定时周期为1.707us*(T1PR+1)=1msEvaRegs.EVAIMRA.bit.T1PINT=1;//使能定时器1的周期中断EvaRegs.EVAIFRA.bit.T1PINT=1;//写1清除定时器1的周期中断标志EvaRegs.T1CNT=0x0000;EvaRegs.T1CON.all=0x1740;//连续增计数,128分频,打开定时器}山东大学控制学院张东亮25voidmain(void){InitSysCtrl();//初始化系统控制寄存器,时钟频率150MHz//高速时钟的工作频率HSPCLK=25MHzEALLOW;GpioMuxRegs.GPBMUX.all=0;//把GPIOB8设置为一般I/O口GpioMuxRegs.GPFDIR.all=0xff;GPIOB7~0为输出EDIS;DINT;//关闭总中断,清除中断标志IER=0x0000;//关闭外围中断IFR=0x0000;//清中断标志InitPieCtrl();//初始化PIE控制寄存器InitPieVectTable();EVA_Timer1();EALLOW;山东大学控制学院张东亮26PieVectTable.T1PINT=&eva_timer1_isr;//中断服务程序入口地址放入中断向量表EDIS;//依次使能各级中断:外设中相应中断位-PIE控制器-CPUPieCtrlRegs.PIEIER2.all=M_INT4;//GP定时器1使能位于PIE第2组第4个,将其使能IER|=M_INT2;//PIE第2组对应于CPU的可屏蔽中断2(INT2),将其使能EINT;//开总中断counter=1;//软件计数器初值GpioDataRegs.GPBDAT.bit.GPIOB5=0;//指示灯灭for(;;){;}}山东大学控制学院张东亮27interruptvoideva_timer1_isr(void){counter++;if(counter==500)//500*1ms=500ms{counter=1;GpioDataRegs.GPBDAT.bit.GPIOB5^=1;//GPIOB5取反产生方波,指示灯亮灭切换}EvaRegs.EVAIMRA.bit.T1PINT=1;//使能定时器1的周期中断EvaRegs.EVAIFRA.bit.T1PINT=1;//写1清除定时器1的周期中断标志PieCtrlRegs.PIEACK.all=PIEACK_GROUP2;//清零PIEACK中的第2组中断对应位}山东大学控制学院张东亮286.3比较单元与PWM电路1.比较单元每个事件管理器有三个全比较单元。每个单元都有两个PWM输出。比较单元的时基由通用定时器提供。包括:•3个16位全比较寄存器(对于EVA是CMPR1,2,3;对于EVB是CMPR4,5,6),它们各带一个影子寄存器。•1个16位的比较控制寄存器(对于EVA是COMCONA;对于EVB是COMCONB)。•1个16位的比较动作控制寄存器(对于EVA是ACTRA;对于EVB是ACTRB)。•6个PWM输出脚,对于EVA是PWMy,y=1~6;对于EVB是PWMz,z=7~12。•控制和中断逻辑。山东大学控制学院张东亮29比较单元框图山东大学控制学院张东亮30比较单元框图山东大学控制学院张东亮312.与比较单元相关的PWM电路PWM电路包括如下功能单元:•非对称/对称波形发生器。•可编程的死区单元。•输出逻辑。•空间矢量PWM状态机。比较单元的PWM产生和相关的PWM电路由以下寄存器控制(对于EVA模块):T1CON、COMCONA、ACTRA和DBTCONA。山东大学控制学院张东亮32PWM电路框图山东大学控制学院张东亮333.事件管理器的PWM产生能力每个事件管理器模块都可产生PWM波形。•
本文标题:第6章事件管理器--山东大学DSP研究生
链接地址:https://www.777doc.com/doc-1814236 .html