第八讲 事件管理器及其应用 DSP原理及其应用技术 8.1 事件管理器功能概述 8.2 通用定时器 8.3 PWM电路 8.4 捕获单元 8.5 正交脉冲编码电路 8.6 事件管理器中断 光电编码器 霍尔传感器 相当于教材的第七章。 本次课内容较多,拟重点介绍7.2和7.3节。 定时器为事件管理器提供时间基准。 PWM经过LPF后可以用作D/A转换器,作为模拟输出通道。 CAP单元测量时间发生的时刻,主要用于BLDC电机的电子换向和测速。 QEP电路用于实现和光电编码器的接口,测量电机的转角与转速。 功率放大器 电流传感器
8.1 事件管理器功能概述 C2000系列DSP与其它系列DSP的主要区别体现在功能强大的事件管理器模块; 事件管理器模块提供了强大的控制功能(PWM) ,特别适于运动控制和电机控制等领域; F2812具有两个外设相同的事件管理器模块EVA、EVB,可实现多轴运动控制; 每个事件管理器包括通用定时器、比较器和PWM单元、捕获单元(CAP)与正交脉冲编码电路(QEP); 在电机控制应用中,每个事件管理器可以实现三相永磁同步电机、直流无刷电机、异步电机及直流有刷电机的控制。 事件管理器的PWM电路适于电机驱动器、UPS和开关电源。 与线性功率放大器相比,PWM功率放大器的效率很高,适于功率较大的场合。 如线性电源和开关电源,音频线性功放和D类数字功放。 EVA、EVB的功能完全相同,实验中三相BLDC电机的控制采用EVA。 交流电机(异步电机、PMSM、BLDC)多为三相。
事件管理器中的模块与信号 GP定时器可用内时钟或外时钟,可用作定时器或计数器。 CPU通用定时器是32位定时器(16位预分频),无法当计数器使用。 比较单元即PWM电路,有六个PWM引脚用于控制三相全桥驱动的交流电机。 /C1TRIP --GPIO or Compare 1 Output Trip T1CTRIP_PDPINTA --Timer 1 Compare Output Trip T2CTRIP/EVASOC --Timer 2 Compare Output Trip or External ADC Start-of-Conversion EV-A 捕获单元和QEP电路的引脚复用。 BLDC电机一般多用于速度控制(低速特性较差),采用霍尔传感器实现电子换向和测速。 QEP电路可用于PMSM、DC电机等作为角度反馈元件的接口。
8.2 通用定时器 8.21 通用定时器功能概述 事件管理器的通用定时器与CPU通用定时器相比有何区别? 每个事件管理器有两个16位的通用定时器 其中EVA--GPT1&GPT2,EVB--GPT3&GPT4 这些定时器可以根据具体任务独立使用 1)在控制系统中产生采样周期(同CPU定时器) 2)为捕获单元、正交脉冲计数提供基准时钟(GPT2、GPT4) 3)为比较单元和PWM电路提供基准时钟(GPT1、GPT3) 在控制系统中产生采样周期,如电流环。16位字长使得周期设定范围有限。 也可以用32+16位的CPU定时器产生采样周期。如速度环,位置环等,周期范围很宽。 GP1和GP3用于输出通道(PWM)。 GP2和GP4用于输入通道(CAP、QEP) EV定时器的特点: 1)计数器字长16位; 32 2)高速外设时钟作为内时钟输入; CPU时钟 3)有外部时钟输入引脚(每个EV一个),可用作计数器; 仅定时器 4)比较寄存器可为QEP、CAP、PWM提供时间基准,触发特定的事件; 5)如果不用PWM等功能,可用作通用定时器/计数器。 事件管理器的通用定时器与CPU通用定时器相比有何区别?
通用定时器的组成 每个通用定时器模块由几个子模块组成,主要包括: 可读写的16位递增/减计数器寄存器TxCNT (QEP/CAP计数) 可读写的16位定时器比较寄存器TxCMPR(设定占空比) 可读写的16位定时器周期寄存器TxPR (设定PWM周期) 可读写的16位定时器控制寄存器TxCON 可以选择内部或外部时钟TCLKINA/B,可对时钟输入预定标 4个可屏蔽中断(下溢、上溢、比较匹配、周期匹配) 当选择增/减计数模式时,可用TDIRA/B引脚控制计数方向 一个定时器比较输出引脚TxCMP。 与CPU定时器相比,增加一个比较寄存器和几个DSP引脚(TxCMP、TCLKINA、TDIRA),将分频寄存器包括到TxCON中(1-128分频)。 TxCMP可用于单通道PWM产生,如用作DAC。 x=1,2,3,4 TxCNT保存当前计数器的计数值或QEP、CAP的计数值; TxPR决定PWM频率 TxCMPR决定占空比 TxPR和TxCMPR采用双缓冲结构 每个定时器可以独立使用,也可以多个定时器同步使用。
通用定时器输入/输出 通用定时器的输入包括: 内部高速外设时钟(HSPCLK) 外部时钟TCLKINA/B,最高频率不超过CPU时钟的1/4 方向输入TDIRA/B,控制通用定时器递增(1)/递减(0)计数的方向 通用定时器的输出包括: 通用定时器比较输出TxCMP/TxPWM 为ADC模块提供ADC转换启动信号 为比较单元提供下溢、上溢、比较匹配和周期匹配等中断信号 下溢:计数器值=0x0000 上溢:TxCNT=0xFFFF 比较匹配:TxCNT=TxCMPR 周期匹配:TxCNT=TxPR 计数方向标识位(状态) 定时器与QEP电路一起使用时,QEP电路产生定时器的时钟和计数方向。 一般上溢中断的事件发生较少。下溢中断和周期中断应用较多。
通用定时器框图 定时器2/4可以使用定时器1/3的周期寄存器,反过来不可以。 全局控制寄存器GPTCONA/B确定通用定时器实现具体任务时需要采取的比较方式和引脚极性,并给出定时器的计数方向。 参见教材P159的图7.3。 全局控制寄存器GPTCONA确定通用定时器1和2实现具体定时器任务时需要采取的操作方式、输出引脚的极性、启动ADC,并反映计时器的计数方向。 TxCON确定每个通用定时器的计数模式、时钟源、分频系数、使能/禁止计数、比较操作。 TxCON确定每个通用定时器的计数模式、时钟源、分频系数、使能/禁止计数、比较操作。
比较与周期寄存器的双缓冲 比较和周期寄存器采用双缓冲结构,在任何时刻可以对这两个寄存器进行读写操作。进行写操作时,新的值是写到映射缓冲寄存器; 对于比较寄存器,只有当TxCON寄存器确定的特定事件(下溢或周期匹配)发生时映射缓冲寄存器的值才加载到比较寄存器; 对于周期寄存器,只有当计数寄存器TxCNT=0时,工作寄存器才能重新加载映射缓冲寄存器中的值。 双缓冲结构类似于SCI的数据接收和发送。 比较寄存器重新加载的条件: 1)下溢时,即通用定时器计数值为0时;(非对称PWM) 2)下溢或周期匹配时,即当计数值为0或计数器值与周期寄存器值相等。 提示:周期寄存器与比较寄存器采用双缓冲结构允许在一个周期的任何时刻更新周期和比较寄存器,从而可以在下一周期改变定时器的周期和PWM的脉冲宽度。
通用定时器的计数操作模式 当定时器被禁止时,定时器停止计数操作,预定标器复位为x/1;当使能定时器时,定时器按照TxCON中设定的四种工作模式之一开始计数: 1)停止/保持模式--TMODE1&0=00 定时器停止计数并保存当前的状态,定时器的计数器、比较输出和预定标计数器均保持不变。 2)连续递增计数模式--TMODE1&0=01 连续递增计数模式下,GPTCONA/B中的计数方向标识位为1 输入时钟可以是内部或外部时钟,TDIRA/B不起作用 定时器周期的时间为(TxPR+1)个定标后的时钟输入周期 该模式下,定时器按照预定标的输入时钟计数,在计数值和周期寄存器匹配后的下一个时钟上升沿,计数器复位为0,并开始下一个计数周期。 停止/保持模式--暂停定时器工作。 通过TxCON中的TENABLE位可以使能定时器。 TxCON中的TMODE1和TMODE0确定定时器的计数模式。 方式2:类似于CPU定时器,但此处是递增计数。
连续递增计数模式 在计数器与周期寄存器匹配一个时钟周期后,周期中断标志置位。该周期中断可通过GPTCONA/B相应位来启动ADC。 提示:连续递增计数模式特别适于边沿触发或非对称PWM波形产生等应用,也适于电机和运动控制系统中采样周期的产生。 定时器的初值可以是0H-0xFFFFH间的任意值。第一个计数周期与初值有关。 如果TxCNT与0xFFFF匹配后的一个时钟周期内,上溢中断标志位置位。 定时器周期为TxPR+1个时钟周期。
通用定时器的比较操作 1)非对称波形的产生 1)以TxPWM高有效为例,计数操作开始前为0 2)直到比较匹配前保持不变(TxCNT<TxCMPR) 3)在比较匹配时产生跳变 1)非对称波形的产生 当定时器工作于连续递增计数模式时,产生非对称波形 有效的输出脉冲宽度=(TxPR+1)-TxCMPR PWM的占空比可以从0~100%变化 对于非对称PWM波形,改变比较寄存器值仅改变PWM脉冲的一侧 4)跳变后保持不变直到周期结束 5)如果下一周期TxCMPR≠0,在匹配周期结束时复位清零 6)如果下一周期TxCMPR≠0,则重复步骤2-5 7)如果TxCMPR=0,则整个计数周期内输出为1(占空比100%) 8)如果TxCMPR>TxPR,则整个计数周期内输出为0(占空比为0 ) TxCMPR<TxPR TxCMPR≠0 (9) TxCMPR=0 TxCMPR>TxPR (6) 每一个通用定时器有一个比较寄存器TxCMPR和一个PWM输出引脚TxPWM。 通用定时器的计数器一直与比较寄存器的值进行比较,当二者相等时,就产生比较匹配。 如果使能比较操作,则比较匹配时将发生下列事件: 1)定时器的比较中断置位; 2)PWM的输出发生跳变; 3)可以用于启动AD转换; 4)产生一个外设中断请求。 适当配置GPTCONA寄存器,可以规定PWM的输出为高或低电平有效。 (3) (7) (2) (5) 100% 0% (1) (4) (8)
定向递增/递减计数模式 3)定向递增/递减计数模式--TMODE1&0=10 该模式下,计数方向受TDIRA/B引脚的输入信号控制 a)TDIRA/B=1:从TxCNT=0递增计数直到TxCNT=TxPR或0xFFFF时,TxCNT=0,然后重新递增计数到周期寄存器的值; b) TDIRA/B=0:从TxCNT=TxPR递减计数直到TxCNT=0,然后重新载入周期寄存器的值,并继续计数。 周期、下溢、上溢中断标志及其操作与连续计数方式相同 同样,由GPTCONA/B中的计数方向标识位可知增或减计数 当TDIRA/B引脚的电平变化后,需要在结束当前计数脉冲,并延迟一个计数脉冲后才变化,见下图。 方式3下,可采用TCLKINA/B引脚的外部时钟或内部CPU时钟作为输入时钟。 该模式主要用于QEP中对光电编码器的脉冲计数。 GPTCONA中方向标志位:1-递增计数;2-递减计数。 The latency from a change of TDIRA/B to a change of counting direction is one clock cycle after the end of the current count。
定向递增/递减计数模式 当TDIRA/B引脚的电平变化后,需要在结束当前计数脉冲,并延迟一个计数脉冲后才变化。 Encoder多用于测量角位移和位移、速度和角速度。 通常,通用定时器2/4的定向增/减计数模式与QEP电路结合使用,由QEP电路为定时器提供计数时钟和计数方向。该模式主要用于QEP中对光电编码器的脉冲计数。
连续递增/递减计数模式 4)连续递增/递减计数模式--TMODE1&0=11 该模式下,计数方向不受TDIRA/B引脚的输入信号控制。首先递增计数直到TxCNT=TxPR或0xFFFF时,开始递减计数直到TxCNT=0,然后重新从递减变为递增计数; 除第一个周期外,计数周期都是2×TxPR个时钟定标后的周期; 周期、下溢、上溢中断标志及其操作与连续计数方式相同; 同样,由GPTCONA/B中的计数方向标识位可知增或减计数。 提示:连续递增/减计数模式特别适于电机控制与功率电子等应用产生中心对称的PWM波形。 与方式3相同,只是引脚TDIRA/B不再影响计数方向。 同方式3,可采用TCLKINA/B引脚的外部时钟或内部CPU时钟作为输入时钟。 在实验6中建议大家设置定时器1时采用方式4。
对称波形的产生 2)对称波形的产生 1)以TxPWM高有效为例,计数操作开始前为0 2)直到比较匹配时保持不变(TxCMPR<TxPR) 3)在第一次比较匹配时产生跳变 2)对称波形的产生 当定时器工作于连续递增/递减计数模式时,产生对称波形 有效的输出脉冲宽度=2×TxPR-TxCMPRup-TxCMPRdown PWM的占空比可以从0~100%变化 4)第二次匹配前保持不变 5)第二次比较匹配时产生跳变 6)周期结束前保持不变 7)如果TxCMPR=0,则整个计数周期内输出为1 (占空比100%) 8)如果TxCMPR>TxPR,则整个计数周期内输出为0 (占空比为0) TxCMPR≠0 TxCMPR<TxPR TxCMPR>TxPR TxCMPR=0 在正常的计数模式下,如果比较已经被使能,则通用定时器的PWM输出引脚就会发生变化。 该模式下,计数方向不受TDIRA/B引脚的输入信号控制。首先递增计数直到TxCNT=TxPR或0xFFFF时,开始递减计数直到TxCNT=0,然后重新从递减变为递增计数 除第一个周期外,计数周期都是2×TxPR个时钟定标后的周期 周期、下溢、上溢中断标志及其操作与连续计数方式相同 同样,由GPTCONA/B中的计数方向标识位可知增或减计数 (3) (4) (6) (7) (1) (2) (5) (8)
使用通用定时器产生PWM信号 每个通用定时器可以独立提供一个PWM输出通道,因此通用定时器最多可以提供四个通道的PWM输出。 1)根据所需的PWM(载波)周期设置TxPR; 2)配置 GPTCONA/B寄存器,设定PWM输出的极性 3)设置TxCON,确定计数模式和时钟源,启动PWM输出; 4)将所需的PWM脉冲宽度(占空比)装载到TxCMPR. 对于连续递增计数方式,将所需PWM周期除以定时器输入时钟的周期,然后减1即得到TxPR;对于对于连续递增/递减计数方式,将所需PWM周期除以2倍的定时器输入时钟周期即得到TxPR 。 复位后,所有通用定时器的操作被禁止,中断标志位清零,中断被屏蔽,所有定时器的比较输出置为高阻状态。 用通用定时器产生PWM信号时: 1)连续递增计数模式,可产生非对称的PWM波形; 2)连续递增/递减模式,产生对称PWM波形。 方式3不用于产生PWM信号。 例如:若HSPCLK=75MHz, 定时器 时钟不分频, 要产生20kHz的PWM波形,则连续递增计数方式下TxPR=75M/20k-1=3749, 连续递增/递减计数方式下TxPR=75M/20k/2=1875。
8.3 PWM电路 PWM电路具有如下特点: 每个事件管理器可产生8路PWM信号,其中3对PWM信号由比较单元产生(死区可编程),2路由通用定时器产生; 可设置的最小死区、最小脉冲宽度为一个CPU时钟; PWM的最高分辨率为16位; 可快速改变PWM的载波频率和脉宽(双缓冲结构); 功率驱动保护中断PDINTx可以直接屏蔽PWM输出; 能够产生可编程的对称、非对称和空间矢量PWM波形; 比较寄存器和周期寄存器可自动加载,减少CPU开销。 采用通用定时器产生PWM信号在上一节已介绍过,每个定时器有1个输出引脚。 本节介绍的PWM电路用于产生3对互补输出的PWM信号,死区可编程,可用于三相交流电机的数字控制。 PWM电路的特点主要由定时器、比较单元和PWM输出电路决定。
8.3.1 PWM电路与比较单元 EVA模块的PWM电路包括以下功能单元: 对称/非对称波形发生器(与通用定时器相似) 可编程的死区单元(DBU) 输出逻辑控制 空间矢量PWM状态机 EVA模块的PWM波形产生由以下寄存器设定:T1CON、COMCONA、ACTRA和DBTCONA。 这里的三路互补输出的PWM电路与定时器的一路PWM信号相比在于其死区可编程,并可产生空间矢量PWM。 COMCONA-比较控制寄存器 ACTRA-比较动作控制寄存器,控制PWM1-6的引脚有效方式 DBTCONA--死区定时器控制寄存器 提示:这些集成的PWM电路尤其适于电机控制和运动控制等应用领域,从而可以简化硬件电路并减少CPU的开销。
PWM电路框图 空间矢量PWM的设置:1)方向;2)矢量位 D9 [完全比较输出使能] D12:11[计数模式] 00-停止/保持 01-连续增/减计数 10-连续增计数 11-定向增/减计数 0-PWM1-6为高阻状态 1-使能 PWM各路输出 COMCONA:比较控制寄存器 ACTRA:全比较动作控制寄存器 DBTCONA:死区定时器控制寄存器 00-强制低 01-有效低 10-有效高 11-强制高 空间矢量PWM的设置:1)方向;2)矢量位 D12 D11:0 0-禁止空间矢量PWM 1-使能空间矢量PWM
可编程死区单元 提示:设置死区的目的在于防止每个比较单元对应的两路PWM信号同时打开被控功率桥的上下臂形成直通状态导致短路。 每个事件管理器模块都有一个死区控制单元,死区单元的输入为来自比较单元的信号PHx(x=1,2,3),对于每个输入产生两个输出信号DTPHx和DTPHx_; 当死区控制使能时,这两个输出信号的跳变沿被一段称作死区的时间间隔分开,这个时间段由DBTCONx来设定。 提示:设置死区的目的在于防止每个比较单元对应的两路PWM信号同时打开被控功率桥的上下臂形成直通状态导致短路。 死区定时器控制寄存器为16位,可单独使能三个比较单元。 DBT3~0--死区定时器周期(m=0~15),减计数 EDBT3~1--死区定时器使能,分别对应PWM5&6、 PWM3&4、 PWM2&1 0-屏蔽,1-使能 DBTPS2~0--死区定时器预定标控制位(101-111相同):x/2^p=x/(1~32) 死区时间=1/HSPCLK×m×2^p 其中HSPCLK=SYSCLKOUT/(1~14) 取HSPCLK=37.5MHz,则死区时间=[0,12.8µs] M
8.3.2 PWM波形的产生 PWM信号是一系列幅值/频率固定、宽度可变的脉冲序列; PWM(载波)频率 f 和PWM周期 T: f = 1/T; 每个载波周期PWM信号的脉冲宽度(占空比)根据调制信号的幅值确定。 PWM信号是一系列可变脉宽的脉冲信号,每个PWM周期有一个脉冲输出(宽度为0时除外)。 PWM输出相当于DA转换的模拟电压输出。 若忽略开关管的导通压降和开关损耗,则理想情形下效率为100%。 线性放大:A类《25%(单管,小功率),B、AB类《78.5%(双管) PWM功放或电源多用于对体积、效率要求较高的场合。 如ESS的二次电源,大功率电机驱动器。 功率器件的冷却方式:自然冷却,强迫风冷,水冷等。 提示:通常调制信号的频率通常远低于载波频率。
8.3.3 采用事件管理器产生PWM 每个EV模块中,有3对死区和极性可编程的PWM输出引脚PWM1-6或PWM7-12,这6个特定的PWM输出可用于控制三相交流感应电机、永磁同步电机和直流无刷电机等; 与通用定时器产生的PWM输出相比,PWM电路除了可以产生对称、非对称PWM波形外,三个比较单元结合使用还可以产生三相对称的空间矢量PWM输出。 M PWM3 VDC PWM4 PWM1 PWM2 PWM5 PWM6 在事件管理器模块中,3个比较单元的任何一个与通用定时器1(EVA)、比较单元、死区单元和输出逻辑组合就产生一对死区和极性可编程的PWM输出。 PWM电路可用于开关磁阻电机、同步磁阻电机、BLDC、PMSM、DCM、步进电机等。 空间矢量PWM是实现三相功率逆变器6个功率管控制的一种方法,这种方法能够在三相交流电机的绕组中产生较小的电流谐波。与采用正弦波调制相比,能够提高电源的利用效率。
比较单元框图 需要配置的寄存器包括(对于EVA) : 程序执行过程不断刷新CMPRx可以改变6路PWM输出的占空比。 COMCONA、 CMPRx、T1PR、 T1CON 、 ACTRA、DBTCONA 。 程序执行过程不断刷新CMPRx可以改变6路PWM输出的占空比。 T1CNT T1PR& T1CON 比较方式控制寄存器 ACTRA 比较控制寄存器 COMCONA 需要配置的寄存器: 1)设置比较方式控制寄存器ACTRA 2)如果使能死区,设置DBTCONA 3)初始化全比较寄存器CMPRx (x=1-3) 4)设置比较控制寄存器COMCONA 5)设置定时器周期寄存器T1PR 5)设置定时器控制寄存器T1CON,启动定时器 6)在每个PWM周期用新的计算值更新CMPRx。 CMPRx 死区控制寄存器 DBTCONA
非对称PWM波形产生 PWM脉冲不是关于PWM周期中心对称,脉冲宽度只能从脉冲的一侧开始变化; 同样,定时器设定为连续递增计数模式; 100% 为产生非对称PWM信号,定时器设置为连续递增计数模式,周期寄存器装入PWM周期值,COMCONx寄存器使能比较操作,将输出引脚设置成PWM输出。 由于比较寄存器带有映射寄存器,在一个周期的任何时候都可以将新的比较值写入到比较寄存器。同样,也可以随时改变周期寄存器的值(双缓冲结构)。 PWM脉冲不是关于PWM周期中心对称,脉冲宽度只能从脉冲的一侧开始变化; 同样,定时器设定为连续递增计数模式; 所有PWM输出引脚受同一个死区值控制。
对称PWM波形产生 PWM脉冲关于PWM周期中心对称; 同样,定时器设定为连续递增/递减计数模式; 图中有效低,上页的非对称波形为高有效。 对称PWM波形每个周期产生两次比较匹配(递增、递减各一次)。 正弦波调制的交流电机如感应电机、永磁同步电机。 在BLDC电机实验中建议采用对称PWM波形。 PWM脉冲关于PWM周期中心对称; 同样,定时器设定为连续递增/递减计数模式; 当采用正弦波调制时,采用对称PWM波形有助于减小交流电机中相电流的谐波分量。
8.4 捕获单元 捕获单元概述 CAP1FIFO 0x7423 CAP1FBOT 0x7427 EVA和EVB各有3个捕获单元用于捕获外部引脚上的电平跳变,分别对应输入引脚CAP1~CAP3和CAP4~CAP6,每个捕获单元有一个可屏蔽的中断标志位和一个两级深的FIFO推栈; EVA可以选择定时器1/2(EVB选择定时器3/4)作为时间基准; 用户可设定的跳变检测(上升沿、下降沿、上升和下降沿)。 捕获单元的操作: 1)捕获单元能够捕获外部引脚的跳变(上升沿/下降沿),当检测到特定的跳变时,定时器的值将被捕获并存入到一个两级深的FIFO推栈中,捕获FIFO状态寄存器CAPFIFOA/B相应的位就进行调整,以反映FIFO堆栈的状态; 2)如果有一个或多个有效的捕获值存到FIFO中,将会使相应的中断标志位置位;如果中断未被屏蔽,将产生一个外设中断申请。 捕获单元的特点: 1)1个16位的捕获控制寄存器CAPCONA; 2)1个16位的捕获FIFO状态寄存器CAPFIFOA; 3)3个16位2级深的FIFO堆栈,每个单元1个; 4)用户可设置的跳变检测(上升沿、下降沿、上升/下降沿) 5)6个可屏蔽的中断标志,每个捕获单元1个。 FIFO 地址: CAP1FIFO-- 0x7423;CAP2FIFO--0x7424;CAP3FIFO 0x7425 CAP1FBOT-----0x7427; CAP2FBOT----- 0x7428; CAP3FBOT-----0x7429 CAPB的其实地址0x75××。
捕获单元的应用 BLDC电机的换向 BLDC电机的速度检测 1)检测转子磁极的位置,设为IO模式,直接读取引脚电平; 60 120 180 240 300 N Hall Sensor 1 Hall Sensor 2 Hall Sensor 3 Capture 1 Capture 2 Capture 3 BLDC电机的换向 1)检测转子磁极的位置,设为IO模式,直接读取引脚电平; 2)可采用中断或查询方式。 BLDC电机的速度检测 通过检测霍尔信号的脉冲宽度,结合电机极对数n来计算转速。 实验中BLDC电机为5对极。Kp为60(每分钟),Tclk为时钟周期。 ∆θ=360°/(6×n) ∆t=t2-t1=Kp×Tclk×∆ ω=∆θ/∆t n=1
8.5 正交脉冲编码电路 每个事件管理器模块都有一个正交脉冲编码(QEP)电路; QEP输入引脚与捕获单元共用,如果QEP电路被使能,可以对CAP1/QEP1和CAP2/QEP2(对于EVA)引脚上的正交脉冲进行编码和计数 ,此时捕获功能被禁止; slots spaced q deg. apart photo sensors spaced q/4 deg. apart light source (LED) shaft rotation Ch. A Ch. B q q/4 QEP电路的输入脉冲经过4倍频和辨向作为定时器的2/4的时钟源和方向控制信号,此时定时器必须工作在定向增/减计数模式,预定标参数恒为1,且定时器的外部输入引脚(TDIRA/B、TCLKINA/B)不起作用。 QEP引脚功能由CAPCONx寄存器设置。 在定时器的周期、上溢、下溢、比较匹配时中断置位 。 提示:QEP电路用于连接一个光电编码器/光栅尺,以获得旋转电机的角度和角速度等信息。
QEP编码脉冲和处理 正交编码脉冲是两个频率可变,相位相差90°的脉冲序列; 减计数 加计数 正交编码脉冲是两个频率可变,相位相差90°的脉冲序列; 如果QEP1的脉冲输入超前QEP2,则定时器进行递增计数;反之,则进行递减计数; QEP电路对输入脉冲的上升沿和下降沿均进行计数,因此QEP电路对输入脉冲进行四倍频。 根据两路脉冲的相位确定电机转向,根据脉冲个数和频率确定电机的角位移和角速度。
BLDC电机控制系统原理框图 DSP系统 PWM CAP ω θ ADC QEP SCI CAN 位移 速度 加速度 设定 直流 无刷电机 PH A 直流 无刷电机 三相PWM功率放大 换向逻辑 电流传感器 位置环 控制器 速度环 控制器 电流环 控制器 PH B PWM PH C HA A CAP θ ω HA B HA C QEP 差分 ADC SCI CAN CH A 霍尔传感器装载在BLDC电机中。 光电编码器与电机同轴相连。 电流传感器在功率放大器中,可通过取样电阻或霍尔电流传感器检测。 可以利用SPI、XINTF扩展外设芯片。 CH B 上位机
8.6 事件管理器中断 每个事件管理器的中断模块均分为三组,每组都有相应的中断标志寄存器和中断使能寄存器,见下表; 当EV模块中有中断产生时,中断标志寄存器中的中断标志置位为1,如果该中断未被屏蔽(EVAIMRx中相应位被置1),PIE将产生一个外设中断; 外设中断寄存器中的中断标志必须在ISR中通过软件清除,否则将导致随后产生相同中断时无法发出中断请求。 事件管理器的中断分成A、B、C三组。 这些中断均为外设中断,与CPU定时器0的中断配置方式类似。
事件管理器A的中断 这里的中断矢量ID与P44的表3.23不一致。应该以表3.23为准。 实验中可能用到的中断: 1)定时器1的周期或下溢中断--电流采样,查询方式换向; 2)捕捉中断--电子换向,电机转速计算。
第八讲 内容总结 事件管理器功能概述: 1)两个定时器:为PWM、CAP、QEP电路提供事件基准; 2)PWM电路:提供八路(六路死区可编程)PWM信号; 3)捕获单元:实现BLDC电机的电子换向和速度测量; 4)QEP电路:实现和正交脉冲编码器的接口。 光电编码器 1)C2000系列DSP与其它系列DSP的主要区别体现在功能强大的事件管理器模块; 2)F2812具有两个外设相同的事件管理器模块EVA、EVB,可实现多轴运动控制; 3) 每个事件管理器包括通用定时器、比较器和PWM单元、捕获单元(CAP)与正交脉冲编码电路(QEP); 4)事件管理器模块提供了强大的控制功能(PWM) ,特别适于运动控制和电机控制等领域。 对于电子数字控制,一般包含电流传感器、速度传感器和角度传感器。 其中,通常通过对角度信号差分得到速度信号。 霍尔传感器 功率放大器 电流传感器
思考题 1、PWM功率放大器与线性功率放大器相比有何优点? 2、事件管理器中的通用定时器与CPU通用定时器相比有何特点? 3、对于直流无刷电机,分别简述采用正交脉冲编码器和通过检测磁极位置的霍尔传感器测量电机转速的方法。
今后的课程安排 1、课堂教学本次课后结束,实验预计到第11或12周结束; 2、课程设计报告的考查初步定于第14周周五(5月30日)上午8:00-11:30,地点在4101房间,将提前一周在网络学堂上通知报告排序; 3、欢迎同学们对课堂教学和实验内容提出宝贵建议。 1、从器件成本、转换速率、抗干扰能力等方面进行比较。 3、可以通过SPI接口或外部扩展接口(XINTF)扩展串行或并口接口的ADC芯片,以满足对分辨率、模拟信号电平范围等要求。
事件管理器功能框图 重点内容
通用定时器框图 定时器2/4可以使用定时器1/3的周期寄存器,反过来不可以。 全局控制寄存器GPTCONA/B确定通用定时器实现具体任务时需要采取的操作方式,并确定定时器的计数方向。
通用定时器控制寄存器 T2STAT/T1STAT--定时器的状态:0-递减计数,1-递增计数 T2CTRIPE/T1CTRIPE--TxCTRIP使能(当EXTCON[0]=1时有效) 0-屏蔽TxCTRIP,1-使能TxCTRIP T2TOADC/T1TOADC--Tx启动ADC:00-无事件启动,01-下溢中断启动, 10-周期中断启动,11-比较中断启动ADC T2CMPOE/T1CMPOE--比较输出使能(当EXTCON[0]=1时有效) : 0-比较输出高阻,1-由定时器触发驱动 T2PIN/T1PIN--定时器比较输出极性选择: 00-强制低,01-低有效,10-高有效,11-强制高
定时器控制寄存器TxCON Free,Soft--仿真控制位,缺省值为00 TMODE1-0--计数模式: 00-保持, 01-连续增/减, 10-连续增计数, 11-定向增/减计数 TPS2-TPS0--输入时钟预定标参数:HSPCLK/2^(TPS2-TPS0), [0-128] T2SWT1/T4WST3--T2/T4的使能选择:0-自己的使能位,1-使用T1/T3的使能位 TENABLE--定时器使能位:0-停止定时器工作,1-使能定时器工作 TCLKS1-0--时钟源选择:00-内部(HSPCLK),01-外部(TCLKIN),11-QEP电路 TCLD1-0--比较寄存器装载条件:00-计数值为0,01-等于0或TxPR,10-立即 TECMPR--定时器比较使能:0-禁止定时器比较操作,1-使能定时器比较操作 SELT1PR/SELT3PR--周期寄存器选择:0-使用自己的PR,1-使用T1PR或T3PR
定时器比较寄存器 T1CMPR:保存定时器的计数比较值 比较寄存器中的值用于不断地与定时器的计数值比较。当比较匹配时(TxCNT=TxCMPR),将产生下列事件: 根据GPTCONA/B中设置的模式,比较输出引脚将产生跳变 相应的中断标志置位,同时可设置GPTCON启动A/D转换器 如果中断未被屏蔽,则产生一个外设中断申请 通过设置TxCON[1]中的使能位,可以使能或禁止比较操作
定时器周期计数器 TxPR--定时器x计数的周期值 通用定时器的周期寄存器内存放的值决定了定时器的周期。当周期寄存器的值与计数器值相等时,根据定时器的工作模式,计数器或复位为0,或递减计数。
死区定时器控制寄存器 死区时间=1/HSPCLK×m×2^p 其中HSPCLK=SYSCLKOUT/(1~14) DBT3~0--死区定时器周期(m=0~15),减计数 EDBT3~1--死区定时器使能,分别对应PWM5&6、 PWM3&4、 PWM2&1 0-屏蔽,1-使能 DBTPS2~0--死区定时器预定标控制位(101-111相同):x/2^p=x/(1~32) 死区时间=1/HSPCLK×m×2^p 其中HSPCLK=SYSCLKOUT/(1~14) 取HSPCLK=37.5MHz,则死区时间=[0,12.8µs]
7.3.4 空间矢量PWM 空间矢量PWM是实现三相功率逆变器的6个功率管控制的一种方法,其优点在于能够保证三相交流电机的绕组中产生较小的电路谐波; 与正弦波调制相比,能够提高电源的利用率; 广泛应用于控制三相感应电机、永磁同步电机等实现全数字的交流伺服/驱动系统。 建议: 结合第11章内容自学。
7.4 捕获单元 7.4.1 捕获单元概述 EVA和EVB各有3个捕获单元用于捕获外部引脚上的电平跳变,分别对应输入引脚CAP1~CAP3和CAP4~CAP6,每个捕获单元有一个可屏蔽的中断标志位和一个两级深的FIFO推栈 EVA可以选择定时器1/2(EVB选择定时器3/4)作为时间基准 复位时所有捕获单元的寄存器被清零 捕获单元操作: 1)捕获单元能够捕获外部引脚的跳变(上升沿/下降沿),当检测到特定的跳变时,定时器的值将被捕获并存入到一个两级深的FIFO推栈中,捕获FIFO状态寄存器CAPFIFOA/B相应的位就进行调整,以反映FIFO堆栈的状态; 2)如果有一个或多个有效的捕获值存到FIFO中,将会使相应的中断标志位置位;如果中断未被屏蔽,将产生一个外设中断申请。
捕获单元框图 Capture Control Register-CAPCONA 00-禁止CAP1&2 01-使能CAP1&2 D14:13 T2CNT T1CNT 00-禁止CAP1&2 01-使能CAP1&2 D14:13 0-禁止CAP3 1-使能CAP3 D12 D10-CAP3 D9-CAP1&2 0-无操作 1-CAP3中断置位 时启动ADC 0-选择定时器2 1-选择定时器1 D8 D7:6-CAP1 D5:4-CAP2 D3:2-CAP3 D15 00-不检测 01-检测上升沿 10-检测下降沿 11-检测两个边沿 0-寄存器清零 1-无操作
捕获单元FIFO 捕获单元的两级FIFO堆栈:顶部堆栈CAPxFIFO与底部堆栈CAPxFBOT 顶部堆栈寄存器为只读,存放捕获单元捕获到的最早计数值 当读取CAPxFIFO中的计数值时, CAPxFBOT自动载入CAPxFIFO 第一次捕获:当输入引脚电平出现跳变时,捕获单元奖定时器的计数值写入到CAPxFIFO,同时相应的状态位置为01。如果在下一次捕获之前读取了FIFO堆栈,则FIFO状态位被复位为00。 第二次捕获:如果前一次捕获计数值被读取前产生了另一次捕获,则新的计数值送至CAPxFBOT,相应的状态位置为10,同时中断标志置位。如果中断未被屏蔽,则产生一个外设中断请求。 第三次捕获:如果捕获发生时,FIFO堆栈已有两个计数值,则CAPxFIFO中的计数值将被丢弃,而CAPxFBOT自动载入CAPxFIFO,新的计数值送入CAPxFBOT,相应的状态位置为11,表面有捕获计数值被丢弃。同时中断标志置位,如果中断未被屏蔽,则产生一个外设中断请求。
捕获单元的设置 为使捕获单元能够正常工作,必须配置下列寄存器: 1)初始化CAPFIFOA/B寄存器,清除相应的状态位; 2)设置使用的通用定时器的工作模式TxCON; 3)设置所使用定时器的周期寄存器TxPR; 4)配置CAPCONA/B寄存器。
7.5 正交脉冲编码电路 每个时间管理器模块都有一个正交脉冲编码(QEP)电路; QEP输入引脚与捕获单元共用,如果QEP电路被使能,可以对CAP1/QEP1和CAP2/QEP2(对于EVA)引脚上的正交脉冲进行编码和计数 ,此时捕获功能被禁止; QEP电路的输入脉冲经过4倍频和辨向作为通用定时器的2/4的时钟源和方向控制信号,此时定时器必须工作在定向增/减计数模式,预定标参数恒为1,且定时器的外部输入引脚(TDIRA/B、TCLKINA/B)不起作用; 在定时器的周期、上溢、下溢、比较匹配时中断置位 。 提示:QEP电路用于连接一个光电编码器/光栅尺,以获得旋转电机的角度和角速度等信息。
QEP电路框图 D10:8 输入时钟预定标参数:x/(1~128) D5:4 4倍频与辨向 时钟源选择: 00-内部时钟(CLKOUT) 01-外部时钟(CLKIN) 11-QEP电路 D14:13 00-禁止捕获单元1&2 01-使能捕获单元1&2
QEP编码脉冲和处理 正交编码脉冲是两个频率可变,相位相差90°的脉冲序列; 减计数 加计数 正交编码脉冲是两个频率可变,相位相差90°的脉冲序列; 如果QEP1的脉冲输入超前QEP2,则定时器进行递增计数;反之,则进行递减计数; QEP电路对输入脉冲的上升沿和下降沿均进行计数,因此QEP电路对输入脉冲进行四倍频。
BLDC控制系统组成框图 TMS320F28× 目标板