资源预览内容
第1页 / 共123页
第2页 / 共123页
第3页 / 共123页
第4页 / 共123页
第5页 / 共123页
第6页 / 共123页
第7页 / 共123页
第8页 / 共123页
第9页 / 共123页
第10页 / 共123页
亲,该文档总共123页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第9章章 TMS320LF240x片内外设片内外设9.1 看门狗看门狗(WD)定时器模块定时器模块 看看门门狗狗(WD)定定时时器器模模块块用用来来监监视视软软件件和和硬硬件件操操作作,在在软软件件进进入入一一个个不不正正确确的的循循环环或或者者CPU出出现现暂暂时时性性异异常常时时,WD定定时时器器溢溢出出以以产产生生一一个个系系统统复复位位。大大多多数数芯芯片片的的异异常常操操作作和和CPU非非正正常常工工作作的的情情况况都都能能通通过过看看门门狗狗的的功功能能清清除除和和复复位位。因因此此看看门门狗狗的的监监视视功功能能可可增增强强CPU的的可靠性,以确保系统运行的安全和稳定。可靠性,以确保系统运行的安全和稳定。1、 看门狗看门狗(WD)定时器模块的结构定时器模块的结构看看门门狗狗(WD)定定时时器器模模块块的的结结构构如如下下图图所所示示。WD模模块块的的所所有有寄寄存存器都是器都是8位长,该模块与位长,该模块与CPU的的16位外设总线的低位外设总线的低8位相连。位相连。 看看门门狗狗定定时时器器的的时时钟钟(WDCLK)是是一一个个低低频频时时钟钟,由由CPU的的CLKOUT产产生生。当当CPU处处于于低低功功耗耗模模式式IDLE1和和IDLE2时时,仍仍能能保保证证看看门门狗狗继继续续计计数数。仅仅当当看看门门狗狗使使能能时时,WDCLK才才有有效效。WDCLK的的频率由下式计算:频率由下式计算: WDCLK=(CLKOUT)512 当当CLKOUT=40MHz时,时,WDCLK=78125Hz是一个典型值。是一个典型值。除除HALT低低功功耗耗模模式式外外,无无论论片片内内任任一一寄寄存存器器的的状状态态如如何何。WDCLK都将使能都将使能WD定时器功能。定时器功能。WD模块的结构框图模块的结构框图 WD模块有模块有3个控制寄存器对其进行控制和管理:个控制寄存器对其进行控制和管理:(1)WD计数寄存器计数寄存器(WDCNTR)地址地址7023h 8位位WD计计数数寄寄存存器器存存放放WD计计数数器器的的当当前前值值D7D0。WDCNTR是是一一个个只只读读寄寄存存器器,复复位位后后为为0,写写寄寄存存器器无无效效。由由预预定定标标器器的的输输出出提供计数时钟。提供计数时钟。(2)WD复位关键字寄存器复位关键字寄存器(WDKEY)地址地址7025h 当当55h及及紧紧接接其其后后的的AAh(复复位位关关键键字字)写写入入WDKEY时时,将将清清除除WDCNTR。其其他他任任何何值值的的结结合合写写入入或或写写入入任任何何值值都都不不能能清清除除WDCNTR。 8位位WDKEY是是一一个个可可读读写写寄寄存存器器,复复位位后后为为0。读读该该寄寄存存器器WDKEY并不返回最近的关键字值,而是返回并不返回最近的关键字值,而是返回WDCR的内容。的内容。(3)WD定时器控制寄存器定时器控制寄存器(WDCR)地址地址7029h 8位位WDCR用来存放看门狗配置的控制位。用来存放看门狗配置的控制位。 2、 看门狗看门狗(WD)定时器的操作定时器的操作 (1)、WD计计数数器器(WDCNTR)溢溢出出或或向向WD复复位位关关键键字字寄寄存存器器(WDKEY)写入一个不正确的值写入一个不正确的值 当当系系统统正正常常工工作作时时,WD计计数数器器WDCNTR以以WD控控制制寄寄存存器器所所选选的的速速率率进进行行增增计计数数,在在WDCNTR溢溢出出前前,只只要要给给复复位位关关键键字字寄寄存存器器WDKEY写写入入一一个个正正确确值值(先先写写入入55h,紧紧接接着着写写入入AAh)就就可可以以使使WDCNTR清清0,即从,即从0开始计数而不会产生溢出。开始计数而不会产生溢出。 当当系系统统不不正正常常时时,也也就就不不能能给给WDKEY写写入入正正确确值值使使WDCNTR清清0,则则WDCNTR将将计计满满溢溢出出,并并在在一一个个WDCLK(或或用用WDCLK除除以以预预定定标标因子因子)时钟后发生系统复位操作。时钟后发生系统复位操作。 任任何何其其他他次次序序的的写写入入55h和和AAh值值或或写写入入其其他他值值都都不不能能使使WDCNTR清清0,从而使系统复位。,从而使系统复位。 (2)、使用、使用WD检查位检查位 WD定定时时器器控控制制寄寄存存器器(WDCR)的的检检查查位位(WDCHK2WDCHK0)一一直直和和一一个个二二进进制制常常量量101相相比比较较。如如果果WD检检查查位位与与这这个个值值不不匹匹配配,就就会会产产生生一一个个系系统统复复位位。所所以以一一旦旦软软件件执执行行了了错错误误的的WDCR写写操操作作或或一一个个外外部部激激励励干干扰扰(例例如如电电压压尖尖峰峰或或其其他他干干扰扰源源)破破坏坏了了WDCR的的内内容容,即即除除101以以外外的的任任何何值写到值写到WDCR的的D5D3位都会产生一个系统复位。位都会产生一个系统复位。 注意,向注意,向WDCR写入值时必须包括写到写入值时必须包括写到D5D3的值的值101。 当当系系统统上上电电复复位位时时,看看门门狗狗就就被被使使能能。WD定定时时器器被被缺缺省省为为最最快快的的WD速速率率。一一旦旦复复位位由由内内部部释释放放,CPU就就开开始始执执行行程程序序,同同时时WD定定时时器器就就开开始始计计数数。因因此此为为了了避避免免过过早早发发生生复复位位,应应在在程程序序刚刚开开始始时时就就对对WD进进行配置。行配置。9.2 数字输入数字输入/输出输出(I/O)模块模块LF240x采用哈佛结构,有采用哈佛结构,有3个独立的空间:程序空间、数据空间和个独立的空间:程序空间、数据空间和I/O空间。空间。3个空间对外共用一个个空间对外共用一个16位地址总线和一个位地址总线和一个16位数据总线,并位数据总线,并以以3个片选线、和区分不同空间。其中,个片选线、和区分不同空间。其中,I/O空间可接外部设备,是空间可接外部设备,是LF240x与外部设备联系的接口。与外部设备联系的接口。数字数字I/O模块也具有连接外部设备的功能,是模块也具有连接外部设备的功能,是LF240x除除I/O空间外另空间外另一个与外部设备联系的接口。一个与外部设备联系的接口。LF240x有有41个数字个数字I/O口,其中绝大多数具有另一功能,口,其中绝大多数具有另一功能,“另一功能另一功能”都是都是SCI、SPI等片内外设模块的功能引脚。数字等片内外设模块的功能引脚。数字I/O口是第二功能。口是第二功能。 LF240x有有41个数字个数字I/O口,所有这些共享引脚的功能可通过数字口,所有这些共享引脚的功能可通过数字I/O模块中的模块中的9个个16位控制寄存器来控制。位控制寄存器来控制。 控制寄存器可以分为两类。控制寄存器可以分为两类。(1) I/O复用控制寄存器复用控制寄存器(MCRx,x=A,B,C) 控制两种功能的选择。控制两种功能的选择。(2)数据和方向控制寄存器)数据和方向控制寄存器(PxDATDIR,x=A,B,C,D,E,F) 当引脚作为通用当引脚作为通用I/O时,用来控制选择各时,用来控制选择各I/O引脚的数据方向引脚的数据方向(输入输入还是输出还是输出)和当前引脚对应的电平和当前引脚对应的电平(高或低高或低)。读通用。读通用I/O引脚的电平或引脚的电平或向引脚输出电平,实际上是对相应的寄存器向引脚输出电平,实际上是对相应的寄存器(PxDATDIR)进行读写操作。进行读写操作。 I/0复用控制寄存器用来控制多路选择器,选择功能复用引脚是作复用控制寄存器用来控制多路选择器,选择功能复用引脚是作为特殊功能为特殊功能(MCRx.n=1)还是通用还是通用I/0功能功能(MCRx.n=0)。1、I/O复用控制寄存器复用控制寄存器2、数据和方向控制寄存器数据和方向控制寄存器1 1、端口、端口A数据和方向控制寄存器数据和方向控制寄存器 (PADATDIR) 地址地址70987098h h D15D8 AnDIR定义定义IOPAn(n:70)引脚的方向和电平。引脚的方向和电平。0 定义对应的引脚定义对应的引脚IOPA7IOPA0为输入。为输入。1 定义对应的引脚定义对应的引脚IOPA7IOPA0为输出。为输出。D7D0 IOPAnI/O引脚名引脚名(n:70)。如果如果AnDIR=0即引脚即引脚IOPAn(n:70)为输入时,为输入时,0 对应的对应的I/O引脚输入的值为低电平。引脚输入的值为低电平。1 对应的对应的I/O引脚输入的值为高电平。引脚输入的值为高电平。如果如果AnDIR=1即引脚即引脚IOPAn(n:70)为输出时,为输出时,0 设置相应的引脚使其输出为低电平。设置相应的引脚使其输出为低电平。1 设置相应的引脚使其输出为高电平。设置相应的引脚使其输出为高电平。3、程序举例程序举例 .title “240xAGPIO” .data;装载到数据区装载到数据区300hb0.word 0FFFEh;通用通用I/O端口的端口的DO位为位为0b1.word0FFFDh;通用通用I/O端口的端口的D1位为位为0b2.word0FFFBh;通用通用I/O端口的端口的D2位为位为0b3.word0FFF7h;通用通用I/O端口的端口的D3位为位为0b4.word0FFEFh;通用通用I/O端口的端口的D4位为位为0b5.word0FFDFh;通用通用I/O端口的端口的D5位为位为0b6.word 0FFBFh;通用通用I/O端口的端口的D6位为位为0b7.word 0FF7Fh;通用通用I/O端口的端口的D7位为位为0GPR0.word 0;通用目的寄存器通用目的寄存器.include 240xA.h.def _c_into.text_c_into:LDP #0h;设置设置DP=0SETCINTM;禁止中断禁止中断(1)IOPx0IOPx7(x=A、B、C、E、F)轮流设置低电平输出)轮流设置低电平输出SETCCNFSPLK#0000h,IMR;屏蔽所有中断屏蔽所有中断LACCIFR;读中断标志读中断标志SACLIFR;清所有中断标志清所有中断标志LDP#00E0hSPLK#0000h, SCSR1SPLK#006Fh,WDCR;禁止禁止WDLDP#6h;设置设置DP=6h,则地址为则地址为300h37FhSPLK#0h,GPR0;为外部地址空间设置等待状态为外部地址空间设置等待状态OUTGPR0,WSGRLDP#00E1h;设置设置DP=E1h,则地址为则地址为7080h70FFhSPLK#00000h,MCRA;定义定义IOPAn和和IOPBn作为通用作为通用I/O引脚引脚SPLK#0FF00h,MCRB;定义定义IOPCn作为通用作为通用I/O引脚引脚SPLK#00000h,MCRC;定义定义IOPEn和和IOPFn作为通用作为通用I/O引脚引脚SPLK#0FFFFh,PADATDIR;所有引脚均配置为输出并置为高电平所有引脚均配置为输出并置为高电平SPLK#0FFFFh,PBDATDIRSPLK#0FFFFh,PCDATDIRSPLK#0FFFFh,PEDATDIRSPLK#0FFFFh,PFDATDIRMAIN:LDP #0LARAR0,#300h;300h单单元元的的内内容容(位位模模式式:FFFEh)送送;AR0LARAR1,#7;ARl是计数器是计数器LOOP:MAR*,AR0;下次辅助寄存器为下次辅助寄存器为AR0LACC*+,AR2; 装装 载载 位位 模模 式式 到到 累累 加加 器器 , AR0=301h, 下下 次次 ;辅助寄存器为;辅助寄存器为AR2LDP#00E1hSACLPADATDIR;输出同样的位模式到所有的通用输出同样的位模式到所有的通用I/O口口SACL PBDATDIRSACL PCDATDIRSACL PEDATDIRSACL PFDATDIRCALLDELAY;在每个模式间延时在每个模式间延时MAR*,AR1;检检查查是是否否所所有有的的8个个位位模模式式己己被被输输出出引引脚脚;轮流被置为低轮流被置为低),若没有则继续,若没有则继续BANZLOOPBMAIN;循环输出循环输出DELAY: LARAR2,#0FFFFh;延时子程序延时子程序D_LOOP:RPT#0FFhNOPBANZD_LOOPRETPHANTOMKICK_DOG;复位复位WD计数器计数器BPHANTOM.endvoidsys_ini()asm(setcINTM);asm(clrcSXM);asm(clrcOVM);*WDCR=0x00E8;*SCSR1=0x0000;voidIOPort_Initializing()*MCRA=0x0FFF;*PBDATAIR=PBDATAIR|0x0F000;(2)IOPB端口端口4个个LED循环显示循环显示#include“exp4_2407.h”unsignedintled;voidmain(void)unsignedinti;unsignedintk;sys_ini();IOPort_Initializing()led=0x0080;while(1)for(i=0;i4;i+)PBDATAIR=PBDATAIR&0x0FF00;PBDATAIR=PBDATAIR|led;for(k=0;k1if(led=0x0008)led=0x0080;9.3 事件管理器事件管理器(EV)模块模块 TMS320LF240xA提提供供了了两两个个事事件件管管理理器器EVA和和EVB模模块块,用用于于运运动控制和电机控制。每个事件管理器模块都含有:动控制和电机控制。每个事件管理器模块都含有:(1)两个两个16位通用可编程定时器位通用可编程定时器GPtimer1,GPtimer2。 (2)3个全比较单元和与之对应的脉宽调制电路个全比较单元和与之对应的脉宽调制电路PWM。 (3)3个捕获单元个捕获单元CAP。(4)正交编码脉冲)正交编码脉冲(QEP)电路。电路。(5)中断逻辑。)中断逻辑。9.3.1 通用定时器通用定时器DSP事事件件管管理理器器EVA和和EVB内内部部均均有有两两个个通通用用定定时时器器(GPT),EVA中中为为通通用用定定时时器器1(GPT1)和和通通用用定定时时器器2(GPT2);EVB中中为为通通用用定定时时器器3(GPT3)和和通通用用定定时时器器4(GPT4),计计数数范范围围为为065535。每每个个通通用用定定时时器器可可以以各各自自独独立立工工作作,也也可可以以相相互互同同步步工工作作。16位位的的全全局局通通用用定定时时器器控控制制寄寄存存器器GPTCONA(EVA中中)和和GPTCONB(EVB中中)用用来来规规定定这这4个个通通用用定定时时器器在在不不同同定定时时器器事事件件中中所所采采取取的的操操作作,并并记记录录它它们的计数方向。们的计数方向。 每个通用定时器包括:每个通用定时器包括:(1 1)一个)一个16位可读写的定时器计数器位可读写的定时器计数器TxCNT(x=1,2,3,4)。(2 2)一个)一个16位可读位可读/ /写的定时器比较寄存器写的定时器比较寄存器TxCMPR(x=1,2,3,4)。(3 3)一个)一个16位可读位可读/ /写的定时器周期寄存器写的定时器周期寄存器TxPR(x=1,2,3,4)。(4 4)一个)一个16位可读写的定时器控制寄存器位可读写的定时器控制寄存器TxCON(x=1,2,3,4)。(5 5)一个通用定时器比较输出引脚)一个通用定时器比较输出引脚TxCMP/ /TxPWM(x=1,2,3,4)。(6 6)用于内部或外部时钟输入的可编程定标器。)用于内部或外部时钟输入的可编程定标器。(7 7)控制和中断逻辑。)控制和中断逻辑。1、通用定时器中的寄存器、通用定时器中的寄存器(1 1)全局通用定时器控制寄存器)全局通用定时器控制寄存器A/B(GPTCONA/B)映射地址映射地址7400h/7500h D15Reserved保留位。保留位。D14T2STAT/T4STAT通用定时器通用定时器2/4的计数状态,只能读。的计数状态,只能读。0 减计数。减计数。1 增计数。增计数。D13T1STAT/T3STAT通用定时器通用定时器1/3的计数状态,只能读。的计数状态,只能读。0 减计数。减计数。1 增计数。增计数。D12D11 Reserved保留位。保留位。D10D9T2TOADC/T4TOADC设置通用定时器设置通用定时器2/4启动模数转换启动模数转换事件。事件。00 不启动模数转换。不启动模数转换。01 下溢中断标志启动。下溢中断标志启动。10 周期中断标志启动。周期中断标志启动。11 比较中断标志启动。比较中断标志启动。D8D7T1TOADC/T3TOADC设置通用定时器设置通用定时器1/3启动模数转换事件。启动模数转换事件。00 不启动模数转换。不启动模数转换。01 下溢中断标志启动。下溢中断标志启动。10 周期中断标志启动。周期中断标志启动。11 比较中断标志启动。比较中断标志启动。D6TCOMPOE比较输出允许,电源驱动保护中断比较输出允许,电源驱动保护中断PDPINTA/B有效时,有效时,向向该该位位写写0。0 禁止所有通用定时器比较输出禁止所有通用定时器比较输出(比较输出都置成高阻态比较输出都置成高阻态)。1 使能所有通用定时器比较输出。使能所有通用定时器比较输出。D5D4Reserved保留位。保留位。D3D2T2PIN/T4PIN设置通用定时器设置通用定时器2/4比较输出极性。比较输出极性。00 强制为低电平。强制为低电平。01 低电平有效。低电平有效。10 高电平有效。高电平有效。11 强制为高电平。强制为高电平。D1D0T1PIN/T3PIN设置通用定时器设置通用定时器1/3比较输出极性。比较输出极性。00 强制为低电平。强制为低电平。01 低电平有效。低电平有效。10 高电平有效。高电平有效。11 强制为高电平。强制为高电平。(2 2)通用定时器控制寄存器)通用定时器控制寄存器TxCON(x=1, ,2, ,3, ,4) D15D14 FREE,SOFT仿真控制位。仿真控制位。 00 仿真悬挂时立即停止。仿真悬挂时立即停止。 01 仿真悬挂时在当前定时器周期结束后停止。仿真悬挂时在当前定时器周期结束后停止。 1x 操作不受仿真悬挂的影响。操作不受仿真悬挂的影响。D13 Reserved保留位。保留位。D12D11 TMODE计数模式选择。计数模式选择。 00 停止停止/保持。保持。 01 连续增连续增/减计数模式。减计数模式。 10 连续增计数模式。连续增计数模式。 11 定向增定向增/减计数模式。减计数模式。D10D8 TPS输入时钟预定标系数。输入时钟预定标系数。(设设x=CPU时钟频率时钟频率) 000 x/1 001 x/2 010 x/4 011 x/8 100 x/16 101 x/32 110 x/64 111 x/128D7 T2SWTl/T4SWTl通用定时器通用定时器2(EVA)或定时器或定时器4(EVB)使能选择位。使能选择位。 0 使用自己的寄存器使能位。使用自己的寄存器使能位。 1使用使用SELT1PR(EVA)或或SELT3PR(EVB)作为周期寄存器,而忽略自身作为周期寄存器,而忽略自身的周期寄存器。的周期寄存器。 (3 3)通用定时器计数器)通用定时器计数器TxCNT(x=1, ,2, ,3, ,4) 每每个个通通用用定定时时器器都都有有一一个个计计数数器器,其其映映射射地地址址为为:T1CNT7401h,T2CNT7405h, T3CNT7501h,T4CNT7505h。 计计数数器器的的初初值值可可以以是是0000hFFFFh中中的的任任意意值值。通通用用定定时时器器中中的的计计数器用来存放开始计数时的初值,当进行计数时存放当前计数值。数器用来存放开始计数时的初值,当进行计数时存放当前计数值。 计数器可以进行增计数器可以进行增1或减或减1计数,由控制寄存器计数,由控制寄存器TxCON的的D12D11确确定其计数模式。定其计数模式。 (4 4)比较寄存器)比较寄存器TxCMPR(x=1,2,3,4) 每个通用定时器都有一个比较寄存器,其映射地址为:每个通用定时器都有一个比较寄存器,其映射地址为:T1CMPR7402h,T2CMPR7406h,T3CMPR7502h,T4CMPR7506h。 通用定时器中的比较寄存器通用定时器中的比较寄存器TxCMPR存放着与计数器存放着与计数器TxCNT进行比较的进行比较的值。如果设置值。如果设置控制寄存器控制寄存器TxCON中的中的D1位为位为1,即允许比较操作,则当计数,即允许比较操作,则当计数器的值计到与比较寄存器值相等时产生比较匹配,从而将有以下事件发生:器的值计到与比较寄存器值相等时产生比较匹配,从而将有以下事件发生: (1)EVA/EVB中中断断标标志志寄寄存存器器中中相相应应的的比比较较中中断断标标志志位位在在匹匹配配后后的的一一个个CPU时时钟周期后被置位。钟周期后被置位。 (2)在在 匹匹 配配 后后 的的 一一 个个 CPU时时 钟钟 周周 期期 后后 , 根根 据据 全全 局局 通通 用用 定定 时时 器器 控控 制制 器器GPTCONA/B中中的的D3D2或或D1D0位位的的配配置置,相相应应地地比比较较输输出出TxPWM引引脚脚将发生跳变。将发生跳变。 (3)当当全全局局通通用用定定时时器器控控制制寄寄存存器器GPTCONA/B的的D10D9或或D8D7位位设设置置为为由周期中断标志启动模数转换由周期中断标志启动模数转换ADC时,模数转换被启动。时,模数转换被启动。 (4)如果比较中断未被屏蔽,则产生一个外设中断请求。如果比较中断未被屏蔽,则产生一个外设中断请求。 (5 5)周期寄存器)周期寄存器TxPR(x=1, ,2, ,3, ,4)每每个个通通用用定定时时器器都都对对应应一一个个周周期期寄寄存存器器,其其映映射射地地址址为为:T1PR7403h,T2PR一一一一7407h,T3PR7503h,T4PR7507h。 周周期期寄寄存存器器的的值值决决定定了了定定时时器器的的周周期期,当当定定时时器器的的计计数数值值与与周周期期寄寄存存器器的的值值相相等等时时产产生生周周期期匹匹配配,此此时时通通用用定定时时器器停停止止操操作作并并保保持持当当前计数值,然后根据计数器的计数方式执行复位操作或递减计数。前计数值,然后根据计数器的计数方式执行复位操作或递减计数。 每个比较寄存器和周期寄存器都有一个暂存单元每个比较寄存器和周期寄存器都有一个暂存单元(称为影子寄存称为影子寄存器器)存放它们的新值,任何时刻都可对比较寄存器和周期寄存器写入存放它们的新值,任何时刻都可对比较寄存器和周期寄存器写入新的比较值或周期值,这些新值被存放在影子寄存器中。对比较寄存新的比较值或周期值,这些新值被存放在影子寄存器中。对比较寄存器,仅当由控制寄存器器,仅当由控制寄存器TxCON规定的定时事件发生时,才能装入新规定的定时事件发生时,才能装入新值;对周期寄存器,仅当计数寄存器值;对周期寄存器,仅当计数寄存器TxCNT为为0时,才能装入新值。时,才能装入新值。之后,被装载新值的寄存器按新的设置工作,从而改变了下一个周期之后,被装载新值的寄存器按新的设置工作,从而改变了下一个周期的定时器周期和的定时器周期和PWM脉冲宽度。脉冲宽度。 2、通用定时器的中断和仿真中断、通用定时器的中断和仿真中断 通通 用用 定定 时时 器器 在在 模模 块块 EVA和和 EVB的的 中中 断断 标标 志志 寄寄 存存 器器EVAIFRA,EVAIFRB,EVBIFRA,EVBIFRB中有中有16个中断标志。个中断标志。 每个通用定时器可根据以下每个通用定时器可根据以下4种事件产生中断:种事件产生中断: 上上溢溢定定时时计计数数器器的的值值达达到到FFFFh时时,产产生生上上溢溢事事件件中中断断。此此时时标标志志寄寄存器中的存器中的TxOFINF位位(x=l,2,3,4)置置1。 下下溢溢定定时时计计数数器器的的值值达达到到0000h时时,产产生生下下溢溢事事件件中中断断。此此时时标标志志寄寄存器中的存器中的TxUFINF位位(x=1,2,3,4)置置1。 比比较较匹匹配配当当通通用用定定时时计计数数器器的的值值与与比比较较寄寄存存器器的的值值相相等等时时, 产产生生定定时时器比较匹配事件中断。此时标志寄存器中的器比较匹配事件中断。此时标志寄存器中的TxCINT位位(x=1,2, 3,4)置置1。 周期匹配周期匹配当通用定时计数器的值与周期寄存器的值相等时当通用定时计数器的值与周期寄存器的值相等时, 产生定时产生定时 器周期匹配事件中断。此时标志寄存器中的器周期匹配事件中断。此时标志寄存器中的TxPINT位位(x= =1, ,2, , 3, ,4)置置1。 (1 1)停止保持模式)停止保持模式 通用定时器的操作停止,定时器的计数器、比较输出和预定标计通用定时器的操作停止,定时器的计数器、比较输出和预定标计数器均保持当前状态。数器均保持当前状态。 3、通用定时器的计数操作、通用定时器的计数操作如果设定计数器的初值如果设定计数器的初值(0000hFFFFh中的任意值中的任意值)大于周期寄存器大于周期寄存器的值,则计数器进行加的值,则计数器进行加1计数至计数至FFFFh后置上溢中断标志:再加后置上溢中断标志:再加1计满为计满为0后,从后,从0开始继续计数直到等于周期寄存器的值,此时产生周期匹配,并开始继续计数直到等于周期寄存器的值,此时产生周期匹配,并设置周期中断标志和下溢中断标志,且计数器复位为设置周期中断标志和下溢中断标志,且计数器复位为0;然后再从;然后再从0开始开始继续计数继续计数(好像初值为好像初值为0一样一样),直到等于周期寄存器的值,重复上述操作。,直到等于周期寄存器的值,重复上述操作。如果设定计数器的初值小于周期寄存器的值,则计数器从初值开始如果设定计数器的初值小于周期寄存器的值,则计数器从初值开始加加1计数直到等于周期寄存器的值,然后复位为计数直到等于周期寄存器的值,然后复位为0,再从,再从0开始计数,同时开始计数,同时设置周期中断和下溢中断标志,重复上述操作。设置周期中断和下溢中断标志,重复上述操作。(2)连续增计数模式)连续增计数模式例例7.3 连连续续增增计计数数模模式式的的初初始始化化编编程程。设设置置通通用用定定时时器器1在在该该模模式式下下工工作作,其其计计数数器器初初始始值值为为0,周周期期寄寄存存器器值值为为3。(计计数数器器波波形形为为图图7.18中中点点划划线线的的右右半部分半部分) LDP #DP_EVA ;装入数据页面指针,指向装入数据页面指针,指向7400h7480h单元单元 SPLK #01h,GPTCONA ;允许定时器比较输出且低电平有效允许定时器比较输出且低电平有效 SPLK #3h,T1PR ;设置周期寄存器的值为设置周期寄存器的值为3 SPLK #2h,T1CMPR ;设置比较寄存器的值为设置比较寄存器的值为2 SPLK #0h,T1CNT ;设置计数初值为设置计数初值为0 SPLK #174Eh,T1CON ;设置连续增计数模式,输入时钟为设置连续增计数模式,输入时钟为CPU ;时钟的时钟的128分频,定时器计数使能,输入分频,定时器计数使能,输入;时钟为内部;时钟为内部CPU时钟,定时器比较使能时钟,定时器比较使能通通用用定定时时器器在在定定标标的的输输入入时时钟钟上上升升沿沿开开始始计计数数,计计数数方方向向由由输输入入引引脚脚TDIRMB确确定定:引引脚脚为为高高时时,进进行行增增计计数数,增增计计数数与与连连续续增增计计数数模模式式完完全全相相同同:引引脚脚为为低低时时,进进行行减减计计数数,从从初初值值(0000hFFFFh中中的的任任何何值值)开开始始减减计计数数直直到到计计数数值值为为0,此此时时如如果果TDIRA/B引引脚脚仍仍保保持持为低,定时器的计数器将重新装入周期寄存器的值,开始新的减计数。为低,定时器的计数器将重新装入周期寄存器的值,开始新的减计数。 读读GPTCONA/B寄寄存存器器中中的的D14和和D13位位,可可以以监监测测定定时时器器的的计计数方向。数方向。 周期下溢和上溢中断的产生方式与连续增计数模式相同,定向增周期下溢和上溢中断的产生方式与连续增计数模式相同,定向增减计数模式的初始化编程与连续增计数模式方法相同。仅减计数模式的初始化编程与连续增计数模式方法相同。仅TxCON寄存器的寄存器的TMODE为为11。(3)定向增)定向增/减计数模式减计数模式(4)连续增)连续增/减计数模式减计数模式连续增连续增/减计数模式与定向增减计数模式与定向增/减计数模式基本相同。区别是:计数方减计数模式基本相同。区别是:计数方向不受引脚向不受引脚TDIRA/B的状态影响,而是在计数值达到周期寄存器的值时的状态影响,而是在计数值达到周期寄存器的值时或或FFFFh(初值大于周期寄存器的值)时,才从增计数变为减计数;在计(初值大于周期寄存器的值)时,才从增计数变为减计数;在计数值为数值为0时,从减计数变为增计数。时,从减计数变为增计数。4、通用定时器的输入和输出信号、通用定时器的输入和输出信号 (1)时钟输入)时钟输入通用定时器的时钟源可采用内部时钟或外部时钟输入通用定时器的时钟源可采用内部时钟或外部时钟输入TCLKINA/B,或正交编码器脉冲电路或正交编码器脉冲电路QEP,由每个通用定时器的控制寄存器,由每个通用定时器的控制寄存器TxCON的的D5D4位选择决定,并通过位选择决定,并通过D10D8位选择位选择8种输入时钟的预定标系数。种输入时钟的预定标系数。当使用外部时钟时,要求其最大频率是当使用外部时钟时,要求其最大频率是CPU时钟频率的时钟频率的1/4。在定向增在定向增/减计数器模式下,减计数器模式下,EVA模块中的通用定时器模块中的通用定时器2和和EVB中的中的通用定时器通用定时器4可用于正交编码脉冲可用于正交编码脉冲(QEP)电路,此时正交编码脉冲电路不电路,此时正交编码脉冲电路不仅为定时器仅为定时器2/4提供时钟,而且还提供输入方向。提供时钟,而且还提供输入方向。(2)方向输入)方向输入当通用定时器处于定向增当通用定时器处于定向增/减计数模式时,输入引脚减计数模式时,输入引脚TDIRA/B决定了决定了计数的方向:计数的方向:TDIRA/B为高电平时,规定为增计数;为低电平时,规定为高电平时,规定为增计数;为低电平时,规定为减计数。为减计数。读全局控制寄存器读全局控制寄存器GPTCONA/B的的TxSTAT位可检查通用定时器的计位可检查通用定时器的计数方向状态。数方向状态。(3)比较输出)比较输出每个通用定时器都可以独立地提供一个每个通用定时器都可以独立地提供一个PWM输出通道。所以通用定时输出通道。所以通用定时器可提供器可提供4个个PWM输出输出TxPWM(或称比较输出或称比较输出TxCMP,x=1,2,3,4)。比较输出引脚比较输出引脚TxPWM由全局通用定时器控制寄存器由全局通用定时器控制寄存器GPTCONA/B的的D3D2位和位和D1D0位规定为强制高、强制低、高有效或低有效。位规定为强制高、强制低、高有效或低有效。强制高强制高/低低若若GPTCONA/B的相应位规定的相应位规定PWM输出为强制高输出为强制高/低后,低后,输出引脚输出引脚TxPWM立即变为高电平立即变为高电平/低电平。低电平。高有效高有效/低有效低有效若若GPTCONA/B的相应位规定的相应位规定PWM输出为高有效输出为高有效/低有效后,则可以产生非对称或对称波形:低有效后,则可以产生非对称或对称波形:当通用定时器工作在连续增当通用定时器工作在连续增/减计数模式时,产生对称波形;当通用定时减计数模式时,产生对称波形;当通用定时器工作在连续增计数模式时,产生非对称波形。器工作在连续增计数模式时,产生非对称波形。PWM输出在以下事件的影输出在以下事件的影响下发生变化:响下发生变化:(1)计数操作开始前,输出引脚)计数操作开始前,输出引脚TxPWM保持无效状态。保持无效状态。(2)当第一次比较匹配发生时,输出引脚)当第一次比较匹配发生时,输出引脚TxPWM跳变为有效状态,同时跳变为有效状态,同时产生触发。产生触发。(3)如果通用定时器工作在连续增)如果通用定时器工作在连续增/减计数模式,则在第二次比较匹配时减计数模式,则在第二次比较匹配时TxPWM变为无效状态,并一直保持到下一个周期的第一次比较匹配发生。变为无效状态,并一直保持到下一个周期的第一次比较匹配发生。如下图所示,该波形称为对称波形。如下图所示,该波形称为对称波形。连续增连续增/减计数模式下的比较输出(减计数模式下的比较输出(TxPWM)如果通用定时器工作在连续增计数模式,则在周期匹配时如果通用定时器工作在连续增计数模式,则在周期匹配时TxPWM变变为无效状态,并一直保持到下一个周期的比较匹配发生。如下图所示,为无效状态,并一直保持到下一个周期的比较匹配发生。如下图所示,该波形称为非对称波形。该波形称为非对称波形。连续增计数模式下的比较输出(连续增计数模式下的比较输出(TxPWM)(4)如果比较值在一个周期开始时为)如果比较值在一个周期开始时为0,则在整个周期,则在整个周期PWM输出为有效输出为有效状态;状态;如果下一周期比较值仍为如果下一周期比较值仍为0,则,则PWM输出将不再改变,继续保持有效状输出将不再改变,继续保持有效状态;态;如果比较值大于或等于周期值,则在整个周期如果比较值大于或等于周期值,则在整个周期PWM输出为无效状态,输出为无效状态,直到比较值小于周期值并发生比较匹配时,直到比较值小于周期值并发生比较匹配时,PWM输出才发生跳变。输出才发生跳变。在连续增在连续增/减计数模式下的比较输出图中,比较寄存器在增计数和减计数减计数模式下的比较输出图中,比较寄存器在增计数和减计数模式下可以有不同的值,所以模式下可以有不同的值,所以TxPWM输出的有效相位长度输出的有效相位长度Ta可由下式计算:可由下式计算:Ta=(TxPR)-(TxCMPR)up+(TxPR)-(TxCMPR)dn*Tc在连续增计数模式下的比较输出图中,在连续增计数模式下的比较输出图中,TxPWM输出的有效相位长度输出的有效相位长度Ta和无效相位长度和无效相位长度Ti由下式计算:由下式计算:Ta=(TxPR)-(TxCMPR)+1*TcTi=(TxCMPR)*Tc式中,式中,TxPR为周期寄存器的值;为周期寄存器的值;(TxCMPR)为连续增为连续增/减计数模式下减计数模式下增计数的比较值增计数的比较值(TxCMPR)dn为连续增为连续增/减计数模式下减计数的比较值;减计数模式下减计数的比较值;(TxCMPR)为连续增计数模式下的比较值;为连续增计数模式下的比较值;Tc为定标输入时钟周期。为定标输入时钟周期。可见,输出信号的跳变时间由比较寄存器的值决定,改变比较寄存器可见,输出信号的跳变时间由比较寄存器的值决定,改变比较寄存器中的值就可以改变中的值就可以改变TxPWM输出脉冲的宽度。输出脉冲的宽度。同同一一模模块块的的通通用用定定时时器器可可以以实实现现同同步步。即即EVA模模块块中中定定时时器器2和和1可可以同步:以同步:EVB模块中定时器模块中定时器4和和3可以实现同步。方法如下:可以实现同步。方法如下: (1)置置T1CON(EVA模模块块)或或T3CON(EVB模模块块)寄寄存存器器中中的的TENABLE位位为为1,且且置置T2CON(EVA)中中的的T2SWT1或或T4CON(EVB)寄寄存存器器中中的的T4SWT3位为位为1,此时将同时启动本模块中的两个计数器。,此时将同时启动本模块中的两个计数器。 (2)在启动同步操作前,可将本模块的两个计数器初始化成不同的值。在启动同步操作前,可将本模块的两个计数器初始化成不同的值。 (3)置置T2CON/T4CON寄存器中的寄存器中的SELT1PR/SELT3PR位为位为10使通使通用定时器用定时器1/3的周期寄存器也作为通用定时器的周期寄存器也作为通用定时器2/4的周期寄存器的周期寄存器(而忽略而忽略2/4自身的周期寄存器自身的周期寄存器)。 5、通用定时器的同步、通用定时器的同步该该程程序序检检查查EVAEVA中中定定时时器器1 1的的操操作作。定定时时器器的的模模式式为为连连续续增增/减减计计数数,x/128。输输出出对对应应于于上上溢溢、下下溢溢、比比较较、周周期期中中断断进进入入相相应应的的中中断断服服务务程程序序SISR2x中中,使使通通用用I/O引引脚脚IOPB0(上上溢溢时时),IOPB1(下下溢溢时时),IOPB2(比比较较匹匹配配发发生生时时),IOPB3(周周期期匹匹配配发发生生时时)相相继继输输出出高高电平。电平。 6、通用定时器程序举例、通用定时器程序举例(程序名为程序名为EV_T1INT.asm).include “240xA.h”;变量和寄存器说明变量和寄存器说明.include “240xA vector.h”;矢量标志说明矢量标志说明.def_c_into.text_c_into:LDP#0h;设置设置DP=0SETCINTM;禁止中断禁止中断SPLK#0000h,IMR;屏蔽所有核心中断屏蔽所有核心中断LACCIFR;读中断标志读中断标志SACLIFR;清所有中断标志清所有中断标志LDP#00E0h;设置设置DP=E0h,外设页面外设页面SPLK#0004h,SCSR1;为为EVA模块打开时钟模块打开时钟SPLK#006Fh,WDCR;禁止看门狗禁止看门狗MAR*,AR0LDP#0E1h;外设页面外设页面SPLK #0FF00h,PBDATDIR;设置设置IOPBn引脚为输出低电平引脚为输出低电平 ;装入通用定时器;装入通用定时器1LDP#00E8h;设置设置DP=E0h,则地址为则地址为7400h747FhSPLK#0000h,GPTCONA SPLK#0000h,T1CNT;将定时器将定时器1计数清零计数清零 SPLK #0F42h,T1CON;使能增使能增/减计数,减计数,x/128,内部时钟,使内部时钟,使能比较,计数器为能比较,计数器为0时重装比较寄存器,时重装比较寄存器,使用自己的周期寄存器。使用自己的周期寄存器。SPLK#0FFFh,T1PRSPLK#00FFh,T1CMPRSPLK#0780h,EVAIMRA;使能定时器使能定时器1的上溢、下溢、比较、周期中断的上溢、下溢、比较、周期中断SPLK#0FFFFh,EVAIFRA;清中断清中断LDP#0SPLK#0002h, IMR;使能使能INT2CLRCINTMWAIT: NOP;循环等待中断循环等待中断NOPBWAITGISR2:;Int2通用中断服务程序通用中断服务程序GISR2LDP#00E0h;设置外设页面设置外设页面LACLPIVR;将外设中断矢量将外设中断矢量PIVR值装入累加器值装入累加器XORXOR#002Ah #002Ah ;GPT1GPT1上溢中断矢量上溢中断矢量BCND SISR2A,EQBCND SISR2A,EQ;如果相等转上溢中断服务程序如果相等转上溢中断服务程序LACLLACLPIVRPIVRXORXOR#0029h#0029h;GPTlGPTl下溢中断矢量下溢中断矢量BCNDBCNDSISR29,EQ SISR29,EQ ;如果相等转下溢中断服务程序如果相等转下溢中断服务程序LACLLACLPIVRPIVRXORXOR#0028h #0028h ;GPT1GPT1比较中断矢量比较中断矢量BCNDBCNDSISR28,EQSISR28,EQ;如果相等转比较中断服务程序如果相等转比较中断服务程序LACLLACLPIVRPIVRXORXOR#0027h #0027h ;GPTlGPTl周期中断矢量周期中断矢量BCNDBCNDSISR27,EQSISR27,EQ;如果相等转周期中断服务程序如果相等转周期中断服务程序RETRETSISR2ASISR2A:;GPTlGPTl上溢中断服务程序上溢中断服务程序LDPLDP#0E1h#0E1h;设置外部页面设置外部页面SPLKSPLK#0FF01h, PBDATDIR#0FF01h, PBDATDIR;设置设置IOPB0IOPB0引脚输出高电平引脚输出高电平CALLCALLDELAYDELAYLDPLDP#0E8h#0E8h;外设页面外设页面LACCLACC#0400h#0400h;清上溢中断标志清上溢中断标志SACLSACLEVAIFRAEVAIFRA;在在EVAIFRAEVAIFRA内内CLRCCLRCINTMINTM;使能所有标志使能所有标志RETRETSISR29:GPT1;下溢中断服务程序下溢中断服务程序LDP#0E1h;外设页面外设页面SPLK#0FF02h, PBDATDIR;设置设置IOPB1引脚输出高电平引脚输出高电平CALLDELAYLDP#0E8h;外设页面外设页面LACC#0200h;清下溢中断标志清下溢中断标志SACLEVAIFRA;在在EVAIFRA内内CLRCINTM;使能所有标志使能所有标志RETSISR28:GPT1L;中断服务程序;中断服务程序LDP#0E1h外设页面外设页面SPLK#0FF04h, PBDATDIR;设置设置101,B2引脚输出高电平引脚输出高电平CALLDELAYLDP#0E8h;外设页面外设页面LACC#0100h;清比较中断标志清比较中断标志SACLEVAIFRA;在在EVAIFRA内内CLRCINTM;使能所有中断使能所有中断RET SISR27:;GPT1周期中断服务程序周期中断服务程序LDP#0E1h;外设页面外设页面SPLK#0FF08h, PBDATDIR;设置设置IOPB3引脚输出高电平引脚输出高电平CALLDELAYLDP#0E8h;外设页面外设页面LACC#0080h;清周期中断标志清周期中断标志SACLEVAIFRA;在在EVAIFRA内内CLRCINTM;使能所有标志使能所有标志RETDELAY:LARAR0,#01h;通用目的延时通用目的延时D_LOOP: RPT#01h;修改修改RPT值可改变延时时间值可改变延时时间NOPBANZD_LOOPRETGISR1: RETGISR3: RETGISR4: RETGISR5: RETGISR6: RETPHANTOM RET.end 9.3.2 全比较单元和脉宽调制电路全比较单元和脉宽调制电路PWM事件管理器事件管理器(EVA)模块中有模块中有3个全比较单元个全比较单元(全比较单元全比较单元1,2和和3),对,对应于应于3个个16位的全比较寄存器位的全比较寄存器(CMPR1、CMPR2和和CMPR3);事件管理器;事件管理器模块模块(EVB)中有中有3个全比较单元个全比较单元(全比较单元全比较单元4,5和和6),对应于,对应于3个个16位的全位的全比较寄存器比较寄存器(CMPR4、CMPR5和和CMPR6)。每个每个EV模块中与比较单元相关的模块中与比较单元相关的PWM电路带有可编程死区和输出极电路带有可编程死区和输出极性控制,以产生独立的性控制,以产生独立的3对(即对(即6路)路)PWM输出。每个全比较单元输出。每个全比较单元(或全比或全比较寄存器较寄存器)对应于两个对应于两个PWM输出,即全比较单元输出,即全比较单元1,2,3(EVA)对应于对应于PWMy(y=l,2,3,4,5,6),全比较单元,全比较单元4,5,6(EVB)对应于对应于PWMz(z=7,8,9,10,11,12)。每个每个EV模块有一个模块有一个16位可读写的比较控制寄存器位可读写的比较控制寄存器COMCONA/B,一,一个个16位的比较方式控制寄存器位的比较方式控制寄存器ACTRA/B(各带一个可读各带一个可读/写的影子寄存器写的影子寄存器)。比较单元的时基由通用定时器比较单元的时基由通用定时器1(EVA模块模块)和通用定时器和通用定时器3(EVB模块模块)提供。提供。1、全比较单元、全比较单元 全比较单元中的全比较单元中的16位比较寄存器位比较寄存器(CMPR1CMPR6)各带一个可读各带一个可读/写写的影子寄存器,它们用于存放与通用定时器的影子寄存器,它们用于存放与通用定时器1/3相比较的值,比较寄存器的相比较的值,比较寄存器的地址分别为:地址分别为:CMPR17417h,CMPR27418h,CMPR37419h,CMPR47517h,CMPR57518h,CMPR67519h。比较控制寄存器比较控制寄存器COMCONA/B控制全比较单元的操作;比较方式控制控制全比较单元的操作;比较方式控制寄存器寄存器TCTRA/B控制控制12个个PWM输出引脚的输出方式。输出引脚的输出方式。(1)比较控制寄存器)比较控制寄存器A/B(COMCONA/B)地址地址7411h/7511h D15CENABLE比较使能位。比较使能位。 0 禁止比较操作。禁止比较操作。 1 使能比较操作。使能比较操作。D14D13CLD1CLD0比较寄存器比较寄存器CMPRx重装条件。重装条件。 00 当当T1CNT/T3CNT=0时时(即下溢即下溢)。 11 T1CNT/T3CNT=0或或T1CNT/T3CNT=T1PR/T3PR(即下溢或周即下溢或周 期期 匹配匹配) 时时 10 立即重装立即重装 11 保留,结果不可预测。保留,结果不可预测。 D12 SVENABLE空间矢量空间矢量PWM模式矢量位。模式矢量位。0 禁止空间矢量禁止空间矢量PWM模式。模式。1 使能空间矢量使能空间矢量PWM模式。模式。D11D10 ACTRLD1/ACTRLD0方式控制寄存器重装条件。方式控制寄存器重装条件。 00 当当T1CNT/T3CNT=0时时(即下溢即下溢)。01 当当T1CNT/T3CNT=0或或T1CNT/T3CNT=T1PR/T3PR(即下溢或周期即下溢或周期匹配匹配)时。时。 10 立即重装。立即重装。 11 保留,结果不可预测。保留,结果不可预测。D9FCOMPOE比较输出使能位,有效的比较输出使能位,有效的PDPINTA/PDPINTB将该位清将该位清0。 0 PWM输出引脚为高阻态,即禁止。输出引脚为高阻态,即禁止。 1 PWM输出引脚使能。输出引脚使能。D8PDPINTA/PDPINTBSTATUS该位反映了当前该位反映了当前PDPINTA/PDPINTB引脚引脚的状态的状态(该位只在该位只在240xA系列中应用,在系列中应用,在240x系列中为保留位系列中为保留位)。 D7D0 Reserved保留位。保留位。(2 2)比较方式控制寄存器)比较方式控制寄存器(ACTRA/ACTRB)地址地址7413h/7513h D15SVRDIR空间矢量空间矢量PWM旋转方向位,仅用于空间矢量旋转方向位,仅用于空间矢量PWM输出的输出的产生。产生。0 正向正向(CCW)。1 反向反向(CW)。D14D12D2D0基本的空间矢量位,仅用于空间矢量基本的空间矢量位,仅用于空间矢量PWM输出的产生。输出的产生。D11D10CMP6ACT/CMP12ACT比较输出引脚比较输出引脚CMP6/CMP12的输出方式。的输出方式。00 强制低。强制低。 01 低有效。低有效。10 高有效。高有效。 11 强制高。强制高。D9D8CMP5ACT/CMP11ACT比较输出引脚比较输出引脚CMP5/CMP11的输出方式。的输出方式。00 强制低。强制低。 01 低有效。低有效。10 高有效。高有效。 11 强制高。强制高。 D7D6 CMP4ACT/CMP10ACT比较输出引脚比较输出引脚CMP4/CMP10的输出方式。的输出方式。00 强制低。强制低。 01 低有效。低有效。10 高有效。高有效。 11 强制高。强制高。D5D4 CMP3ACT/CMP9ACT比较输出引脚比较输出引脚CMP3/CMP9的输出方式。的输出方式。00 强制低。强制低。 01 低有效。低有效。10 高有效。高有效。 11 强制高。强制高。D3D2 CMP2ACT/CMP8ACT比较输出引脚比较输出引脚CMP2/CMP8的输出方式。的输出方式。00 强制低。强制低。 01 低有效。低有效。10 高有效。高有效。 11 强制高。强制高。D1D0 CMPlACT/CMP7ACT比较输出引脚比较输出引脚CMP1/CMP7的输出方式。的输出方式。 00 强制低。强制低。 01 低有效。低有效。 10 高有效。高有效。 11 强制高。强制高。2、PWM电路电路在数字控制系统中,通常需要将数字信号转换成模拟信号以控制外设对在数字控制系统中,通常需要将数字信号转换成模拟信号以控制外设对象。这种转换过程最常用的方法就是采用脉宽调制象。这种转换过程最常用的方法就是采用脉宽调制(PWM)技术。调制技术的技术。调制技术的核心就是产生周期不变但脉宽可变的信号。也就是说一个核心就是产生周期不变但脉宽可变的信号。也就是说一个PWM信号是一串信号是一串宽度变化的脉冲序列,这些脉冲平均分布在一段定长的周期中;在每个周期宽度变化的脉冲序列,这些脉冲平均分布在一段定长的周期中;在每个周期中有一个脉冲。这个定长的周期被称为中有一个脉冲。这个定长的周期被称为PWM(载波载波)周期,其倒数被称为周期,其倒数被称为PWM(载波载波)频率。频率。在一个电机控制系统中,通过功率器件在一个电机控制系统中,通过功率器件(大部分是开关型器件大部分是开关型器件)将所需的将所需的电流和能量送到电机线圈绕组中,这些相电流的形状、频率及能量的大小控电流和能量送到电机线圈绕组中,这些相电流的形状、频率及能量的大小控制着电机所需的速度和扭矩,而脉宽调制信号制着电机所需的速度和扭矩,而脉宽调制信号PWM就是用来控制功率器件就是用来控制功率器件的开启和关断时间的。在具体应用中,常将两个功率器件的开启和关断时间的。在具体应用中,常将两个功率器件(一个正相导通,一个正相导通,另一个负相导通另一个负相导通)串联到一个功率转换器的引脚上,为了避免击穿,要求这串联到一个功率转换器的引脚上,为了避免击穿,要求这两个器件的开启时间不能相同。死区就是为了使这两个器件的开启存在一定两个器件的开启时间不能相同。死区就是为了使这两个器件的开启存在一定的时间间隔,即死区时间。的时间间隔,即死区时间。通用定时器的周期匹配可以保证通用定时器的周期匹配可以保证PWM波形的周期不变,通用定时器波形的周期不变,通用定时器比较匹配可以产生不同的比较匹配可以产生不同的PWM脉宽,因此,根据调制频率来设置通用定脉宽,因此,根据调制频率来设置通用定时器周期寄存器的值。根据已得到的脉宽变化规律在每个周期内修改通用时器周期寄存器的值。根据已得到的脉宽变化规律在每个周期内修改通用定时器比较寄存器的值,以得到不同的脉宽。通过设置死区控制寄存器可定时器比较寄存器的值,以得到不同的脉宽。通过设置死区控制寄存器可选择死区时间。选择死区时间。综上所述,与比较单元相关的综上所述,与比较单元相关的PWM电路中电路中PWM波形的产生由以下波形的产生由以下寄存器控制:通用定时器计数器寄存器控制:通用定时器计数器T1CON/T3CON,比较控制寄存器,比较控制寄存器COMCONA/B,比较方式控制寄存器,比较方式控制寄存器ACTRA/B和死区控制寄存器和死区控制寄存器DBTCONA/B。(1)可编程的死区单元)可编程的死区单元死区单元主要用于控制每个比较单元相关的死区单元主要用于控制每个比较单元相关的2路路PWM输出不在同时间输出不在同时间内发生,从而保证了所控制的一对正向和负向设备在任何情况下不同时导内发生,从而保证了所控制的一对正向和负向设备在任何情况下不同时导通。通。事件管理模块事件管理模块EVA和和EVB都有各自的可编程死区单元,每个可编程死都有各自的可编程死区单元,每个可编程死区单元都有一个区单元都有一个16位的死区控制寄存器位的死区控制寄存器DBTCONA/B(可读写可读写):一个输入:一个输入时钟预分频器时钟预分频器(x/1,x/2,x/4,x/8,x/16,x/32。x为器件为器件CPU的时钟输入的时钟输入);3个个4位的减计数器和控制逻辑。位的减计数器和控制逻辑。死区单元的操作方式由死区控制寄存器死区单元的操作方式由死区控制寄存器DBTCONA/B来控制。来控制。DBTCONA和和DBTCONB各位的定义完全相同。不同之处用各位的定义完全相同。不同之处用“/”符号区符号区分。分。死区控制寄存器死区控制寄存器A/B(DBTCONA/DBTCONB)地址地址7415h/7515h D15D12 Reserved保留位。保留位。D11D8 DBT3DBT0死区定时器周期,这死区定时器周期,这4位定义了位定义了3个死区定时器的周个死区定时器的周期值期值(m)。D7 EDBT3死区定时器死区定时器3使能位使能位(对应比较单元对应比较单元3的引脚的引脚PWM5/PWM11 和和PWM6/PWM12)。 0 禁止。禁止。 1 使能。使能。D6 EDBT2死区定时器死区定时器2使能位使能位(对应比较单元对应比较单元2的引脚的引脚PWM3/PWM9和和PWM4/10)。 0 禁止。禁止。 1 使能。使能。D5 EDBT1死区定时器死区定时器1使能位使能位(对应比较单元对应比较单元1的引脚的引脚PWM1/PWM7和和PWM2/PWM8)。 0 禁止。禁止。 1 使能。使能。D4D2 DBTPS2一一DBTPS0死区定时器的预分频器死区定时器的预分频器(x=CPU的时钟频率的时钟频率)。000 x/1 001 x/2010 x/4 011 x/8100 x/16 101 x/32110 x/32 111 x/32D1D0 Reserved保留位。保留位。 死区的输入是死区的输入是PH1、PH2和和PH3,分别由比较单元分别由比较单元1,2和和3对称对称/非非对称波形发生器产生,与其相对应的死区单元的输出是对称波形发生器产生,与其相对应的死区单元的输出是DTPH1,DTPH1_:DTPH2,DTPH2_:DTPH3,DTPH3_,经过输出逻辑,经过输出逻辑,DTPH1和和DTPH1_对应于对应于PWM输出输出PWM1和和PWM2(EVB为为PWM7和和PWM8),DTPH2和和DTPH2_对应于对应于PWM3和和PWM4(EVB为为PWM9和和PWM10),DTPH3和和DTPH3_对应于对应于PWM5和和PWM6(EVB为为PWM11和和PWM12)。上述每两个信号的跳变沿有一段时间间隔,该时间间隔称为死区,上述每两个信号的跳变沿有一段时间间隔,该时间间隔称为死区,死区的值由死区的值由DBTCONA/B寄存器中的相应位决定:假如寄存器中的相应位决定:假如DBTCONA/B的的D11D8位定义的值为位定义的值为m,D4D2位中的值对应的预分频因子为位中的值对应的预分频因子为x/p(x为为CPU时钟周期时钟周期),则死区值为,则死区值为(p*m)个个CPU时钟周期。时钟周期。(2) 比较单元和比较单元和PWM电路中的电路中的PWM波形产生波形产生 比较单元的输出逻辑电路决定了比较发生匹配时,输出引脚比较单元的输出逻辑电路决定了比较发生匹配时,输出引脚PWM112上的输出极性和方式。通过设置上的输出极性和方式。通过设置ACTRA/B寄存器中的相应位可使输出方式为寄存器中的相应位可使输出方式为低有效,高有效,强制低,强制高。低有效,高有效,强制低,强制高。 产生产生PWM输出需要对事件管理器中相关的寄存器进行配置,步骤如下输出需要对事件管理器中相关的寄存器进行配置,步骤如下 :a. 设置和装载设置和装载ACTRx寄存器,以确定输出方式和极性。寄存器,以确定输出方式和极性。b. 如果使用死区单元,则设置和装载如果使用死区单元,则设置和装载DBTCONx寄存器。寄存器。c. 设置和装载通用定时器周期寄存器设置和装载通用定时器周期寄存器T1PR或或T3PR以确定以确定PWM周期。周期。d. 初始化比较寄存器初始化比较寄存器CMPRx,即装入比较值,以确定即装入比较值,以确定PWM波形的占空比。波形的占空比。e. 设置和装载设置和装载COMCONx,以使能比较操作和以使能比较操作和PWM输出。输出。f. 设置设置T1CON(EVA)或或T3CON(EVB),用来设置计数模式和启动比较操作。用来设置计数模式和启动比较操作。g. 更新更新CMPRx寄存器的值,以改变寄存器的值,以改变PWM波形的占空比。波形的占空比。 非对称非对称PWM波形的产生波形的产生 将定时器将定时器1或或3设置为连续增计数模式,则将产生非对称设置为连续增计数模式,则将产生非对称PWM波波形。形。 按按上上述述步步骤骤设设置置好好各各个个寄寄存存器器后后,就就能能在在与与比比较较单单元元相相关关的的一一对对PWM输输出出引引脚脚上上产产生生一一路路正正常常的的PWM脉脉冲冲信信号号(如如PWMx+1)。如如果果死死区区未未使使能能,另另一一路路PWM输输出出引引脚脚(如如PWMx)则则具具有有相相同同跳跳变变的的脉脉冲冲;如如果果死死区区使使能能,该该输输出出引引脚脚则则在在PWM周周期期的的任任一一时时刻刻内内跳跳变变为为低低电电平平(低低有有效效)或或高高电电平平(高高有有效效)。这这两两个个输输出出引引脚脚的的跳跳变变时时间间间间隔隔即即形形成成了了死死区区。这这种种用用软软件件灵灵活活控控制制的的PWM输输出出适适用用于于对对开开关关磁磁阻阻电机的控制。电机的控制。在在每每个个PWM周周期期的的任任何何时时刻刻可可将将新新的的比比较较值值、周周期期值值写写入入比比较较寄寄存存器器CMPRx、周周期期寄寄存存器器T1PR(T2PR)中中,以以改改变变PWM输输出出的的宽宽度度和和周周期期,也也可可以以重重置置比比较较方方式式控控制制寄寄存存器器(ACTRA/B),以以改改变变PWM的输出方式。更新的值是在下一个的输出方式。更新的值是在下一个PWM周期内实现。周期内实现。 将通用定时器将通用定时器1或或3设置为连续增设置为连续增/减计数模式,即可产生对称减计数模式,即可产生对称PWM波形。波形。在对称在对称PWM波形发生的一个周期内通常有两次比较匹配。一次波形发生的一个周期内通常有两次比较匹配。一次在周期匹配前的增计数期间,另一次是在周期匹配后的减计数期间。在周期匹配前的增计数期间,另一次是在周期匹配后的减计数期间。更新比较寄存器的值,就可以提前或推迟更新比较寄存器的值,就可以提前或推迟PWM脉冲的第二个边沿的脉冲的第二个边沿的到来。用这种修改到来。用这种修改PWM波形特性的方法可以弥补由交流电机控制中波形特性的方法可以弥补由交流电机控制中的死区所导致的电流误差。使用对称的死区所导致的电流误差。使用对称PWM波形可减小在使用正弦波波形可减小在使用正弦波调整时,交流电机和直流无刷电机的相电流的谐波失真。调整时,交流电机和直流无刷电机的相电流的谐波失真。产产生生对对称称PWM波波形形的的设设置置与与产产生生非非对对称称PWM波波形形的的设设置置方方法法,除计数模式外其他均相同。除计数模式外其他均相同。产生产生PWM信号的方法与通用定时器中产生信号的方法与通用定时器中产生TxCMP/TxPWM信号信号的方法相同。的方法相同。 对称对称PWM波形的产生波形的产生3、空间矢量、空间矢量PWM波形产生波形产生空间矢量空间矢量PWM是一种针对三相交流电路的新型调制技术,空间矢是一种针对三相交流电路的新型调制技术,空间矢量量PWM利用三相功率转换器的六个能量晶体管的特殊转换机制,改善利用三相功率转换器的六个能量晶体管的特殊转换机制,改善输出峰值电压,使三相交流电机绕组中的电流谐波失真最小。基于空间输出峰值电压,使三相交流电机绕组中的电流谐波失真最小。基于空间矢量原理的最大输出电压是传统正弦调制的矢量原理的最大输出电压是传统正弦调制的1.55倍,它能在高速下提供倍,它能在高速下提供更高的磁矩和更高的效率。更高的磁矩和更高的效率。图中,图中,Udc为电源电压,为电源电压,Va,Vb,Vc为输入到电动机绕组的电压。为输入到电动机绕组的电压。6个功率晶体管个功率晶体管Q1Q6分别由分别由DTPHx和和DTPHx_(x=a,b,c)控制。如果约定控制。如果约定当上端晶体管导通当上端晶体管导通(DTPHx_=1)时,下端晶体管就截止时,下端晶体管就截止(DTPHx_=0),就可,就可以由上端晶体管以由上端晶体管(Q1,Q3,Qs)的状态,即由的状态,即由DTPHx(x=a,b,c)的状态求的状态求出输送给电动机的电压出输送给电动机的电压Uout。上图所示的三相桥式电路就是按一定的规律控制三对桥臂晶体管的通、上图所示的三相桥式电路就是按一定的规律控制三对桥臂晶体管的通、断,将直流电压断,将直流电压Ubc变为三相正弦电压变为三相正弦电压Va,Vb,Vc输出。即当相应的上端输出。即当相应的上端晶体管导通时,从该相输出的电压晶体管导通时,从该相输出的电压Vx(x=a,b,c)等于电源电压等于电源电压Udc;当其;当其截止时,电压为零。三个上端晶体管截止时,电压为零。三个上端晶体管Q1,Q3,和,和Q5的导通和断开有八种的导通和断开有八种组合。这八种组合和被驱动电机的线电压和相电压组合。这八种组合和被驱动电机的线电压和相电压(以直流电压以直流电压Udc为单位为单位)如下表所示,表中的如下表所示,表中的a,b和和c代表代表DTPHa,DTPHb和和DTPHc。通过通过d-q变换处理,可将相应于八种组合的相电压映射至变换处理,可将相应于八种组合的相电压映射至d-q平台,得平台,得到六个非零矢量和两个零矢量,到六个非零矢量和两个零矢量,d-q变换相当于把三维变量变换相当于把三维变量(a,b,c)正交正交投影到垂直于矢量投影到垂直于矢量(1,1,1)(即即d-q平面平面)的二维平面。非零矢量构成六边的二维平面。非零矢量构成六边形的轴线。两相邻矢量之间的夹角是形的轴线。两相邻矢量之间的夹角是60。两个零矢量位于坐标原点。这。两个零矢量位于坐标原点。这八个矢量称做基本空间矢量并记做八个矢量称做基本空间矢量并记做U0,U60,U120,U180,U240,U300,O000和和O111。这种变换同样可用于输入电机所需的电压矢量。这种变换同样可用于输入电机所需的电压矢量Uout。图给出了矢。图给出了矢量投影和所需的电机电压矢量量投影和所需的电机电压矢量Uout的投影。的投影。(1)d-q变换变换d-q平面的平面的d轴和轴和q轴相当于交流电机定子的正交轴中的水平轴和垂直轴相当于交流电机定子的正交轴中的水平轴和垂直轴。轴。空间矢量空间矢量PWM方法的目的就是为了通过这六个功率晶体管的八种开方法的目的就是为了通过这六个功率晶体管的八种开启方式的组合来逼近电机的电压矢量启方式的组合来逼近电机的电压矢量Uout。两相邻基本矢量的二进制表示仅有一位不同。即当开启方式从两相邻基本矢量的二进制表示仅有一位不同。即当开启方式从Ux变到变到Ux+60。或从。或从Ux+60变到变到Ux时,仅有一个上端晶体管导通。同样零矢量时,仅有一个上端晶体管导通。同样零矢量O000和和O111没有电压施加到电机上。没有电压施加到电机上。任意时刻的三相电压任意时刻的三相电压Va、Vb、Vc可由两个相邻的空间矢量合成为所可由两个相邻的空间矢量合成为所需电压矢量需电压矢量Uout,当电压矢量,当电压矢量Uout沿逆时针或顺时针方向旋转时,空间矢沿逆时针或顺时针方向旋转时,空间矢量由一个有效状态转移到另一个有效状态,从而产生连续的三相电压。量由一个有效状态转移到另一个有效状态,从而产生连续的三相电压。(2)基本空间矢量电机电压的近似估计)基本空间矢量电机电压的近似估计在任意一个在任意一个PWM周期内通过求出位于两个相邻基本矢量的两个矢量周期内通过求出位于两个相邻基本矢量的两个矢量元素的矢量和来估算空间矢量电机电压元素的矢量和来估算空间矢量电机电压Uout:UoutT1UxTp+T2(Ux+60)Tp+T0(O000或或O111)Tp式中,式中,T0由由Tp-T1-T2得出,得出,Tp是是PWM的载波周期。等式右边的第三的载波周期。等式右边的第三项并不影响矢量和项并不影响矢量和Uout。Uout的产生可查阅有关空间矢量的产生可查阅有关空间矢量PWM和电机控和电机控制理论的书籍。制理论的书籍。以上的近似表达式表明对于以上的近似表达式表明对于T1和和T2时间段来说,上端晶体管必须相时间段来说,上端晶体管必须相应于矢量应于矢量Ux和和Ux+60的导通和截止形式,这样才能将电压的导通和截止形式,这样才能将电压Uout输送到电机输送到电机上。零基本矢量的引入有助于平衡晶体管的导通和断开周期,以利于平上。零基本矢量的引入有助于平衡晶体管的导通和断开周期,以利于平衡它们的功耗。衡它们的功耗。(3)空间矢量)空间矢量PWM的产生的产生事件管理器所生成的空间矢量事件管理器所生成的空间矢量PWM波形是对于每个波形是对于每个PWM周期中心周期中心对称的,因此被称为对称空间矢量对称的,因此被称为对称空间矢量PWM波形。波形。对称空间矢量对称空间矢量PWM波形如下图所示。波形如下图所示。事件管理器模块内具有产生对称空间矢量事件管理器模块内具有产生对称空间矢量PWM波形的内置硬件。内置硬波形的内置硬件。内置硬件按照用户软件的设置进行工作。因此为了生成空间矢量件按照用户软件的设置进行工作。因此为了生成空间矢量PWM波形,在初始波形,在初始化时用户软件应进行如下设置:化时用户软件应进行如下设置:(1)配置比较方式控制寄存器配置比较方式控制寄存器ACTRx以定义全比较输出引脚的极性。以定义全比较输出引脚的极性。(2)配置比较控制寄存器配置比较控制寄存器COMCONx以使能比较操作和空间矢量以使能比较操作和空间矢量PWM模式,模式,并将并将ACTRx和比较寄存器和比较寄存器CMPRx的重装条件设置为下溢。的重装条件设置为下溢。(3)将通用定时器将通用定时器1或或3设置为连续增设置为连续增/减计数模式,并启动定时器。减计数模式,并启动定时器。(4)确定在二维确定在二维d-q平面上输入到电机的电压平面上输入到电机的电压Uout,并分解,并分解Uout以确定每个以确定每个PWM周期的以下参数:周期的以下参数: 两个相邻矢量两个相邻矢量Ux和和Ux+60。 参量了参量了T1,T2,T0。 将相应于将相应于Ux的开启方式写入到的开启方式写入到ACTRx寄存器的寄存器的D14D12位中,并将位中,并将1写入写入ACTRx的的D15中,或将中,或将Ux+60的开启方式写入的开启方式写入ACTRx的的D14D12中,并将中,并将0写入写入ACTRx的的D15中。中。 将将T1/2写入写入CMPR1,并将,并将(T1+T2)/2写入写入CMPR2中。中。每个每个EV模块工作时,在一个空间矢量模块工作时,在一个空间矢量PWM周期完成如下的操作:周期完成如下的操作:(1)在每个周期的开始,将在每个周期的开始,将PWM输出设置成由输出设置成由ACTRx的的D14D12位定义的新方位定义的新方式式Uy。(2)在增计数期间,当在增计数期间,当CMPRl和通用定时器和通用定时器1发生第一次匹配时,即定时器计数值发生第一次匹配时,即定时器计数值达到达到Ti/2时,如果时,如果ACTRxl5为为1,就将,就将PWM输出开启到方式输出开启到方式Uy+60:如果如果ACTRxl5为为0,就将,就将PWM输出开启到方式输出开启到方式Uy(Uo60=U300,U360+60=U60)。(3)在增计数期间,当在增计数期间,当CMPR2和通用定时器和通用定时器1发生第二次匹配时,即定时器计数发生第二次匹配时,即定时器计数值达到值达到(T1+T2)/2时,将时,将PWM输出开启到方式输出开启到方式(000)或或(111),它们与,它们与(1)类输出方式类输出方式之间只有之间只有1位的差别。位的差别。(4)在减计数期间,当在减计数期间,当CMPR2和通用定时和通用定时1发生第一次比较匹配时即定时器计数发生第一次比较匹配时即定时器计数器达到器达到(T1+T2)/2时,就将时,就将PWM输出置回到输出置回到(2)类输出方式。类输出方式。(5)在减计数期间,当在减计数期间,当CMPR1和通用定时器和通用定时器1发生第二次比较匹配时,发生第二次比较匹配时,即定时器计数器达到了即定时器计数器达到了T12时,就将时,就将PWM输出置回到输出置回到(1)类输出方式。类输出方式。在空间矢量在空间矢量PWM模式中,当两个全比较寄存器模式中,当两个全比较寄存器CMPR1和和CMPR2都被装入都被装入0时全比较输出将都变成无效。所以在使用空间矢量时全比较输出将都变成无效。所以在使用空间矢量PWM模式模式时应满足以下条件:时应满足以下条件:(CMPR1)(CMPR2)(T1PR)否则将导致不可预测的情况发生。否则将导致不可预测的情况发生。9.3.3捕获单元捕获单元捕获单元用于捕获输入引脚上电平的变化并记录其变化发生的时捕获单元用于捕获输入引脚上电平的变化并记录其变化发生的时间。事件管理器间。事件管理器EV有有6个捕获单元,每个捕获单元都有一个与之相对个捕获单元,每个捕获单元都有一个与之相对应的捕获输入引脚,即应的捕获输入引脚,即EVA模块的捕获单元模块的捕获单元1、2和和3对应于捕获输入对应于捕获输入引脚引脚CAP1、CAP2和和CAP3;EVB模块的捕获单元模块的捕获单元4、5和和6对应于捕对应于捕获输入引脚获输入引脚CAP4、CAP5和和CAP6。捕获单元在捕获输入引脚上出现捕获单元在捕获输入引脚上出现跳变时使能触发。跳变时使能触发。 1、捕获单元的结构特征、捕获单元的结构特征EVA模模块块中中的的捕捕获获单单元元与与EVB相相似似,只只是是所所用用的的通通用用定定时时器器和和寄存器及设置不同,如图所示。寄存器及设置不同,如图所示。由图可见,每个捕获单元都有由图可见,每个捕获单元都有1个个16位位2级深的级深的FIFO栈,栈,1个施密特个施密特触发器输入引脚触发器输入引脚CAPx(x=1、2和和3,4、5和和6),所有输入引脚由,所有输入引脚由CPU时钟时钟同步。为了捕获到输入跳变信号,输入的当前电平必须保持两个同步。为了捕获到输入跳变信号,输入的当前电平必须保持两个CPU时时钟周期。输入引脚钟周期。输入引脚CAP1和和CAP2(EVA),CAP4和和CAP5(EVB)同样可用同样可用做正交编码脉冲电路中的输入引脚。做正交编码脉冲电路中的输入引脚。事件管理模块中的通用定时器事件管理模块中的通用定时器1和通用定时器和通用定时器2(EVA),通用定时器通用定时器3和通用定时器和通用定时器4(EVB)可选择作为捕获单元的时基:其中可选择作为捕获单元的时基:其中EVA模块的捕获模块的捕获单元单元CAP3单独使用一个定时器单独使用一个定时器(1或或2),CAP1和和CAP2共用一个定时器共用一个定时器(2或或1);EVB模块的捕获单元模块的捕获单元CAP6单独使用一个定时器单独使用一个定时器(3或或4),CAP4和和CAP5共用一个定时器共用一个定时器(4或或3)。EVA和和EVB中的中断标志寄存器中的中断标志寄存器EVAIFRC和和EVBIFRC为每个捕获为每个捕获单元提供了一个中断标志位,中断屏蔽寄存器单元提供了一个中断标志位,中断屏蔽寄存器EVAIMRC和和EVBIMRC为每个捕获单元提供了一个中断屏蔽位。为每个捕获单元提供了一个中断屏蔽位。2、捕获单元的寄存器、捕获单元的寄存器捕获单元的操作由捕获单元的操作由4个个16位的寄存器位的寄存器CAPCONA/B和和CAPFIFOA/B控制。由于使用了通用定时器为捕获单元提供时基,因此也将用到定时控制。由于使用了通用定时器为捕获单元提供时基,因此也将用到定时器控制寄存器器控制寄存器TxCON(x1,2,3或或4)。寄存器。寄存器CAPCONA/B也可用于也可用于正交编码脉冲电路的检测。正交编码脉冲电路的检测。就像所有事件管理器中的寄存器一样,这些寄存器都被映射到数据就像所有事件管理器中的寄存器一样,这些寄存器都被映射到数据存储器。当存储器。当RESET输入变低时,所有的捕获单元寄存器都清零。输入变低时,所有的捕获单元寄存器都清零。(1 1)捕获控制寄存器)捕获控制寄存器A(CAPCONA)地址地址7420h D15CAPRES捕获复位,读该位总为捕获复位,读该位总为0。0 将所有捕获单元和正交编码脉冲电路的寄存器清将所有捕获单元和正交编码脉冲电路的寄存器清0。1 无操作。无操作。D14D13: CAPQEPN捕获单元捕获单元1/4、2/5的控制位的控制位(这两位也作为正这两位也作为正交编码脉冲电路交编码脉冲电路QEP的控制位,禁止捕获单元将使能的控制位,禁止捕获单元将使能QEP电路电路)。00 禁止捕获单元禁止捕获单元1/4、2/5, FIFO堆栈保持不变。堆栈保持不变。01 使能捕获单元使能捕获单元1/4、2/5。10 保留。保留。11 保留。保留。D12CAP3EN/CAP6EN捕获单元捕获单元3/6的控制位。的控制位。0 禁止捕获单元禁止捕获单元3/6,FIFO堆栈保持不变。堆栈保持不变。1 使能捕获单元使能捕获单元3/6。D11Reserved保留位。保留位。D10CAP3TSEL/CAP6TSEL捕获单元捕获单元3/6的通用定时器选择位的通用定时器选择位0 选择通用定时器选择通用定时器2/4。1 选择通用定时器选择通用定时器1/3。 D9CAP12TSEL/CAP45TSEL捕获单元捕获单元1/4、2/5的通用定时器选择位。的通用定时器选择位。0 选择通用定时器选择通用定时器2/4。1 选择通用定时器选择通用定时器1/3。D8 CAP3TOADC/CAP6TOADC捕获单元捕获单元3/6事件启动模数转换位事件启动模数转换位0 无操作。无操作。1 当当CAP31NT/CAP6/NT标志置位时,启动模数转换。标志置位时,启动模数转换。D7D6CAP1EDGE/CAP4EDGE捕获单元捕获单元1/4的边沿检测控制位。的边沿检测控制位。00 无检测。无检测。 01 检测上升沿。检测上升沿。10 检测下降沿。检测下降沿。 11 检测两个边沿。检测两个边沿。D5D4CAP2EDGE/CAP5EDGE捕获单元捕获单元2/5的边沿检测控制位。的边沿检测控制位。00 无检测。无检测。 01 检测上升沿。检测上升沿。10 检测下降沿。检测下降沿。 11 检测两个边沿。检测两个边沿。D3D2CAP3EDGECAP6EDGE捕获单元捕获单元3/6的边沿检测控制位。的边沿检测控制位。00、 无检测。无检测。 01 检测上升沿。检测上升沿。10 检测下降沿。检测下降沿。 11 检测两个边沿。检测两个边沿。D1D0 Reserved保留位。保留位。(2 2)捕获)捕获FIFO状态寄存器状态寄存器A/B (CAPFIPOA/CAPFIFOB)地址地址7422h/7522h D15D14Reserved保留位。保留位。D13D12 CAP3FIFO/CAP6FIFO捕获单元捕获单元3/6的的FIFO堆栈状态位。堆栈状态位。00 空。空。01 已有一个值压入堆栈。已有一个值压入堆栈。10 已有两个值压入堆栈。已有两个值压入堆栈。11 堆栈中已有两个值且又压入一个值,则丢弃最先压入的值。堆栈中已有两个值且又压入一个值,则丢弃最先压入的值。D11D10:CAP2FIFO/CAP5FIFO 捕获单元捕获单元2/5的的FIFO堆栈状态位。堆栈状态位。00 空。空。01 已有一个值压入堆栈。已有一个值压入堆栈。10 已有两个值压入堆栈。已有两个值压入堆栈。11 堆栈中已有两个值且又压入一个值,则丢弃最先压入的值。堆栈中已有两个值且又压入一个值,则丢弃最先压入的值。D9D8:CAPlFIFO/CAP4FIFO捕获单元捕获单元1/4的的FIFO堆栈状态位。堆栈状态位。00 空。空。01 已有一个值压入堆栈。已有一个值压入堆栈。10 已有两个值压入堆栈。已有两个值压入堆栈。11 堆栈中已有两个值且又压入一个值,则丢弃最先压入的值。堆栈中已有两个值且又压入一个值,则丢弃最先压入的值。D7D0 Reserved保留位。保留位。 为了使捕获单元能正常工作,必须对以下寄存器进行设置:为了使捕获单元能正常工作,必须对以下寄存器进行设置:(1)初始化)初始化CAPFIFOx(x=A或或B),并将适当的状态位清零。,并将适当的状态位清零。(2)初始化)初始化TxCON以设置所选择的通用定时器的一种操作模式。以设置所选择的通用定时器的一种操作模式。(3)如果希望获得比较和周期中断,则应设置相关通用定时器的比)如果希望获得比较和周期中断,则应设置相关通用定时器的比较寄存器较寄存器TxCMP和周期寄存器和周期寄存器TxPR。(4)设置捕获控制寄存器)设置捕获控制寄存器CAPCONx。3、捕获单元的设置、捕获单元的设置捕获单元使能后,当输入引脚捕获单元使能后,当输入引脚CAPx上有一个跳变上有一个跳变(由由CAPCONA/B指指定是上沿还是下沿定是上沿还是下沿)时,就将所选通用定时器的当前计数值装入到相应的时,就将所选通用定时器的当前计数值装入到相应的FIFO栈;与此同时,相应的中断标志被置位,如果该中断标志未被屏蔽,栈;与此同时,相应的中断标志被置位,如果该中断标志未被屏蔽,就产生一个外部中断请求。整个过程称为发生了捕获事件。每发生一次捕就产生一个外部中断请求。整个过程称为发生了捕获事件。每发生一次捕获事件,新计数值就将存入获事件,新计数值就将存入FIFO队列,队列,CAPFIFO寄存器中相应的状态位寄存器中相应的状态位可自动调整以反映可自动调整以反映FIFO队列的新状态。队列的新状态。用户可用两种方法检测捕获事件和读取捕获事件发生时定时器的计用户可用两种方法检测捕获事件和读取捕获事件发生时定时器的计数值:数值:(1)中断方式。捕获事件发生所产生的外部中断请求使)中断方式。捕获事件发生所产生的外部中断请求使CPU进入中断进入中断服务程序,在中断服务程序中从相应捕获单元的服务程序,在中断服务程序中从相应捕获单元的FIFO栈内读取捕获到的栈内读取捕获到的计数值。计数值。(2)查询方式。通过查询中断标志位和)查询方式。通过查询中断标志位和FIFO栈的状态来确定是否发生栈的状态来确定是否发生了捕获事件。若已发生,则可从相应捕获单元的了捕获事件。若已发生,则可从相应捕获单元的FIFO栈内读取捕获到的栈内读取捕获到的计数值。计数值。捕获单元的操作不影响任何通用定时器和与通用定时器相关的比较捕获单元的操作不影响任何通用定时器和与通用定时器相关的比较PWM操作。操作。4、捕获单元的工作原理、捕获单元的工作原理每个捕获单元都有一个专用的、每个捕获单元都有一个专用的、16位的位的2级级FIFO栈,称为顶层栈和底栈,称为顶层栈和底层栈。层栈。顶层栈是一个只读寄存器,对于顶层栈是一个只读寄存器,对于EVA模块,项层模块,项层FIFO寄存器有寄存器有CAP1FIFO,CAP2FIFO,CAP3FIFO(映射地址为映射地址为7423h7425h);对于;对于EVB模块,有模块,有CAP4FIFO,CAP5FIFO,CAP6FIFO(对应映射地址为对应映射地址为7523h7525h);底层栈包括;底层栈包括CAPxFBOT(对于对于EVA模块:模块:x=1,2,3,映,映射地址为射地址为7427h7429h:对于:对于EVB模块:模块:x=4,5,6,映射地址为,映射地址为7527h7529h)。如果需要底层寄存器的值也可被读出。如果需要底层寄存器的值也可被读出。5、捕获单元的、捕获单元的FIFO栈栈顶层顶层FIFO寄存器总是存放对应捕获单元捕获到的旧计数值。如果是空寄存器总是存放对应捕获单元捕获到的旧计数值。如果是空栈,则第一次捕获到的计数值将存放在顶层寄存器,同时栈,则第一次捕获到的计数值将存放在顶层寄存器,同时CAPFIFOx寄存寄存器的相应状态位被置成器的相应状态位被置成01;如果在前次捕获值未读取前发生了第二次捕获,;如果在前次捕获值未读取前发生了第二次捕获,则新的捕获值将送到底层寄存器,同时则新的捕获值将送到底层寄存器,同时CAPFIFOx寄存器的相应状态位被寄存器的相应状态位被置成置成10;如果第三次捕获发生时,;如果第三次捕获发生时,FIFO栈己满,则栈顶层寄存器的旧计数栈己满,则栈顶层寄存器的旧计数值将被弹出栈并丢弃,底层寄存器的计数值将压入到顶层寄存器中,新捕值将被弹出栈并丢弃,底层寄存器的计数值将压入到顶层寄存器中,新捕获到的计数值被送到底层寄存器,获到的计数值被送到底层寄存器,CAPFIFOx寄存器的状态位被置成寄存器的状态位被置成11。随时可对随时可对FIFO寄存器进行读访问。如果对顶层寄存器进行了读访问,寄存器进行读访问。如果对顶层寄存器进行了读访问,则底层寄存器的计数值则底层寄存器的计数值(如果有的话如果有的话)将弹入到顶层寄存器;如果对底层寄存将弹入到顶层寄存器;如果对底层寄存器进行了读访问,器进行了读访问,FIFO栈将不发生变化,捕获栈将不发生变化,捕获FIFO状态寄存器状态寄存器CAPFIFO的相应位能实时地反映的相应位能实时地反映FIFO栈的状态。栈的状态。9.3.4 正交编码脉冲正交编码脉冲(QEP)电路电路正交编码脉冲是两个频率变化且正交正交编码脉冲是两个频率变化且正交(相位差相位差90即即1/4个周期个周期)的脉的脉冲。在许多运动控制系统都需要有正反两个方向的运动,为了对位置、冲。在许多运动控制系统都需要有正反两个方向的运动,为了对位置、速度进行控制,必须要测试出当前的运动方向。下图给出了产生正交速度进行控制,必须要测试出当前的运动方向。下图给出了产生正交编码脉冲的原理图,图中的两排方孔在位置上差编码脉冲的原理图,图中的两排方孔在位置上差90相位,方孔可以透相位,方孔可以透过光电信号。对于旋转运动,可以采用类似的光电码盘。这样,当两过光电信号。对于旋转运动,可以采用类似的光电码盘。这样,当两个输入脉冲由电机轴上的光电编码器产生时,检测这两组脉冲的相位个输入脉冲由电机轴上的光电编码器产生时,检测这两组脉冲的相位(上升沿的前后顺序上升沿的前后顺序)可以判断出电机的旋转方向可以判断出电机的旋转方向(即运动方向即运动方向),检测输,检测输入脉冲的个数可以确定具体的位置,通过记录确定周期的脉冲个数可入脉冲的个数可以确定具体的位置,通过记录确定周期的脉冲个数可以计算出电机的转速。以计算出电机的转速。240xA控制器的控制器的EVA模块和模块和EVB模块中均有一个正交编码脉冲模块中均有一个正交编码脉冲(QEP)电电路。可自动识别由路。可自动识别由CAP1/QEP1、CAP2/QEP2(EVA模块模块)和和CAP3/QEP3、CAP4/QEP4(EVB模块模块)引脚上输入的正交编码脉冲的方向,并记录脉冲的个引脚上输入的正交编码脉冲的方向,并记录脉冲的个数,为运动控制和伺服控制的实现提供了方便。数,为运动控制和伺服控制的实现提供了方便。捕捕获获单单元元1、2 (EVA)和和4、5 (EVB)与与正正交交编编码码电电路路共共用用两两个个正正交交编编码码脉脉冲冲输输入入引引脚脚。通通过过正正确确配配置置捕捕获获控控制制寄寄存存器器CAPCONA/B的的控控制制位位D14D13,可可以以禁禁止止捕捕获获单单元元以以使使能能正正交交编编码码电电路路,从从而而将将相相关关的的输输入入引引脚脚用用于于正正交交编编码码脉脉冲冲电电路路。通通用用定定时时器器2(或或4)作作为为正正交交编编码码脉脉冲冲电电路路QEP的的时时基基,如如果果以以QEP电电路路作作为为时时钟钟源源,必必须须将将通通用用定定时器设置为定向增时器设置为定向增/减计数模式。减计数模式。 正交编码脉冲正交编码脉冲QEP检测电路用来检测两个输入序列中的哪一个检测电路用来检测两个输入序列中的哪一个是先导序列,从而产生方向信号作为所选定时器的方向输入。是先导序列,从而产生方向信号作为所选定时器的方向输入。 1、OEP电路的结构特征电路的结构特征2、正交编码电路、正交编码电路(OEP)的工作原理的工作原理 当当QEP使使能能后后,两两个个正正交交编编码码脉脉冲冲输输入入序序列列CAP1/QEP1和和CAP2/QEP2 (EVB模模 块块 是是 CAP4/QEP3和和 CAP5/QEP4 )经经 QEP检检 测测 逻逻 辑辑 检检 测测 , 如如 果果CAP1/QEP1 (EVB模模块块是是CAP4/QEP3)是是先先导导序序列列(上上升升沿沿比比另另一一个个早早1/4周周期期 ), 则则 通通 用用 定定 时时 器器 从从 当当 前前 值值 开开 始始 进进 行行 增增 计计 数数 (DIR为为 高高 ); 如如 果果CAP2/QEP2(EVB模模块块是是CAP5/QEP4)是是先先导导序序列列,则则通通用用定定时时器器从从当当前前值值开开始始进进行行减减计计数数(DIR为为低低):与与此此同同时时,正正交交编编码码脉脉冲冲电电路路对对这这两两个个正正交交脉脉冲冲输输入入信信号号的的两两个个边边沿沿(上上沿沿和和下下沿沿)进进行行计计数数,以以此此产产生生的的时时钟钟频频率率CLK是是每每个个输输入入序序列列的的4倍倍,这这个个4倍倍频频CLK作作为为通通用用定定时时器器2(EVB模模块块为为4)的的输输入入时时钟。钟。 当当正正交交编编码码脉脉冲冲电电路路产产生生的的脉脉冲冲波波形形作作为为通通用用定定时时器器的的时时钟钟源源时时,输输入入到选定的通用定时器方向控制引脚到选定的通用定时器方向控制引脚TDIRA/B和时钟和时钟TCLKINA/B将不起作用。将不起作用。 如如下下图图所所示示,图图中中开开始始时时QEP2为为先先导导序序列列,所所以以DIR为为低低即即减减计计数数,当当QEP1为先导序列时,为先导序列时,DIR为高即增计数。为高即增计数。 用用QEP电电路路作作为为时时钟钟输输入入的的通通用用定定时时器器同同样样可可以以产产生生周周期期匹匹配配、下下溢溢匹匹配配、上上溢溢匹匹配配和和比比较较匹匹配配,相相应应的的中中断断标标志志位位在在各各自自的的匹匹配配发发生生时时被被置置位位。如果中断未被屏蔽,则将产生外设中断请求信号。如果中断未被屏蔽,则将产生外设中断请求信号。启动启动QEP电路前需作如下配置电路前需作如下配置(括号内为括号内为EVB模块模块):(1)如果希望产生匹配中断,将所需的值装载到通用定时器)如果希望产生匹配中断,将所需的值装载到通用定时器2/4的的计数器、周期寄存器和比较寄存器中。计数器、周期寄存器和比较寄存器中。(2)配置)配置T2CON(T4CON)寄存器,将通用定时器寄存器,将通用定时器2/4设置为定向增设置为定向增/减计数模式,以正交编码脉冲电路作为时钟源并使能通用定时器减计数模式,以正交编码脉冲电路作为时钟源并使能通用定时器2/4。(3)配置)配置CAPCONA(CAPCONB)寄存器以使能正交编码脉冲电路。寄存器以使能正交编码脉冲电路。3、正交编码脉冲电路的设置、正交编码脉冲电路的设置事件管理器的中断是通过外设中断扩展控制器事件管理器的中断是通过外设中断扩展控制器(PIE)引入到引入到DSP器件器件的的CPU的。事件管理器的。事件管理器A(EVA)和事件管理器和事件管理器B(EVB)将中断事件分为将中断事件分为3组:组:A组、组、B组和组和C组,每一组都有各自不同的中断标志寄存器、中断屏蔽寄组,每一组都有各自不同的中断标志寄存器、中断屏蔽寄存器和对应的外设中断请求。当事件管理器模块中产生一个中断事件,存器和对应的外设中断请求。当事件管理器模块中产生一个中断事件,则相应的中断标志寄存器则相应的中断标志寄存器(EVAIFRx或或EVBIFRx,x=A,B,C)的对应标的对应标志位被置为志位被置为1:如果该中断未被屏蔽:如果该中断未被屏蔽(EVAIMRx或或EVBIMRx中的相应位中的相应位置置1),外设中断扩展控制器,外设中断扩展控制器(PIE)就产生一个外设中断请求。就产生一个外设中断请求。9.3.5 事件管理器事件管理器(EV)模块的中断模块的中断(1)EVA中断标志寄存器中断标志寄存器A(EVAIFRA)地址地址742FhD15D11,D6D4 Reserved保留位。保留位。D10 T10F1NTFLAG/T30FINTFLAG通用定时器通用定时器1/通用定时器通用定时器3上溢中断标志位。上溢中断标志位。D9 T1UFINTFLAG/T3UFINTFLAG通用定时器通用定时器1/通用定时器通用定时器3下溢中断标志位。下溢中断标志位。D8 T1CINTFLAG/T3CINTFLAG通用定时器通用定时器1/通用定时器通用定时器3比较中断标位。比较中断标位。D7 T1PINTFLAG/T3PINTFLAG通用定时器通用定时器1/通用定时器通用定时器3周期中断标志位。周期中断标志位。D3 CMP31NT/CMP61NT比较单元比较单元3/比较单元比较单元6中断标志位。中断标志位。D2 CMP21NT/CMP51NT比较单元比较单元2/比较单元比较单元5中断标志位中断标志位。D1 CMPIINT/CMP41NT比较单元比较单元1/比较单元比较单元4中断标志位。中断标志位。D0 PDPINTA/PDPINTB功率驱动保护中断标志位。功率驱动保护中断标志位。 1、中断标志寄存器、中断标志寄存器(2)EVA中断标志寄存器中断标志寄存器B(EVAIFRB)地址地址7430hD15D4 Reserved保留位。保留位。D3 T2OFINT FLAG/T4OFINT FLAG通通用用定定时时器器2/通通用用定定时时器器4上上溢溢中中断断标标志位。志位。D2T2UFINT FLAG/T4UFINT FLAC通通用用定定时时器器2/通通用用定定时时器器4下下溢溢中中断断标标志位。志位。D1T2CINT FLAG/T4CFINT FLAG通通用用定定时时器器2/通通用用定定时时器器4比比较较中中断断标标志志位。位。D0T2PINT FLAG/T4PFINT FLAG通用定时器通用定时器1/通用定时器通用定时器4周期中断标志周期中断标志位。位。 (3)EVA中断标志寄存器中断标志寄存器C(EVAIFRC)地址地址7431h D15D3 Reserved保留位。保留位。D2 CAP31NTFLAG/CAP61NTFLAG捕获单元捕获单元3/捕获单元捕获单元6中断标志位。中断标志位。D1 CAP21NTFLAG/CAP51NTFLAG捕获单元捕获单元2/捕获单元捕获单元5中断标志位。中断标志位。D0 CAP1lNTFLAG/CAP41NTFLAG捕获单元捕获单元1/捕获单元捕获单元4中断标志位。中断标志位。 2、中断屏蔽寄存器、中断屏蔽寄存器 中中断断屏屏蔽蔽寄寄存存器器用用来来对对某某一一中中断断事事件件进进行行中中断断管管理理。以以下下介介绍绍事事件件管管理理器器A和和B的的6个个中中断断屏屏蔽蔽寄寄存存器器各各位位所所对对应应的的中中断断使使能能位位。除除保保留留位位外外,各位的含义是:各位的含义是: 0 禁止对应的中断事件。禁止对应的中断事件。 1 使能对应的中断事件。使能对应的中断事件。n EVA中断屏蔽寄存器中断屏蔽寄存器A(EVAIMRA)地址地址742Ch nEVB中断屏蔽寄存器中断屏蔽寄存器A(EVBIMRA)地址地址752ChnEVA中断屏蔽寄存器中断屏蔽寄存器B(EVAIMRB)地址地址742Dh n EVB中断屏蔽寄存器中断屏蔽寄存器B(EVBIMRB)地址地址752Dh nEVA中断屏蔽寄存器中断屏蔽寄存器C (EVAIMRC)地址地址742Eh nEVB中断屏蔽寄存器中断屏蔽寄存器C (EVBIMRC)地址地址752Eh 9.4 模数转换器模数转换器(ADC)模块模块在自动控制系统中,被控制或被检测的对象,如温度、压力、流量、在自动控制系统中,被控制或被检测的对象,如温度、压力、流量、速度等都是连续变化的物理量,通过适当的传感器速度等都是连续变化的物理量,通过适当的传感器(如温度传感器、压力如温度传感器、压力传感器、光电传感器等传感器、光电传感器等)将它们转换为连续变化的电压或电流将它们转换为连续变化的电压或电流(即模拟量即模拟量)。模数转换器模数转换器ADC就是用来将这些模拟电压或电流转换成计算机能够识别就是用来将这些模拟电压或电流转换成计算机能够识别的数字量的模块。的数字量的模块。TMS320LF2407器件内部有一个器件内部有一个10位的模数转换器位的模数转换器ADC。该模块能。该模块能够对够对16个模拟输入信号进行采样个模拟输入信号进行采样/保持和保持和A/D转换,通道的转换顺序可以转换,通道的转换顺序可以编程选择。编程选择。ADC模模块块中中有有两两个个独独立立的的排排序序器器(SEQl和和SEQ2)可可以以工工作作在在双双排排序序器器模模式式(最最大大可可对对8个个模模拟拟输输入入通通道道进进行行排排序序,如如图图7.33所所示示)和和级级联联排排序序器器模模式式(最最大大可可对对16个个模模拟拟输输入入通通道道进进行行排排序序,称称排排序序器器为为SEQ,如如下下图图所所示。示。 图图中中的的ADCIN0ADCIN15为为16个个模模拟拟输输入入引引脚脚,经经排排序序器器排排序序,由由多多路路选选择择器器选选择择出出要要转转换换的的通通道道,送送入入A/D转转换换部部分分进进行行转转换换,转转换换结结果果保保存存在在结结果果寄寄存存器器(RESULTn)中中。双双排排序序时时,SEQl的的结结果果寄寄存存器器为为RESULT0RESULT7,SEQ2的的结结果果寄寄存存器器为为RESULT8RESULT15;级联排序时,级联排序时,SEQ的结果寄存器为的结果寄存器为RESULT0RESULT15。 启启动动A/D转转换换有有三三种种方方式式:软软件件启启动动(设设置置ADCTRL2寄寄存存器器中中的的SOCSEQn位位),EVA和和EVB中的匹配事件启动,外部引脚中的匹配事件启动,外部引脚ADCSOC启动。启动。 9.4.1 ADC模块的结构特征模块的结构特征9.4.2 ADC模块中的寄存器模块中的寄存器1、ADC控制寄存器控制寄存器1(ADCTRL1)地址地址70A0h D15Reserved保留位保留位.D14RESETADC模模块块软软件件复复位位位位。该该位位可可以以使使ADC模模块块主主动动复复位位。ADC中中所所有有的的寄寄存存器器和和排排序序器器指指针针均均复复位位为为器器件件复复位位引引脚脚被被拉拉低低时时的的状状态态(或者上电复位时的初始状态或者上电复位时的初始状态)。0 无影响。无影响。 1 1 复位整个复位整个ADC模块。模块。 D13D12OFT和和FREE位位仿真和自由运行位。决定仿真悬挂时仿真和自由运行位。决定仿真悬挂时ADC模块的工作情况。模块的工作情况。SOFT FREE0 0 当仿真挂起时,当仿真挂起时,ADC模块立即停止。模块立即停止。1 0 当仿真挂起时,当仿真挂起时,ADC模块完成当前转换后停止。模块完成当前转换后停止。x 1 自由运行,不受仿真挂起的影响。自由运行,不受仿真挂起的影响。D11D8 ACQ PS3ACQ PS0采采样样时时间间窗窗口口预预定定标标位位,这这4位位定定义义ADC采样部分的时钟预定标因子。采样部分的时钟预定标因子。D7 CPS位位转换时钟预定标位。该位决定转换时钟预定标位。该位决定ADC转换逻辑时钟的预定标。转换逻辑时钟的预定标。0 fCLK=CLK/1。1 fCLK=CLK/2。CLK=CPU时钟频率。时钟频率。D6CONT RUN连连续续转转换换位位。该该位位定定义义排排序序器器的的工工作作模模式式。用用户户也也可可以以在在当前转换序列正在执行时向该位写数,但在当前转换序列完成后才生效。当前转换序列正在执行时向该位写数,但在当前转换序列完成后才生效。0 启动启动/停止模式。停止模式。1 连续转换模式。连续转换模式。D5INT PRIADC中断请求优先级位。中断请求优先级位。0 高优先级。高优先级。1 低优先级。低优先级。D4SEQ ACSC级联排序器工作方式位。级联排序器工作方式位。 0双排序器模式。两个排序器双排序器模式。两个排序器SEQ1和和SEQ2单独工作单独工作,每个排序器最多可每个排序器最多可选选择择8个转换通道。个转换通道。1级联模式。两个排序器级联模式。两个排序器SEQ1和和SEQ2级联工作作为一个排序器级联工作作为一个排序器SEQ,最多可选择最多可选择16个转换通道。个转换通道。D3CAKENA偏差校准使能位。偏差校准使能位。0 禁止校准模式。禁止校准模式。1 使能校准模式。使能校准模式。D2BRGENA桥桥使使能能位位。该该位位和和HI/LO位位起起在在校校准准模模式式中中决决定定参考电压的转换方式。参考电压的转换方式。0 全参考电压被接到全参考电压被接到ADC输入端。输入端。1 ADC输入端接到参考电压的中点。输入端接到参考电压的中点。D1HI/LOVREFHI和和VREFLO选择位。选择位。0 在在ADC输入端用输入端用VREFLO作为基值。作为基值。1 在在ADC输入端用输入端用VREFLI作为基值。作为基值。D0STEST ENA自测模式使能位。自测模式使能位。0 禁止自测模式。禁止自测模式。1 使能自测模式。使能自测模式。 (2)ADC控制寄存器控制寄存器2 (ADCTRL2) 地址地址70A1h D15EVB SOC SEQEVB的的SOC信号使能位信号使能位(该位仅在级联排序器中该位仅在级联排序器中有效有效)。0 不起作用。不起作用。1 允许级联排序器允许级联排序器SEQ被被EVB的信号启动。的信号启动。D14RST SEQ1/STRT CAL复位排序器复位排序器1/启动校准转换方式位。启动校准转换方式位。当校准转换方式被禁止时:当校准转换方式被禁止时:0 不起作用。不起作用。1 立即复位排序器立即复位排序器1使排序器指针指向使排序器指针指向CONV00。当校准转换方式使能时:当校准转换方式使能时:0 不起作用。不起作用。1 启动校准转换方式。启动校准转换方式。D13SOC SEQ1启动启动SEQ1转换位。转换位。 0 清除一个挂起的清除一个挂起的SOC请求请求(AD转换开始时该位为转换开始时该位为0)。1 软件触发启动软件触发启动SEQ1。 D12SEQ1BSYSEQ1忙状态位。忙状态位。0 SEQ1处于空闲状态。处于空闲状态。1 SEQ1处于忙状态,一个转换序列正在进行。处于忙状态,一个转换序列正在进行。D11D10 INT ENA SEQ1SEQ1的中断模式使能控制位。的中断模式使能控制位。 00 中断禁止。中断禁止。01 中断模式中断模式1:当中断标志位:当中断标志位(INTFLAGSEQ)置置1时立即申请中断。时立即申请中断。 10 中中断断模模式式2:仅仅当当INTFLAGSEQ1标标志志已已经经置置1时时申申请请中中断断。如如果果为为0(若若有有两两个个序序列列申申请请中中断断,则则最最后后完完成成的的序序列列首首先先被被响响应应),则则INTFLAGSEQ1位位被被置置1且中断请求被屏蔽。且中断请求被屏蔽。 11 保留。保留。D9INT FLAG SEQ1ADC模块模块SEQ1的中断标志位。的中断标志位。0 无中断事件发生。无中断事件发生。1 发生过中断事件。发生过中断事件。D8EVA SOC SEQ1事件管理器事件管理器A对对SEQ1产生产生SOC信号的屏蔽位。信号的屏蔽位。0 SEQ1不能被不能被EVA的触发源启动。的触发源启动。1 允许允许SEQ1或或SEQ被被EVA的触发源启动。的触发源启动。D7EXTSOCSEQ1外部信号对外部信号对SEQ1的启动转换位。的启动转换位。0 不起作用。不起作用。1 允许一个来自允许一个来自ADCSOC引脚上信号启动引脚上信号启动ADC自动转换序列。自动转换序列。D6RSTSEQ2复位排序器复位排序器2。0 不起作用。不起作用。1 立即复位立即复位SEQ2使其回到触发前的状态:排序器指针指向使其回到触发前的状态:排序器指针指向CONV08,而正在而正在进行的序列转换将停止。进行的序列转换将停止。D5SOCSEQ2启动启动SEQ2转换位转换位(仅适用于双排序器模式仅适用于双排序器模式)。0 清除一个悬挂的清除一个悬挂的SOC请求。请求。1 软件触发启动软件触发启动SEQ2。D4SEQ2 BSYSEQ2忙状态位。忙状态位。0 SEQ2处于空闲状态。处于空闲状态。1 SEQ2处于忙状态,一个转换序列正在进行。处于忙状态,一个转换序列正在进行。D3D2INT ENA SEQ2对对SEQ2的中断方式使能控制位。的中断方式使能控制位。00 中断禁止。中断禁止。01 中断模式中断模式1:在中断标志位:在中断标志位(INTFLAGSEQ2)置置1时立即申请中断。时立即申请中断。D1INTFLAGSEQ2ADC模块模块SEQ2的中断标志位。的中断标志位。 0 没有中断事件发生。没有中断事件发生。 1 一个中断事件已经发生。一个中断事件已经发生。D0EVBSOCSEQ2 EVB对对SEQ2产生产生SOC信号屏蔽位信号屏蔽位 0 EVB的触发源不能启动的触发源不能启动SEQ2。 1 允许允许EVB的触发源启动的触发源启动SEQ2。(3 3)最大转换通道寄存器)最大转换通道寄存器 (MAX CONV)地址地址70A2h D15D7 Reserved保留位。保留位。D6D0 MAX CONVn MAXCONVn位位域域定定义义了了一一次次自自动动转转换换时时最最多多转转换的通道换的通道数。该位域的值与排序器的工作模式有关。数。该位域的值与排序器的工作模式有关。 (4 4)自动排序状态寄存器)自动排序状态寄存器(AUTO_SEQ_SR)地址地址70A7h D15D12Reserved保留位。保留位。D11D8SEQCNTR3SEQCNTR0排排序序器器计计数数状状态态位位。当当一一个个自自动动序序列列转转换换开开始始时时,设设定定的的最最大大转转换换通通道道数数装装入入这这4位位。当当序序列列转转换换时时,每每转转换换一一个个通通道道,SEQ CNTR3SEQ CNTR0的的值值就就减减1,当当序序列列中中的的通通道转换结束时,该计数状态值为道转换结束时,该计数状态值为0。D7 Reserved保留位。保留位。D6D4 SEQ2State2SEQ2State0SEQ2排序器指针的状态。排序器指针的状态。D3DO SEQ1State3SEQ1State0SEQ1排序器指针的状态。排序器指针的状态。 (5)ADC输入通道选择排序控制寄存器输入通道选择排序控制寄存器(CHSELSEQ1CHSELSEQ4)地址地址70A3h70A6h 每一个每一个4位的域,都可为自动转换选择位的域,都可为自动转换选择16个模拟输入通道中的任意一个模拟输入通道中的任意一个。即个。即CONVn的值为的值为00001111,则对应,则对应ADC输入通道为通道输入通道为通道015。 (6)ADC转换结果缓冲寄存器转换结果缓冲寄存器(RESULT0RESULT15)地址地址70A8h70B7h (7 7)校准寄存器)校准寄存器CALIBRATION70B8h 9. 5 串行通信接口串行通信接口(SCl)模块模块240xXA器件的串行通信接口器件的串行通信接口(SCl)模块是一个标准的通用异步模块是一个标准的通用异步接收接收/发送发送(UART)可编程串行通信接口。可编程串行通信接口。SCl支持支持CPU与其他异步串与其他异步串口采用标准不返回零口采用标准不返回零(NRZ)模式进行异步串行数字通信。模式进行异步串行数字通信。SCI有空闲线有空闲线和地址位两种多处理器通信方式;两个输入和地址位两种多处理器通信方式;两个输入/输出引脚:输出引脚:SCIRXD(SCI接收数据引脚接收数据引脚)和和SCITXD(SCI发送数据引脚发送数据引脚):SCI通过通过一个一个16位的波特率选择寄存器,可编程选择位的波特率选择寄存器,可编程选择64k种不同速率的波特率。种不同速率的波特率。SCl支持半双工和全双工操作,发送器和接收器的操作可以通过中断支持半双工和全双工操作,发送器和接收器的操作可以通过中断或转换状态标志来完成。或转换状态标志来完成。 9. 6 串行外设接口串行外设接口 (SPl)模块模块 串串行行外外设设接接口口(SPl)模模块块是是一一个个高高速速同同步步串串行行输输入入/输输出出(I/O) 口口,它它能能使使可可编编程程长长度度(116位位)的的串串行行位位流流以以可可编编程程的的位位传传输输速速率率输输入入或或输输出器件。出器件。 SPI可可作作为为一一种种串串行行总总线线标标准准,以以同同步步方方式式实实现现两两个个设设备备之之间间的的信信息息交交换换,即即两两个个设设备备在在同同一一时时钟钟下下工工作作。在在前前面面介介绍绍的的串串行行通通信信接接口口SCI是是以以异异步步方方式式实实现现两两个个设设备备间间的的信信息息交交换换,即即两两个个设设备备有有各各自自的的串串行行通通信信时时钟钟,在在相相同同的的波波特特率率和和数数据据格格式式下下实实现现通通信信。由由于于SPI是是同同步步方式工作,所以它的传输率远远高于方式工作,所以它的传输率远远高于SCI。 SPI通常用于通常用于DSP控制器与外部设备或其他控制器之间的通信,用控制器与外部设备或其他控制器之间的通信,用SPI可以构成多机通信系统,可以构成多机通信系统,SPI还可以作为移位寄存器、显示驱动器和还可以作为移位寄存器、显示驱动器和模数转换器模数转换器ADC等器件的外设扩展接口。等器件的外设扩展接口。 9. 7 CAN控制器模块控制器模块控控制制器器局局域域网网CAN(Controller Area Network)属属于于现现场场总总线线的的范范畴畴,它它是是一一种种有有效效支支持持分分布布式式控控制制或或实实时时控控制制的的串串行行通通信信网网络络。CAN的的应应用用范范围围遍遍及及从从高高速速网网络络到到低低成成本本的的多多线线路路网网络络。在在自自动动化化领领域域的的汽汽车车发发动动机机控控制制部部件件、传传感感器器、抗抗滑滑系系统统等等应应用用中中,CAN的的位位速速率率可可达达1Mb/s。CAN具具有有点点对对点点、点点对对多多点点及及全全局局广广播播发发送送和和接接收收数数据据;多多主主站站依依据据优优先先权权进进行行访访问问;无无破破坏坏性性的的优优先先权权仲仲裁裁;借借助助接接收收滤滤波波的的多多地地址址帧帧传传送送;远远程程数数据据请请求求;配配置置灵灵活活;全全系系统统数数据据兼兼容容:错错误误帧帧可可自自动动重重发发送送;结结构构简简单单(只只有有两两根根线线与与外外部部连连接接)等等特特点点,为为高高可可靠靠性性的的数数据据传传送送提提供供了了一一种种新新的的解解决方案。决方案。 240x系列的系列的CAN控制器模块是一个控制器模块是一个16位的外设模块,支持位的外设模块,支持CAN2.0B协议。协议。CAN模块有模块有6个邮箱个邮箱(MBOX0MBOX5);有用于有用于0,1,2和和3号邮箱的号邮箱的本地屏蔽寄存器和本地屏蔽寄存器和15个控制个控制/状态寄存器。状态寄存器。CAN模块具有可编程的位速率、模块具有可编程的位速率、中断方式和中断方式和CAN总线唤醒功能;自动回复远程请求;自动再发送功能总线唤醒功能;自动回复远程请求;自动再发送功能(在在发送时出错或仲裁时丢失数据的情况下发送时出错或仲裁时丢失数据的情况下):总线出错诊断和自测模式。:总线出错诊断和自测模式。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号