《DSP原理及应用 教学课件 ppt 作者 郑玉珍 DSP原理及应用_第06章》由会员分享,可在线阅读,更多相关《DSP原理及应用 教学课件 ppt 作者 郑玉珍 DSP原理及应用_第06章(58页珍藏版)》请在金锄头文库上搜索。
1、6.2通用定时器,6.1事件管理器概述,第六章 事件管理器(EV),6.4 PWM电路,6.3比较单元,6.5捕获单元,6.6 正交编码脉冲单元,6.7 事件管理器中断,6.8事件管理器寄存器,6.9产生正弦波实例,28x系列DSP芯片内包含两个事件管理器。 每个事件管理器包含通用定时器、全比较PWM单元、捕获单元以及正交编码脉冲电路(QEP) PWM单元产生脉宽调制信号可以控制直流电机或步进电机的转速; 捕获单元对光电编码器的输出信号进行测量可以计算电机的转速; 正交编码脉冲电路根据增量编码器信号计算电机的旋转方向等信息。 事件管理器具有强大的控制功能,特别适合运动控制和电机控制等应用。,事
2、件管理器内部结构,数据总线,输入信号:时钟信号,计数方向(增/减计数模式时) 输出信号:4路比较输出,启动A/D转换信号,下溢、上溢、比较匹配和周期匹配信号 ,计数方向指示,通用定时器的寄存器,控制寄存器TxCON :决定通用定时器的操作模式,例如选择计数模式、时钟、预分频系数、比较寄存器的重装载条件 全局控制寄存器GPTCONA/B:规定了通用定时器针对不同事件采取的动作,指明计数方向 ,定义ADC的启动信号 比较寄存器TxCMPR :与通用定时器的计数值不断比较 ,匹配时,相应引脚跳变,请求中断; 周期寄存器TxPR:决定定时器的计数周期 ; 比较寄存器和周期寄存器是双缓冲的 ,任意时刻,
3、都可以修改映像寄存器,通用定时器的中断,上溢中断TxOFINT:当通用定时器的计数值达到FFFFH时,发生上溢事件 ; 下溢中断TxUFINT:当计数值达到0000H时 ,发生下溢事件; 比较匹配TxCINT:当计数值与比较寄存器中的值相等时,发生比较匹配事件; 周期匹配TxPINT:当计数值与周期寄存器中的值相等时,发生周期匹配事件 ; 发生以上事件会将相应中断标志置位,如果外设中断未被屏蔽,则会产生一个外设中断请求,通用定时器的计数模式,对TxCON寄存器中的TMODE1TMODE0位进行设置,选择不同的计数模式; 设置TxCON.6即TENABLE位可以使能或禁止定时器的计数操作 ; 每
4、个通用定时器都支持4种计数模式:停止/保持模式、连续递增计数模式、定向递增/递减计数模式和连续递增/递减计数模式。,下例中TxCON.3-2 = 00,初始TxPR = 3 ,后来TxPR = 2 定时器的周期为(TxPR+1),连续增计数模式,通用定时器的初始值可以是0FFFFH之间的任意值。 如果初始值比周期寄存器中的值大时,计数器将从初始值开始计数,一直递增到FFFFH后复位到0,然后以0为初始值重新开始计数; 如果初始值等于周期寄存器的值,则将周期中断标志置位,复位到0,下溢中断标志置位,然后以0为初始值继续计数; 如果初始值界于0和周期寄存器的值之间时,将递增计数到周期寄存器的值,然
5、后将周期中断标志置位,复位到0,下溢中断标志置位,以0为初始值继续计数; 适用于边沿触发或异步PWM波形产生等应用,也适用于电机和运动控制系统采样周期的产生。,定向递增/递减计数模式,当TDIRA/B引脚输入高电平时,递增计数; 当TDIRA/B引脚输入低平电时,递减计数; 计数方向由GPTCONA/B中相应位来指示。,定向递增/递减计数模式,通用定时器2/4的定向递增/递减计数模式还可以与EV模块中的QEP一起工作; QEP电路为定时器提供计数时钟和计数方向; 这种模式的操作可以在电机/运动控制和电力电子应用中为外部事件定时 。,连续递增/递减计数模式,TxCON.3-2 = 01,初始Tx
6、PR = 3,后来TxPR = 2 定时器的周期为(2*TxPR),定时器的计数方向由寄存器GPTCONA/B中的相应位来指示; 引脚TDIRA/B的状态被忽略; 连续递增/递减计数模式特别适用于产生中心对称的PWM波形,这种波形在电机/运动控制和电力电子技术中广泛应用。,连续递增/递减计数模式,通用定时器的比较操作,每个通用定时器都有一个对应的比较寄存器TxCMPR和一个PWM输出引脚TxPWM; 将TxCON1位设置为1,使能定时器的比较操作; 通用定时器的计数值持续地与比较寄存器TxCMPR的值进行比较,当两者相等时,就发生比较匹配; 比较匹配发生后再过1个CPU时钟周期,定时器的比较中
7、断标志置位,并在输出引脚TxPWM上将产生跳变; 如果GPTCONA/B选择比较匹配作为ADC启动转换信号,则同时产生ADC启动转换信号SOC; 如果比较中断未被屏蔽,将产生一个外设中断申请; 在PWM输出引脚TxPWM上可以产生对称或不对称的PWM波形。,PWM比较输出和中断,TxCMP/TxPWM (active high),比较中断,周期中断,下溢中断,PWM周期 #2,定时器计数值,PWM周期 #1,Comp1,Comp2,新周期自动加载,TxCMP/TxPWM (active low),T,2T,T,T,TxCON.3-2= 00 PR=Comp1,不对称 PWM 波形可由连续增计数
8、实现,对称PWM 波形可由连续递增递减计数模式产生,用通用定时器产生PWM输出,使用通用定时器产生PWM波形的步骤如下: (1)根据PWM载波周期设置TxPR的值; (2)设置TxCON,选择计数模式、计数时钟源并启动操作; (3)将在线计算得到的PWM脉冲宽度(占空比)装载入TxCMPR。 在连续递增计数模式下,将期望的PWM周期除以通用定时器时钟周期,并减去1,得到的结果装入TxPR;在连续递增/递减计数模式下,将期望的PWM周期除以2倍的定时器时钟周期,得到的值装入TxPR。 在运行期间,比较寄存器的值不断更新,新的比较值决定新的占空比。,每个EV模块各有3个全比较器,每个比较器对应两路
9、PWM输出; EVA模块中,全比较器的时钟由通用定时器1提供 ,EVB模块中,全比较器的时钟由通用定时器3提供 ; 每个比较单元包括3个16位的比较寄存器CMPRx,各带一个映像寄存器;1个16位的比较控制寄存器COMCONA;1个16位的动作控制寄存器ACTRA,带有1个映像寄存器;6路带三态输出的PWM引脚以及控制和中断逻辑 ; 较单元的输入包括来自控制寄存器的控制信号,通用定时器1的时钟信号及下溢信号、周期匹配信号和复位信号。比较单元的输出信号是一个比较匹配信号,如果比较操作被使能的话,比较匹配信号将中断标志置位,并在对应的PWM引脚上产生跳变 。,比较单元结构,比较单元的工作过程,通用
10、定时器1的计数值不断地与比较寄存器的值进行比较,当发生匹配时,该比较单元的两个输出引脚发生跳变; ACTRA寄存器定义在发生比较匹配时每个输出引脚为高有效电平或低有效电平; 比较单元的运行要求寄存器按T1PR、ACTRA、CMPRx、COMCONA和T1CON的顺序设置; 比较单元中,发生比较匹配时输出引脚上的跳变时序、中断标志的设置和中断请求的产生都与通用定时器的比较操作是一样的,PWM单元由对称/不对称波形发生器、可编程死区单元DBU、PWM输出逻辑和空间向量SVPWM状态机组成; 对称/不对称波形发生器与通用定时器中的波形发生器是相同的; PWM电路能够在电机控制和运动控制应用领域中将C
11、PU开销和用户工作量降到最低程度 ; 产生PWM波形时要涉及的寄存器主要有T1CON、COMCONA、ACTRA和DBTCONA。,功率器件,三相输出作为控制信号,+,-,串联的2个器件不能同时开通,不能有重叠区,PWM信号输入,DC 电容,电源逆变器电路,从一个开关器件的关断信号发出,到同桥臂另一个开关器件加开通信号存在一段时间延迟,这个延迟时间通常称为死区,晶体管导通比截止快 同时导通的瞬间-短路,可编程死区模块,用比较单元和PWM电路产生PWM波形,设置和装载ACTRx; 若要使能死区功能,需要设置和装载DBTCONx; 初始化CMPRx; 设置和装载COMCONx; 设置和装载T1CO
12、N(对EVA)/T3CON(对EVB),启动操作; 用在线计算得到的新值装载CMPRx。,捕获单元能够捕获输入引脚上的跳变; EV模块中共有6个捕获单元,其中EVA模块的捕获单元为CAP1、CAP2和CAP3,EVB模块的捕获单元为CAP4、CAP5和CAP6; 每个捕获单元都有一个相应的捕获输入引脚; EVA模块中,每个捕获单元都可以选择通用定时器2或通用定时器1作为时间基准,CAP1和CAP2必须选择同一个定时器作为时间基准; 当在捕获输入引脚CAPx上检测到跳变时,通用定时器的值被捕获并储存入相应的2级深度FIFO堆栈。,捕获单元结构,每个捕获单元都有1个16位的捕获控制寄存器(CAPC
13、ONx)、1个16位的捕获FIFO状态寄存器(CAPFIFOx)、1个16位2级深度的FIFO堆栈、1个可屏蔽的中断标志位和1个施密特触发的捕获输入引脚CAPx; 用户可以设定跳变的探测方式(上升沿、下降沿或上升下降沿); 所有的捕获输入信号都与CPU时钟同步,也就是说为了可靠地捕获跳变,输入信号的当前值必须保持两个CPU时钟周期。如果使用了输入定标电路,则输入信号还必须满足定标电路对脉冲宽度的要求。,捕获单元的操作,捕获单元被使能后,捕获输入引脚上特定的电平变换将所选的通用定时器当前计数值装入相应的FIFO堆栈 ; 如果FIFO堆栈中已经存储了1个或更多的有效值(CAPxFIFO的位不等于0
14、),则将相应的中断标志置位,若中断未被屏蔽,就将产生一个外设中断请求; 每次捕获到新的计数值存入FIFO堆栈时,捕获FIFO状态寄存器CAPFIFOx相应的位就进行调整,实时地反映FIFO堆栈的当前新状态 。,捕获单元的设置,初始化CAPFIFOx寄存器,清除相应的状态位; 设置用于捕获操作的通用定时器工作模式; 设置通用定时器比较寄存器;如有必要,设置周期寄存器; 配置捕获单元控制寄存器CAPCONx。,捕获单元FIFO堆栈的使用,每个捕获单元都有一个专用的2级深度FIFO堆栈,栈顶寄存器为CAPxFIFO(x=16),栈底寄存器CAPxFBOT; 栈顶寄存器是只读寄存器,它存放最早捕获到的
15、计数值,读取堆栈时总是返回最早捕获到的计数值; 当栈顶寄存器中的值被读走后,栈底寄存器中的新计数值(如果有)将被压入栈顶;,第一次捕获,捕获单元使能后,当输入引脚出现一次特定的跳变时,将发生第一次捕获; 如果FIFO堆栈原来是空的话,则通用定时器的计数值被写入到栈顶寄存器,同时相应的FIFO状态位置为01(表示FIFO有值); 如果在下一次捕获操作之前,读取了FIFO堆栈的值,则FIFO状态位被复位为00(表示FIFO空)。,第二次捕获,如果在前一次捕获的计数值被读取之前产生了又一次捕获,则新捕获到的计数值将送至栈底寄存器,同时相应的寄存器状态被置为10(表示FIFO满); 第二次捕获能使相应
16、的捕获中断标志置位,如果中断未被屏蔽,则产生一个外设中断请求。,第三次捕获,如果发生捕获时,FIFO堆栈中已经有2个计数值,则栈顶寄存器中的计数值将被弹出并丢弃,而栈底寄存器的值将被压入到栈顶寄存器中,新捕获到的计数值(第三次捕获的值)将压入到栈底寄存器中,并且FIFO的状态被设置为11,表示FIFO中有1个或更多的计数值已被丢弃。 第三次捕获使相应的捕获中断标志位置位,如果中断未被屏蔽,则产生一个外设中断请求。,正交编码脉冲QEP(Quadrature Encoded Pulses)电路可用于连接光电编码器,通过对引脚上的正交编码输入脉冲进行解码和计数来获得旋转机器的位置和速率等信息 ; 正交编码脉冲是两个频率可变,相位差固定为1/4周期的脉冲序列