3-3事件管理器3F2812主要功能简介1事件管理器功能概述2通用定时器3比较单元4PWM电路5空间矢量PWM6捕获单元7正交编码脉冲QEP电路8事件管理器的中断9事件管理器的寄存器10使用实例3F2812主要功能简介3-3事件管理器1事件管理器功能概述EventManagerModule&SignalEVDeviceInterfacesEVAFunctionalBlockDiagramEventManagerFunctions1通用定时器General-Purpose(GP)Timers16位定时器,EVA:T1/2;EVB:T3/4,独立/同步工作内部/外部时钟输入,可编程分频,方向可引脚控制4种可屏蔽中断:上溢、下溢、比较、周期全比较单元Full-CompareUnits3x2个独立的比较单元,每个有6个比较输出配合可编程死区发生器,产生PWM波形可编程死区发生器ProgrammableDeadbandGeneration3个4位计数器,1个16位比较寄存器,死区值可编程PWM波形发生器PWMWaveformGeneration共可产生8个PWM波形输出捕获单元CaptureUnitsEVA:CAP1/2/3,EVB:CAP4/5/6,上/下边沿触发3个16位2-level-deepFIFO堆栈EventManagerFunctions2正交编码脉冲电路Quadrature-EncodePulse(QEP)CAP1/2,CAP4/5作为QEP完全同步输入脉冲序列方向、边沿自动检测A/D转换器外部启动ExternalADCStart-of-ConversionEVASOC、EVBSOC功率驱动保护中断PowerDriveProtectionInterrupt为系统安全操作提供保护,如过压、过流、超速等EV寄存器EVRegistersEVARegisters:0x7400–0x7431EVARegisters:0x7500–0x7531EV中断EVInterrupts多种中断源EVARegisters(1)EVARegisters(2)问题一一对应EVA寄存器,说出EVB寄存器的名称?3F2812主要功能简介3-3事件管理器2通用定时器问题还有其它定时器吗?有几个?TI如此设计的意图是什么?GPTimersBlockDiagramGPTimerFunctionalBlock每个GPTimer包括:一个16位增/减计数器,TxCNT,RW,当前计数值一个16位比较寄存器,TxCMPR,RW,双缓冲一个16位周期寄存器,TxPR,EW,双缓冲一个16位控制寄存器,TxCON,RW内部/外部时钟输入,可定标四个可屏蔽中断控制逻辑一个增/减方向控制引脚,TDIRx一个比较输出引脚,TxCMP全局控制寄存器,GPTCONA/BGPTimerInput&OutputInput:内部高速外设时钟,HSPCLK外部时钟TCLKINA/B,最高频率≤1/4CPU时钟方向输入引脚,TDIRA/B复位信号,RESETOutput:比较输出,TxCMPADC启动转换信号上溢、下溢、比较匹配、周期匹配计数方向指示位GPTimerRegisters1控制寄存器,TxCON选择四种计数模式之一选择内/外时钟时钟预定标确定T2、T4使用的周期寄存器是本身还是T1、T3重新装载条件定时器使能/禁止比较操作使能/禁止全局控制寄存器,GPTCONA/B根据定时器的任务确定采取的操作方式控制计数方向比较寄存器,TxCMPR存放比较常数,不断与计数器比较,匹配时:根据GPTCONA/B设置,比较输出引脚发生跳变对应设置中断标志中断未屏蔽,产生中断请求周期寄存器,TxPR存放周期值,决定定时器周期与计数器值相等时,根据计数方式确定复位为0或转为减计数GPTimerRegisters2比较和周期寄存器的双缓冲任何时候都可写入新值,但不立即加载周期寄存器:当计数器计数到0时重新加载比较寄存器:立即加载/下溢时加载/下溢或周期匹配时加载比较输出高/低电平有效、强制高/低电平高/低电平有效:比较输出有效时转变电平强制高/低电平:立即转变电平计数方向GPTCONA/B中的位反映计数方向TDIRA/B引脚决定计数方向1增计数0减计数GPTimerClock可采用内部时钟或外部时钟TCLKINA/B引脚输入外部时钟频率≤1/4CPU时钟定向增/减计数模式:T2、T4为QEP电路使用QEP电路为定时器提供时钟、方向输入基于QEP电路的时钟输入QEPCLK为T1的时钟输入预标定阐述≡1计数器在上升/下降沿均计数QEP产生的时钟频率是每个QEP输入通道的4倍QEP时钟频率应≤1/4CPU时钟GPTimer的同步配置T2CON使T2与T1同步:将T2CON的T2SWT1置1,T2用T1的使能位TENABLE启动启动前,T1、T2用不同值初始化计数器将T2CON的SELT1PR置1,T2用T1的周期T1、T2都从自己的当前值开始计数问题定时器同步有什么用处?如何使用T4与T3的同步?GPTimer启动ADCGPTCONA/B中设置ADC的启动信号由哪个定时器提供:下溢中断周期中断比较中断GPTimer仿真挂起时的操作在线仿真产生仿真中断,DSP时钟停止仿真挂起控制位设置可以使定时器:继续计数立即停止当前计数周期后停止问题在单片机或ARM的调试中遇到过仿真挂起时定时器操作的问题吗?GPTimer的中断在EVAIFRA、EVAIFRB、EVBIFRA、EVBIFRB有16个中断标志,每个定时器4个上溢TxOFINT计数达到0xFFFF下溢TxUFINT计数达到0比较匹配TxCINT计数值=比较寄存器值周期匹配TxPINT计数值=周期寄存器值问题上面的4个寄存器是什么寄存器?GPTimer的计数模式4种计数模式:停止/保持模式连续增计数模式定向增/减计数模式连续增/减计数模式问题在哪里设置计数模式?缺省什么模式?模式设置后立即开始计数吗?禁止后再启动,要重新设置预定标吗?GPTimer停止/保持模式定时器停止后保持当前状态不变计数器比较输出预定标问题如何再次启动?GPTimer连续增计数模式问题何时发生周期匹配、下溢、上溢中断?计数值可以大于周期寄存器值吗?会怎样?图中周期是多少?第一个周期也一样吗?TxPR修改后周期立即改变吗?方向可改变吗?方向引脚有用吗?GPTimer定向增/减计数模式问题何时发生周期匹配、下溢、上溢中断?方向引脚改变,计数方向何时发生改变?减计数,初始值大于周期值,会怎样?GPTimer连续增/减计数模式问题何时发生周期匹配、下溢、上溢中断?方向引脚有用吗?GPTimer比较操作和PWM输出相关元素比较寄存器:TxCMPRPWM输出引脚:TxPWM使能位:TxCON计数模式:TxCON计数方向引脚:TDIRA/B中断标志置位:中断标志寄存器PWM跳变方式:GPTCONA/B启动ADC:GPTCONA/BPWM非对称波形输出连续增计数模式问题找出变化规律?为什么有两种输出?PWM对称波形输出连续增/减计数模式问题找出变化规律?PWM输出逻辑连续增计数模式周期内比较输出GPTCONA/B设置PWM输出比较匹配前不变X不变比较匹配时Active高有效高低有效低周期匹配时Inactive高有效低低有效高强制高立即高强制低立即低PWM输出逻辑连续增/减计数模式周期内比较输出GPTCONA/B设置PWM输出第一次比较匹配前不变X不变第一次比较匹配时Active高有效高低有效低第二次比较匹配时Inactive高有效低低有效高第二次比较匹配后不变X不变强制高立即高强制低立即低PWM输出高阻条件软件禁止比较输出:清GPTCONA/B[6]功率保护中断请求:引脚PDPINTx有效,且中断未屏蔽任何一个复位信号软件禁止比较器:清TxCON[1]问题功率保护中断有什么作用?两个“软件禁止比较……”,差别?GPTimerActive时间计算连续增计数模式TxCMPR=0TxCMPR﹥TxPRactivetT定标后输入时钟周期(TxPR-TxCMPR+1)activetT定标后输入时钟周期TxPR0activet问题连续增/减模式下的时间如何计算?GPTimerActive时间计算连续增/减计数模式TxCMPRup=0,TxCMPRdn≠0TxCMPRup=0,TxCMPRdn=0TxCMPRup﹥TxPR,TxCMPRdn﹥TxPRactivetTupdn定标输入时钟周期(2TxPR-TxCMPR-TxCMPR)0activetactivetTdn定标输入时钟周期(2TxPR-TxCMPR)activetT定标输入时钟周期2TxPRGPTimer复位状态任何RESET事件发生时,都产生下列结果计数方向位=1其它所有定时器寄存器的位=0,定时器被禁止所有中断标志位=0功率保护中断屏蔽位=1,开放其它所有中断屏蔽位=0定时器比较输出被置高阻问题GPTimer你会用了吗?3F2812主要功能简介3-3事件管理器3比较单元问题不是有个比较器吗?怎么又来个比较单元?CompareUnitBlockDiagramCompareUnitsEVA:全比较单元1、2、3两个PWM输出,死区、输出极性可编程时基有GPTimer1提供EVB:全比较单元4、5、6两个PWM输出,死区、输出极性可编程时基有GPTimer3提供CompareUnits每个EV模块包括CompareUnitsInput:Output:比较操作模式(由COMCONx决定):CompareUnits操作:操作设置:CompareUnitsRegistersCompareUnitInterrupts&ResetInterrupts:Reset:3F2812主要功能简介3-3事件管理器4PWM电路问题PWM的全称是什么?PWM有哪些形式的?谈谈PWM的用途?PWMCircuitsBlockDiagramPWMCircuits每个EV有6个PWM输出,死区、极性可编程相关控制寄存器:EVA:T1CON、COMCONA、ACTRA、DBTCONAEVB:T3CON、COMCONB、ACTRB、DBTCONB问题以上都是什么寄存器?为什么要设计6个PWM输出?PWM发生器能力5个独立的PWM输出3个由比较单元产生,2个由通用定时器产生另有3个与比较单元的PWM输出有关PWM输出对,之间的死区时间可编程设置最小死区宽度=1个CPU时钟周期最小脉宽=最小调整量=1个CPU时钟周期PWM最大分辨率=16bit可快速改变PWM的载波频率可快速改变PWM的脉宽功率驱动保护中断可编程产生非对称/对称/空间矢量PWM波形比较寄存器、周期寄存器可自动装载,减小CPU开销可编程死区单元一个16位死区控制寄存器,DBTCONx,RW一个16位输入时钟预定标器:x/1,x/2,……,x/32CPU时钟输入3个4-bit减计数定时器控制逻辑死区单元的Input:比较单元1/2/3非对称/对称波形发生器的PH1、PH2、PH3死区单元的Output:DTPH1/DTPH1_、DTPH2/DTPH2_、DTPH3/DTPH3_Dead-BandUnitBlockDiagram问题为什么要设计输出间死区?Dead-TimeExample每一个输入信号PHx,产生2个输出信号DTPHx和DTPHx_死区未使能,2个输出信号完全相同死区使能,2个输出跳变出现先后,间隔时间即死区时间计算:DBTCONx[11-8]=mDBTCONx[4-2]=p(即分频值)死区