DSP原理与应用第6章事件管理器课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《DSP原理与应用第6章事件管理器课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 原理 应用 事件 管理器 课件
- 资源描述:
-
1、第6章 事件管理器本章内容:本章内容:6.1 事件管理器功能概述事件管理器功能概述6.2 通用定时器通用定时器 6.3 比较单元与比较单元与PWM电路电路6.4 空间矢量空间矢量PWM6.6 捕捉单元捕捉单元6.7 正交脉冲编码正交脉冲编码QEP电路电路6.8 事件管理器的中断事件管理器的中断6.9 事件管理器的寄存器事件管理器的寄存器6.10 事件管理器的应用实例事件管理器的应用实例1每个事件管理器包括:每个事件管理器包括: 两个通用定时器两个通用定时器 GPT (General Purpose Timer) 比较单元比较单元(Compare Unit)与与PWM (Pulse Width
2、Modulation) 电路电路 捕获单元(捕获单元(Capture) 正交脉冲编码电路正交脉冲编码电路QEP (Quadrature Encoder Pulse ) 240 x DSP 提供两个完全相同的提供两个完全相同的事件管理器模块事件管理器模块EVA/EVB。事件管理器非常适用于运动控制和电机控制领。事件管理器非常适用于运动控制和电机控制领域。域。6.1 事件管理器功能概述事件管理器功能概述2事件管理器事件管理器A功能框图功能框图3LF2407A 两个事件管理器模块:两个事件管理器模块:EVA和和EVB。每个事件管理器模块包括:两个通用定时器每个事件管理器模块包括:两个通用定时器(GP
3、)、三、三个比较单元、三个捕捉单元以及两个正交编码脉冲个比较单元、三个捕捉单元以及两个正交编码脉冲输入电路(输入电路(QEP)。EVA和和EVB功能相同,只是名称不同。功能相同,只是名称不同。通用定时器功能:具有计数通用定时器功能:具有计数/定时功能,可以为各种应定时功能,可以为各种应用提供时基,并可以产生比较输出用提供时基,并可以产生比较输出/PWM信号。信号。4比较单元功能:比较单元功能:三个比较单元可以输出三个比较单元可以输出3组组(6路路)比较输出比较输出/PWM信号,且具信号,且具有死区控制等功能。有死区控制等功能。捕捉单元功能:捕捉单元功能:三个捕捉单元可以记录输入引脚上信号跳变的
4、时刻。三个捕捉单元可以记录输入引脚上信号跳变的时刻。QEP电路功能:电路功能:具有直接连接光电编码器脉冲的能力,可获得旋转机械的具有直接连接光电编码器脉冲的能力,可获得旋转机械的速度和方向等信息。速度和方向等信息。事件管理器的设计,使得事件管理器既可以实时控制电机事件管理器的设计,使得事件管理器既可以实时控制电机(由(由PWM电路实现),同时还可以监视电机的运行状态电路实现),同时还可以监视电机的运行状态(由(由QEP电路实现)。电路实现)。5事件管理器引脚事件管理器引脚输入跳变脉冲宽度至少保持两个输入跳变脉冲宽度至少保持两个CPU时钟周期才能被识别。时钟周期才能被识别。6通用定时器通用定时器
5、x包括以下部件包括以下部件: (EVA: x=1, 2; EVB: x=3, 4)16位可读写的位可读写的定时器计数器定时器计数器 TxCNT 16位可读写的位可读写的定时器周期寄存器定时器周期寄存器 TxPR 16位可读写的位可读写的定时器比较寄存器定时器比较寄存器 TxCMPR16位可读写的位可读写的定时器控制寄存器定时器控制寄存器 TxCON6.2 通用定时器通用定时器 1. 通用定时器的功能通用定时器的功能7通用定时器通用定时器 GPT框图框图82. 通用定时器的输入与输出通用定时器的输入与输出通用定时器的输入包括:通用定时器的输入包括: 内部内部CPU时钟。时钟。 外部时钟外部时钟T
6、CLKINA/B,最高频率不超过,最高频率不超过CPU时钟的时钟的1/4。 方向输入方向输入TDIRA/B,控制定时器增,控制定时器增/减计数的方向。减计数的方向。 复位信号复位信号RESET。 用于用于QEP电路时,电路时,QEP产生定时器的时钟和方向。产生定时器的时钟和方向。通用定时器的输出包括:通用定时器的输出包括: 通用定时器比较输出通用定时器比较输出TxCMP, x=1,2,3,4。 为为ADC模块提供模块提供ADC转换启动信号。转换启动信号。 为自身比较逻辑和比较单元提供下溢、上溢、比较匹配和为自身比较逻辑和比较单元提供下溢、上溢、比较匹配和周期匹配信号。周期匹配信号。 计数方向指
7、示位。计数方向指示位。9 定时器控制寄存器定时器控制寄存器TxCON(x=14)D15-14: Free, Soft 仿真控制位。仿真控制位。 00: 一旦仿真悬挂,立即停止。一旦仿真悬挂,立即停止。 01: 一旦仿真悬挂,在当前定时器周期结束后停止。一旦仿真悬挂,在当前定时器周期结束后停止。 10,11: 操作不受仿真悬挂影响。操作不受仿真悬挂影响。D13: ReservedD12-11:TMOD1,TMODE0 计数模式。连续增减、连续增、定向增减计数模式。连续增减、连续增、定向增减00:停止:停止/保持。保持。01:连续增:连续增/减计数模式减计数模式(Continuous up/dow
8、n count mode)。10:连续增计数模式:连续增计数模式(Continuous up count mode)。11:定向增:定向增/减计数模式减计数模式(Directional up/down count mode)。3. 通用定时器的寄存器通用定时器的寄存器10D10-8:TPS2-TPS0输入时钟预定标系数输入时钟预定标系数1/2n000:x/1 001:x/2010:x/4 011:x/8100:x/16 101:x/32110:x/64 111:x/128 (x=CPU时钟时钟)D7:T2SW1/T4SW3定时器定时器2,4周期寄存器周期寄存器选择位。选择位。0:使用自身的定时
9、器使能位:使用自身的定时器使能位(TENABLE)。1:使用:使用T1CON(对于对于EVA)或或T3CON(对于对于EVB)中的定时器使能位来使中的定时器使能位来使能或禁止操作,忽略自身的定时器使能位。能或禁止操作,忽略自身的定时器使能位。D6:TENBLE定时器定时器使能位。使能位。 0:禁止定时器操作。禁止定时器操作。 1:使能定时器操作。使能定时器操作。D5-4:TCLKS1,TCLKS0 时钟源选择。时钟源选择。00:内部:内部(HSPCLK)。01:外部:外部(TCLKINx,x=A,B)。10:保留。:保留。11:正交脉冲编码电路:正交脉冲编码电路(QEP)。11D3-2:TCL
10、D1,TCLD0定时器比较寄存器的重载条件。定时器比较寄存器的重载条件。00:计数器值为:计数器值为0时,重装载。时,重装载。01:计数器值为:计数器值为0或等于周期寄存器值时,重装载。或等于周期寄存器值时,重装载。10:立即重装载。:立即重装载。11:保留。:保留。D1:TECMPR定时器比较使能位。定时器比较使能位。0:禁止定时器比较操作。:禁止定时器比较操作。1:使能定时器比较操作。:使能定时器比较操作。D0:SELT1PR /SELT3PR周期寄存器周期寄存器选择。选择。0:使用自身的周期寄存器。:使用自身的周期寄存器。1:使用:使用T1PR(在在EVA模块模块)或或T3PR(在在EV
11、B模块模块)作为周期寄存器,而作为周期寄存器,而忽略自身的周期寄存器。忽略自身的周期寄存器。12全局通用定时器控制寄存器全局通用定时器控制寄存器GPTCONA/BD15,ReservedD14:T2STAT 定时器定时器2的状态。的状态。0:减计数,:减计数,1:增计数:增计数D13:T1STAT 定时器定时器1的状态。的状态。0:减计数,:减计数,1:增计数:增计数D12/D11:T2/1TRIPE:T2/1CTRIP使能位。使能位。0:禁止禁止 1:使能。使能。 D10-9:T2TOADC 定时器定时器2启动启动AD转换事件。转换事件。00:不启动模数转换。:不启动模数转换。01:下溢中断
12、标志启动模数转换。:下溢中断标志启动模数转换。10:周期匹配中断标志启动模数转换。:周期匹配中断标志启动模数转换。11:比较匹配中断标志启动模数转换。:比较匹配中断标志启动模数转换。D8-7:T1TOADC 定时器定时器1启动启动AD转换事件。与转换事件。与T1相似。相似。13D6:TCOMOE 比较输出允许。比较输出允许。0:定时器比较输出:定时器比较输出T1/2PWM_T1/2CMP置成高阻态。置成高阻态。1:定时器比较输出,:定时器比较输出,T1/2PWM_T1/2CMP由独立定时器比较逻由独立定时器比较逻辑驱动。辑驱动。D5/D4:T2/1CMPOE:定时器:定时器2/1比较输出使能。
13、比较输出使能。 0:定时器:定时器2/1比较输出置成高阻态。比较输出置成高阻态。1:定时器:定时器2/1比较输出由定时器比较输出由定时器2比较逻辑驱动。比较逻辑驱动。D3-2:T2PIN 定时器定时器2比较输出极性。比较输出极性。00:强制低电平。:强制低电平。01:低电平有效。:低电平有效。10:高电平有效。:高电平有效。11:强制高电平。:强制高电平。D1-0:T1PIN定时器定时器1比较输出极性。与比较输出极性。与T1相似。相似。14通用定时器比较寄存器通用定时器比较寄存器(TxCMPR, x=14) 比较寄存器中存放了一个常数,它和通用定时器比较寄存器中存放了一个常数,它和通用定时器的
14、计数器值不断比较,当比较匹配时,将产生下列事的计数器值不断比较,当比较匹配时,将产生下列事件:件:根据根据GPTCONA/B设置的模式,相关的比较输出引脚设置的模式,相关的比较输出引脚将产生跳变。将产生跳变。相应的中断标志位置位。相应的中断标志位置位。如果中断未被屏蔽,则产生一个外设中断请求。如果中断未被屏蔽,则产生一个外设中断请求。通过设置通过设置TxCON的相关位,可以使能或禁止比较操作的相关位,可以使能或禁止比较操作。 15 通用定时器周期寄存器通用定时器周期寄存器(TxPR, x=14) 周期寄存器的值决定了定时器的周期。当周期寄存器周期寄存器的值决定了定时器的周期。当周期寄存器的值和
15、定时器的计数器值相等时,根据计数器所使用的计的值和定时器的计数器值相等时,根据计数器所使用的计数方式,通用定时器复位为数方式,通用定时器复位为0,或继续向下递减计数。,或继续向下递减计数。 通用定时器比较寄存器和周期寄存器的双缓冲通用定时器比较寄存器和周期寄存器的双缓冲 通用定时器的比较寄存器通用定时器的比较寄存器TxCMPR和周期寄存器和周期寄存器TxPR都带有影子寄存器,在一个周期的任何时刻都可以对这两个都带有影子寄存器,在一个周期的任何时刻都可以对这两个寄存器进行读寄存器进行读/写。然而当进行写操作时,新值写到影子寄写。然而当进行写操作时,新值写到影子寄存器。对于比较寄存器,只有当存器。
16、对于比较寄存器,只有当TxCON寄存器指定的特定寄存器指定的特定定时器事件发生时,影子寄存器中的值才加载到比较寄存器定时器事件发生时,影子寄存器中的值才加载到比较寄存器中。对于周期寄存器,只有当计数寄存器中。对于周期寄存器,只有当计数寄存器TxCNT为为0时,影时,影子寄存器的值才能重新加载到周期寄存器。子寄存器的值才能重新加载到周期寄存器。 164. 通用定时器的比较输出通用定时器的比较输出 通用定时器的比较输出可以高电平有效、低电通用定时器的比较输出可以高电平有效、低电平有效、强制高或强制低,与平有效、强制高或强制低,与GPTCONA/B控制寄控制寄存器的设置有关。当比较输出高存器的设置有
17、关。当比较输出高(低低)电平有效同时电平有效同时在第一次比较匹配时,比较输出由低变为高在第一次比较匹配时,比较输出由低变为高(由高变由高变为低为低)。如果通用定时器配置为递增。如果通用定时器配置为递增/递减计数模式,递减计数模式,则在第二次比较匹配或周期匹配时,比较输出从高则在第二次比较匹配或周期匹配时,比较输出从高至低至低(由低至高由低至高)。当定时器的比较输出设置为强制。当定时器的比较输出设置为强制高高(低低)时,它立即变为高时,它立即变为高(低低)电平。电平。 175. 定时器计数方向定时器计数方向寄存器寄存器GPTCONA/B中的相应位反映了通用定时器中的相应位反映了通用定时器的计数方
18、向:的计数方向: 1 代表递增计数;代表递增计数; 0 代表递减计数。代表递减计数。6. 通用定时器的时钟通用定时器的时钟 可以采用内部可以采用内部CPU时钟或外部时钟作为时钟源,外时钟或外部时钟作为时钟源,外部时钟通过部时钟通过TCLKINA/B引脚提供。外部时钟的频率必须引脚提供。外部时钟的频率必须小于或等于内部小于或等于内部CPU频率的频率的1/4。在定向增。在定向增/减计数模式下,减计数模式下,通用定时器通用定时器2(EVA)和通用定时器和通用定时器4(EVB)可以使用可以使用QEP电电路,此时路,此时QEP电路为定时器提供时钟和方向输入。电路为定时器提供时钟和方向输入。 187. 通
19、用定时器的同步通用定时器的同步适当地配置适当地配置T2CON控制寄存器,可实现通用定时器控制寄存器,可实现通用定时器2与通用与通用定时器定时器1的同步。方法如下:的同步。方法如下: 将将T2CON中的中的T2SWT1位置位置1,使定时器,使定时器2使用定时器使用定时器1的的使能位使能位TENABLE启动定时器,这样即可实现两个计数器的启动定时器,这样即可实现两个计数器的同步启动。同步启动。 在启动同步操作之前,用不同的初始化值初始化通用定时在启动同步操作之前,用不同的初始化值初始化通用定时器器1和定时器和定时器2中的计数器。中的计数器。 通过将寄存器通过将寄存器T2CON的的SELT1PR位置
20、位,使通用定时器位置位,使通用定时器2使用通用定时器使用通用定时器1的周期寄存器作为自己的周期寄存器,而的周期寄存器作为自己的周期寄存器,而不用自己本身的周期寄存器。不用自己本身的周期寄存器。198. 用一个定时器事件启动用一个定时器事件启动A/D转换转换 在在GPTCONA/B寄存器中可设置寄存器中可设置A/D转换器的启动信号转换器的启动信号由哪个通用定时器事件提供,例如下溢中断、周期匹配中断由哪个通用定时器事件提供,例如下溢中断、周期匹配中断和比较匹配中断,这样就可以在没有和比较匹配中断,这样就可以在没有CPU干预的情况下,干预的情况下,实现通用定时器事件和实现通用定时器事件和A/D转换器
21、开始转换之间的同步。转换器开始转换之间的同步。 9. 仿真悬挂时的通用定时器操作仿真悬挂时的通用定时器操作 在仿真悬挂时,通用定时器的控制寄存器定义了通用在仿真悬挂时,通用定时器的控制寄存器定义了通用定时器的操作。当在线仿真产生仿真中断时,设置相关的定时器的操作。当在线仿真产生仿真中断时,设置相关的控制位可以使通用计数器继续计数,也可以设置使计数立控制位可以使通用计数器继续计数,也可以设置使计数立即停止或当前计数周期结束后停止。即停止或当前计数周期结束后停止。2010. 通用定时器中断通用定时器中断 在通用定时器的在通用定时器的EVAIFRA、EVAIFRB、EVBIFRA和和EVBIFRB寄
22、存器中有寄存器中有16个中断标志,当发生下列事件个中断标志,当发生下列事件时,每个通用定时器可产生时,每个通用定时器可产生4个中断。个中断。 上溢上溢(Overflow), TxOFINT(x=14)。 下溢下溢(Underflow), TxUFINT(x=14)。 比较匹配比较匹配(Compare match), TxCINT(x=14)。 周期匹配周期匹配(Period match), TxPINT(x=14)。21通用定时器的有四种工作模式通用定时器的有四种工作模式 停止停止/保持模式保持模式 连续增计数模式连续增计数模式 定向增定向增/减模式减模式 连续增连续增/减模式减模式11. 通
23、用定时器的计数操作模式通用定时器的计数操作模式22通用定时器连续增计数模式通用定时器连续增计数模式23通用定时器定向增通用定时器定向增/减计数模式减计数模式24通用定时器通用定时器 连续增连续增/减模式减模式25通用定时器连续增计数模式下的比较通用定时器连续增计数模式下的比较/PWM输出输出GP Timer Compare/PWM Output in Up/Down Counting Modes12. 通用定时器的比较操作通用定时器的比较操作非对称波形的产生非对称波形的产生 26通用定时器连续增减计数模式下的比较通用定时器连续增减计数模式下的比较/PWM输出输出对称波形的产生对称波形的产生 2
24、7/例例6-1,已知通用已知通用I/O引脚引脚IOPE14通过驱动电路连接通过驱动电路连接4个个LED指指/示灯。编程利用定时器示灯。编程利用定时器T1中断方式定时中断方式定时1ms,令,令4个指示灯循个指示灯循/环亮灭环亮灭,每每200ms切换切换1次。次。CLKIN=20MHz,CLKOUT=40MHz。#include “f2407_c.h”/*包含头文件包含头文件*/void interrupt gpt1( );/中断服务函数声明中断服务函数声明void gpt1_init(); /定时器定时器T1初始化函数声明初始化函数声明void Led();/指示亮灭函数声明指示亮灭函数声明un
25、signed int nCount=1;/全局变量声明全局变量声明main() SCSR1=0 x02FC; /*CPU系统时钟系统时钟 CLKOUT=20*2=40MHz, CLKIN=20MHz */WDCR=0 x006F;/*关闭看门狗关闭看门狗*/ IFR=0 xFFFF;/*清除中断标志清除中断标志 */IMR=0 x0002;/*使能中断使能中断2*/ 28MCRC=MCRC & 0 xFF00; /IOPE07配置为配置为I/O口模式口模式PEDATDIR=0 xFF00; /所有所有LED=0, asm( CLRC INTM );/允许中断允许中断gpt1_init(); /
展开阅读全文