《dsp第八章片内外设2课件.ppt》由会员分享,可在线阅读,更多相关《dsp第八章片内外设2课件.ppt(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 事件管理器的结构通用定时器通用定时器1通用定时器通用定时器2全比较单元全比较单元捕获单元捕获单元正交编码正交编码脉冲电路脉冲电路8. 3 全比较单元全比较单元 每个事件管理模块有每个事件管理模块有3个全比较单元个全比较单元全全比较单元组成:比较单元组成: 3个个16位的比较寄存器位的比较寄存器(CMPRx)(带荫影寄存器)(带荫影寄存器) 一个比较控制寄存器一个比较控制寄存器(COMCONA/B) 一个一个16位的比较方式控制寄存器位的比较方式控制寄存器(ACTRA/B) (带荫影寄存器)(带荫影寄存器) 6个比较个比较PWM(三态三态)输出引脚:输出引脚: PWM1/7,PWM2/8,PW
2、M3/9,PWM4/10,PWM5/11,PWM6/12 控制和中断逻辑。控制和中断逻辑。3个全比较单元个全比较单元和相关的和相关的PWM电路的时基都由通用定时器电路的时基都由通用定时器1(EVA)和通用定时器和通用定时器3(EVB)提供提供. 用全比较单元产生三相脉宽调制电路用全比较单元产生三相脉宽调制电路PWM 主要用于产生三相逆变器的六主要用于产生三相逆变器的六个功率器件的个功率器件的PWM驱动信号驱动信号三相逆变器三相逆变器一相桥臂上的一对带死区的一相桥臂上的一对带死区的互补驱动信号互补驱动信号Q1Q2Q3Q4Q5Q6DTPHabaDTPHa_cDTPHbDTPHb_DTPHcDTPH
3、c_oVaVbVcUdGND全比较单元结构框图 全比较输入输出全比较输入输出 比较单元的输入比较单元的输入: 控制寄存器的控制信号;控制寄存器的控制信号; 通用定时器通用定时器1(T1CNT)及它们的下溢和周期匹配信号;及它们的下溢和周期匹配信号; 复位信号。复位信号。 比较单元的输出:比较单元的输出:比较匹配信号;比较匹配信号;如果比较操作使能,该匹配信号将置中断标志位;如果比较操作使能,该匹配信号将置中断标志位;比较单元相关的两个输出引脚上发生跳变。比较单元相关的两个输出引脚上发生跳变。 全比较操作模式全比较操作模式(EVA)通用定时器通用定时器1的计数器不断与比较寄存器的值进行的计数器不
4、断与比较寄存器的值进行比较比较;当发生匹配时,比较单元的两个当发生匹配时,比较单元的两个输出输出将根据方式控制寄存器将根据方式控制寄存器(ACTRA)中的位进行中的位进行跳变跳变(高有效触发或低有效触发);(高有效触发或低有效触发);当发生匹配且比较使能时,比较单元的当发生匹配且比较使能时,比较单元的比较中断寄存器将被置位比较中断寄存器将被置位;如果中断不屏蔽,则产生外设如果中断不屏蔽,则产生外设中断请求信号中断请求信号;。;。输出跳变的时序、中断标志位的设置和中断请求的产生都与通用定时输出跳变的时序、中断标志位的设置和中断请求的产生都与通用定时器的比较操作相同。器的比较操作相同。输出逻辑、死
5、区单元和空间矢量输出逻辑、死区单元和空间矢量PWM单元可改变比较单元在比较模单元可改变比较单元在比较模式下的输出。式下的输出。 全比较单元操作所需的寄存器配置全比较单元操作所需的寄存器配置 全比较单元的中断和复位全比较单元的中断和复位 每个比较单元都有一个可屏蔽的中断标志使能位。每个比较单元都有一个可屏蔽的中断标志使能位。 如果比较操作被使能,比较匹配后的如果比较操作被使能,比较匹配后的1个个CPU时钟周期时钟周期后比较单元的中断标志将置位。后比较单元的中断标志将置位。 如果中断没有被屏蔽,则将产生一个外设中断请求。如果中断没有被屏蔽,则将产生一个外设中断请求。 当任何复位事件发生时,所有与比
6、较单元相关的寄存器当任何复位事件发生时,所有与比较单元相关的寄存器都复位为都复位为0,且所有的比较输出引脚被置成高阻态。,且所有的比较输出引脚被置成高阻态。 全比较单元的寄存器 比较控制寄存器A (COMCONA) 7411H位15 CENABLE。比较使能位。0 禁止比较操作1 使能比较操作 全比较单元的寄存器 比较控制寄存器A (COMCONA) 7411H位14-13 CLD1/0。比较寄存器CMPRx重载条件。00 当T1CNT0时(即下溢)01 当T1CNT0或T1CNTT1PR时(即下溢或周期匹配)10 立即11 保留 全比较单元的寄存器 比较控制寄存器A (COMCONA) 74
7、11H位12 SVENABLE。空间矢量PWM模式使能位。0 禁止空间矢量PWM模式1 使能空间矢量PWM模式 全比较单元的寄存器 比较控制寄存器A (COMCONA) 7411H位11-10 ACTRLD1/0。方式控制寄存器重载条件。00 当T1CNT0时(即下溢)01 当T1CNT0或T1CNTT1PR时(即下溢或周期匹配)10 立即11 保留 全比较单元的寄存器 比较控制寄存器A (COMCONA) 7411H位9 FCOMPOE。比较输出使能位, PDPINTA有效时,此位清00 禁止PWM输出,引脚为高阻态 1 使能PWM输出 全比较单元的寄存器 比较控制寄存器A (COMCONA
8、) 7411H位8 PDPINTA STATUS。 这一位反映了当前PDPINTA引脚的状态。 全比较单元的寄存器 比较方式控制寄存器A (ACTRA) 7413H位15 SVRDIR:空间矢量PWM旋转方向位 仅用于空间矢量PWM输出的产生0 正向(CCW) 1 反向(CW) 全比较单元的寄存器 比较方式控制寄存器A (ACTRA) 7413H位14-12 D2,D1,D0。基本的空间矢量位。 c b a 仅用于空间矢量PWM输出的产生。 全比较单元的寄存器 比较方式控制寄存器A (ACTRA) 7413H位11-10 CMP6ACTl1/0。 引脚PWM6/IOPB3的比较输出方式选择位。
9、00 强制低 01 低有效10 高有效 11 强制高 全比较单元的寄存器 比较方式控制寄存器A (ACTRA) 7413H位9-8 CMP5ACTl1/0。 引脚PWM5/IOPB2的比较输出方式选择位。00 强制低 01 低有效10 高有效 11 强制高8. 4 用全比较单元产生三相脉宽调制电路用全比较单元产生三相脉宽调制电路PWM 主要用于产生三相逆变器的六主要用于产生三相逆变器的六个功率器件的个功率器件的PWM驱动信号驱动信号三相逆变器三相逆变器一相桥臂上的一对带死区的一相桥臂上的一对带死区的互补驱动信号互补驱动信号Q1Q2Q3Q4Q5Q6DTPHabaDTPHa_cDTPHbDTPHb
10、_DTPHcDTPHc_oVaVbVcUdGND8. 4 用全比较单元产生三相脉宽调制电路用全比较单元产生三相脉宽调制电路PWM 组成:组成:非对称对称波形发生器;非对称对称波形发生器;可编程的死区单元可编程的死区单元(DBU); 输出逻辑;输出逻辑; 空间矢量空间矢量PWM状态机。状态机。PWM电路结构框图 可编程的死区单元可编程的死区单元 EVA和和EVB模块都有各自的可编程的死区单元模块都有各自的可编程的死区单元 可编程死区单元具有以下特点:可编程死区单元具有以下特点: 一个可读写的一个可读写的16位死区控制寄存器位死区控制寄存器DBTCONA/B; 一个输入时钟预分频器:一个输入时钟预
11、分频器: X/ /1,X/ /2,X/ /4,X/ /8,x/ /16 内部内部CPU时钟输入;时钟输入; 3个个4位减计数定时器;位减计数定时器; 控制逻辑。控制逻辑。 死区控制寄存器DBTCONA/B 7415H位11-8 DBT3-DBT0。死区定时器周期 这些位规定了3个4位死区定时器的周期值m 死区控制寄存器DBTCONA/B 7415H位7 EDBT3。死区定时器3使能位 (对比较单元3的引脚PWM5和PWM6而言)。0 禁止1 使能 死区控制寄存器DBTCONA/B 7415H位6 EDBT2。死区定时器2使能位 (对比较单元2的引脚PWM3和PWM4而言)。0 禁止1 使能 死
12、区控制寄存器DBTCONA/B 7415H位5 EDBT1。死区定时器1使能位 (对比较单元1的引脚PWM1和PWM2而言)。0 禁止1 使能 死区控制寄存器DBTCONA/B 7415H位4-2 DBTPS2-DBTPS0。 XCPU时钟频率 死区定时器的预分频器 p 000 X1 001 X2010 X4 011 X8 100 X16 101 X32 110 X64 111 X128 死区单元的输入和输出死区单元的输入和输出 死区单元的死区单元的输入输入:PH1、PH2、PH3, 分别是由全比较单元分别是由全比较单元1、2和和3的非对称对称波形发生器的非对称对称波形发生器产生的。产生的。
13、死区单元的死区单元的输出输出:DTPH1、DTPH1_DTPH2、DTPH2_DTPH3、DTPH3_ 死区的产生死区的产生 对应于每个死区输入信号对应于每个死区输入信号PHx,产生两个输出信号,产生两个输出信号DTPHx和和DTPHx_ 。 当比较单元和相关输出的死区未被使能时,这两个输出当比较单元和相关输出的死区未被使能时,这两个输出信号完全相同。信号完全相同。 当比较单元的死区单元使能时,这两个信号的跳变沿被当比较单元的死区单元使能时,这两个信号的跳变沿被一段称作死区的时间间隔分开。一段称作死区的时间间隔分开。 该时间间隔由该时间间隔由DBTCONx寄存据中的相应位决定,寄存据中的相应位
14、决定,死区时间间隔死区时间间隔= mp / x xCPU时钟频率时钟频率mp 输出逻辑输出逻辑输出逻辑电路决定了比较发生匹配时,输出引脚输出逻辑电路决定了比较发生匹配时,输出引脚PWMx (x1-12)上的输出极性和方式。上的输出极性和方式。每个比较单元相关的输出方式可分为每个比较单元相关的输出方式可分为 低有效低有效 高有效高有效强制低强制低强制高强制高比较单元的比较单元的PWM输出极性和方式通过输出极性和方式通过ACTRx寄存器中相应的位寄存器中相应的位来配置。来配置。当发生以下任何一种情况时,所有的当发生以下任何一种情况时,所有的PWM输出引脚都置成高阻输出引脚都置成高阻态态: 软件清软
15、件清COMCONx.9位位; 由硬件将由硬件将PDPINTx引脚上的电平拉低引脚上的电平拉低; 发生任何复位事件;发生任何复位事件; PWM信号产生的设置步骤信号产生的设置步骤应用全比较单元和相关电路产生的三相应用全比较单元和相关电路产生的三相PWM波形输出的事件管理器波形输出的事件管理器相关寄存器设置步骤如下;相关寄存器设置步骤如下; 设置和装载设置和装载ACTRx寄存器寄存器设定输出的极性和方式设定输出的极性和方式 设置和装载设置和装载DBTCONx寄存器寄存器 使能死区,设定死区宽度;使能死区,设定死区宽度; 设置和装载设置和装载T1PR或或T3PR寄存器寄存器设定设定PWM波形(载波)
16、的周期;波形(载波)的周期; 初始化初始化CMPRx寄存器,寄存器, 设置和装载设置和装载COMCONx寄存器寄存器使能比较、比较输出等;使能比较、比较输出等; 设置和装载设置和装载T1CON或或T3CON寄存器寄存器设定计数模式等,设定计数模式等,不对称波形:连续增计数模式不对称波形:连续增计数模式对称波形:对称波形: 连续增连续增/减计数模式减计数模式 更新更新CMPRx寄存器的值,改变输出寄存器的值,改变输出PWM波形的占空比。波形的占空比。比较单元和比较单元和PWM电路产生非对称电路产生非对称PWM波形波形 比较单元和比较单元和PWM电路产生对称电路产生对称PWM波形波形 SPWM信号
17、的产生事件管理器的空间矢量事件管理器的空间矢量PWM波形产生波形产生 空间矢量空间矢量PWM是指构成三相功率转换器的是指构成三相功率转换器的6个功率晶个功率晶体管之间的一种特殊开关机制体管之间的一种特殊开关机制; 可以使三相交流电动机绕组中产生的电流谐波失真最可以使三相交流电动机绕组中产生的电流谐波失真最小。因此广泛应用于交流电动机控制系统中。小。因此广泛应用于交流电动机控制系统中。 与传统的采用正弦波调制来产生与传统的采用正弦波调制来产生PWM信号的方法相信号的方法相比,它可以更有效地利用电源电压。比,它可以更有效地利用电源电压。 三相功率转换电路三相功率转换电路 按按180度的工作方式,六
18、个晶体管的闭合及断开状态共度的工作方式,六个晶体管的闭合及断开状态共有有8种可能组合。形成了种可能组合。形成了8种对应的电动机的线电压、相种对应的电动机的线电压、相电压电压(以直流电源电压以直流电源电压Ud为单位为单位)。Q1Q4Q3Q6Q5Q2DTPHaBADTPHa_CDTPHbDTPHb_DTPHcDTPHc_oVaVbVcUdGND状态abc10002100311040105011600171018111三相功率转换电路通断状态与输出电压三相功率转换电路通断状态与输出电压 ABCUdoU240(100)BACUdoU300(101)cbaUaoUboUcoUabUbcUcaU00012
19、/3-1/3-1/310-1U600111/31/3-2/301-1U120010-1/32/3-1/3-110U180110-2/31/31/3-101U240100-1/3-1/32/30-11U3001011/3-2/31/31-10U000000000000U111111000000开关电路举例基本空间电压矢量基本空间电压矢量coboaocoboaodqabcqdUUUUUUTUU232302121132dqU0(001)U60(011)U120(010)U180(110)U240(100)U300(101)OcbaUaoUboUcoUdUqU00012/3-1/3-1/32/3 0U
20、600111/31/3-2/31/61/2U120010-1/32/3-1/3-1/61/2U180110-2/31/31/3-2/3 0U240100-1/3-1/32/3-1/6-1/2U3001011/3-2/31/31/6-1/2O00000000000O11111100000加在电动机上的三相电压转换到加在电动机上的三相电压转换到dq坐标系,形成坐标系,形成8个基本空间电压矢量。其中个基本空间电压矢量。其中2个零电压矢量。个零电压矢量。利用基本空间电压矢量形成输出空间电压矢量利用基本空间电压矢量形成输出空间电压矢量060UUUUxxOUTP0P2P1TTTTTT210602132)3
21、(32TTTTsinTUUTsinTUUTPPxOUTPxOUT其中:如图所示的区间 Ux U0(001) , Ux+60U60(011) U0 O000或O111dqU0(001)U60(011)U120(010)U180(110)U240(100)U300(101)UoutT1Ux/TpT2Ux+60/TpCCWCW 空间矢量空间矢量PWM的硬件操作的硬件操作在每个周期的开始,将在每个周期的开始,将PWM输出置成由输出置成由ACTRx.14-12设置的新方式设置的新方式Ux;在增计数期间,当在增计数期间,当CMPR1和通用定时器和通用定时器1发生第一次匹配时发生第一次匹配时(T1/2),如
22、果如果ACTRx.15为为0(CCW),则将,则将PWM输出开启到方式输出开启到方式Ux+60;如果如果ACTRx.15为为1(CW),则将,则将PWM输出开启到方式输出开启到方式Ux-60;在增计数期间当在增计数期间当CMPR2和通用定时器和通用定时器1发生第一次匹配时发生第一次匹配时(T1/2+T2/2),如,如果果ACTRx.15为为1,则将,则将PWM输出开启到方式输出开启到方式(000)或或(111)。以它们与第二。以它们与第二类输出方式之间只有类输出方式之间只有1位的差别;位的差别;在减计数期间,当在减计数期间,当CMPR2和通用定时器和通用定时器1发生第二次匹配时,将发生第二次匹
23、配时,将PWM输出输出置回到第二类输出方式;置回到第二类输出方式;在减计数期间,当在减计数期间,当CMPR1和通用定时器和通用定时器1发生第二次匹配时,将发生第二次匹配时,将PWM输出输出置回到第一类输出方式。置回到第一类输出方式。 空间矢量空间矢量PWM的硬件操作的硬件操作SVRDIR=0, (D2 D1 D0)=(001)T1/2T2/2T0/2dqU0(001)U60(011)U120(010)U180(110)U240(100)U300(101)UoutT1Ux/TpT2Ux+60/TpCCWCW 空间矢量空间矢量PWM的硬件操作的硬件操作SVRDIR=1, (D2 D1 D0)=(1
24、01) 在产生空间矢量在产生空间矢量PWM输出中只用到了比较寄存器输出中只用到了比较寄存器CMPR1和和CMPR2,且且 CMPR1CMPR2T1PR, dqU0(001)U60(011)U120(010)U180(110)U240(100)U300(101)UoutT1Ux/TpT2Ux+60/TpCCWCWEV模块内部设计了空间矢量模块内部设计了空间矢量PWM波形产生的内置硬件电路。波形产生的内置硬件电路。产生空间矢量产生空间矢量PWM波形的设置步骤:波形的设置步骤:设置设置ACTRx寄存器寄存器, 定义比较输出引脚的输出方式定义比较输出引脚的输出方式( ACTRx 0-11);设置设置C
25、OMCONx寄存器来使能比较操作寄存器来使能比较操作(COMCON x15)和和空间空间矢量矢量PWM模式模式(COMCON x12) ,并把,并把CMPRx的重载条件设置的重载条件设置为下溢(为下溢(COMCON x13-14) ;将通用定时器将通用定时器1或或3设置成设置成连续增减计数模式连续增减计数模式,并启动定时器。,并启动定时器。确定在二维确定在二维d-q坐标系下输入到电机的电压坐标系下输入到电机的电压Uout ,(大小、相位、转向),大小、相位、转向),确定每个确定每个PWM周期的以下参数:周期的以下参数:两个相邻矢量,两个相邻矢量,Ux和和Ux+60根据根据Uout ,的大小、相
26、位计算参数的大小、相位计算参数T1、T2和和To;产生空间矢量产生空间矢量PWM波形(硬件法)的设置步骤波形(硬件法)的设置步骤将相应于将相应于Ux的开启方式写入到的开启方式写入到ACTRx14-12位位中,并将中,并将0写入写入ACTRx15中中(CCW),或者将,或者将Ux+60的开启方式写入的开启方式写入ACTRx 14-12 ,并将并将1写入写入ACTRx 15中中(CW);将将 T1/2的值写入到的值写入到CMPR1寄存器,将寄存器,将(T1+T2)/2的值写入到的值写入到CMPR2寄存器。寄存器。确定下一个确定下一个Uout ,的位置,重复的位置,重复4 5步骤。步骤。产生空间矢量
27、产生空间矢量PWM波形的设置步骤(硬件法)波形的设置步骤(硬件法)c b a 利用利用 TMS320C2407TMS320C2407事件管理器事件管理器EVAEVA的全比较单元和的全比较单元和PWMPWM电路产电路产生三相对称生三相对称PWMPWM波形信号,其波形信号,其CPUCLKCPUCLK频率为频率为24MHz24MHz,要求载波,要求载波频率为频率为10kHz10kHz,死区宽度为,死区宽度为2s2s,开关管驱动为高有效。请,开关管驱动为高有效。请写出设置以下事件管理器相关寄存器的初始化程序:写出设置以下事件管理器相关寄存器的初始化程序: 比较方式控制寄存器比较方式控制寄存器ACTRA
28、 ACTRA 比较控制寄存器比较控制寄存器COMCONA COMCONA 死区控制寄存器死区控制寄存器DBTCONA DBTCONA 通用定时器控制寄存器通用定时器控制寄存器T1CON T1CON 通用定时器周期寄存器通用定时器周期寄存器T1PR T1PR 例:例:1. 输入信号预定标系数:输入信号预定标系数: x/8;载波周期值载波周期值 TxPR= PWM 周期周期 / (2定标输入时钟周期定标输入时钟周期 ) =24 / 81000000 / (101000) /2= 150 3. 死区宽度死区宽度 = mp / x = 68 / 24 = 2s初始化例程初始化例程LDP #0E8H ;
29、指向;指向7400h一一7480h单元单元 SPLK #0000011001100110B,ACTRA ;设置比较方式控制寄存器,;设置比较方式控制寄存器, SPLK #1000001000000000B, COMCONA ;设置比较控制寄存器,;设置比较控制寄存器, SPLK #0000011011101100B, DBTCONA ;设置死区控制寄存器;设置死区控制寄存器 SPLK #150,T1PR ;设置定时器;设置定时器1周期寄存器周期寄存器SPLK #0B40H,T1CON ; 设置定时器设置定时器1控制寄存器控制寄存器;TMODE01连续增减计数模式,连续增减计数模式,; TPS=
30、011预分频为预分频为8, ; TENABLE1 定时器计数使能,定时器计数使能,; TCLKS00内部时钟内部时钟, ; TCLD = 00 当计数值为当计数值为0时重载比较值;时重载比较值; ; TECMPR=0 定时器定时器1比较禁止,比较禁止,; SELTlPR0 8. 5 捕获单元捕获单元捕获单元用于捕获输入引脚上的电平跳变并记录其跳变发生的时间:捕获单元用于捕获输入引脚上的电平跳变并记录其跳变发生的时间: 捕获单元的结构框图捕获单元的结构框图 捕获单元的特性(每个捕获单元的特性(每个EV)1个个16位的捕获控制寄存器位的捕获控制寄存器CPACONx(可读可读/写写)1个个16位的捕
31、获位的捕获FIPO状态寄存器状态寄存器CAPFIFOx可选择通用定时器可选择通用定时器12(对对EVA);3个个16位位2级深的级深的FIFO堆栈堆栈(CAPxFIFO),每个捕获单元一个;,每个捕获单元一个;3个施密特触发器输入引脚个施密特触发器输入引脚对对EVA,CAP123对对EVB,CAP456,每个捕获单元一个输入引脚;每个捕获单元一个输入引脚;用户定义的跳变检测方式用户定义的跳变检测方式(上升沿,下降沿,或者上升下降沿上升沿,下降沿,或者上升下降沿);3个可屏蔽的中断标志位,每个捕获单元一个。个可屏蔽的中断标志位,每个捕获单元一个。 捕获单元操作捕获单元操作 在捕获单元使能后,输入
32、引脚上的指定跳变将所选通用在捕获单元使能后,输入引脚上的指定跳变将所选通用定时器的计数值装入到相应的定时器的计数值装入到相应的FIFO堆栈。堆栈。 相应的中断标志位被置位,相应的中断标志位被置位, 如果该中断标志没有被屏蔽,则外设中断将产生一个中如果该中断标志没有被屏蔽,则外设中断将产生一个中断请求信号。断请求信号。 每当将捕获到的新计数值存人到每当将捕获到的新计数值存人到FIFO堆栈时,捕获堆栈时,捕获FIFO状态寄存器状态寄存器(CAPFIFOx)的相应位就进行调整以反的相应位就进行调整以反映映FIFO堆栈新的状态。堆栈新的状态。捕获单元时基的选择捕获单元时基的选择 对于对于EVA模块,捕
33、获单元模块,捕获单元CAP3有自己独立的时基选择位,而有自己独立的时基选择位,而CAP1和和CAP2要共用一个时基。要共用一个时基。 捕获单元的操作并不影响任何通用定时器或与通用定时器相关的比较捕获单元的操作并不影响任何通用定时器或与通用定时器相关的比较PWM操作。操作。捕获单元的设置捕获单元的设置为使捕获单元能正常工作,需对以下寄存器进行设置:为使捕获单元能正常工作,需对以下寄存器进行设置: 初始化捕获初始化捕获FIF0状态寄存器状态寄存器(CAPFIFOx),并将相应的状态位清,并将相应的状态位清0 设置所选通用定时器的一种操作模式。设置所选通用定时器的一种操作模式。 如有必要,则应设置相
34、关通用定时器的比较寄存器和周期寄存器。如有必要,则应设置相关通用定时器的比较寄存器和周期寄存器。 设置相应的捕获控制寄存器设置相应的捕获控制寄存器(CAPCONx)。 捕获单元的寄存器捕获单元的寄存器 捕获控制寄存器A(CAPCONA)地址7420h位位15 CAPRES 捕获复位,读该位总为捕获复位,读该位总为0。0 将所有捕获单元和正交编码脉冲电路的寄存器清将所有捕获单元和正交编码脉冲电路的寄存器清01 无操作无操作 捕获单元的寄存器捕获单元的寄存器 捕获控制寄存器A(CAPCONA)地址7420h位位14-13 CAPQEPN 捕获单元捕获单元1和和2的控制位。的控制位。00 禁止捕获单
35、元禁止捕获单元1和和2,它们的门,它们的门FIFO堆栈保持原内容堆栈保持原内容使能正交编码电路使能正交编码电路01 使能捕获单元使能捕获单元1和和210 保留保留11 保留保留 捕获单元的寄存器捕获单元的寄存器 捕获控制寄存器A(CAPCONA)地址7420h位位12 CAP3EN。捕获单元。捕获单元3控制拉。控制拉。0 禁止捕获单元禁止捕获单元3,其,其FIFO堆栈保持原内容堆栈保持原内容1 使能捕获单元使能捕获单元3 捕获单元的寄存器捕获单元的寄存器 捕获控制寄存器A(CAPCONA)地址7420h位位10 CAP3TSEL。捕获单元。捕获单元3的通用定时器选择位。的通用定时器选择位。0
36、选择通用定时器选择通用定时器21 选择通用定时器选择通用定时器1 捕获单元的寄存器捕获单元的寄存器 捕获控制寄存器A(CAPCONA)地址7420h位位9 CAP12TSEL。捕获单元。捕获单元1、2的通用定时器选择位。的通用定时器选择位。0 选择通用定时器选择通用定时器21 选择通用定时器选择通用定时器1 捕获单元的寄存器捕获单元的寄存器 捕获控制寄存器A(CAPCONA)地址7420h位位8 CAP3TOADC。捕获单元。捕获单元3事件启动模数转换位。事件启动模数转换位。0 无操作无操作1 当当CAP31NT标志置位时,启动模数转换标志置位时,启动模数转换 捕获单元的寄存器捕获单元的寄存器
37、 捕获控制寄存器A(CAPCONA)地址7420h位位7-2 CAPxEDGE 捕获单元捕获单元x的边沿检测控制位。(的边沿检测控制位。(x = 1,2,3)00 无检测无检测 01 检测上升沿检测上升沿 检测下降沿检测下降沿 10 检测两个边沿检测两个边沿捕获FIFO状态寄存器A(CAPFIFOA)地址7422hCAPxFIFO 捕获单元捕获单元x的的FIFO堆栈状态位堆栈状态位(x = 1,2,3)00 空空01 已有一个值压入堆栈已有一个值压入堆栈10 已有两个值压入堆栈已有两个值压入堆栈11 堆栈中已有两个值且又压入一个值,则最先压入的值出栈堆栈中已有两个值且又压入一个值,则最先压入的
38、值出栈 捕获单元FIF0堆栈每个捕获单元都具有一个专用的2级FIFO堆栈(顶层栈 CAPxFIFO 和底层栈 CAPxFBOT ) 00底层栈顶层栈FIFO堆栈状态位000第一次捕获值底层栈顶层栈FIFO堆栈状态位01第二次捕获值第一次捕获值底层栈顶层栈FIFO堆栈状态位10第三次捕获值第二次捕获值底层栈顶层栈FIFO堆栈状态位118.6 正交编码脉冲正交编码脉冲(QEP)电路电路 每个每个EV模块都有一个正交编码脉冲电路。模块都有一个正交编码脉冲电路。 电路被使能后,可以在编码和计数引脚上输入正交编码电路被使能后,可以在编码和计数引脚上输入正交编码脉冲。脉冲。 正交编码脉冲电路可用于连接光电
39、编码器以获得旋转机正交编码脉冲电路可用于连接光电编码器以获得旋转机械的位置和速率等信息。械的位置和速率等信息。 如果使能了正交编码脉冲电路,则相应引脚上的捕获功如果使能了正交编码脉冲电路,则相应引脚上的捕获功能将被禁止。能将被禁止。 正交编码脉冲电路的结构框图 正交编码脉冲电路的引脚正交编码脉冲电路的引脚 CAP1/QEP1和和CAP2/QEP2 (EVA模块)模块)CAP3/QEP3和和CAP4/QAP4 (EVB模块)模块)两个两个QEP输入引脚与捕获单元共享,因此需正确设置输入引脚与捕获单元共享,因此需正确设置CAPCONx寄存器中的寄存器中的D14,D13位来使能正交编码脉冲电位来使能
40、正交编码脉冲电路,并禁止捕获功能。路,并禁止捕获功能。 正交编码脉冲电路的时基正交编码脉冲电路的时基由通用定时器由通用定时器2(EVA)2(EVA)提供,通用定时器必须设置成提供,通用定时器必须设置成定向增定向增减计数模式减计数模式,并以正交编码脉冲电路作为时钟源。,并以正交编码脉冲电路作为时钟源。 正交编码脉冲电路的编码操作正交编码脉冲电路的编码操作 正交编码脉冲是两个频率变化且正交正交编码脉冲是两个频率变化且正交(相位相差相位相差90)的脉冲,的脉冲,由电机轴上的光电编码器产生。由电机轴上的光电编码器产生。 电机的旋转方向可通过检测两个脉冲序列中的哪一列先到电机的旋转方向可通过检测两个脉冲
41、序列中的哪一列先到达来确定,达来确定, 角位置和转速可由脉冲数和脉冲频率来决定。角位置和转速可由脉冲数和脉冲频率来决定。正交编码脉冲电路的编码操作正交编码脉冲电路的编码操作 正交编码脉冲电路检测两个序列脉冲信号,产生:正交编码脉冲电路检测两个序列脉冲信号,产生: 计数时钟信号:计数时钟信号:其频率是每个输入序列信号的其频率是每个输入序列信号的4倍。倍。 计数方向信号:计数方向信号: 如果如果CAP1/QEP1输入是先导序列,输入是先导序列,DIR = 1, 通用定时器进行增计数;通用定时器进行增计数; 如果如果CAP2/QEP2输入是先导序列,输入是先导序列,DIR = 0, 通用定时器进行减
42、计数通用定时器进行减计数。正交编码脉冲电路寄存器的设置正交编码脉冲电路寄存器的设置启动正交编码脉冲电路前应设置(启动正交编码脉冲电路前应设置( EVA模块)模块) 如果希望产生匹配中断,将所需的值装载到通用定时如果希望产生匹配中断,将所需的值装载到通用定时器器2的计数器、周期和比较寄存器中,的计数器、周期和比较寄存器中, 设置设置T2CON寄存器,将通用定时器寄存器,将通用定时器2设置成定向增设置成定向增减计数模式,以正交编码脉冲电路作为时钟源并使能减计数模式,以正交编码脉冲电路作为时钟源并使能通用定时器通用定时器2; 设置设置CAPCONA寄存器以使能正交编码脉冲电路。寄存器以使能正交编码脉
43、冲电路。 第九章、其他片内外设第九章、其他片内外设9.1 看门狗(看门狗(WD)模块模块 组成:组成:WD计数器(计数器(WDCNTR)(7023H)WD复位关键字寄存器复位关键字寄存器(WDKEY)(7025H)WD定时器控制寄存器定时器控制寄存器(WDCR)(7029H)8位计数器位计数器WD时钟时钟 WDCLK =CLKOUT/512 当当CLKOUT=40MHz时,时, WDCLK=78125Hz 计数时钟计数时钟 = WDCLK/预定标因子预定标因子第九章、其他片内外设第九章、其他片内外设9.1 看门狗(看门狗(WD)模块模块 组成:组成:WD计数器(计数器(WDCNTR)(7023
44、H)WD复位关键字寄存器复位关键字寄存器(WDKEY)(7025H)WD定时器控制寄存器定时器控制寄存器(WDCR)(7029H)8位寄存器位寄存器 当按顺序将当按顺序将55H ,AAH(复(复位关键字)写入位关键字)写入 WDKEY时时,将清除将清除WDCNTR(喂狗)。(喂狗)。 写入其他任何值的组合都写入其他任何值的组合都不能将清除不能将清除WDCNTR第九章、其他片内外设第九章、其他片内外设9.1 看门狗(看门狗(WD)模块模块 组成:组成:WD计数器(计数器(WDCNTR)WD复位关键字寄存器复位关键字寄存器(WDKEY)WD定时器控制寄存器定时器控制寄存器(WDCR)WDFLAGW
45、DDISWDCHK2 WDCHK1 WDCHK0WDPS2WDPS1WDPS0D0D1D2D3D4D5D6D7WDFLAGWDDISWDCHK2 WDCHK1 WDCHK0WDPS2WDPS1WDPS0D0D1D2D3D4D5D6D7WD定时器控制寄存器定时器控制寄存器(WDCR)WDFLAG 看门狗标志位(只读)看门狗标志位(只读) 0 WD 没有要求复位没有要求复位 1 WD 要求一个复位要求一个复位WDFLAGWDDISWDCHK2 WDCHK1 WDCHK0WDPS2WDPS1WDPS0D0D1D2D3D4D5D6D7WD定时器控制寄存器定时器控制寄存器(WDCR)WDDIS 禁止看门
46、狗位禁止看门狗位 写入:写入: 0 使能使能 WD 1 禁止禁止 WD WDFLAGWDDISWDCHK2 WDCHK1 WDCHK0WDPS2WDPS1WDPS0D0D1D2D3D4D5D6D7WD定时器控制寄存器定时器控制寄存器(WDCR)WDCHK2-0 看门狗检查位看门狗检查位 必须写入:必须写入: 101 , 系统才继续正常工作,否则系统复位。系统才继续正常工作,否则系统复位。 读这三位总是读这三位总是000 WDFLAGWDDISWDCHK2 WDCHK1 WDCHK0WDPS2WDPS1WDPS0D0D1D2D3D4D5D6D7WD定时器控制寄存器定时器控制寄存器(WDCR)WD
47、PS2-0 看门狗预定标因子选择位看门狗预定标因子选择位 确定确定WD计数器计数时钟计数器计数时钟 = WDCLK/预定标因子预定标因子WDPS2 WDPS1 WDPS0 预定标因子预定标因子 0 0 * 1 0 1 0 2 0 1 1 4 1 0 0 8 1 0 1 16 1 1 0 32 1 1 1 64 看门狗(看门狗(WD)定时器的操作)定时器的操作 看门狗(看门狗(WD)模块通过提供系统复位来解除系统软件错)模块通过提供系统复位来解除系统软件错误和误和CPU故障。故障。 WD产生系统复位的途径:产生系统复位的途径:1. WDCNTR溢出或向溢出或向WDKEY写入一个不正确的值。写入一
48、个不正确的值。(正确值:先写入(正确值:先写入55H,紧接着写入,紧接着写入AAH)2. 使用使用WD检查位:检查位:WDCR中的检查位(中的检查位(WDCHK2-0)不)不等于等于1012 ,(WDCR的错误写操作,或的错误写操作,或WDCR的值受干扰的值受干扰遭破坏),遭破坏),产生复位。产生复位。 系统上电时,看门狗模块就被使能。为了避免过早发生复系统上电时,看门狗模块就被使能。为了避免过早发生复位,应在程序刚开始时就对位,应在程序刚开始时就对WD进行配置。进行配置。在寄存器的头文件在寄存器的头文件f2407regs.h中为看门狗操作定义了一个中为看门狗操作定义了一个宏指令宏指令KICK
49、_DOG:KICK_DOG.macro;程序监视器复位宏定义程序监视器复位宏定义 LDP #00E0h;DP7000h707FhSPLK #055h, WDKEY;WDCNTR由下一步由下一步;复位被使能复位被使能SPLK #0AAh, WDKEY;WDCNTR 被复位被复位 .endm调用:调用: KICK_DOG9.2 数字输入数字输入/输出(输出(I/O)模块模块DSP器件的器件的I/O引脚均为功能复用引脚:引脚均为功能复用引脚:I/ O功能和特殊功能功能和特殊功能功能的选择:功能的选择:I/O复用控制寄存器复用控制寄存器(MCRx x=A,B,C)I/O的选择:的选择:数据和方向控制寄
50、存器数据和方向控制寄存器 (PxDATDIR x=A,B,C,D,E,F)I/O复用控制寄存器复用控制寄存器(MCRx x=A,B,C)MCRx.15MCRx.14MCRx.13MCRx.12MCRx.11MCRx.10MCRx.9MCRx.8D8D9D10D11D12D13D14D15MCRx.7MCRx.6MCRx.5MCRx.4MCRx.3MCRx.2MCRx.1MCRx.0D0D1D2D3D4D5D6D7MCRx.y = 0 I/O 功能功能 y=0-15MCRx.y = 1 特殊功能特殊功能 I/O 端口:端口: IOPA0-7, IOPB0-7 (MCRA) IOPC0-7 IOP