《DSP器件及应用》课件第3章_第1页
《DSP器件及应用》课件第3章_第2页
《DSP器件及应用》课件第3章_第3页
《DSP器件及应用》课件第3章_第4页
《DSP器件及应用》课件第3章_第5页
已阅读5页,还剩214页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章事件管理模块(EVM)3.1部分术语介绍3.2事件管理器的功能框图3.3事件管理器寄存器地址汇总3.4通用定时器3.5比较单元3.6与比较单元相关的PWM电路3.7比较单元和PWM电路中的PWM波形产生3.8PWM波形产生举例3.9捕获单元3.10正交编码脉冲(QEP)电路3.11小结

3.1部分术语介绍

在开篇前首先对文中提到的一些特殊术语进行一个简单的介绍,希望能有助于对本章内容的理解。

1.影子寄存器

影子寄存器是寄存器的备份,它复制寄存器的内容,目的是在发生异常时,用影子寄存器的内容来恢复正在工作的寄存器的内容。异常的检测和恢复工作是DSP自动完成的,操作者无须更多的参与。

2.CAPTURE捕捉模块

CAPTURE捕捉模块的功能是对外部引脚输入的脉冲进行捕捉检测(上升沿、下降沿或两个边沿),从而可以测量输入脉冲的周期、频率、占空比或非周期信号脉冲宽度。其应用范围较广,如编解码等。

3.脉冲宽度调制(PWM)

PWM(PulseWidthModulation)控制:脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需的波形(含形状和幅值)。PWM控制技术在逆变和电机控制电路中应用极广。

PWM控制的基本原理:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。面积等效原理:分别将如图3.1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图3.2(a)所示。其输出电流i(t)对不同窄脉冲时的响应波形如图3.2(b)所示。从波形可以看出,在i(t)的上升段,i(t)的形状略有不同,但其下降段则几乎完全相同。脉冲越窄,各 i(t)响应波形的差异也越小。如果周期性地施加上述脉冲,则响应i(t)也是周期性的。用傅里叶级数分解后可看出,各i(t)在低频段的特性将非常接近,仅在高频段有所不同。图3.1形状不同而冲量相同的各种窄脉冲图3.2冲量相同的各种窄脉冲的响应波形用一系列等幅不等宽的脉冲来代替一个正弦半波,将正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等。用矩形脉冲代替这些幅值不等的脉冲序列,其特点是等幅、不等宽、中点重合、面积(冲量)相等、宽度按正弦规律变化,如图3.3所示。

SPWM波形:脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。

SVPWM波形:空间矢量脉冲宽度调制波形,它是交流感应电机的一种控制方式,控制三相电压型逆变器的功率器件开关触发顺序和脉宽。图3.3用PWM波代替正弦半波要改变等效输出正弦波幅值,只需按同一比例改变各脉冲宽度即可。

PWM电流波:电流型逆变电路进行PWM控制,得到的就是PWM电流波。

PWM波形可等效的各种波形:直流斩波电路、等效直流波形。

4.正交编码脉冲(QEP)

正交编码脉冲是指两个频率变化且正交(相位相差90°)的脉冲,由电机轴上的光电编码器产生。其功能是通过检测两个脉冲序列中的哪一列先到,可以判断出电机的旋转方向,通过检测脉冲数和脉冲频率,可以检测电机旋转的角位置和转速。

QEP并不是一个单独的电路模块,而是以上定时器、比较器、PWM等模块功能的集合。通过捕捉模块对两个脉冲进行检测,把CAPCONA的CAPQEPN设为1,就可以把捕捉模块设成QEP模式,其实就是指捕捉模块的时钟源来自两个引脚CAP1/2(对EVA),而不是通用定时器GPTimer。

3.2事件管理器的功能框图

除TMS320'C2402A外,每个TMS320'C240x器件都包含两个事件管理模块,即EVA和EVB。这两个事件管理器的功能、寄存器映射/位定义都是相同的。为简化起见,这里仅对EVA做重点讲解。表3.1列出了两个模块的特征、功能以及信号的名称。每个事件管理器都包含下面的功能模块:两个通用定时器(GPTimer)、三个比较单元(CompareUnits)、含矢量空间PWM的脉冲宽度调制电路(SVPWM)、三个捕捉单元(CaptureUnits)、正交编码脉冲(QEP)电路以及中断逻辑等。图3.4给出了事件管理器模块EVA的结构框图。从图3.4中可以看出EVA的模块使用CAP1/QEP1、CAP2/QEP2和CAP3这3个引脚作为捕获或正交编码脉冲的输入脚。

事件管理器模块中的通用定时器可以编程为在外部或内部处理器时钟的基础上运行。引脚TCLKINA提供了外部时钟输入,引脚TDIRA用于当通用定时器处于定向增/减计数方式时规定计数方向。

事件管理器的模块中所有输入都由内部处理器时钟协调同步,一次跳变须保持到两个处理器时钟上升沿后才被事件管理器模块识别。若处理器时钟被选做CLKOUT输出的信号源,则跳变须保持至两个CLKOUT输出下降沿后。因此建议任何跳变脉冲宽度必须保持至少两个CPU时钟周期。表3.1列出了两个模块的特征、功能以及信号的名称。图3.4管理器模块EVA的结构框图

3.3事件管理器寄存器地址汇总

相对于其它微处理器芯片,如单片机,TMS320'LF240x的事件管理器有着强大的事件处理能力,同时这也给初学者的学习带来了不小的困难。下面将EVM中涉及到的寄存器汇总,并以表格的形式分类给出,以便于在学习及程序设计过程中查找、使用,具体参见表3.2~表3.9。

3.4通 用 定 时 器

3.4.1通用定时器概述

通用定时器的原理方框图如图3.5所示,每个事件管理模块有两个通用可编程定时器。定时器x(对EVA,x = 1,2;对EVB,x = 3,4;下同)包括:

(1)一个16位的定时器增/减计数的计数器寄存器TxCNT,可读写。该寄存器存储当前的计数值,并且根据计数的方向进行增/减计数操作。

(2)一个16位的定时器比较寄存器(双缓冲,带影子寄存器)TxCMPR,可读写。

(3)一个16位的定时器周期寄存器(双缓冲,带影子寄存器)TxPR,可读写。图3.5通用定时器方框图

(4)一个16位的独立定时器控制寄存器TxCON,可读写。

(5)用于内部或外部时钟输入的可编程的预定标器(Prescaler)。

(6)控制和中断逻辑,用于4个可屏蔽中断——下溢、上溢、定时器比较和周期中断。

(7)一个通用定时器比较输出引脚TxCMP。

(8)可选择增减计数方向的输入引脚TDIRx(当用双向计数方式时用来选择向上或向下计数)。3.4.2通用定时器功能模块

各个通用定时器之间可以彼此独立工作或相互同步工作。与每个通用定时器有关的比较寄存器可用做比较功能或PWM波形产生。每个通用定时器在增/减计数方式中有3种连续的工作方式。每个定时器的内部或外部的输入时钟都可进行可编程的预定标。定时器还向事件管理器的子模块提供时基。定时器1对所有的比较和PWM电路提供时基,定时器2或1对捕获单元和正交脉冲计数操作提供时基。周期寄存器和比较寄存器的双缓冲寄存器允许根据需要编程改变PWM周期和PWM脉冲宽度。

1.通用定时器输入

通用定时器的输入包括内部CPU时钟、外部时钟TCLKINA/B(最高频率是CPU时钟频率的1/4)、方向输入TDIRA/B(控制通用定时器增/减计数方式)、复位信号RESET。

另外,当一个通用定时器与正交编码脉冲电路(QEP)一起使用时,正交编码器脉冲电路同时产生定时器的时钟和计数方向。

2.通用定时器输出

通用定时器输出包括通用定时器比较输出TxCMP(x = 1,2,3,4),至ADC模块的模/数转换启动信号,比较逻辑和比较单元的下溢、上溢、比较匹配、周期匹配信号和计数方向显示位。

3.独立的通用定时器控制寄存器(TxCON)

通用定时器的操作模式由它的控制寄存器TxCON决定,寄存器TxCON中的各个位定义如图3.6所示。图3.6定时器控制寄存器(TxCON,x = 1,2,3,4)位定义

TxCON功能如下:

(1)决定通用定时器处于4种计数模式中的哪一种(见TMODE1/RMODE0);

(2)选择通用定时器使用外部时钟还是内部时钟;

(3)确定输入时钟使用8种预定标因子(范围为1~1/128)中的哪一种;

(4)指出何种条件下重装载定时器的比较寄存器;

(5)表征通用定时器是否使能;

(6)表征通用定时器的比较操作是否使能;

(7)声明EVA通用定时器2使用它自身的还是通用定时器1的周期寄存器;

(8)声明EVB通用定时器4使用它自身的还是通用定时器3的周期寄存器。

4个定时器控制寄存器TxCON占用的存储器地址分别为T1CON@7404h、T2CON@7408h、T3CON@7504h和T4CON@7508h。各控制位的功能定义如下:

● D15~14

FREE,SOFT ——仿真控制位。

0

0 一旦仿真挂起(suspend),立即停止

0

1 一旦仿真挂起,在当前定时器周期结束后停止

1

0 操作不受仿真挂起的影响

1

1 操作不受仿真挂起的影响● D13

Reserved——保留位,读为0,写无影响。

● D12~11

TMODE1/RMODE0——计数模式选择。

0

0 停止/保持

0

1 连续增/减计数模式

1

0 连续增计数模式

1

1 定向增/减计数模式● D10~8

TPS2~TPS0——输入时钟预定标系数(对CPU时钟的分频)。

0

0 0 1/1 0 0 1 1/2

0

1 0 1/4 0 1 1 1/8

1

0 0 1/16 1 0 1 1/32

1

1 0 1/64 1 1 1 1/128

● D7

T2SWT1/T4SWT3——定时器2、4定时器使能位。

0 定时器2、4使用自身的定时器使能

1 使用T1CON、T3CON中的定时器使能位来使能或禁止相应操

作,从而忽略了自身的定时器使能● D6

TENABLE——定时器使能位。

0 禁止定时器操作,即定时器被置于保持状态且预定标器被复位

1 使能定时器操作

● D5~4

TCLKS1/TCLKS0——时钟源选择。

0

0 内部CPU时钟

0

1 外部时钟

1

0 保留

1

1 正交编码脉冲电路,只适用于定时器2和定时器4,

在定时器1、3中保留,这种操作只在SELT1PR=0时有效● D3~2

TCLD1/TCLD0——定时器比较寄存器的重装载条件。

0

0 当计数值是0时重装载

0

1 当计数值是0或等于周期寄存器时重装载

1

0 立即重装载

1

1 保留

● D1

TECMPR——定时器比较使能位。

0 禁止定时器比较操作

1 使能定时器比较操作● D0

SELT1PR——周期寄存器选择。对于EVA,当在T2CON中设置成1时,则定时器1的周期寄存器也作为定时器2的周期寄存器使用,从而忽略了定时器2的周期寄存器。SELT3PR类似于SELT1PR。

0 使用自身的周期寄存器

1 使用T1PR(在EVA模块)或T3PR(在EVB模块)

作为周期寄存器,而忽略自身的周期寄存器。

4.全局通用定时器控制寄存器(GPTCONA/B)

全局通用定时器控制寄存器GPTCONA/B规定了通用定时器针对不同定时器事件所采取的操作,并指明了它们的计数方向。

全局通用定时器控制寄存器A(GPTCONA)占用存储器地址7400h,其各个位的定义如图3.7所示。图3.7全局通用定时器控制寄存器A的位定义

GPTCONA/B各位的功能如下:

● D15

Reserved——保留位。

● D14

T2STAT——通用定时器2的状态位,只读。

0 减计数

1 增计数

● D13

T1STAT——通用定时器1的状态位,只读。

0 减计数

1 增计数● D12~11

Reserved——保留位。

● D10~9

T2TOADC——通用定时器2启动模/数转换事件。

00 无事件启动模/数转换

01 设置由下溢中断标志来启动模/数转换

10 设置由周期中断标志来启动模/数转换

11 设置由比较中断标志来启动模/数转换● D8~7

T1TOADC——通用定时器1模/数转换事件。

00 无事件启动模/数转换

01 设置由下溢中断标志来启动模/数转换

10 设置由周期中断标志来启动模/数转换

11 设置由比较中断标志来启动模/数转换

● D6

TCOMPOE——比较输出允许,如果PDPINTx有效,则

该位设置为0。

0 禁止所有通用定时器比较输出(所有比较输出

都设置成高阻态)

1 使能所有通用定时器比较输出● D5~4

Reserved——保留位。

● D3~2

T2PIN——通用定时器2比较输出极性。

00 强制低

01 低有效

10 高有效

11 强制高

● D1~0

T1PIN——通用定时器1比较输出极性。

00 强制低

01 低有效

10 高有效

11 强制高

全局通用定时器控制寄存器B(GTPCONB)的内容与GDPCONA一样,只是把定时器1、2改为定时器3、4,其占用的存储器地址为7500h。

5.通用定时器的比较寄存器

每个通用定时器有一个相关的比较寄存器TxCMPR和一个PWM输出引脚TxPWM。通用定时器计数值不断地与相关的比较寄存器进行比较。当计数值与比较寄存器值相等时,称为比较匹配。比较操作是通过设置TxCON[1]位为1来使能的。当使能允许,比较匹配后将发生下列事件:

(1)匹配后定时器比较中断标志位置1,时间为一个时钟周期;

(2)根据GPTCONA/B位设置的不同,相关的比较输出发生跳变,或启动ADC;

(3)相应的中断标志将被复位;

(4)如中断未屏蔽,将产生外设中断请求。

通过设置TxCON寄存器的相关位,可以使能或禁止比较操作。比较操作和输出适用于任何一种定时模式,当然也包括QEP模式。

通用定时器比较寄存器的地址为T1CMPR@7402h、T2CMPR@7406h、T3CMPR@7502h、T4CMPR@7506h。

6.通用定时器的周期寄存器

通用定时器周期寄存器的值决定了定时器的周期,当周期寄存器的值和定时器计数器的值之间产生匹配时,通用定时器的操作就停止并保持其当前值,并根据计数器的计数方式复位为零或开始递减计数。

通用定时器周期寄存器的地址为T1PR@7403h、T2PR@7407h、T3PR@7503h、T4PR@7507h。

7.通用定时器的比较和周期寄存器的两级缓存

通用定时器的比较寄存器TxCMPR和周期寄存器TxPR是带有影子寄存器的。在一个周期中的任一时刻,一个新的值可以写到这两个寄存器的任一个中去。注意,新值是被写到相应的影子寄存器中的。对比较寄存器而言,仅当由TxCON寄存器所规定的某一个特定定时事件发生时,影子寄存器的内容才加载到工作的比较寄存器中。对周期寄存器而言,仅当计数寄存器TxCNT为零时,工作的周期寄存器才重新加载它的影子寄存器的值。比较寄存器加载的情况可能是下列情况的一种:

(1)在写信息到影子寄存器后立即加载;

(2)下溢时,即通用定时器计数值为0时;

(3)下溢或周期匹配时,即当计数器的值为0或计数器的值与周期寄存器的值相等时。

周期寄存器和比较寄存器的双缓存特点允许应用代码在一个周期中的任何时候都可以更新周期寄存器和比较寄存器,这将改变下一个周期的定时器周期和PWM的脉冲宽度,对于PWM发生器来说,定时器周期值的高速变化就意味着载波频率的高速变化。初始化周期寄存器时,通用定时器的周期寄存器应该在计数器被初始化为一个非0值之前进行初始化,否则,周期寄存器的值保持不变,直到下一次下溢发生。另外,当相应的比较操作被禁止时,比较寄存器是透明的,即新装入值直接进入工作的比较寄存器。这适用于事件管理器的所有比较寄存器。

8.通用定时器的比较输出

通用定时器的比较输出可规定为高有效、低有效、强制高或强制低,这取决于GPTCONA/B中的位是如何配置的。

9.通用定时器计数方向

在所有定时器操作中,通用定时器的计数方向由寄存器GPTCONA/B相应的位来反映,即位TxSTAT为1时, 代表增计数方向,为0时,代表减计数方向。

当通用定时器处于定向增/减计数模式时,输入引脚TDIRA/B决定了计数的方向。当该引脚置为高电平时,规定为增计数;当该引脚置为低电平时,规定为减计数。

10.通用定时器时钟

通用定时器的时钟源可采用内部CPU时钟或外部TCLKINA/B时钟输入,外部时钟的频率必须低于或等于CPU时钟频率的1/4。在定向增/减计数模式下,通用定时器2(EVA模块)和通用定时器4(EVB模块)可用于正交编码脉冲(QEP)电路,这时,正交编码脉冲电路既为定时器提供时钟,又提供输入方向。每个通用定时器可为时钟输入选择灵活的预定因子。

11.基于正交编码脉冲的时钟输入

正交编码脉冲(QEP)电路可用来为定向增/减计数模式下的通用定时器2和4提供输入时钟和计数方向。这个输入时钟的频率不能由通用定时器的预定标电路改变其比例(即如果正交编码脉冲电路被选做时钟源时,选中的通用定时器的预定标因子值总是 1)。而且,正交编码脉冲电路产生的时钟频率是每个正交编码脉冲输入通道频率的 4倍,因为正交编码脉冲输入通道的上升沿和下降沿都被所选的定时器进行计数。正交编码脉冲输入的频率必须低于或等于内部CPU时钟频率的1/4。

12.通用定时器的同步

通过正确地配置T2CON和T4CON寄存器,通用定时器2可与通用定时器1实现同步(EVA模块),通用定时器4可与通用定时器3实现同步(EVB模块)。实现的步骤如下:

对于EVA模块:

(1)置T1CON寄存器中的TENABLE位为1,且置T2CON寄存器中的T2SWT1位为1。此时,将同时启动两个定时器的计数器。

(2)在启动同步操作前,将通用定时器1和2的定时器初始化成不同的值。

(3)置T2CIN寄存器中的SELT1PR位为1,使通用定时器2将通用定时器1的周期寄存器作为它自己的周期寄存器(忽略它自身的周期寄存器)使用。

对于EVB模块:

(1)置T3CON寄存器中的TENABLE位为1,且置T4CON寄存器中的T4SWT3位为1。此时,将同时启动两个定时器的计数器。

(2)在启动同步操作前,将通用定时器3和4的定时器初始化成不同的值。

(3)置T4CIN寄存器中的SELT3PR位为1,使通用定时器4将通用定时器3的周期寄存器作为它自己的周期寄存器(忽略它自身的周期寄存器)使用。

这就允许了通用定时器事件之间的有效同步。因为每一个通用定时器从它的计数寄存器中的当前值开始计数操作,所以一个通用定时器被编程为其它通用定时器启动之后,延时一段已知的时间再启动。

13.通用定时器事件启动模/数转换

GPTCONA/B寄存器的位可以规定模/数转换器的启动信号由通用定时器的哪些事件来产生,如下溢、比较匹配或周期匹配。这种特点允许在没有CPU干涉的情况下,在通用定时器事件和模/数转换的启动之间提供同步。

14.仿真悬挂时的通用定时器

通用定时器的控制寄存器(TxCON)还定义了仿真悬挂期间的通用定时器操作。当仿真中断发生时,这些位被设置为允许通用定时器操作继续进行,也就使得在线仿真成为可能。当仿真中断出现时,这些位也可以被设置为规定的通用定时器立即停止操作,或是在当前计数周期完成后停止操作。

当内部CPU时钟被仿真器停止时,例如,当仿真遇到一个断点时,仿真悬挂(suspend)就发生了。

15.通用定时器的中断

通用定时器在EVAIFRA、EVAIFRB、EVBIFRA和EVBIFRB中有16个中断标志。每个通用定时器可根据以下事件产生4个中断:

(1)上溢——TxOFINT(x = 1、2、3或4);

(2)下溢——TxUFINT(x = 1、2、3或4);

(3)比较匹配——TxCINT(x = 1、2、3或4);

(4)周期匹配——TxPINT(x = 1、2、3或4)。当通用定时计数器的值与比较寄存器的值相同时,就产生定时器比较事件(匹配)。若比较操作被使能,则相应的比较中断标志在匹配之后两个CPU时钟周期被置位。定时计数器的值达到ffffh时,就产生了上溢事件。通用定时器的值达到0000h时,就产生了下溢事件。类似地,当定时计数器的值与周期寄存器的值相同时,就产生一个周期匹配事件。在每个事件发生后,定时器的上溢、下溢和周期中断标志位将被置位。3.4.3通用定时器的计数操作

每个通用定时器有4种可选择的操作模式,即停止/保持模式、连续增计数模式、定向增/减计数模式和连续增/减计数模式。

相应的定时器控制寄存器TxCON中的位的形式决定了通用定时器的计数模式。定时器使能位(TxCON[6],即TENABLE)使能或禁止定时器的计数操作。当定时器被禁止时,定时器的计数操作停止,并且定时器的预定标器被复位成X/1。当定时器使能时,定时器按照寄存器TxCON中的其它位(TxCON[12~11])确定它的计数模式,并开始计数。

1.停止/保持模式

在停止/保持模式下,通用定时器的操作停止并保持当前状态,定时器的计数器(值)、比较输出和预定标计数器都保持不变。

2.连续增计数模式

在连续增计数模式下,通用定时器将按照定标后的输入时钟计数,直到它的计数器的值和周期寄存器的值相等为止。在匹配之后的下一个输入时钟的上升沿,通用定时器复位为0,并开始另一个计数周期。

在定时计数器与周期寄存器匹配之后的两个CPU时钟周期后,周期中断标志被置位。如果外设中断没被屏蔽的话,将产生外设中断请求。如果该周期中断已通过GPTCONA/B寄存器中的相应位设置去启动模/数转换器,那么在中断标志被设置的同时,模/数转换启动信号就被送到模/数转换模块。在定时计数器的值达到ffffh后,定时器的上溢中断标志位在两个CPU时钟周期后被置位。如果外设中断没有被屏蔽的话,将产生外设中断请求。

除了第一个周期外,定时器周期的时间为TxPR+1个定标的时钟输入周期。如果定时器计数开始计数时为0,那么第一个周期的时间也和以后的周期时间相同。

通用定时器的初始值可以是0000h~ffffh中的任意值。当该初始值大于周期寄存器的值时,定时器将计数至ffffh,复位为0后将继续以上操作,好像初始值是0一样。当该初始值等于周期寄存器的值时,定时器将置位周期中断标志,计数器复位为0,设置下溢中断标志并继续以上操作,好像初始值是0一样。如果定时器的值在0和周期寄存器的值之间,定时器将计数到周期寄存器的值并且继续完成该计数周期,就好像计数器的初始值与周期寄存器的值相同一样。在该模式下,GPTCONA/B寄存器中的定时器计数方向指示为1。无论是内部CPU时钟,还是外部时钟输入,都可选做定时器的输入时钟。在这种计数模式下,TDIRA/B引脚输入将被通用定时器忽略。通用定时器的连续增长计数模式特别适合于边沿触发或异步PEM波形的产生,也适用于许多电机和运动控制系统的采样周期的产生。

通用定时器连续增计数模式(TxPR = 3或2)如图3.8所示,计数器从达到周期寄存器的值到开始另一个计数周期的过程中,没有丢失一个时钟周期。图3.8通用定时器连续增计数模式

【例3.1】

下面给出一个定时器1在连续增计数模式下的初始化例程。

3.定向增/减计数模式

通用定时器在定向增/减模式中将根据定标后的时钟和TDIRA/B引脚的输入来增或减计数。当引脚TDIRA/B保持为高时,通用定时器将增计数,直到计数值达到周期寄存器的值为止。当定时器的值等于周期寄存器的值或ffffh,并且引脚TDIRA/B保持为高时,定时器的计数器复位到0,并继续增计数到周期寄存器的值。当引脚TDIRA/B保持为低时,通用定时器将减计数,直到计数值为0。当定时器的值为0,并且引脚TDIRA/B保持为低时,定时器的计数器重新载入周期寄存器的值,开始新的减计数。定时器的初始值可以为0000h~ffffh中的任何值,当定时器的初始值大于周期寄存器的值时,定时器的计数器增计数到ffffh,才自复位到0,并继续计数直到达到周期寄存器的值为止;当引脚TDIRA/B保持为低,且定时器的初始值大于周期寄存器的值时,计数器将减计数到周期寄存器的值后,再减计数直到0。计数器的值为0后,便重新装入周期寄存器的值,开始新的减计数。

周期、下溢和上溢中断标志位,中断和相关事件都由各自的匹配产生,其产生方式与连续增计数模式下的一样。从TDIRA/B变化到计数方向改变的时延为当前计数结束后的一个时钟周期。

定时器在这种模式下的计数方向由GPTCONA/B寄存器中的方向指示位给出:1表示增计数;0表示减计数。无论从引脚TCLKINA/B输入的外部时钟还是内部CPU时钟,都可作为该模式下的定时器输入时钟。

通用定时器定向增/减计数模式如图3.9所示,图中预定标因子为1,TxPR = 3。图3.9通用定时器定向增/减计数模式

【例3.2】

以下是通用定时器1在定向增/减模式下的初始化过程举例。在事件管理器模块中通用定时器2/4的定向增/减计数模式可以用于正交编码脉冲电路(QEP)。正交编码脉冲电路可以为通用定时器2/4提供计数时钟和方向。这种工作模式可用于控制运动/电机控制和电力电子设备中的外部事件定时。

4.连续增/减计数模式

连续增/减计数模式与定向增/减计数模式基本相同,只是在连续增/减计数模式下,引脚TDIRA/B的状态不再影响计数的方向。定时器的计数方向仅在计数器的值达到周期寄存器的值时,才从增计数变为减计数。定时器的计数方向仅在计数器的值为0时才从减计数变为增计数。

除了第一个周期外,定时器周期都是2×(TxPR)个定标输入时钟周期。如果定时器的计数器初始值为0,那么第一个计数周期的时间就与其它的周期一样。通用定时器的计数器初始值可以是0000h~ffffh中的任何值,当计数器初始值不同时,其第一个周期的计数方向和周期也不同。当计数器初始值大于周期寄存器的值时,定时器将增计数到ffffh,然后复位为0,开始正常的连续增/减计数,就好像其初始值为0一样。当计数器初始值与周期寄存器的值相同时,定时器将减计数至0,然后开始正常的连续增/减计数,就好像其初始值为0一样。当计数器初始值在0与周期寄存器的值之间时,定时器将增计数至周期寄存器的值并继续完成该周期,就好像计数器初始值与周期寄存器的值相同一样。周期、下溢和上溢中断标志位、中断和相关的事件都由各自的匹配产生,其产生方式与连续增计数模式下的一样。

连续增/减计数模式如图3.10所示,这种计数模式尤其适用于产生对称的PWM波形,该波形广泛应用于电机/运动控制和电力电子设备中。图3.10通用定时器连续增/减计数模式

【例3.3】

以下是通用定时器1在连续增/减模式下的初始化过程举例。

5.通用定时器的比较操作

每个通用定时器都有一个相关的比较寄存器TxCMPR和一个PWM输出引脚TxPWM。通用定时器的值总是与相关的比较寄存器的值进行比较,当通用定时器的值与比较寄存器的值相等时,就产生比较匹配。置TxCON.1位为1可使能比较操作。如果比较使能,当产生比较匹配时将发生下列事件:

(1)定时器的比较中断寄存器标志位在匹配后置位1个CPU时钟周期;

(2)在匹配后的1个CPU时钟周期后,根据GPTCONA/B寄存器相应位的配置情况,相关的PWM输出将发生跳变;

(3)如果已通过设置GPTCONA/B寄存器中的相应位去启动模/数转换器(ADC),则在比较中断标志位被置位的同时,也将产生模/数转换的启动信号。

如果比较中断未被屏蔽,则将产生一个外设中断请求。

1) PWM输出跳变

PWM输出跳变由非对称和对称的波形发生器及相关的输出逻辑控制,并且取决于以下条件:

(1) GPTCINA/B寄存器相应位的定义;

(2)定时器所处的计数模式;

(3)在连续增/减计数模式下的计数方向。

2)非对称和对称波形发生器

非对称和对称波形发生器在通用定时器所处的计数模式基础上产生一个非对称和对称的PWM波形输出。

3)非对称波形发生器

当通用定时器处于连续增计数模式时产生非对称波形,如图3.11所示。在这种模式下,波形发生器的输出有以下变化:

(1)计数操作开始前为0;

(2)保持不变,直到比较匹配发生;

(3)比较匹配时产生触发;

(4)如果在下一周期新比较值不是0,则在发生周期匹配的周期结束后复位为0。见图3.11上第一个周期匹配发生后PWM的输出变化。图3.11连续增计数模式下的通用定时器比较/PWM输出如果一个周期开始时的比较值为0,则在整个周期输出值为1;如果下一个周期的新比较值也是0,则输出值不复位为0(见图3.11中的第三个“+”号)。这点非常重要,因为它允许产生占空比从0%到100%的PWM脉冲。如果设置的比较值大于周期寄存器中的值,则在整个周期输出为0(见图3.11中的第三个“+”号)。如果比较值等于周期寄存器中的值,则输出1,持续时间为保持一个(定标后)时钟输入周期。比较寄存器值的改变只影响PWM脉冲的单边,这是非对称PWM波形的一个特点。

4)对称波形发生器

当通用定时器处于连续增/减计数模式时产生对称波形,如图3.12所示。

在这种模式下,波形发生器的输出状态由以下情况决定:

(1)计数操作开始前为0;

(2)保持不变,直到第一次比较匹配;

(3)第一次比较匹配时,产生触发;

(4)保持不变,直到第二次比较匹配;

(5)第二次比较匹配时,产生触发;

(6)保持不变,直到周期结束;

(7)如果没有第二次匹配且下一周期的新比较值不为0,则在周期结束后复位为0。图3.12连续增/减计数模式下的通用定时器比较/PWM输出在周期开始时如果比较值为0,则周期开始时输出为1,并且保持为1,直到第二次比较匹配。在第一次发生变化后,如果比较值在周期的后半部分为0,则输出保持为1,直到周期结束。在这种情况下,如果新比较值仍为0,则输出将不会复位为0。这会重复出现,以确保占空比从0%到100%的PWM脉冲产生。如果前半周期中的比较值大于或等于周期寄存器的值,则第一次跳变将不会发生。不过,当后半周期发生比较匹配时,输出仍将跳变。这种输出错误的跳变常是由应用程序计算不正确引起的,它将在周期结束时被纠正,除非下一周期的比较值为0,否则输出将保持为1,这将把波形发生器的输出重新置为正确的状态。

注意:输出逻辑决定了所有输出引脚的有效状态。

5)输出逻辑

输出逻辑可以调整波形发生器的输出, 以生成不同类型功率设备所需要的PWM波形。 PWM输出可以通过配置GPTCINA/B寄存器中的相应位来规定高有效、低有效、强制高或强制低。

当PWM输出规定高有效时,它的极性与相关非对称和对称波形发生器的输出极性相同。当PWM输出规定低有效时,它的极性与相关非对称和对称波形发生器的输出极性相反。

一旦GPTCONA/B寄存器中的相应位规定PWM输出为强制高/低后,PWM输出立即被置成1/0。总的来说,在一个正常的计数模式下,如果比较已被使能,则通用定时器的PWM输出将发生变化,如表3.10(连续增计数模式)和表3.11(连续增/减计数模式)所示。表3.10连续增计数模式下通用定时器比较输出表3.11连续增/减计数模式下通用定时器比输出置位有效是指当高有效时,输出高电平;当低有效时,则输出低电平。置位无效则与之相反。

基于定时器计数模式和输出逻辑的非对称和对称波形发生器,同样适用于比较单元。

出现下列任何一种情况时,所有的通用定时器PWM输出都置为高阻态:

(1)软件将GPTCONA/B[6]位置成0;

(2) PDPINx引脚上的电平被拉低并且未被屏蔽;

(3)任何一个复位事件发生;

(4)软件将TxCON[1]位置为0。

6)有效/无效时间计算

对于连续增计数模式,比较寄存器中的值从计数周期开始到发生第一次比较匹配之间经过的时间,也就是无效相位长度,这段时间等于定标的输入定标时钟周期乘以TxCMPR寄存器的值。因此,有效相位长度,即输出脉冲宽度等于(TxPR-TxCMPR+1)个定标的输入时钟周期。对于连续增/减计数模式,比较寄存器在减计数和增计数模式下可以有不同的值。对于连续增/减计数模式下的有效相位长度,即输出脉冲宽度,是由(TxPR-TxCMPRup+TxPR-TxCMPRdn)个定标的输入时钟周期给定的,这里的TxCMPRup是增计数模式下的比较值,TxCMPRdn是减计数模式下的比较值。

如果定时器处于连续增计数模式,当TxCMPR中的值为0时,则通用定时器的比较输出将在整个周期中有效。对于连续增/减计数模式,如果TxCMPRup中的值为0,那么比较输出在周期开始时有效。如果TxCMPRdn也为0,输出将保持有效,直到周期结束。对于连续增/减计数模式,当TxCMPR中的值大于TxPR的值时,有效相位长度,即输出脉冲宽度为0。对于连续增/减计数模式,当TxCMPRup中的值大于或等于TxPR的值时,第一次跳变将不会发生。同样当TxCMPRdn中的值大于或等于TxPR的值时,第二次跳变将不会发生。当TxCMPRup和TxCMPRdn都大于或等于TxPR时,通用定时器的比较输出在整个周期中无效。3.4.4通用定时器的PWM输出

每个通用定时器可以独立地用于提供一PWM输出通道,因此,通用定时器最多可提供4个PWM输出。

可选用连续增或连续增/减计数模式来产生PWM输出。选用连续增计数模式时,可产生边沿触发或非对称PWM波形;选用连续增/减计数模式时,可产生对称PWM波形。可按以下方法来设置通用定时器的PWM输出操作:

(1)根据所需的PWM(载波)周期设置TxPR;

(2)设置TxCON寄存器,以确定计数模式和时钟源,并启动PWM输出操作;

(3)将相应于PWM脉冲的在线计算宽度(占空比)的值加载到TxCMPR寄存器中。

当选用连续增计数模式来产生非对称的PWM波形时,通过将需要的PWM周期除以通用定时器输入时钟的周期,并减1,来获得定时器的周期。当选用连续增/减计数模式来产生对称的PWM波形时,通过将需要的PWM周期除以两倍通用定时器输入时钟的周期,来获得定时器的周期。3.4.5通用定时器复位

当任何复位事件发生时,将产生以下情况:

(1) GPTCONA/B寄存器中除计数方向指示位外的所有与通用定时器相关的位都被复位为0,因此所有通用定时器的操作都被禁止,计数方向指示位都置为1;

(2)所有的定时器中断标志位都被复位为0;

(3)所有的定时器中断屏蔽位都被复位为0,因此所有通用定时器中断都被屏蔽;

(4)所有的通用定时器的比较输出都被置成高阻态。3.4.6通用定时器的中断实现

下面介绍一个用通用定时器1产生1 ms的定时中断服务的程序。假定外部输入时钟为6 MHz,经DSP内部锁相环4倍频为24 MHz,通用定时器1的预分频因子为64,所以计算出延时1 ms时, 周期寄存器的值为0176h(定时器的定时周期数等于周期寄存器的值加1)。具体计算如下:得PRD = 176h以下是关于程序的几点说明:

(1)程序中所有与DSP硬件有关的寄存器都用指针方式寻址。由

(2)因为该程序利用定时器1的周期中断实现所要求的功能,而定时器1的周期中断是中断优先级1(INT2)的中断源之一,故文件vectors.asm中INT2的中断向量直接跳向定时器1的周期中断服务程序。

(3)因为中断优先级2(INT2)的中断源不只一个(除了定时器1的周期中断外,还有比较中断等),为了防止程序执行时由于干扰进入中断服务程序而引起中断的错误执行,在定时器1的周期中断服务程序入口处根据定时器1的周期中断标志T1PINTFLAG(寄存器EVAIFRA的第8位)判断是否真的发生了定时器1的周期中断,若为错误中断,则不再执行中断服务程序,而直接返回。

(4)其它优先级的中断虽然在程序中被禁止,但也可能由于干扰而引起其执行,故在程序中也要对其进行处理。

以下是源程序代码:

1)所需要的复位和中断向量定义文件'vectors.asm'

2)主程序图3.13是对程序语句*SCSR1 = 0x00FC控制的系统控制状态寄存器各个位的功能描述。图3.13系统控制状态寄存器1(SCSR1)(地址为07018h)图3.14是对程序语句*EVAIMAR=*EVAIMRA|0X0080控制的EVA中断屏蔽寄存器A各个位的功能描述。图3.14EVA中断屏蔽寄存器A(EVAIMRA)(地址为742ch)图3.15是对程序语句*T1CON=0X1600控制的定时器控制寄存器TxCON各个位的功能描述。图3.15定时器控制寄存器TxCON

3.5比较单元

事件管理(EVA)模块中有3个全功能比较单元(比较单元1、2和3),EVB模块中同样也有3个全功能比较单元(比较单元4、5和6)。每个比较单元都有两个相关的PWM输出。比较单元的时基由通用定时器1(EVA模块)和通用定时器3(EVB模块)提供。每个EV模块的比较单元包括以下几部分:

(1) 3个16位的比较寄存器(对于EVA模块为CMPR1、CMPR2和CMPR3,对于EVB模块为CMPR4、CMPR5和CMPR6),它们各带一个可读/写的影子寄存器;

(2)一个16位可读/写的比较控制寄存器(COMCONA(EVA)和COMCONB(EVB));

(3)一个16位的比较方式控制寄存器(ACTRA/B),各带一个可读/写的影子寄存器;

(4) 6个比较/PWM(三态)输出引脚(对于EVA模块为PWMy,y=1、2、3、4、5、6,对于EVB模块为PWMz,z=7、8、9、10、11、12);

(5)控制和中断逻辑。

比较单元结构框图如图3.16所示。图中,对于EVA模块,x=1、2、3,y=1、3、5,z=1;对于EVB模块,x=4、5、6,y=7、9、11,z=3。

比较单元和相关的PWM单路的时基由通用定时器1(EVA模块)和通用定时器3(EVB模块)提供,不管在哪一种计数模式下,只要比较使能,比较输出就会发生跳变。图3.16比较单元结构框图3.5.1比较输入/输出

比较单元的输入包括:

(1)来自控制寄存器的控制信号;

(2)通用定时器1和3(T1CNT/T3CNT)及它们的下溢和周期匹配信号;

(3)复位信号。

比较寄存器的输出是一个比较匹配信号。如果比较操作使能,该匹配信号将置中断标志位,并将使比较单元相关的两个输出引脚上发生跳变。3.5.2比较操作模式

比较单元的比较操作模式由比较控制寄存器(COMCONx)决定,这些位决定以下情况:

(1)比较操作是否被使能;

(2)比较输出是否被使能;

(3)比较寄存器用它们的影子寄存器的值进行更新的条件;

(4)空间矢量PWM输出模式是否被使能。

下面一段描述了EVA模块比较单元的操作,EVB的比较操作与EVA是类似的,对于EVB模块,只是把通用定时器1和ACTRA改为通用定时器3和ACTRB。通用定时器1的计数器不断与比较寄存器的值进行比较,当发生匹配时比较单元的两个输出将根据方式控制寄存器(ACTRA)中的位进行跳变。ACTRA寄存器中的位可以分别确定在比较匹配时每个输出为高有效触发还是低有效触发(如果没有强制高或低)。当通用定时器1的计数器和比较单元的比较寄存器之间发生匹配且比较使能时,比较单元的比较中断寄存器将被置位。如果中断不屏蔽,则产生外设中断请求信号。输出跳变的时序、中断标志位的设置和中断请求的产生都与通用定时器的比较操作相同。输出逻辑、死区单元和SVPWM单元可改变比较单元在比较模式下的输出。

1.比较单元操作的寄存器设置

比较单元操作的寄存器的操作步骤见表3.12。

表3.12比较单元操作的寄存器的操作步骤

2.比较单元寄存器

1)比较控制寄存器A

比较单元的操作由比较控制寄存器(COMCONA和COMCONB)控制。COMCONA各位的定义如图3.17所示,其占用的存储器地址为7411h。图3.17比较控制寄存器A(COMCONA)的位定义下面详细介绍比较控制寄存器A各位的功能。

● D15

CENABLE ——比较使能位。

0 禁止比较操作,CMPRx和ACTRA寄存器的影

子寄存器为透明

1 使能比较操作

● D14~13

CLD1/CLD0 ——比较寄存器CMPRx重载条件。

00 当T1CNT = 0时

01 当T1CNT = 0时或T1CNT = T1PR时

10 立即

11保留,结果不可预测● D12

SVENABLE ——空间矢量PWM模式使能位。

0 禁止空间矢量PWM模式

1 使能空间矢量PWM模式

● D11~10

ACTRLD1/ACTRLD0 ——方式控制寄存器重载条件。

00 当T1CNT = 0时

01 当T1CNT = 0或T1CNT = T1PR时(在

下溢或周期匹配发生时)

10 立即

11 保留● D9

FCOMPOE ——比较输出使能,有效的PDPINTA将清此位为0。

0PWM输出引脚为高阻态,即禁止PWM输出

1PWM输出引脚未处于高阻态,即使能PWM输出

● D8

PDPINTASTATUS ——反映当前PDPINTA引脚的状态。(该位只在TMS320‘LF240xA系列中应用,在TMS320’LF240x系列中为保留位)

● D7~0

Reserved——保留位。

2)比较方式控制寄存器A

比较方式控制寄存器A(ACTRA)占用的存储器地址为7413h,其位定义如图3.18所示。

如果通过COMCONx[15]位允许比较操作,则比较方式控制寄存器ACTRA控制6个比较输出引脚(对于ACTRA为PWMx,x = 1~6,对于ACTRAB为x = 7~12)的输出方式。ACTRA和ACTRB是双缓冲的,它们的重装条件由COMCONx寄存器中相应的位来确定。ACTRA包含了空间矢量PWM操作所需的SVRDIR、D2、D1和D0位,其各位的具体功能如下:图3.18比较方式控制寄存器A(ACTRA)的位定义● D15

SVRDIR——SVPWM旋转方向位,仅用于空间矢量PWM输出的产生。

0 正向(CCW)

1 反向(CW)

● D14~12

D2/D0——基本的空间矢量位,仅用于空间矢量PWM输出的产生。

● D11~10

CMP6ACT1/0——引脚PWM6/IOPB3上的比较输出方式选择位。

00 强制低 01 低有效

10 高有效 11 强制高● D9~8

CMP5ACT1/0——引脚PWM5/IOPB2上的比较输出方式选择位。

00 强制低 01 低有效

10 高有效 11 强制高

● D7~6

CMP4ACT1/0——引脚PWM4/IOPB1上的比较输出方式选择位。

00 强制低 01 低有效

10 高有效 11 强制高● D5~4

CMP3ACT1/0——引脚PWM3/IOPB0上的比较输出方式选择位。

00 强制低 01 低有效

10 高有效 11 强制高

● D3~2

CMP2ACT1/0——引脚PWM2/IOPA7上的比较输出方式选择位。

00 强制低 01 低有效

10 高有效 11 强制高● D1~0

CMP1ACT1/0——引脚PWM1/IOPA62上的比较输出方式选择位。

00 强制低 01 低有效

10 高有效 11 强制高

EVB模块中的比较控制寄存器B(COMCONB)和比较方式控制寄存器B(ACTRB)的内容与EVA模块中的COMCONA和ACTRA一样,只是把定时器1改为定时器3,把引脚OWM1~PWM6改为PWM7~PWM12。这里不再赘述。

3.比较单元的中断和复位

在EVAIFRA和EVBIFRA寄存器中,每个比较单元都有个可屏蔽的中断标志的使能位。如果比较操作被使能,比较匹配后的比较单元的中断标志位将置位。如果中断没有被屏蔽,则将产生一个外设中断请求。

当任何复位事件发生时,所有与比较单元相关的寄存器都复位为0,且所有的比较输出引脚都被置成高阻态。

3.6与比较单元相关的PWM电路

对于每个EV模块,与比较单元相关的PWM电路使带有可编程死区和输出极性控制的6路PWM输出的产生成为可能。EVA模块的PWM电路功能框图如图3.19所示。它包括对称/非对称波形发生器、可编程的死区单元(DBU)、输出逻辑、空间矢量PWM状态机等功能单元。图3.19PWM电路功能框图

EVB模块的PWM电路结构框图与EVA模块的一样,只是改变相关寄存器的配置,这里从略。

在电机控制的应用中,PWM电路极大地减少了产生PWM波形的CPU开销和用户的工作量,与比较单元相关的PWM电路及其PWM波形的产生由以下寄存器控制:对于EVA模块有T1CON、COMCONA、ACTRA和DBTCONA;对于EVB模块有T3CON、COMCONB、ACTRB和DBTCONB。3.6.1可编程的死区单元

EVA和EVB模块都有它们各自的可编程的死区单元,可编程的死区单元具有以下特点:

(1)一个可读/写的16位死区控制寄存器DBTCONx;

(2)一个输入时钟预分频器:X/1、X/2、X/4、X/8、X/16、X/32;

(3)内部CPU时钟输入;

(4) 3个4位减计数定时器;

(5)控制逻辑。

死区单元通过死区控制寄存器A(DBTCONA)进行设置,死区控制寄存器A的各功能位分配如图3.20所示,占用的存储器地址为7415h。图3.20死区控制寄存器A(DBTCONA)各功能位详细定义如下:

● D15~12

Reserved——保留位。

● D11~8

DBT3~DBT0——死区定时器周期,这些位规定了3个4位死区定时器的周期值。

● D7

EDBT3——死区定时器3使能位(对比较单元3的引脚PWM5和PWM6而言)。

0 禁止

1 使能● D6

EDBT2——死区定时器2使能位(对比较单元2的引脚PWM3和PWM4而言)。

0 禁止

1 使能

● D5

EDBT1——死区定时器1使能位(对比较单元1的引脚PWM1和PWM2而言)。

0 禁止

1 使能● D4~2

DBTPS2~DBTPS0——死区定时器的预分频器。

000 X/1 001 X/2

010 X/4 011 X/8

100 X/16 101 X/32

110 X/32 111 X/32

● D1~0

Reserved——保留位。

EVB模块的死区控制寄存器(DBTCONB)与DBTCONA的一样,这里从略。3.6.2死区单元输入/输出

输入至死区单元的PH1/2/3分别来自比较单元1/2/3对称/非对称波形产生器。根据PH1/2/3,死区单元分别输出DTPH1、DTPH1_、DTPH2、DTPH2_、DTPH3和DTPH3_。3.6.3死区的产生

死区产生的波形图如图3.21(a)所示。对应于每个死区输入信号PHx,产生两个输出信号DTPHx和DTPHx_。当比较单元和相关输出的死区未被使能时,这两个输出信号完全相同。当比较单元的死区单元使能时,这两个信号的跳变沿一段称做死区的时间间隔分开。该时间间隔由DBTCONx寄存器中的相应位决定,假设DBTCONx.11~8位中的值为m,并且DBTCONx.4~2位中的值对应的预分因子为x/p,则死区值为p*m个CPU时钟周期。图3.21死区单元功能框图表3.13给出了通过DBTCONx典型位组合产生死区的设置。这些值是基于25ns的器件时钟。死区时间经常被插入到一个器件的关断和另一个器件的开启之间。这种延时使得在一个功率器件开启前,另一个功率器件已被完全关断,所需的延时时间由功率器件的开启和关断特性及具体应用中的负载特性决定。表3.13通过BDTCONx典型位组合产生死区的设置3.6.4死区单元的一些重要特征和作用

死区单元用于保证在任何情况下,每个比较单元相关的2路PWM输出控制一对正向导通和负向导通设备时没有重叠,即在一个器件没有完全关断时,另一个器件不导通。极端的情况包括用户安装了一个比周期更大的死区值,或占空比为100%或0%。如果比较单元的死区被使能,则周期结束时与这个比较单元相关的PWM输出不会复位到一个无效的状态。在许多电机和电力电子应用中,常将两个功率器件(一个正向导通,另一个负向导通)串联到一个功率转换机的引脚上,并且两个器件一定不能同时导通,这是为了避免发生短路而击穿器件。因此,经常要用一对无重叠的PWM输出去正确地开启。

图3.21(b)为死区单元功能框图,图中,PHx、DTPHx及DTPx_是内部信号,这些信号不可通过外部监测或控制。

3.6.5输出逻辑

输出逻辑电路决定了比较发生匹配时,输出引脚PWMx(x = 1~12)上的输出极性和方式。每个比较单元相关的输出方式可分为低有效、高有效、强制低和强制高。比较单元的PWM输出极性和方式通过ACTRx寄存器中相应的位来配置。 当发生以下任何一种情况时,所有的PWM输出引脚都置成高阻态。

(1)软件清COMCONx[9]位;

(2)当PDPINTx未被屏蔽时,硬件将PDPINTx引脚上的电平拉低;

(3)发生任何复位事件;

(4)来自死区单元的DTPH1、DTPH1_、DTPH2、DTPH2_、DTPH3、DTPH3_及比较匹配信号;

(5) ACTRx寄存器中的控制位。

比较单元的输出逻辑输出如下信号:

(1) PWMx,x=1~6(EVA模块);

(2) PWMy,y=7~12(EVB模块)。

PWM输出逻辑结构如图3.22所示,图中,x=1、2、3;对于EVA模块,y=1~6,对于EVB模块,y=7~12。图3.22PWM输出逻辑结构3.7比较单元和PWM电路中的PWM波形产生

一个PWM信号是一串宽度变化的脉冲序列。这些脉冲平均分布在一段定长的周期中,该定长周期被称为PWM(载波)周期,它的倒数被称为PWM(载波)频率。PWM脉冲的宽度由另一个具有所需值的调制信号决定和调制。

在电机控制系统中,PWM信号用于控制功率器件的开关时间,从而传送需要的电流和能量到电机线圈中,如图3.23所示。图3.23三相功率转换器原理图3.7.1事件管理器PWM输出的产生

在事件管理器模块中,每个比较单元和通用定时器1(EVA模块)或通用定时器3(EVB模块)、死区单元及输出逻辑可在两个特定的器件引脚上产生一对具有可编程死区以及输出极性相反的PWM输出。在每个EV模块中,有6个这种与比较单元相关的PWM输出引脚,这6个特定的PWM输出引脚可用于控制三相交流感应电机和支流无刷电机。由比较方式控制寄存器(ACTRx)所控制的多种输出方式能轻易地控制应用广泛的开关磁阻电机和同步磁阻电机。PWM电路还可用于控制其它类型的电机,如直流有刷电机及用于控制单轴和多轴的步进电机。如果需要,每个通用定时器的比较单元可基于它自身的定时器产生1路PWM输出。3.7.2产生PWM的寄存器设置

比较单元和相关电路的所有三种PWM波形的产生需对相同的事件管理寄存器进行配置,产生PWM输出的设置步骤如下:

(1)设置和装载ACTRx寄存器;

(2)如果使能死区,则设置和装载DBTCONx寄存器;

(3)设置和装载T1PR或T3PR寄存器,即规定PWM波形的周期;

(4)初始化CMPRX寄存器;

(5)设置和装载COMCONx寄存器;

(6)设置和装载T1CON或T3CON寄存器,来启动比较操作;

(7)更新CMPRx寄存器的值,使输出的PWM波形的占空比发生变化。3.7.3非对称PWM波形的产生

边沿触发或非对称PWM信号的特征是由关于PWM周期中心非对称的调制脉冲决定的,如图3.24所示,每个脉冲的宽度只能从脉冲的一边开始变化。图3.24比较单元和PWM电路产生非对称的PWM波形图3.24给出了EVA模块下的非对称的PWM波形,图中,x=1、3、5,对于EVB模块也类似。为了产生非对称的PWM信号,需将通用定时器1设置为连续增计数模式。通用定时器1的周期寄存器中装入了所需PWM载波周期的值。COMCONA寄存器中的相应位用来设置比较操作使能,再将选中的输出引脚置成PWM输出,并且使能这些输出。如果死区被使能,则通过软件将所需的死区值写入DBTCONA[11~18]中,并将它作为4位死区定时器的周期。通用定时器1开启后,比较寄存器在每个PWM周期中可重新写入新的比较值,以调整用于控制功率器件的导通和关闭时间的PWM输出的宽度(即占空比发生变化)。因为比较寄存器是带影子寄存器的,所以在一个周期中的任何时候都可以将新值写入。同样,在周期的任何时候可以将新值写入到周期寄存器(T1PR)和比较方式控制寄存器(ACTRA)中,以改变PWM周期或强制改变PWM的输出方式。3.7.4对称PWM波形的产生

对称PWM信号的特征由PWM周期中心对称的调制脉冲决定。对称PWM信号相对于非对称PWM信号的优势在于它在一个周期内有两个无效的区段(每个PWM周期的开始和结束处)。当使用正弦波调整时,已经证明在交流电机(如感应电机)和直流无刷电机的相电流对称的PWM信号比非对称的PWM信号引起的谐波失真更小。图3.25给出了对称的PWM波形。图3.25比较单元和PWM电路产生对称的PWM波形比较单元和PWM电路的PWM波形的产生与非对称的情况相似,唯一不同的是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论