1.29k likes | 1.4k Views
第 7 章 事件管理器 7.1 事件管理器模块 概述 7.2 通用定时器 7.3 比较单元 7.4 PWM 电路 及 PWM 信号的产生 7.5 空间向量 PWM 7.6 捕捉单元 7.7 正交编码器脉冲电路( QEP ) 7.8 事件管理器中断. 7.1 事件管理器模块概述 最重要、最复杂 的模块 ,可为 所有类型电机 提供控制技术。 7.1.1 事件管理器结构 LF2407A 两个 事件管理器模块: EVA 和 EVB。
E N D
第7章 事件管理器 7.1 事件管理器模块概述 7.2 通用定时器 7.3 比较单元 7.4 PWM电路及PWM信号的产生 7.5 空间向量PWM 7.6 捕捉单元 7.7 正交编码器脉冲电路(QEP) 7.8 事件管理器中断
7.1 事件管理器模块概述 最重要、最复杂的模块,可为所有类型电机提供控制技术。 7.1.1 事件管理器结构 LF2407A 两个事件管理器模块:EVA和EVB。 每个事件管理器模块包括:两个通用定时器(GP)、三个比较单元、三个捕捉单元以及两个正交编码脉冲输入电路(QEP)。 EVA和EVB功能相同,只是名称不同。
通用定时器功能: 具有计数/定时功能,可以为各种应用提供时基,并可以产生比较输出/PWM信号。 比较单元功能: 三个比较单元可以输出3组(6路)比较输出/PWM信号,且具有死区控制等功能。 捕捉单元功能: 三个捕捉单元可以记录输入引脚上信号跳变的时刻。
QEP电路功能: 具有直接连接光电编码器脉冲的能力,可获得旋转机械的速度和方向等信息。 事件管理器的特殊设计,使得事件管理器既可以实时控制电机(由PWM电路实现),同时还可以监视电机的运行状态(由QEP电路实现)。 EVA结构框图如图7-1所示。
ADC转换开始 EV控制寄存器和控制逻辑 T1CMP/ T1PWM GP定时器1比较 输出逻辑 TDIRA TCLKINA CLKOUT GP定时器1 预定标 T1CON[8,9,10] PWM1 ... PWM6 T1CON[4,5] 输出 逻辑 SVPWM 状态机 死区带宽单元 全比较单元 T2CMP/ T2PWM GP定时器2比较 输出逻辑 TCLKINA CLKOUT 预定标 GP定时器2 T2CON[8,9,10] CLOCK T2CON[4,5] MUX TDIRA CAPCONA[14,13] QEP 电路 DIR CAP1/QEP1 CAP2/QEP2 捕捉单元 CAP3 图7-1 EVA 结构图
7.1.2 事件管理器引脚 事件管理器A和B的引脚描述见表7-1(P83)。 输入跳变脉冲宽度至少保持两个CPU时钟周期才能被识别。 7.1.3 功率驱动保护中断 PDPINTx*可以用于向电动机的监视程序提供过电压、过电流和异常的温升等异常信息。 为功率变换和电动机驱动等系统操作提供安全保证。
如果PDPINTx*中断被允许,则PDPINTx*引脚电平变低后,则驱动所有PWM输出引脚为高阻态,同时产生一个中断请求。如果PDPINTx*中断被允许,则PDPINTx*引脚电平变低后,则驱动所有PWM输出引脚为高阻态,同时产生一个中断请求。 复位时,PDPINTx*中断被使能。 如果PDPINTx*中断被禁止,则驱动PWM输出到高阻态的动作也被禁止。
7.1.4 EV寄存器及地址 下面四个表列出EVA所有寄存器的地址,EVB的类似。 EVA定时器寄存器地址
7.1.5 EV中断响应过程 事件管理器中断总共分三组,每组均对应一个CPU中断(INT2,3或4)。 因为每组中断均有多个中断源,通过外设中断扩展控制器(PIE)模块来处理。 中断请求有如下几个响应阶段: (1)中断源。如果外设中断发生,EVxIFRA、EVxIFRB、或EVxIFRC(x=A或B)相应的标志位被置1。
(2)中断使能。事件管理器中断可以分别由寄存器(2)中断使能。事件管理器中断可以分别由寄存器 EVxIMRA、EVxIMRB或EVxIMRC(x=A或B)来使能或禁止。 (3)向PIE请求。如果中断标志位和中断屏蔽位被置1,那么外设会向PIE模块发送一个外设中断请求。 (4)CPU响应。CPU接收到中断后,IFR相应的位被置1,并响应中断。CPU响应中断后,中断响应被软件控制。 (5)PIE响应。PIE使用中断向量更新PIVR寄存器。 (6)中断软件,中断软件有两级响应,包括GISR和SISR。
7.2 通用定时器 7.2.1 通用定时器概述 定时器是事件管理器的核心模块。每个事件管理模块有两个通用定时器(GP),这些定时器可为下列应用提供独立的时间基准: (1)控制系统中采样周期产生。 (2)为QEP电路和捕捉单元的操作提供时间基准。 (3)为比较单元和相应的PWM电路操作提供时间基准定时器结构如图7-3所示,由图可知,每个定时器包括:
(1)一个可读写的16位双向计数器的寄存器TxCNT,它存储了计数器的当前值,并根据计数方向进行增计数或减计数。(1)一个可读写的16位双向计数器的寄存器TxCNT,它存储了计数器的当前值,并根据计数方向进行增计数或减计数。 (2)一个可读写的16位定时器比较寄存器TxCMPR。 (3)一个可读写的16位定时器周期寄存器TxPR。 (4)一个可读写的16位定时器控制寄存器TxCON。 (5)时钟预定标器。 (6)控制和中断逻辑。 (7)一个GP定时器比较输出引脚-TxCMP。 (8)输出逻辑。 (9)其他全局控制寄存器
TxPR周期寄存器(映像) TyPR周期寄存器(映像) GPTCONA/B GP定时器控制寄存器 MUX TnCON[0] TxPWM/TxCMP 输出 逻辑 对称/非对称波形发生器 TxCMPR 比较寄存器 (映像) 比较 逻辑 中断标志 TxCNT GP定时器计数器 ADC转换启动信号 控制逻辑 TCLKINA/B 内部CPU时钟 TDIRA/B 当x=2时,y=1,并且n=2;当x=4时,y=3,并且n=4; TxCON GPTx控制寄存器 图7-3 GP定时器结构框图
通用定时器的输入包括: • 内部CPU时钟。 • 外部时钟TCLKINA/B,最高频率是CPU时钟频率的1/ 4。 • 方向输入TDIRA/B,控制通用定时器增/减计数。 • 复位信号RESET。 通用定时器的输出包括: • 通用定时器比较输出TxCMP引脚(x=1、2、3、4)。 • ADC转换启动信号。
自身的比较逻辑和比较单元的下溢、上溢、比较匹配和周期匹配信号。自身的比较逻辑和比较单元的下溢、上溢、比较匹配和周期匹配信号。 • 计数方向指示位。 注意:通用定时器的比较寄存器和周期寄存器是双缓冲的,允许在一个周期中的任何时刻去更新周期寄存器和比较寄存器,以便改变下一个周期的定时器周期和PWM的脉冲宽度。 7.2.2 通用定时器计数操作 每个GP定时器有四种可选的操作模式:
(1)停止/保持模式 (2)连续递增计数模式 (3)定向增/减计数模式 (4)连续增/减计数模式 相应的定时器控制寄存器TxCON中的位模式决定了通用定时器的操作模式。
1.停止/保持模式 通用定时器停止操作并保持其当前状态,定时器的计数器、比较输出和预定标计数器都保持不变。 2.连续递增计数模式 本工作模式的示意图如图7-4所示。 此种模式,通用定时器将按照已定标的输入时钟计 数,直到定时器计数器的值和周期寄存器的值匹配 为止。产生周期匹配之后在下一个输入时钟的上升 沿,定时器复位为0 ,开始另一个计数周期。
在产生周期匹配的下一个CPU时钟周期后,周期中断在产生周期匹配的下一个CPU时钟周期后,周期中断 被置位,产生一个中断请求,也可作ADC转换启动信 号。定时器变成0的一个CPU时钟周期之后,定时器的下溢中断标志被置位,也可发出一个ADC启动信号。 定时器计数到FFFFh后,定时器的上溢中断标志在一个CPU时钟周期之后被置位。 定时器初值可以是0000h-FFFFh之间的任何值。
如果初值大于周期寄存器的值时,定时器将计数到如果初值大于周期寄存器的值时,定时器将计数到 FFFFh后复位为0,然后从0开始继续计数。 如果初值等于周期寄存器的值时,周期中断标志被置 位,定时器复位为0,下溢中断标志被置位,然后 从0开始继续计数。 本模式特别适于边沿触发或非对称PWM波形产生,也适 于电机和运动系统的采样周期。
图7-5 3.定向的增/减计数模式 此种模式,定时器将根据TDIRA/B引脚的输入,对定 标的时钟进行递增或递减计数。如图7-5所示。
周期、下溢、上溢中断标志位、中断以及相应的动作周期、下溢、上溢中断标志位、中断以及相应的动作 与连续递增计数模式一样。 定时器2和4的本模式可用于正交编码脉冲电路,在这 种情况下,正交编码脉冲电路为定时器2和4提供计数 时钟和方向,也可用于运动/电机控制和电力电子设备 应用中的外部事件定时。
4.连续增/减计数模式 此种模式与定向的增/减计数模式一样,但是在本模式 下,引脚TDIRA/B的状态对计数的方向没有影响。 定时器的计数方向仅在定时器的值达到周期寄存器的 值时(或FFFFh,如果初始定时器的值大于周期寄存器的值),才从递增计数变为减计数。定时器的计数方向仅当计数器的值为0时才从减计数变为增计数。如图7-6所示。
7.2.3 通用定时器比较操作 GP定时器的值连续地与相应的比较寄存器的值比较, 当两个值相等时,就会发生比较匹配。 可通过对 TxCON[1] 置1来使能比较操作。 比较操作使能后,当发生比较匹配时,会发生以下情况: (1)比较中断标志置1。 (2)相应的PWM输出将发生跳变。 (3)如用于启动ADC,则产生一个ADC启动信号。
1.PWM输出转换 PWM输出的转换由一个非对称和对称的波形发生器和 相应的输出逻辑控制,并且依赖于以下条件: • GPTCONA/B寄存器中相应位的定义。 • 定时器所处的计数模式。 • 在连续增/减计数模式下的计数方向。 2.非对称和对称波形发生器 依据通用定时器所处计数模式,产生一个非对称和对称的PWM波形输出。
图7-7 3.非对称波形的发生 在连续增计数模式时,通用定时器会产生一个非对称 波形的PWM脉冲,如图7-7所示。
图7-8 通用定时器在连续增/减计数模式下的比较/PWM输出 4.对称波形的发生 在连续增/减计数模式时,通用定时器会产生对称波形,如图7-8所示。
5.输出逻辑 进一步调节波形发生器的输出,以生成最终的PWM波形 输出,来控制各种不同类型的功率设备。 可通过配置GPTCONA/B寄存器的相应位来设置高有效、低有效、强制高或强制低的PWM输出。 当PWM输出设置为高有效时,它的极性与波形发生器的输出极性相同。 当PWM输出设置为低有效时,极性相反。 GPTCONA/B寄存器的相应位设定后,PWM输出也可被强 制为高电平或低电平。
7.2.4 定时器控制寄存器 1.单个通用定时器控制寄存器TxCON TxCON(x=1,2,3或4)决定一个定时器的操作模式,每个定时器都可独立配置。 TxCON(x=1,2,3或4)的映射地址为:7404h(T1CON)、7408h(T2CON)、7504h(T3CON)和7508h(T4CON)。 TxCON(x=1,2,3或4)各位的定义如下:
位15-14仿真控制位 00仿真挂起时立即停止 01仿真挂起时当前定时周期结束后停止 10操作不受仿真挂起的影响 11操作不受仿真挂起的影响 位13保留。 位12-114种计数模式选择 00 停止/保持 01连续增/减计数模式 10连续增计数模式 11定向的增/减计数模式
位10-8输入时钟定标器 000 x/1 100 x/16 001 x/2 101 x/32 010 x/4 110 x/64 011 x/8 111 x/128 x=输入时钟频率 位7使能位的来源 0:使用自身的使能位(TENABLE) 1:不用自身的使能位,使用T1CON(EVA)或 T3CON(EVB)的使能位来使能或禁止操作,
位6定时器使能与禁止 0 禁止定时器操作。也就是说,使定时器保持并且使预定标计数器复位 1 允许定时器操作 位5-4 时钟源选择 00 内部时钟 01 外部时钟 10 保留 11 正交编码脉冲电路,只适用于T2CON和T4CON
位3-2定时器比较寄存器重载条件。 00计数器的值为0时重载 01 计数器的值为0或等于周期寄存器的值 时重载 10 立即 11 保留 位1定时器比较使能与禁止。 0 禁止定时器比较操作 1 使能定时器比较操作
位0周期寄存器选择 0使用自己的周期寄存器 1使用T1PR(EVA)或T3PR(EVB)作周期寄存 器而忽略自己的周期寄存器。 2. 全局通用定时器控制寄存器(GPTCONA/B) GPTCONA/B 规定了通用定时器针对不同定时器事件所采取的动作,并指明了它们的计数方向。映射地址为7400h。 各位的意义如下:
位15保留位 位14通用定时器2的状态,只读。 0递减计数 1递增计数 位13通用定时器1的状态,只读。 0递减计数 1递增计数 位12-11保留位。 位10-9使用通用定时器2启动ADC事件。
00无事件启动ADC(模数转换) 01设置下溢中断标志来启动ADC(模数转换) 10设置周期中断标志来启动ADC(模数转换) 11设置比较中断标志来启动ADC(模数转换) 位8-7使用通用定时器1启动ADC事件。 00无事件启动ADC(模数转换) 01设置下溢中断标志来启动ADC(模数转换) 10 设置周期中断标志来启动ADC(模数转换) 11设置比较中断标志来启动ADC(模数转换)
位6比较输出使能,如果PDPINTx*有效则该 位设置为0。 0 禁止所有通用定时器比较输出(所有比较输出 都置于高阻态) 1 使能所有通用定时器比较输出 位5-4保留位。 位3-2通用定时器2比较输出极性 00强制低 01低有效 10 高有效 11强制高
位1-0通用定时器1比较输出极性 00 强制低 01低有效 10 高有效 11 强制高 全局通用定时器控制寄存器GPTCONB的映射地址为 7500h,各位的意义与GPTCONA类似。
7.2.5 通用定时器的PWM输出 为了设置通用定时器以产生PWM输出,需做以下工作: 根据预定的PWM(载波)周期设置TxPR。 设置TxCON寄存器以确定计数模式和时钟源,并启动PWM输出操作。 将对应于PWM脉冲的在线计算宽度(占空比)的值加载到TxCMPR寄存器中。 7.2.6 通用定时器的复位 当任何复位事件发生时,将发生以下情况: GPTCONA/B寄存器中除计数方向指示位外,所有与通用定时器相关的位都被复位为0,因此所有通用定时器
的操作都被禁止,计数方向指示位都置成1。 • 所有的定时器中断标志位均被复位为0。所有的定时器中断屏蔽位都被复位为0,因此所有通用定时器的中断都被屏蔽。 • 所有通用定时器的比较输出都被置为高阻态。
7.3 比较单元 7.3.1 比较单元概述 事件管理器EVA模块和EVB模块中分别有3个全比较单元,每个比较单元都有两个PWM输出。 比较单元的时基由通用定时器1(EVA模块)和通用定时器3(EVB模块)提供。 比较单元的功能结构图如图7-12所示。
TzCNT,GPTz 计数器 ACTR全比较动作控制寄存器(带映像) 比较 逻辑 CMPRx全比较寄存器 (带映像) PWM 电路 输出 逻辑 PWMy,y+1 注意:对于EVA模块(x=1、2、3;y=1、3、5;z=1),对于EVB模块(x=4、5、6;y=7、9、11;z=2)。 图7-12 比较单元功能结构图
全比较单元与通用定时器中简单比较单元的区别:全比较单元与通用定时器中简单比较单元的区别: • 每个全比较单元输出一对PWM信号,并具有死区控制和空间向量PWM模式输出的功能; • 而定时器中的每个比较单元只能输出一路PWM信号,且不具备死区控制和空间向量PWM模式输出的功能。
每个比较单元包括: • 3个16位的比较寄存器(对于EVA模块为CMPRl、CMPR2和CMPR3,对于EVB模块为CMPR4,CMPR5和CMPR6),它们各带一个相应的映像寄存器(可读/写)。 • 一个16位的比较控制寄存器(对于EVA模块为COMCONA,EVB模块为COMCONB),该寄存器为可读写的。
一个16位的动作控制寄存器(对于EVA模块为ACTRA,对于EVB模块为ACTRB),它们各带一个相应的映像寄存器(可读/写) 。 • 6个PWM(三态)输出(比较输出)引脚。 • 控制和中断逻辑。