首页电子与通信技术信息处理技术数字信号处理器DSP原理与应用 06 第六章 事件管理器.pptx

06 第六章 事件管理器.pptx

页数:156页文件大小:1.19 MB来源: 数字信号处理器DSP原理与应用ppt课件

本课件围绕事件管理器模块展开,介绍EVA与EVB的结构与寄存器资源,说明通用定时器的四种计数模式、比较单元与PWM波形产生原理、空间矢量PWM的实现方法,以及捕捉单元和正交编码器脉冲电路(QEP)在电机测速中的应用。

第6章事件管理器封面,标示本章主题与主要内容框架
1. 事件管理器模块的基本知识最重要、最,复杂的模块,可为所有类型电机提供控制技术
通用定时器功能:具有计数/定时功能,可以为各种应用提供时基,并可以产生比较输出/PWM信号
查看本课件的文字版(共 156 页,供检索与复制)

第1页:第6章事件管理器封面

事件管理器模块的基本知识2.通用定时器3.比较单元4.脉宽调制电路PWM5.空间失量PWM6.捕捉单元7.正交编码器脉冲电路(QEP)8.事件管理器中断

第2页:1. 事件管理器模块的基本知识最重要、最

复杂的模块,可为所有类型电机提供控制技术。1.事件管理器结构LF2407A两个事件管理器模块:EVA和EVB。每个事件管理器模块包括:两个通用定时器(GP)、三个比较单元、三个捕捉单元以及两个正交编码脉冲输入电路(QEP)。

EVA和EVB功能相同,只是名称不同

第3页:通用定时器功能

通用定时器功能
具有计数/定时功能,可以为各种应用提供时基,并可以产生比较输出/PWM信号。比较单元功能:三个比较单元可以输出组(6路)比较输出/PWM信号,且具有死区控制等功能。捕捉单元功能:三个捕捉单元可以记录输入引脚上信号跳变的时刻

第4页:QEP电路功能

QEP电路功能
具有直接连接光电编码器脉冲的能力,可获得旋转机械的速度和方向等信息。事件管理器的特殊设计,使得事件管理器既可以实时控制电机(由PWM电路实现),同时还可以监视电机的运行状态(由QEP电路实现)。EVA结构框图如下图所示

第5页:图6-1EVA结构图

EV控制寄存器和控制逻辑GP定时器1比较捕捉单元SVPWM状态机输出逻辑预定标GP定时器1输出逻辑全比较单元MUXTDIRAADC转换开始T[4,5]死区带宽单元QEP电路T1CON[8,9,10]TCLKINACLKOUTPWM1...PWM6GP定时器2比较输出逻辑预定标GP定时器[4,5]T2CON[8,9,10]TCLKINACLKOUTTDIRACAP[14,13]DIRCLOCK

第6页:2. 事件管理器引脚事件管理器A和B

的引脚描述见表6-1。输入跳变脉冲宽度至少保持两个CPU时钟周期才能被识别。3.功率驱动保护中断PDPINTx可以用于向电动机的监视程序提供过电压、过电流和异常的温升等异常信息。为功率变换和电动机驱动等系统操作提供安全保证

第7页:如果PDPINTx中断被允许

如果PDPINTx中断被允许,则PDPINTx引脚电平变低后,则驱动所有PWM输出引脚为高阻态,同时产生一个中断请求。复位时,PDPINTx中断被使能。如果PDPINTx中断被禁止,则驱动PWM输出到高阻态的动作也被禁止

第8页:事件管理器B的引脚事件管理器A的引脚描述

引脚名称描述引脚名称捕捉单元4输入,QEP电路输入,QEP电路输入,QEP电路输入,QEP电路输入的外部时钟输入TCLKINBEVA定时器的外部时钟输入TCLKINAEVB定时器的计数方向输入TDIRBEVA定时器的计数方向输入TDIRA表6-1事件管理器的引脚描述

第9页:6.1.4 EV寄存器及地址下面四

个表列出EVA所有寄存器的地址,EVB的类似。EVA定时器寄存器地址说明名称寄存器地址EVA定时器控制寄存器AGPTCONA74747474747474747408h

第10页:EVA比较控制寄存器地址名称寄存器地址

EVA比较控制寄存器地址名称寄存器地址比较控制寄存器ACOMCONA7411h比较动作控制寄存器AACTRA7413h死区时间控制寄存器ADBTCONA7415h比较寄存器1CMPR17417h比较寄存器2CMPR27418h比较寄存器3CMPR37419h

第11页:EVA捕捉控制寄存器地址名称寄存器地址

EVA捕捉控制寄存器地址名称寄存器地址捕捉控制寄存器ACAPCONA7420h捕捉FIFO状态寄存器ACAPFIFOA7422h两级深度的捕捉FIFO堆栈1CAP1FIFO7423h两级深度的捕捉FIFO堆栈2CAP2FIFO7424h两级深度的捕捉FIFO堆栈3CAP3FIFO7425h FIFO堆栈的底部寄存器,允许读取最近的捕捉值CAP1FBOT7427h CAP2FBOT7428h CAP3FBOT7429h

第12页:EVA中断寄存器地址名称寄存器地址

EVA的中断屏蔽寄存器AEVAIMRA742 Ch EVA的中断屏蔽寄存器BEVAIMRB742 Dh EVA的中断屏蔽寄存器CEVAIMRC742 Eh EVA的中断标志寄存器AEVAIFRA742 Fh EVA的中断标志寄存器BEVAIFRB7430h EVA的中断标志寄存器CEVAIFRC7431h

第13页:因为每组中断均有多个中断源

136.1.5EV中断响应过程事件管理器中断总共分三组,每组均对应一个CPU中断(INT2,3或4)。因为每组中断均有多个中断源,通过外设中断扩展控制器(PIE)模块来处理。

中断请求有如下几个响应阶段:(1)中断源。如果外设中断发生,EVx IFRA、EVx IFRB、或EVx IFRC(x=A或B)相应的标志位被置1

第14页:(2)中断

(2)中断使能。事件管理器中断可以分别由寄存器EVx IMRA、EVx IMRB或EVx IMRC(x=A或B)来使能或禁止。(3)向PIE请求。如果中断标志位和中断屏蔽位被置1,那么外设会向PIE模块发送一个外设中断请求。

(4)CPU响应。CPU接收到中断后,IFR相应的位被置1,并响应中断。CPU响应中断后,中断响应被软件控制。(5)PIE响应。PIE使用中断向量更新PIVR寄存器

第15页:2. 通用定时器

1.通用定时器概述定时器是事件管理器的核心模块。每个事件管理模块有两个通用定时器(GP),这些定时器可为下列应用提供独立的时间基准:1控制系统中采样周期产生。2为QEP电路和捕捉单元的操作提供时间基准。

3为比较单元和相应的PWM电路操作提供时间基准定时器结构如图6-2所示,由图可知,每个定时器包括

第16页:一个可读写的位双向计数器的寄存器

1一个可读写的位双向计数器的寄存器TxCNT,它存储了计数器的当前值,并根据计数方向进行增计数或减计数。2一个可读写的位定时器比较寄存器TxCMPR。3一个可读写的位定时器周期寄存器TxPR。

4一个可读写的位定时器控制寄存器TxCON。5时钟预定标器。6控制和中断逻辑。7一个GP定时器比较输出引脚-TxCMP。8输出逻辑。9其他全局控制寄存器

第17页:TxPWM/TxCMP图6-2

GP定时器结构框图TxPR周期寄存器(映像)TyPR周期寄存器(映像)Tx CONGPTx控制寄存器控制逻辑比较逻辑GPTCONA/BGP定时器控制寄存器对称/非对称波形发生器TxCMPR比较寄存器(映像)输出逻辑Tx CNTGP定时器计数器MUX内部CPU时钟17TCLKINA/BTDIRA/BADC转换启动信号中断标志TnCON[0]当x=2时,y=1,并且n=2;当x=4时,y=3,并且n=4

第18页:通用定时器的输入包括

通用定时器的输入包括:

  • 内部CPU时钟。
  • 外部时钟TCLKINA/B,最高频率是CPU时钟频率的1/4。
  • 方向输入TDIRA/B,控制通用定时器增/减计数。
  • 复位信号RESET。通用定时器的输出包括:
  • 通用定时器比较输出TxCMP引脚(x=4)。
  • ADC转换启动信号

第19页:自身的比较逻辑和比较单元的下溢

  • 自身的比较逻辑和比较单元的下溢、上溢、比较匹配和周期匹配信号。
  • 计数方向指示位。注意:通用定时器的比较寄存器和周期寄存器是双缓冲的,允许在一个周期中的任何时刻去更新周期寄存器和比较寄存器,以便改变下一个周期的定时器周期和PWM的脉冲宽度

第20页:6.2.2 通用定时器计数操作

每个GP定时器有四种可选的操作模式
相应的定时器控制寄存器TxCON中的位模式决定了通用定时器的操作模式

第21页:1. 停止/保持模式通用定时器停止操作

停止/保持模式通用定时器停止操作并保持其当前状态,定时器的计数器、比较输出和预定标计数器都保持不变。2.连续递增计数模式本工作模式的示意图如图6-3所示。此种模式,通用定时器将按照已定标的输入时钟计数,直到定时器计数器的值和周期寄存器的值匹配为止。

产生周期匹配之后在下一个输入时钟的上升沿,定时器复位为0,开始另一个计数周期

第22页:

第23页:在产生周期匹配的下一

个CPU时钟周期后,周期中断被置位,产生一个中断请求,也可作ADC转换启动信号。定时器变成0的一个CPU时钟周期之后,定时器的下溢中断标志被置位,也可发出一个ADC启动信号。

定时器计数到FFFFh后,定时器的上溢中断标志在一个CPU时钟周期之后被置位。定时器初值可以是0000h-FFFFh之间的任何值

第24页:如果初值大于周期寄存器的值时

如果初值大于周期寄存器的值时,定时器将计数到FFFFh后复位为0,然后从0开始继续计数。如果初值等于周期寄存器的值时,周期中断标志被置位,定时器复位为0,下溢中断标志被置位,然后从0开始继续计数。

本模式特别适于边沿触发或非对称PWM波形产生,也适于电机和运动系统的采样周期

第25页:3. 定向的增/减计数模式此种模式

定向的增/减计数模式此种模式,定时器将根据TDIRA/B引脚的输入,对定标的时钟进行递增或递减计数。如图6-4所示。图6-425

第26页:周期、下溢、上溢中断标志位

周期、下溢、上溢中断标志位、中断以及相应的动作与连续递增计数模式一样。定时器2和4的本模式可用于正交编码脉冲电路,在这种情况下,正交编码脉冲电路为定时器2和4提供计数时钟和方向,也可用于运动/电机控制和电力电子设备应用中的外部事件定时

第27页:4. 连续增/减计数模式此种模式与定向

的增/减计数模式一样,但是在本模式下,引脚TDIRA/B的状态对计数的方向没有影响。定时器的计数方向仅在定时器的值达到周期寄存器的值时(或FFFFh,如果初始定时器的值大于周期寄存器的值),才从递增计数变为减计数。

定时器的计数方向仅当计数器的值为0时才从减计数变为增计数。如图6-5所示

第28页:

第29页:6.2.3 通用定时器比较操作

GP定时器的值连续地与相应的比较寄存器的值比较,当两个值相等时,就会发生比较匹配。可通过对TxCON[1]置1来使能比较操作。比较操作使能后,当发生比较匹配时,会发生以下情况:1比较中断标志置1。

2相应的PWM输出将发生跳变。3如用于启动ADC,则产生一个ADC启动信号

第30页:1. PWM输出转换PWM输出的转换

  • 由一个非对称和对称的波形发生器和相应的输出逻辑控制,并且依赖于以下条件:称的PWM波形输出。30
  • GPTCONA/B寄存器中相应位的定义。定时器所处的计数模式。在连续增/减计数模式下的计数方向。2.非对称和对称波形发生器依据通用定时器所处计数模式,产生一个非对称和对

第31页:3. 非对称波形的发生在连续增计数模式时

313.非对称波形的发生在连续增计数模式时,通用定时器会产生一个非对称波形的PWM脉冲,如图6-6所示。图6-6

第32页:4. 对称波形的发生在连续增/减计数模式

对称波形的发生在连续增/减计数模式时,通用定时器会产生对称波形,如图6-7所示。32图6-7通用定时器在连续增/减计数模式下的比较/PWM输出

第33页:5. 输出逻辑进一步调节波形发生器的输出

输出逻辑进一步调节波形发生器的输出,以生成最终的PWM波形输出,来控制各种不同类型的功率设备。可通过配置GPTCONA/B寄存器的相应位来设置高有效、低有效、强制高或强制低的PWM输出。

当PWM输出设置为高有效时,它的极性与波形发生器的输出极性相同。当PWM输出设置为低有效时,极性相反。GPTCONA/B寄存器的相应位设定后,PWM输出也可被强制为高电平或低电平

第34页:6.2.4 定时器控制寄存器1.单个通

用定时器控制寄存器TxCON Tx CON(x=1,2,3或4)决定一个定时器的操作模式,每个定时器都可独立配置。Tx CON(x=1,2,3或4)的映射地址为:7404h(T1CON)、7408h(T2CON)、7504h(T3CON)和7508h(T4CON)。

Tx CON(x=1,2,3或4)各位的定义如下

第35页:位15-14仿真控制位仿真挂起时立即停止

位15-14仿真控制位仿真挂起时立即停止仿真挂起时当前定时周期结束后停止操作不受仿真挂起的影响操作不受仿真挂起的影响00011011位13保留。位12-114种计数模式选择00011011停止/保持连续增/减计数模式连续增计数模式定向的增/减计数模式

第36页:位10-8输入时钟定标器x/16100x

/1000x/32101x/2001x/64110x/4010x/128111x/8011x=输入时钟频率位7使能位的来源0:使用自身的使能位(TENABLE)1:不用自身的使能位,使用T1CON(EVA)或T3CON(EVB)的使能位来使能或禁止操作

第37页:位6定时器使能与禁止1禁止定时器操作

位6定时器使能与禁止1禁止定时器操作。也就是说,使定时器保持并且使预定标计数器复位2允许定时器操作位5-4时钟源选择1.内部时钟2.外部时钟10保留11正交编码脉冲电路,只适用于T2CON和T4CON

第38页:位3-2定时器比较寄存器重载条件

位3-2定时器比较寄存器重载条件。值时重载止。1禁止定时器比较操作2使能定时器比较操作

第39页:位0周期寄存器选择1使用自己的周期寄存器

2使用T1PR(EVA)或T3PR(EVB)作周期寄存器而忽略自己的周期寄存器。2.全局通用定时器控制寄存器(GPTCONA/B)GPTCONA/B规定了通用定时器针对不同定时器事件所采取的动作,并指明了它们的计数方向。

映射地址为7400h。各位的意义如下

第40页:位15位1440保留位通用定时器2的状态

位15位1440保留位通用定时器2的状态,只读。,只读。01递减计数递增计数位12-11位10-9保留位。使用通用定时器2启动ADC事件

第41页:1. 无事件启动ADC(模数转换)

2.设置下溢中断标志来启动ADC(模数转换)10设置周期中断标志来启动ADC(模数转换)11设置比较中断标志来启动ADC(模数转换)位8-7使用通用定时器1启动ADC事件。1.无事件启动ADC(模数转换)2.设置下溢中断标志来启动ADC(模数转换)10设置周期中断标志来启动ADC(模数转换)11设置比较中断标志来启动ADC(模数转换)

第42页:位642比较输出

位642比较输出使能,如果PDPINTx*有效则该位设置为0。禁止所有通用定时器比较输出(所有比较输出都置于高阻态)使能所有通用定时器比较输出01保留位。位5-4通用定时器2比较输出极性位3-11

第43页:位1-0通用定时器1比较输出极性

1.强制低2.低有效10高有效11强制高全局通用定时器控制寄存器GPTCONB的映射地址为7500h,各位的意义与GPTCONA类似

第44页:6.2.5 通用定时器的PWM输出

为了设置通用定时器以产生PWM输出,需做以下工作:

  • 根据预定的PWM(载波)周期设置TxPR。
  • 设置TxCON寄存器以确定计数模式和时钟源,并启动PWM输出操作。
  • 将对应于PWM脉冲的在线计算宽度(占空比)的值加载到TxCMPR寄存器中

第45页:6.2.6 通用定时器的复位当任何复位

事件发生时,将发生以下情况:GPTCONA/B寄存器中除计数方向指示位外,所有与通用定时器相关的位都被复位为0,因此所有通用定时器的操作都被禁止,计数方向指示位都置成1。

所有的定时器中断标志位均被复位为0。所有的定时器中断屏蔽位都被复位为0,因此所有通用定时器的中断都被屏蔽。所有通用定时器的比较输出都被置为高阻态

第46页:6.2.7 通用定时器的中断实现源程序代

_nothing;直接返回的中断服务程序符号_c_int0;复位向量f.ref.sect1_c_int0;PM0复位向量BRSVECT4B_nothing;PM_T1INT;

PM_nothing;PM_nothing;PM_nothing;PMA中断优先级5INT59B_nothing;PMC中断优先级6INT6

第47页:(2)主程序//该程序利用了定时器1

的周期中断功能,每1ms产生一次屏蔽开总

第48页://系统初始化子

asm("sM");OVM");CNF"符号位扩展IMR=0x00GR=0X00;即WD保护位复软件禁止看门狗//允许INT2禁止所有的等待状态}

第49页://定时器1的初始化子程序

inttimer1int(){*EVAIMRA=*EVAIMRA|0X0080;*EVAIFRA=*EVA1CON=0X160C;49//允许定时器1的周期中断//清除定时器1周期中断标志//Timer1为连续增计数模式,*T1PER=0X0177;

*T1CNT=0X00;//预分频值为64,使用内部时钟//Timer1的周期寄存器的值根//据1ms延时和预分频值确定//Timer1的计数器清零}

第50页://定义一个局部变量//允许总中断//

如果不是定时器1周期中断,则直接返回//定时器1周期中断INT(){intflag;flag=*EVA(flag!=0x0080){enable();return;

}//如果是定时器1周期中断定时器1的周期中断,则执行下面的程序*T1CNT=0X00;*EVAIFRA=*EVA定时器,否//则以后的中断将被忽略enable();

return;//允许总中断,因一进中断服务程序后总中断就自动关闭了//中断返回}//其它优先级的中断服务程序,虽然程序中已经禁止,//但可能由于干扰会引起他们的执行,故该中断服务程序无额外操作,直接返回

第51页:enable()

enable();return;//允许总中断,因一进中断服务程序后总中断就自动关闭了//中断返回//初始化时禁止中断//系统初始化//定时器1的初始化//允许总中断//启动Timer1//等待中断发sable(mer1int();

enable();*T1CON=*T1CON|0X00}

第52页:3. 比较单元

1.比较单元概述事件管理器EVA模块和EVB模块中分别有3个全比较单元,每个比较单元都有两个PWM输出。比较单元的时基由通用定时器1(EVA模块)和通用定时器3(EVB模块)提供。比较单元的功能结构图如图6-8所示

第53页:注意

注意
对于EVA模块(x=1、2、3;y=1、3、5;z=1),对于EVB模块(x=4、5、6;y=7、9、11;z=2)。图6-8比较单元功能结构图TzCNT,GPTz计数器输出逻辑PWM电路比较逻辑ACTR全比较动作控制寄存器(带映像)CMPRx全比较寄存器(带映像)PWMy,y+153

第54页:全比较单元与通用定时器中简单比较单元

全比较单元与通用定时器中简单比较单元的区别:

  • 每个全比较单元输出一对PWM信号,并具有死区控制和空间向量PWM模式输出的功能;
  • 而定时器中的每个比较单元只能输出一路PWM信号,且不具备死区控制和空间向量PWM模式输出的功能

第55页:每个比较单元包括

每个比较单元包括:

  • 3个16位的比较寄存器(对于EVA模块为CMPRl、CMPR2和CMPR3,对于EVB模块为CMPR4,CMPR5和CMPR6),它们各带一个相应的映像寄存器(可读/写)。
  • 一个16位的比较控制寄存器(对于EVA模块为COMCONA,EVB模块为COMCONB),该寄存器为可读写的

第56页:一个16位的动作控制寄存器

  • (对于EVA模块为ACTRA,对于EVB模块为ACTRB),它们各带一个相应的映像寄存器(可读/写)。
  • 6个PWM(三态)输出(比较输出)引脚。
  • 控制和中断逻辑

第57页:比较单元操作所要求的寄存器设置顺序57

EVB模块EVA模块设置T3PR设置T1PR设置ACTRB设置ACTRA初始化CMPRx初始化CMPRx设置COMCONB设置COMCONA设置T3CON设置T1CON

第58页:6.3.2 比较单元寄存器

1.比较控制寄存器(COMCONA和COMCONB)比较单元的操作由比较控制寄存器(COMCONA和COMCONB)控制,均是可读写。比较控制寄存器COMCONA的映射地址为7411h。

各位描述如下:位15比较使能位1禁止比较操作,所有映像寄存器(CMPRx和ACTRA)为透明。2使能比较操作

第59页:位14-13比较寄存器

CMPRx重载条件。,结果不可预测位12空间向量PWM模式使能。1禁止空间向量PWM模式2使能空间向量PWM模式位11-10动作控制寄存器重载条件

第60页:有效的PDPINTA*会使该位清01

PWM输出引脚为高阻态,即比较输出被禁止2PWM输出引脚处于非高阻态,即比较输出被使能位8PDPINTA*的状态位,该位反映PDPINTA*引脚的当前状态

第61页:位7-0保留位比较控制寄存器

COMCONB映射地址为7511h,各位定义与COMCONA类似。2.比较动作控制寄存器(ACTRA和ACTRB)ACTRA和ACTRB控制6个比较输出引脚的动作。

ACTRA的映射地址为7413h,各位描述如下:位15SVRDIR,空间向量PWM旋转方向位,仅用于产生空间向量PWM输出。1正向(CCW)2负向(CW)

第62页:位14-12D2-D0

位14-12D2-D0,基本的空间向量位,仅用于产生空间向量PWM输出。62位11-10CMP6ACT1-0,比较输出引脚PWM6上的比较输出方式选择。1.强制低2.低有效10高有效11强制高位9-8CMP5ACT1-0,比较输出引脚PWM5上的比较输出方式选择。

1.强制低2.低有效10高有效11强制高

第63页:位7-6CMP4ACT1-0

位7-6CMP4ACT1-0,比较输出引脚PWM4上的比较输出方式选择。强制低5-4CMP3ACT1-0,比较输出引脚PWM3上的比较输出方式选择。强制低11

第64页:位3-2CMP2ACT1-0

位3-2CMP2ACT1-0,比较输出引脚PWM2上的比较输出方式选择。强制低1-0CMP1ACT1-0,比较输出引脚PWM1上的比较输出方式选择。强制低11

第65页:比较动作控制寄存器

ACTRB映射地址为
7513h,各位描述与ACTRA类似。6.3.3比较单元的中断和复位对于每个比较单元,都有一个可屏蔽的中断标志使能位。如果比较操作被使能,比较匹配后的1个CPU时钟周期,比较单元的中断标志将被置位。如果中断没有被屏蔽,则会产生一个外设中断请求。当任何复位事件发生时,所有与比较单元相关的寄存器都复位为0,且所有比较输出引脚被置为高阻态

第66页:4. 脉宽调制电路PWM1.

PWM信号PWM信号(脉宽调制信号)是脉冲宽度根据某一寄存器内的值的变化而变化的脉冲序列。宽度是根据预定值来决定和调制的。在电机控制中,PWM用来控制开关电源器件的开关时间,为电机绕组提供所需的能量,控制电机所需转速和转矩。

1.PWM信号产生用一定时器重复产生与PWM周期相同的计数周期,一

第67页:个比较寄存器保持着调制值

个比较寄存器保持着调制值,在相应的输出上会产生一个转换。输出脉冲的开关时间会与比较寄存器的值成比例。2.死区在许多的运动/电机控制和功率电子应用场合中,两个功率器件(上级和下级)被串联在一个功率支路中,为避免击穿失效,在一个三极管的关断和另一个三极管导通之间经常要插入一个死区,这段时间延迟允许一个三极管在别的三极管导通之前完全关断

第68页:6.4.2 用事件管理器产生

PWM输出三个比较单元中的每一个都可与事件管理器的GP定时器一起用于产生一对可编程死区和输出极性的PWM输出。对于每个EV模块中的三个比较单元,共有6个PWM输出引脚,来控制三相交流感应电机或无刷直流电机。

由比较动作控制寄存器提供的输出动作控制的灵活性,使得开关和同步磁阻电机的控制变得非常简单容易。PWM电路可在单任务或多任务场合控制直流有刷电机和步进电机等

第69页:PWM产生的寄存器设置

PWM产生的寄存器设置
用比较单元和相应的电路产生所有三种PWM波形均需要对相同的EV寄存器进行配置。配置过程需要以下步骤:1设置和装载ACTRx寄存器2如需死区,则设置和装载DBTCONx寄存器3初始化CMPRx寄存器4设置和装载COMCONx寄存器,来启动比较操作(6)更新CMPRx寄存器的值

第70页:6.4.3 与比较单元相应

的PWM电路概述EVA模块的PWM电路功能结构图如图6-9所示。它包括以下功能单元:1非对称/对称波形发生器;2可编程的死区单元(DBU);3输出逻辑;4空间向量(SV)PWM状态机

第71页:

第72页:6.4.4 可编程的死区单元和输出控制

1.死区单元及其控制死区波形如图6-10所示,对于一个输入信号PHx,会产生两个输出信号DTPHx和DTPHx-。死区单元用于保证在任何情况下,每个比较单元相关的2路PWM输出控制一对正向导通和负向导通设备时没有重叠,即当一个器件没有完全关断时,另一个器件不导通,以避免功率器件击穿失效。

如图6-11所示

第73页:图6-10死区波形图图6-11三相逆变器

图6-10死区波形图图6-11三相逆变器原理图

第74页:死区定时器控制寄存器

(DBTCONA和DBTCONB)死区单元的操作是由DBTCONA(或DBTCONB)来控制的。DBTCONA映射地址为7415h,各位描述如下:位15-12保留。

位11-8DBT3一DBT0。规定了3个4位死区定时器的周期值。位7EDBT3。死区定时器3使能位(对应PWM5和PWM6)1禁止2使能

第75页:位6EDBT2

位6EDBT2。死区定时器2使能位(对应PWM3和PWM4)1。死区定时器1使能位(对应PWM1和PWM2)1禁止2使能位4-2DBTPS2-DBTPS0。死区定时器的预定标器。000001x/1x/2

第76页:011x/8100x/16位4-2

76011x/8100x/16位4-2DBTPS2-DBTPS0。死区定时器的预定标器。x/32101x/32110x/32111位1-0x:CPU时钟频率保留。DBTCONB映射地址为7515h,各位的意义和DBTCONA的相应位意义一致

第77页:2. 输出逻辑输出逻辑电路决定了当发生

比较匹配时,PWMx(x=1~12)输出引脚上的极性和动作。可设定为低有效、高有效、强制低和强制高。6.4.5非对称和对称的PWM产生EV模块中的每个比较单元均可产生非对称和对称的PWM波形。

另外这三个比较单元一起可产生三相对称空间向量PWM输出。用GP定时器产生PWM输出已介绍,下面

第78页:1. 非对称PWM波形产生用一个比较单元

产生一个非对称的PWM波形。见图6-12。GP定时器1必须设置为连续递增计数模式,其周期寄存器必须载入一个与所需的PWM载波周期相对应的值

第79页:

第80页:2. 对称的PWM波形产生对称

对称的PWM波形产生对称的PWM波形是其调制脉冲在每个PWM周期是对称的。如图6-13所示。对称的与非对称PWM波形相比,优点在于它有两个相同长度的无效区:在每个PWM周期的开始和结束。

这种对称性表现为当正弦调制使用时,它在一个交流电机的相电流中比非对称的PWM信号引起更少的谐波

第81页:

第82页:6.4.6 PWM波形产生举例程序

如该文件利用汇编语言代码定义了复位和中断向量82_nothing;直接返回的中断服务程序符号_c_int0;复位向量f.ref.sect1B_c_int0//PM0复位向量RSVECT4B_nothing//PM_nothing//PM_nothing//PM_nothing//PM_nothing//PMA中断优先级5INT59B_nothing//PMC中断优先级6INT6

第83页:(2)主程序//该程序利

用EVB模块的PWM7——PWM12引脚产生不同占空比的屏蔽

第84页://系统初始化子程序

iasm("sM");OVM");CNF"符号位扩展D保护位复软件禁止看门狗*IMR=0x00GR=0X0禁止所有的等待状态}

第85页://EVB模块

的PWM初始化程序intpX007E;//IOPE1-6被配置为基本功能方式,PWM7-1285//PWM12,10,8低有效,PWM11,9,7高有效//不使能死区控制*ACTRB=0X0666;

*DBTCONB=0X00;*CMPR4=0X1000;*CMPR5=0X3000;*CMPR6=0X5000;*T3PER=0X6000;//设置定时器3的周期寄存器,并设置CMPR4-6,以//确定不同的输出占空比*COMCONB=0X8200;

//使能比较操作*T3CON=0X1000;//定时器3为连续增计数模式}

第86页://该中断服务程序主要是为了防止干扰,不

做任何其它中断直接返回8sable(总中断禁止//系统初始化//PWM输出初始化//启动定时器3*T3CON=*T3CON|0x00}

第87页:5. 空间矢量PWM1.空间向量

PWM理论概述空间向量PWM
一个三相功率变换器中六个功率三极管的一种特殊的开关电路,可使三相交流电机绕组产生的电流的谐波失真最小,还提供了比正弦调制方式更有效的供电电压的使用。空间向量PWM方法的实质就是利用6个功率管的8种组合开关方式来近似给出电动机的供电电压向量UOUT。1.三相功率变换器

第88页:图6-1488典型的三相功率变换器的结构

图6-1488典型的三相功率变换器的结构如图6-14所示

第89页:图中Vb

图中Va、Vb和Vc是提供给电动机绕组的电压。六个功率三极管由DTPHx和DTPHx_(x=a、b和c)控制。当上部的三极管导通时(DTPHx=1),下部的三极管关断(DTPHx_=0)。

这样,通过上部三极管的开关状态(QI、Q3和Q5)或DTPHx(x=a、b和c)的状态,就可以计算出提供给电动机的电压Uout

第90页:2. 功率反相换流器的开关模式和基本空间

向量当一个支路中的上部三极管导通时,由支路提供给电动机绕组的电压Vx(x=a、b或c)等于供电电压Uab,当三极管关断时,提供的电压为0。上部三极管(DTPHx,x=a、b或c)的开关切换有8种可能的组合方式。

这些组合方式和由之导出的电动机拉直流供电电压Udc确定的线电压和相电压如下表所示。注意a、b和c分别代表DTPHa,DTPHb和DTPHc的值

第91页:通过进行一个d-q变换

通过进行一个d-q变换,可以把对应与8种组合方式的相电压映射到—个d-q平面上。这等效于把三个向量(abc)的正交投影映射到垂直子向量(1,1,1)的二维平面上,即d-q平面上,这就产生6个非零向量和两个零向量。

两个零向量位于原点。这8个向量叫做基本空间向量,见图6-15

第92页:三相功率逆变器的开关模式92

Vca(Udc) Vbc(Udc) Vab(Udc) Vc0(Udc) Vb0(Udc) Va0(Udc)cba0000000001-102/3-1/3-1/310001-1-1/32/3-1/301010-11/31/3-2/3110-101-1/3-1/32/30010-111/3-2/31/3101-110-3011000000111

第93页:图6-1593第6章事件管理器基本空间

量。图6-1593第6章事件管理器基本空间向量近似地给出了电机的电压向

第94页:相邻两个向量的二进制表示只有一位不同,当

开关模式变化时,只有一个上级三极管改变开关状态。3.用基本空间向量估算电机电压其中,T0由Tp-T1-T2给出,Tp为PWM载波周期。OUT94PUTT2Ux60T1UxT0(O000或O111)

第95页:6.5.1 使用事件管理器产生空间向量

PWM波形事件管理器模块内置硬件电路可以大大简化产生对称PWM波形的操作。软件用来产生空间向量PWM输出。为了产生空间向量PWM输出,软件必须:1设置ACTRx,定义比较输出引脚的极性。

2设置COMCONx,使能比较操作和空间向量PWM模式并设CMPRx的重载条件为下溢

第96页:(3)定时器1设为连续增/减计数模式

(3)定时器1设为连续增/减计数模式。然后,用户通过软件确定在二维d-q平面上的Uout,分解Uout并在每个PWM周期执行以下操作:1确定两个相邻的向量Ux和Ux+60。

2确定参数T、T和T。3把与Ux对应的开关模式写到ACTRx[14-12],送1至ACTRx[15]。4赋值T/2给CMPR1,T/2+T/2给CMPR2

第97页:空间向量PWM硬件事件管理器中的空间向量

空间向量PWM硬件事件管理器中的空间向量PWM硬件通过以下操作完成一个空间向量PWM周期。1每个周期的开始,通过定义ACTRx[14-12]将PWM输出设为新的模式Uy。

2增计数期间,如果CMPR1和定时器1第一次发生比较匹配,即匹配值为T1/2,PWM输出转换为Uy+60(ACTRx[15]=1)或Uy模式(ACTRx[15]=0)(U0-60=U300,U360+60=U60)

第98页:即匹配值为(T1/2+T2/2)

即匹配值为(T1/2+T2/2),PWM输出转换为模式(000)或(111),它们与第二类输出方式之间只有一位的差别。4减计数期间,如果CMPR2和定时器1第一次发生比较匹配,即匹配值为T1/2+T2/2,PWM输出返回到第二类输出方式。

5如果CMPR1和定时器发生第二次匹配,即匹配值为T1/2,PWM输出返回到第一类输出方式

第99页:空间向量PWM波形

空间向量PWM波形

第100页:

第101页:产生PWM输出只需要两个寄存器

产生PWM输出只需要两个寄存器。然而,第三个比较寄存器也不断和定时器1做比较。当一个比较匹配产生时,如果中断标志没有屏蔽相应的比较中断标志位置1并且产生外围设备中断请求。

因此,产生空间向量PWM波形中没有使用比较寄存器,但在某些特殊应用中,它仍旧可以用于时间事件的产生。同样,由于状态机造成的额外时间延迟,对于空间向量PWM模式,比较寄存器的输出变化也要延迟一个时钟周期

第102页:空间向量PWM的边界条件当两个比较寄存器

CMPR1和CMPR2在空间向量PWM模式下装载值为0时,所有3个比较输出均不工作。所以在空间向量PWM模式下,用户需要保证(CMPR1)≤(CMPR2)≤(T1PR),否则,将会产生无法预计的运行结果

第103页:事件管理器的PWM发生器的特征

  • 五个独立的PWM波形输出,其中三个由比较单元产生,两个由通用定时器产生
  • 三个比较单元相对应的PWM输出对带可编程死区。
  • 最小的死区时间宽度为一个CPU时钟周期
  • 最小的PWM脉冲宽度和脉宽的增减量为一个CPU时钟周期
  • PWM载波频率的快速改变(具有双缓冲的周期寄存器)
  • PWM脉宽的快速改变(具有双缓冲的比较寄存器)
  • 功率驱动保护中断
  • 由于比较和周期寄存器的自动重载,使CPU的负担最小
  • 输出动作控制灵活

第104页:共6个捕捉单元,每个事件管理器有3个捕捉

1046.6捕捉单元可记录6个捕捉输入引脚上的事件。共6个捕捉单元,每个事件管理器有3个捕捉单元。EVA:CAP:CAP6-16是EVA的捕捉单元原理框图,EVB的原理框图与EVA一样,仅寄存器不同。

当在捕捉输入引脚CAPx上检测到一个设定的转换时,GP定时器的值被捕捉并存储在相应的2级深度FIFO堆栈中

第105页:

第106页:1. 捕捉单元的特点捕捉单元包括下列特性

1061.捕捉单元的特点捕捉单元包括下列特性:

  • 1个16位的捕捉控制寄存器CAPCONx(可读/写)
  • 1个16位的捕捉FIFO状态寄存器CAPFIF0x。
  • 可选择通用定时器1/2(EVA)或者3/4(EvB)作为时基。
  • (CAPx Fl FO),每个对应一个捕捉单元

第107页:个施密特触发器输入引脚

  • 3个施密特触发器输入引脚(EVA:CAPl/2/3;EVB:CAP4/5/6),每个捕捉输入引脚和内部CPU时钟同步,为使跳变被捕捉,输入必须在当前电平保持两个CPU时钟周期。输入引脚CAP1/2和CAP4/5也可用作正交编码器脉冲电路的正交编码器脉冲输入)。
  • 用户可定义跳变检测方式(上升沿,下降沿或二者)
  • 6个可屏蔽的中断标志位,每个标志位对应一个捕捉单元

第108页:6.6.2 捕捉单元的操作在捕捉使能后

捕捉单元的操作在捕捉使能后,相应输入引脚上的指定跳变会将所选的通用定时器的计数值装入到相应的FlFO堆栈。同时如果有一个或更多有效的捕捉值保存在FlFO堆栈(CAPx Fl FO位不等于0)中,则相应的中断标志位被置1。

如果该中断标志没有被屏蔽,产生一个外设中断请求。从捕捉单元输入引脚处发生跳变到所选通用定时器的计数值被锁存之间的延时需要2个CPU时钟周期

第109页:1. 捕捉单元时间基准的选择

EVA中的每个捕捉单元均可选择GP定时器2或1作为其时间基准,EVB中的每个捕捉单元均可选择GP定时器4或3作为其时间基准。对EVA模块,捕捉单元CAP3有自己独立的时基选择位,这就允许使用2个通用定时器中的任意一个,CAP1和CAP2共用一个时基选择位。

在EVB模块,CAP6有自己独立的时基选择位。捕捉操作不影响与任何GP定时器对应的任何GP定时器操作或比较/PWM操作

第110页:2. 捕捉单元的设置为使捕捉单元能正常

捕捉单元的设置为使捕捉单元能正常工作,需对寄存器进行以下设置:

  • 初始化捕捉FlFO状态寄存器(CAPFl FOx),清除专用状态位。
  • 设置选定的GP定时器为一种操作模式。
  • 如果需要,设置相应的GP定时器比较寄存器或GP定时器周期寄存器。
  • 设置相应的CAPCONA或CAPCONB

第111页:6.6.3 捕捉单元寄存器捕捉单元的操作

由4个16位的控制寄存器CAPCONA/B和CAPFl FOA/B控制。因为捕捉电路的时间基准是由GP定时器1/2或3/4提供的,所以Tx CON(x=1,2,3或4)寄存器用于控制捕捉单元的操作。

另外,寄存器CMCONA/B也可用于正交编码器脉冲电路的操作。1.捕捉控制寄存器CAPCONx(1)捕捉控制寄存器A(CAPCONA),映射地址:7420h。各位的意义

第112页:位15CAPRES

位15CAPRES。捕捉复位,只能写,读为0。向位15写0将清除所有的捕捉和QEP寄存器。但是,使能捕捉功能时不需要向位15写1。1所有捕捉单元和正交编码脉冲电路的寄存器清02无动作位14-13CAPQEPN。

捕捉单元1和2的控制位。1.禁止捕捉单元1和2,FIF0堆栈保持原内容2.使能捕捉单元1和210保留11保留

第113页:位12CAP3EN

位12CAP3EN。捕捉单元3控制位。1禁止捕捉单元3,其FlFO堆栈保持原内容。位10CAP3TSEL。捕捉单元3的通用定时器选择位。。捕捉单元1和2的通用定时器选择位。。捕捉单元3事件启动ADC转换位

第114页:时,启动ADC位7-6CAP1EDGE

11时,启动ADC位7-6CAP1EDGE。捕捉单元1的边沿检测控制位。测位5-4CAP2EDGE。捕捉单元2的边沿检测控制位。1.无检测2.检测上升沿10检侧下降沿

第115页:上升沿、下降沿均检测位3-2

11511上升沿、下降沿均检测位3-2CAP3EDGE。捕捉单元3的边沿检测控制位。1.无检测2.检测上升沿I0检侧下降沿11上升沿、下降沿均检测位1-0保留位(2)捕捉控制寄存器B(CAPCONB),映射地址:7520h。

CAPCONB与CAPCONA各位的意义相同

第116页:2. 捕捉FIFO状态寄存器

CAPFl FOx中包括捕捉单元的3个FlFO堆栈的状态位。如果CAPFl FOx的状态位正在更新的同时(因为一个捕捉事件)向CAPFl FOx状态位写数据,写数据优先。

CAPFl FOx寄存器的写操作在编程中很有用。例如,如果“01”写入CAPFl FOx位,则EV模块会认为FIFO有一个输入。随后,每次FIFO获得一个新值,则将产生一个捕捉中断。

(1)捕捉FlFO状态寄存器A(CAPFl FOA)映射地址:7421216h

第117页:保留位

保留位。CAP3 Fl FO。捕捉单元3的FlFO状态位位15-14位13-121.空2.有一个输入10有两个输入11有两个输入并又捕捉到一个,第一个输入已丢失。位11-10CAP2 Fl FO。捕捉单元

第118页:位7-011810有两个输入11有两

个输入并又捕捉到一个,第一个输入已丢失。位9-8CAP1 Fl FO。捕捉单元到一个,第一个输入已丢失。保留位

第119页:(2)捕捉FlFO状态寄存器B

(CAPFl FOB)映射地址:7522h,与CAPFl FOA各位的意义相同。6.6.4捕捉单元FIF0堆栈每个捕捉单元有一个2级深度FlFO堆栈。如图6-17所示。

顶部寄存器(存旧值)底部寄存器(存新值)图6-172级深度FIFO堆栈示意图出进

第120页:(1)第1次捕捉当捕捉单元的输入引脚出现

一个指定的转换时,选定的GP定时器的计数器值就会被捕捉,如果堆栈是空的,这个计数器值就会被写入到FlFO堆栈的项层寄存器。同时,相应的状态位被设置为01。如果另外一个捕捉发生之前对FIFO堆栈进行了读访问,则FlFO状态位被复位为00

第121页:(2)第2次捕捉如果在以前的捕捉的计数值

被读取之前,又发生一次捕捉,那么捕捉的计数器值就会进入底部寄存器。同时,寄存器中相应的FIFO状态位被置为10。当在另外一次捕捉之前读FlFO堆栈时,顶部寄存器中的旧计数器值被读出,底部寄存器中的新计数器值被压入顶部寄存器,相应的状态位设置为01。

第2次捕捉会将寄存器相应的捕捉中断标志位置1,如果中断没有被屏蔽,则会产生一个中断请求

第122页:(3)第3次捕捉当

FlFO堆栈中已有两个计数器值,这时如果又有一个捕捉发生,堆栈顶部寄存器中最旧的计数器值被推出并且丢失,然后堆栈底部寄存器的计数器值被向上压入到顶部寄存器,新捕捉的计数器值被写入底部寄存器,并巳将状态位设置为11,表明一个或更多的旧计数器值被丢失。第3次捕捉会将寄存器相应的捕捉中断标志位置1,如果中断没有被屏蔽,则会产生一个中断请求

第123页:7.6.5 捕捉中断当一个捕捉单元执行

了一次捕捉,且FlFO中至少有一个捕捉到的计数值时(CAPFl FO位不为0),则相应的中断标志位置1。如果该中断没有被屏蔽,则会产生一个外设中断请求信号。如果使用了捕捉中断,则可在中断服务程序中读取捕捉到的一对计数值。

如果没有使用中断,也可以通过查询中断标志位和FlFO堆栈的状态位来确定是否发生捕捉事件,如果已发生捕捉事件则可以从相应的捕捉单元的FlFO堆栈中读取捕捉到的计数值

第124页:7.6.5 捕获单元应用举例下面给出

了利用DSP的捕获单元3(CAP3)对脉冲宽度进行捕捉的例程。为了便于演示,被捕捉的脉冲由定时器1的比较模块产该文件利用汇编语言代码定义了复位和中断向量12c_int0,_nothing,_capitle.ref.sectreset:int1:int2:int3:int4:int5:int6:bbbbbbb_c_inapi

第125页:(2)主程序//该程序用于测试

DSP的CAPTURE模块,由TIMER1的比较模块输出一个PWM波形,//此波形输入CAP4引脚,待CAP4捕捉该PWM的10次上升沿后,停止捕捉,并把10//次捕捉值存于数组result[10/初始化子程序125//定义一个存储结果的数组result[10];

int//定义的中断次数值k=0;int

第126页://系统初始化子程序i6asm

("setcasm("sM");OVM");CNF"符号位MR=0x00即WD保护位复软件禁止看

第127页://捕获单元4初始化子程序

int CAP4INT(){*T3PER=0X0FFFF;*T3CON=0X1400;*T3CNT=0X00;WSGR=0x0000;*CAPCONB=0X0A47*IMR=0X08;

//通用定时器3的周期寄存器为0XFFFF//通用定时器3为连续增计数模式//计数器清0//禁止所有等待状态//设置捕获单元4为检测上升沿,且选择//TIMER3为时钟//开总中断//允许中断优先级4的中断*EVBIMRC=*EVBIMRC|0X0001;

//允许CAPTURE4中断*EVBIFRC=*EVBIFRC|0X0FFFF;}

第128页://定时器1初始化子程序

//定时器1初始化子程序,使其比较单元输出一个PWM波形inttimer1int(){128*MCRA=*MCRA|0X100X0080;//配置IOPB4口为定时器1的比较输出//配置IOPE7口为捕捉功能*GPTCONA=*GPTCONA|0X0042;

*T1PER=0X1FE;*T1CON=0X1442;*T1CNT=0X00;*T1CMP=0X0FF;//给定时器1的周期寄存器赋值//允许TIMER1比较输出,并且TIMER1//为连续增计数模式,立即启动//定时器}

第129页://系统初始化//定时器1初始化

//系统初始化//定时器1初始化,使其输出一个PWM波形供捕1mer1int();捉CAP4INT();//捕获单元4初始化//启动定时器3//k保存中断次数值,是全局变量//捕捉10次后,禁止再中断*T3CON=*T3CON|0X00(k==10)break

第130页://若是由于干扰引起其它中断

//若是由于干扰引起其它中断,则执行0前开中断return;}

第131页://判断是否是CAP4中断//返回前开

//判断是否是CAP4中断//返回前开中断//如果不是CAP4中断,则直接返//如果是CAP4//写"1"清除CAP4中断标志//返回前开中断//中断返回131//捕捉中断pint(){intflag;

flag=*EVBIFRC&0X01;if(flag!=0x01turn;回}load();中断,则装载捕捉值*EVBIFRC=*EVBIFRC|0xturn;

}

第132页://装载捕捉值子程序

intload(){result[k]=*CAP4FIFO;//读取捕捉值,存于相应的数组k++;}

第133页:6.7 正交编码器脉冲电路

(QEP)正交编码脉冲电路可用于连接光电编码器获得旋转机械的位置、方向和速度等信息。QEP电路可以对CAP2(EVA模块)CAP4(EVB模块)引脚上的正交编码输入脉冲进行解码和计数。EVA中QEP电路的原理框图见图6-18

第134页:

第135页:因此CAPCONx寄存器中相应的位必须

1356.7.1正交编码器脉冲电路概述1正交编码器脉冲引脚两个QEP输入引脚由捕捉单元1和2(或3和4,对于EVB模块)和QEP电路共享。因此CAPCONx寄存器中相应的位必须被正确设置,以使能QEP电路,并禁止捕捉单元,这样就把相应的输入引脚分配给正交编码器脉冲QEP电路,2正交编码器脉冲电路时间基准QEP电路的时间基准可以由通用定时器2(EVB模块的为通用定时器4)提供

第136页:通用定时器必须设置成定向的增/减计数模式

通用定时器必须设置成定向的增/减计数模式。并以QEP电路作为时钟源。3.正交编码器脉冲电路的计数通用定时器2或4总是从计数器中的当前值开始计数,因此可以在使能QEP工作模式前将所需的值装载到所选通用定时器的计数器中。

当正交编码器脉冲电路的时钟作为通用定时器的时钟源时,选定的通用

第137页:定时器将忽略输入引脚

TDIRA和TCLKINA/B(定时器方向和时钟)。用QEP电路作为时钟的GP定时器的周期、下溢、上溢和比较中断标志是根据相应的匹配产生的。如果中断没有被屏蔽,则中断标志将产生外设中断请求信号

第138页:6.7.2 正交编码脉冲的解码正交编码

脉冲解码实例如图6-19所示
正交编码脉冲包括两个脉冲序列,是频率变化的正交(相差四分之一周期,即90)脉冲序列。当电动机轴上的光学编码器产生正交编码脉冲时,通过检测两个图6-19

第139页:序列中哪个序列领先

序列中哪个序列领先,就可测出电动机的转向。角位置和速度可以通过脉冲计数和脉冲的频率测出。QEP电路的方向检测逻辑测定哪个脉冲序列的相位领先,然后产生一个方向信号作为通用定时器2或4的方向输入。

如果CAP1/QEP1(EVB为CAP4/QEP3)输入为相位领先的脉冲序列,选定的定时器递增计数。如果CAP2/QEP2(EVB为CAP5/QEP4)输入为相位领先的脉冲序列,选定的定时器递减计数

第140页:两个正交编码输入脉冲的两个边沿均

被QEP电路计数,因此送到通用定时器2或4的QEP电路产生的时钟频率是每个输入序列频率的四倍。这个产生的时钟与通用定时器2或4的时钟输入端相连

第141页:3. 正交编码器脉冲电路的寄存器设置

EVA模块中启动QEP电路的寄存器设置:

  • 如果需要,将所需的值装载到GP定时器2的计数器、周期和比较寄存器中。
  • 设置T2CON寄存器,将通用定时器2设置成定向的增/减计数模式,以QEP电路作为时钟源,并使能通用定时器2。
  • 设置CAPCONA寄存器以使能QEP电路

第142页:EVB模块中启动

QEP电路需作以下设置:

  • 如果需要,将所需的值装载到GP定时器4的计数器、周期和比较寄存器中。
  • 设置T4CON寄存器,将通用定时器2设置成定向的增/减计数模式,以QEP电路作为时钟源,并使能通用定时器4。
  • 设置CAPCONB寄存器以使能QEP电路

第143页:6.7.4 正交编码脉冲(QEP)电路

源程序代该文件利用汇编语言代码定义了复位和中断向量14title_c_int0,_nothing.rct_c_int0bres

第144页:(2)主程序//该程序

用于EVB模块的QEP电初始化子4asm("setcasm("sM");OVM");CNF"符号位MR=0x00即WD保护位复软件禁止看

第145页://QEP电路初始化子程序

int QEPINT(){*T4PER=0X0FFFF;*T4CON=0X1870;145*T4CNT=0X00;WSGR=0x0000;*CAPCONB=0X0E000;

//通用定时器4的周期寄存器为0XFFFF//通用定时器4为定向增减计数模式,//并且以正交编码脉冲电路作为时钟源//计数器清0//不使能所有的等待状态//使能EVB的QEP电路}

第146页://设置相应的通用引脚的I/O功能//

设置IOPE1、IOPE2为输出引脚且//都为高电平146//I/O端口初始化子程序int IOINT(X0186;}//延时子程序int DELAY(){intk;for(k=0;k<30000;k++){;}}

第147页://系统初始化//I/O端口初始化//

QEP电路初INT();QEPINT;//使IOPE2引脚;//使IOPE1引脚//使IOPE2引脚//使IOPE1引脚

第148页://若由于干扰引起中断请求

//若由于干扰引起中断请求,则执行此中断服务程序,此中断程序相当于汇编中的假中断程序,即什么事//情也不作,以保证中断系统的完整性,防止程序

第149页:6.8 事件管理器中断事件管理器中断分

事件管理器中断事件管理器中断分为3组
即事件管理器中断组A、B和C。各有中断标志、中断屏蔽寄存器,见下表。EV中的中断标志寄存器和中断屏蔽寄存器

第150页:所有EVA中断、优先级和分组

所有EVA中断、优先级和分组

第151页:EVA中断标志寄存器

以EVA中断标志寄存器A(EVAIFRA)为例,其映射地址为742Fh,各位描述如下:位15-11保留位。读返回0,写无效。位10T1OFINTFLAG。通用定时器1的上溢中断标志读0:标志被复位;

1:标志被置位位9写0:无效1:复位标志位T1UFINTFLAG。通用定时器1的下溢中断标志读0:标志被复位;1:标志被置位写0:无效1:复位标志位

第152页:位8152T1CINTFLAG

位8152T1CINTFLAG。通用定时器1的比较中断标志读0:标志被复位;1:标志被置位位7写0:无效1:复位标志位T1PINTFLAG。通用定时器1的周期中断标志读0:标志被复位;

1:标志被置位写0:无效1:复位标志位位6-4保留位。读返回0,写无效。位3CMP3INTFLAG。比较单元3中断标志读0:标志被复位;1:标志被置位写0:无效1:复位标志位

第153页:位21

位21。比较单元2中断标志读0:标志被复位;1:标志被置位写0:无效1:复位标志位CMP1INTFLAG。比较单元1中断标志读0:标志被复位;1:标志被置位写0:无效1:复位标志位PDPINTAFLAG。

功率驱动保护中断标志读0:标志被复位;1:标志被置位写0:无效1:复位标志位EVAIFRB、EVAIFRC各位意义不再详述

第154页:EVA中断屏蔽寄存器

以EVA中断屏蔽寄存器A(EVAIFRA)为例,其映射地址为742Ch,各位描述如下:位15-11保留位。读返回0,写无效。位10T1OFINTENABLE。通用定时器1的上溢中断使能0:禁止1:使能位9T1UFINTENABLE。

通用定时器1的下溢中断使能0:禁止1:使能

第155页:通用定时器1的比较中断使能0

位E。通用定时器1的比较中断使能0:禁止1:使能T1PINTENABLE。通用定时器1的周期中断使能0:禁止1:使能位6-4保留位。读返回0,写无效。位3CMP3INTENABLE。比较单元3中断使能0:禁止1:使能

第156页:位2CMP2INTENABLE

位2CMP2INTENABLE。比较单元2中断使能0:禁止1:使能位1CMP1INTENABLE。比较单元1中断使能0:禁止1:使能位0PDPINTAENABLE。

功率驱动保护中断使能0:禁止1:使能EVAIMRB、EVAIMRC各位意义不再详述

顶部目录