收藏 分享(赏)

TMS320F28122810第四章(共七章).pdf

上传人:精品资料 文档编号:8195459 上传时间:2019-06-13 格式:PDF 页数:57 大小:695.13KB
下载 相关 举报
TMS320F28122810第四章(共七章).pdf_第1页
第1页 / 共57页
TMS320F28122810第四章(共七章).pdf_第2页
第2页 / 共57页
TMS320F28122810第四章(共七章).pdf_第3页
第3页 / 共57页
TMS320F28122810第四章(共七章).pdf_第4页
第4页 / 共57页
TMS320F28122810第四章(共七章).pdf_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、第4章 事件管理器 事件管理器(EV)的强大功能使它特别适合于运动控制和电机控制领域。事件管理器模块包括通用定时器、全比较/PWM单元、捕获单元和正交编码电路(QEP)。事件管理器包含EVA和EVB两个功能相同的事件管理器外设单元,可以用于实现多轴/多运动控制。当三相H型桥式电路的上下桥臂需要互补的PWM波形时,每个EV都可以用来控制一个三相H型桥式电路。每个EV还包含两路单独的PWM输出。 4.1事件管理器功能概述 EVA和EVB有相同的通用定时器、比较单元、捕获单元和正交编码电路,只是每个单元的名称各不相同。EVA控制寄存器的起始地址是7400H,EVB控制寄存器的起始地址是7500H。事

2、件管理器的接口框图如图4.1所示,各模块和信号的名称如表4.1所示。 图4.1 事件管理器接口框图 97EVA EVB 事件管理器模块 模块 信号 模块 信号 通用定时器 通用定时器1 通用定时器2 T1PWM/T1CMPT2PWM/T2CMP通用定时器3 通用定时器4 T3PWM/T3CMPT4PWM/T4CMP比较单元 比较单元1 比较单元2 比较单元3 PWM1/2 PWM3/4 PWM5/6 比较单元4 比较单元5 比较单元6 PWM7/8 PWM9/10 PWM11/12 捕获单元 捕获单元1 捕获单元2 捕获单元3 CAP1 CAP2 CAP3 捕获单元4 捕获单元5 捕获单元6

3、CAP4 CAP5 CAP6 正交编码电路 正交编码电路 QEP1 QEP2 QEPI1 正交编码电路 QEP3 QEP4 QEPI2 外部定时器输入 定时器方向 外部时钟 TDIRA TCLKINA 定时器方向 外部时钟 TDIRB TCLKINB 用于控制比较器的外部触发输入 比较单元 C1TRIP C2TRIP C3TRIP 比较单元 C4TRIP C5TRIP C6TRIP 用于定时器比较的外部触发输入 T1TRIP / T2TRIP T3TRIP/ T4TRIP 功率模块保护中断输入 PDPINTA PDPINTB ADC启动外部触发输入 EVASOC EVBSOC 表4.1 事件管

4、理器的模块和信号名称 事件管理器EVA的功能框图见图4.2。事件管理器EVB和EVA的功能相同,只不过对应的寄存器和资源不一样。 事件管理器包含通用定时器1、2、3、4,全比较单元,可编程的死区发生器,PWM波形发生器,捕获单元,正交编码器电路,AD转换器的外部启动信号,功率驱动保护中断,EV寄存器,EV中断等多个部分。281x的事件管理器和240x的大致相同,但增加了一些功能,称为增强模式。281x的事件管理器设计成和240x兼容,若要使用增加的功能,就要用到EXTCON寄存器进行控制。 98 图4.2 事件管理器A功能框图 4.2 通用定时器 4.2.1 通用定时器功能 每个定时器模块有两

5、个通用定时器,其功能框图见图4.3。每个通用定时器x(在EVA中,x=1,2;在EVB中x=3,4)包括: z 一个可读写的16位定时器增/减计数器TxCNT。 99z 一个可读写的16位定时器比较寄存器TxCMPR(用影子寄存器双缓冲)。 z 一个可读写的16位定时器周期控制寄存器TxPR(用影子寄存器双缓冲)。 z 一个可读写的16位定时器控制寄存器TxCON。 z 定时器时钟可以选择内部时钟,也可以选择外部时钟。 z 可对内部或外部的时钟输入预分频。 z 4个可屏蔽中断(下溢、上溢、定时器比较、周期中断)的控制和中断逻辑。 z 一个可选择方向的输入引脚TDIRx,当使用定向增/减计数模式

6、时,用来选择是增计数还是减计数。 z 一个通用定时器比较输出管脚,TxCMP。 另外还有GPTCONA/B,用法见后。 每个通用定时器都可以独立使用,也可以两个定时器同步使用。每个通用定时器的比较寄存器可用于比较功能,产生PWM波形。当定时器工作在增/减模式时,有3种连续工作方式。每个定时器都可以使用可预定标的内部或外部输入时钟。通用定时器还为别的事件管理器子模块提供时钟基准:通用定时器1为比较单元和PWM电路提供时钟基准,通用定时器2/1为捕获单元和正交编码电路提供时钟基准。周期寄存器和比较寄存器有双缓冲,允许用户根据需要改变定时器周期和PWM脉冲宽度。 图4.3 通用定时器框图(x=2或4

7、) 当x=2时y=1,n=2,当x=4时y=3,n=4 100 4.2.2 通用定时器的输入输出 通用定时器的输入包括: z 内部高速时钟(HSPCLK); z 外部时钟TCLKINA/B,最高频率不超过CPU时钟的1/4; z 方向输入TDIRA/B,控制定时器增/减计数的方向; z 复位信号RESET。 当定时器用到QEP电路时,QEP产生定时器的时钟和方向。 通用定时器的输出包括: z 通用定时器比较输出TxCMP; z 为ADC模块提供ADC转换启动信号; z 为自身比较逻辑和比较单元提供下溢、上溢、比较匹配和周期匹配信号; z 计数方向指示位 4.2.3通用定时器的寄存器 通用定时器

8、控制寄存器(TxCON) 控制寄存器(TxCON)控制通用定时器的操作模式,通过控制寄存器的设置,通用定时器可采用以下工作方式: z 选择通用定时器的4种计数模式中的一种; z 通用定时器使用内部还是外部时钟; z 确定通用定时器输入时钟使用的预定标参数(范围11/128); z 确定通用定时器比较寄存器重新装载的条件; z 使能或禁止通用定时器; z 使能或禁止通用定时器比较操作; z 通用定时器2/4使用的周期寄存器是本身还是通用定时器1/3的。 全局通用定时器控制寄存器(GPTCONA/B) 全局控制寄存器GPTCONA/B确定通用定时器实现具体的任务需要采取的操作方式,并指明通用定时器

9、的计数方向。GPTCONA/B是可读写寄存器,当向状态位写数据时没有影响。全局通用定时器控制寄存器B(GPTCONB)和GPTCONA的功能相同,只是控制的定时器不同。 通用定时器比较寄存器 比较寄存器中存放了一个常数,它和通用定时器的计数器不断比较,当比较匹配时,将产生下列事件: z 根据GPTCONA/B设置的模式,相关的比较输出引脚将产生跳变; z 相应的中断标志位置位; z 如果中断未被屏蔽,则产生一个外设中断请求。 通过设置TxCON的相关位,可以使能或禁止比较操作。在任何定时器工作模式下,包括QEP模式,比较操作和输出都可以被使能或禁止。 通用定时器周期寄存器 101通用定时器周期

10、寄存器的值决定了定时器的周期,当周期寄存器的值和定时器的计数器值相等时,根据计数器所使用的计数方式,通用定时器就复位为0,或继续向下递减计数。 通用定时器比较和周期寄存器的双缓冲 通用定时器的比较寄存器TxCMPR和周期寄存器TxPR都是带影子寄存器,在一个周期的任何时刻都可以对这两个寄存器进行读写操作。然而当进行写操作时,新的值是写到影子寄存器的。对于比较寄存器,只有当TxCON寄存器指定的特定定时器事件发生时,影子寄存器中的值才加载到比较寄存器中。对于周期寄存器,只有当计数寄存器TxCNT为0时,影子寄存器的值才能重新加载到周期寄存器。比较寄存器重载的条件可以是下面中的一个: z 影子缓冲

11、寄存器被写入之后立即加载; z 下溢时,即通用定时器计数器值为0时; z 下溢或周期匹配时,即当计数值为0或计数值与周期寄存器的值相等时。 周期和比较寄存器的双缓冲特点允许应用程序在一个周期的任何时刻都可以更新周期和比较寄存器,从而可以在下一周期改变定时器的周期和PWM的脉冲宽度。如果使用定时器产生PWM信号,快速地改变定时器周期就可以快速改变PWM的载波频率。 此外,通用定时器的周期寄存器的初始化应该在计数器初始化为非0值前进行,否则,周期寄存器的值会一直保持不变,直到定时器产生溢出。 当禁止相应的比较操作时,比较寄存器是透明的,即新装载的值直接进入激活的寄存器,EV的所有比较寄存器都如此。

12、 通用定时器的比较输出 通用定时器的比较输出可以高电平有效、低电平有效、强制高或强制低,与GPTCONA/B控制寄存器的设置有关。当比较输出高(低)电平有效时,在第一次比较匹配时,比较输出由低变为高(由高变为低)。如果通用定时器配置为递增/递减计数模式,则在第二次比较匹配或周期匹配时,比较输出从高至低(由低至高)。当定时器的比较输出设置为强制高(低)时。它立即变为高(低)电平。 定时器计数方向 在所有的定时器使用过程中,寄存器GPTCONA/B中的相应位反映了通用定时器的计数方向: z 1代表递增计数; z 0代表递减计数; 当通用定时器工作在增/减计数模式时,输入引脚TDIRA/B决定了计数

13、方向。如果TDIRA/B引脚为高电平,采用递增计数模式;如果TDIRA/B引脚为低电平,采用递减计数模式。 4.2.4 定时器的时钟 通用定时器可以采用内部CPU时钟或外部时钟作为时钟源,外部时钟通过TCLKINA/B引脚提供。外部时钟的频率必须小于或等于内部CPU频率的1/4。在定向增/减计数模式下,通用定时器2(EVA)和通用定时器4(EVB)可以使用QEP电路,此时QEP电路为定时器提供时钟和方向输入。每个通用定时器都可以为输入时钟配置宽范围的预定标系数。 基于QEP的时钟输入 102 在定向增/减计数模式下使用正交编码电路(QEP)时,QEP能为通用定时器1/2/3/4提供输入时钟和计

14、数方向控制信号。QEPCLK作为定时器的时钟源时,时钟不能通过通用定时器的预定标电路设置预定标参数,也就是QEP提供输入时,预定标参数总是1。由于选定的定时器的计数器在QEP电路的上升沿和下降沿都进行计数,QEP电路产生的时钟频率是每个QEP输入通道频率的4倍,因此,QEP输入频率必须小于或等于内部时钟频率的1/4。 4.2.5 通用定时器的同步 适当地配置T2CON和T4CON控制寄存器,可以实现通用定时器2与通用定时器1的同步(EVA)、通用定时器4与通用定时器3的同步(EVB)。具体的实现方法如下: 事件管理器A(EVA) z 将T2CON中的T2SWT1位置1,使定时器2使用定时器1的

15、使能位TENABLE启动定时器,这样即可以实现两个计数器的同步启动。 z 在启动同步操作之前,用不同的初始化值初始化通用定时器1和2中的计数器。 z 通过将寄存器T2CON的SELT1PR位置位,使通用定时器2使用通用定时器1的周期寄存器作为自己的周期寄存器,而不用自己的周期寄存器。 事件管理器B(EVB) z 将T4CON中的T4SWT3位置1,使定时器4使用定时器3的使能位TENABLE启动定时器,这样即可以实现两个计数器的同步启动。 z 在启动同步操作之前,用不同的初始化值初始化通用定时器3和4中的计数器。 z 通过将寄存器T4CON的SELT3PR位置位,使通用定时器4使用通用定时器3

16、的周期寄存器作为自己的周期寄存器,而不用自己的周期寄存器。 这样就可以实现通用定时器事件之间的同步。由于每个通用定时器都是从它的计数寄存器中的当前值开始计数,因此一个通用定时器可以设计成延时其它通用定时器一个已知的时间后启动。 4.2.6 用一个定时器事件启动A/D转换 在GPTCONA/B寄存器中可以设置A/D转换器的启动信号由哪个通用定时器事件提供,包括下溢中断、周期中断和比较中断,这样就可以在没有CPU干预的情况下,实现通用定时器事件和A/D转换器开始转换之间的同步。 4.2.7 仿真挂起时的通用定时器操作 在仿真挂起时,通用定时器的控制寄存器也定义了通用定时器的操作,当在线仿真产生仿真

17、中断时,设置相关的控制位可以使通用计数器继续计数,也可以设置使计数立即停止或当前计数周期结束后停止。 当DSP时钟被仿真器停止时,将产生仿真挂起。例如,当仿真器遇到一个断点时,将会产生仿真挂起。 4.2.8 通用定时器中断 在通用定时器的EVAIFRA、EVAIFRB、EVBIFRA和EVBIFRB寄存器中有16个中断标志,当发生下列事件时,每个通用定时器将产生4个中断。 z 上溢:TxOFINT(x=1,2,3或4) z 下溢:TxUFINT(x=1,2,3或4) z 比较匹配:TxCINT(x=1,2,3或4) z 周期匹配:TxPINT(x=1,2,3或4) 103当通用定时器的值与比较

18、寄存器中的值相同时,产生一个定时器比较匹配事件,如果比较操作被使能,则匹配发生的一个时钟周期后,相应的比较中断标志置位。 当计数器的值达到FFFFH时,就产生上溢事件;当计数器计数值达到0000H时,就产生下溢事件;类似地,当定时器计数器的值与周期寄存器的值相同时,就产生一个周期匹配事件。在每个事件发生一个时钟周期后,定时器的上溢、下溢和周期中断标志位将置位。 4.2.9 通用定时器的计数操作 每个通用定时器有4种操作模式: z 停止/保持模式; z 连续增计数模式; z 定向增/减计数模式; z 连续增/减计数模式; 定时器对应的控制寄存器TxCON中的TMODE1,TMODE0位确定通用定

19、时器使用的计数模式,定时器使能位TENABLE(TxCON6)可以使能或禁止定时器的计数操作。当定时器被禁止时,定时器的计数器操作被禁止,并且定时器的预定标器被复位为x/1。当使能定时器时,定时器按照寄存器TxCON中的TMODE1,TMODE0位确定的工作模式工作,并开始计数。 z 停止/保持模式 在这种模式下,通用定时器停止并保持在当前的状态,定时器的计数器、比较输出和预定标计数器都保持不变。 z 连续增计数模式 在连续增计数模式 (参见图4.4) 下,通用定时器将按照预定标的输入时钟计数,在定时器的计数器值和周期寄存器值匹配后的下一个输入时钟的上升沿,通用定时器复位为0,并开始下一个计数

20、周期。 图4.4 通用定时器连续增计数模式(TxPR=3或2) 定时器计数器与周期寄存器匹配一个时钟周期后,周期中断标志位置位。如果外设中断没有被屏蔽,将产生一个外设中断请求。如果该周期中断已由GPTCONA/B寄存器中的相应位选定来启动ADC,则中断标志位置位的同时将A/D转换启动信号送到A/D转换模块。 104 在通用定时器的值变为0的一个时钟周期后,定时器的下溢中断标志位被置位。如果该位未被屏蔽,则产生一个外设中断请求。如果该周期中断已由GPTCONA/B寄存器中的相应位选定来启动ADC,则中断标志位置位的同时将A/D转换启动信号送到A/D转换模块。 在TxCNT的值与FFFFH匹配的一

21、个时钟周期后,上溢中断标志位置位。如果该位未被屏蔽,则会产生一个外设中断请求。 除第一个计数周期外,定时器周期的时间为(TxPR1)个定标的时钟输入周期。如果定时器的计数器开始计数时为0,则第一个周期也和以后的周期相同。 通用定时器的初始值可以是从0到FFFFH中的任意值。如果计数器的初始值大于周期寄存器的值,定时器计数器将计数到FFFFH,计数器清零后继续计数操作,与初始值为0一样。当计数器的初始值等于周期寄存器的值时,定时器产生周期中断标志,并复位到零,置位下溢中断标志位,然后继续增计数,就好像初始值是零一样。如果定时器的初始值在0和周期寄存器的值之间,定时器就计数到周期寄存器,完成该计数

22、周期。 在连续增计数模式下,GPTCONA/B寄存器中的计数方向标志位为1,内部CPU时钟和外部时钟均可作为定时器的输入时钟。在连续增计数模式下,TDIRA/B引脚输入的时钟不起作用。 通用定时器的连续增计数模式特别适用于边沿触发或异步PWM波形产生等应用,也适用于许多电机和运动控制系统采样周期的产生。图4.4给出了通用定时器的连续增计数模式的计数工作方式。正如图所示,在通用定时器连续递增计数模式下(TxPR=3或2),从计数器计数到周期寄存器的值到重新开始新的计数周期这段时间内,没有丢失一个时钟脉冲。 z 定向增/减计数模式 通用定时器在定向增/减计数模式中,根据定标后的时钟和计数方向(TD

23、IRA/B)引脚来进行递增或递减计数。当TDIRA/B保持为高电平时,通用定时器增计数,直到其等于周期寄存器的值(如果初始值大于周期寄存器的值,就计数到FFFFH)。当通用定时器的值等于周期寄存器的值(或等于FFFFH)时,定时器的计数器清零,继续重新增计数到周期寄存器的值。当TDIRA/B引脚保持为低电平时,通用定时器计数器则递减计数,直到等于0。当定时器的值减计数到0时,定时器重新装载周期寄存器中的值,并继续计数。 图4.5 通用定时器定向增/减计数模式(预定标因子1,TxPR3) 通用定时器的初始值可以是从0H到FFFFH中的任意值。如果计数器的初始值大于周期寄存器的值,定时器计数器将计

24、数在到FFFFH后自动清零,然后继续计数直到等于周期寄存器的值。如果TDIRA/B引脚为低电平且定时器的初始值大于周期寄存器的值,定时器105将递减计数到周期寄存器的值后再继续递减计数到0,在计数器的值计数到0后,定时器重新装载周期寄存器的值再正常递减计数。 周期、下溢、上溢的中断标志位、中断请求以及相关的操作都由各自事件产生,其产生与连续增计数模式相同。引脚(TDIRA/B)的电平变化后,定时器的计数方向相应改变,延时时间为当前计数周期完成后一个时钟。 定时器在这种工作模式下,计数方向由GPTCONA/B寄存器中的方向标志位确定,1代表递增计数,0代表递减计数。TCLKINA/B引脚的外部时

25、钟和内部CPU时钟均可作为定时器的输入时钟。通用定时器定向增/减计数模式工作方式如图4.5所示。 在事件管理器模块中,通用定时器2/4的定向增/减计数模式可以利用QEP电路。这时,QEP电路为通用定时器2/4提供计数时钟和计数方向。这种工作模式在运动/电机控制和电力电子应用领域也可以用来确定外部事件发生的时间。 z 连续增/减计数模式 这种计数模式与定向增/减计数模式基本相同,只是在连续增/减计数模式下,引脚TDIRA/B不再影响计数方向。当计数器的值达到周期寄存器的值(或FFFFH,定时器的初始值大于周期寄存器的值),定时器的计数方向才从递增计数变为递减计数。当定时器到零时,定时器的方向才从

26、递减计数变为递增计数,参见图4.6。 在这种模式下,除了第一个计数周期外,定时器的计数周期都是2(TxPR)个输入时钟定标后的周期。如果定时器计数的初始值是0,则第一个计数周期的时间就与其它的周期相同。 通用定时器的初始值可以是从0H到FFFFH中的任意值。如果初始值大于周期寄存器的值,定时器计数器将计数到FFFFH后清零,然后继续计数如同初始值为0一样。当初始值和周期寄存器的值相同时,计数器就减计数至0,再继续增计数如同初始值为0一样。当计数器的初始值在0与周期寄存器的值之间时,定时器就增计数至周期寄存器的值,并完成该周期,就象初始值与周期寄存器相同的情况。 周期、下溢、上溢中断标志位、中断

27、请求以及相关的操作都由各自事件产生,与连续增计数模式相同。 图4.6 通用定时器的连续增/减计数模式(TxPR=3或2) 定时器中GPTCONA/B的计数方向指示位在定时器增计数时为1,减计数时为0。106 TCLKINA/B引脚提供的外部时钟和内部CPU时钟均可作为该模式下的定时器输入时钟,只是在该模式中方向控制引脚TDIRA/B不起作用。通用定时器连续增/减计数模式的计数方式如图4.6所示。 通用定时器连续增/减计数模式特别适用于产生运动/电机控制和电力电子应用领域中常用的中心对称的PWM波形。 4.2.10 通用定时器的比较操作 每个通用定时器有一个比较寄存器TxCMPR和一个PWM输出

28、引脚TxPWM,通用定时器计数器的值一直与相关的比较寄存器的值比较,当定时器计数器的值与比较寄存器的值相等时,就产生比较匹配。可通过TxCON1位使能比较操作,如果比较操作被使能,比较匹配时将发生下列事件: z 匹配一个时钟周期后,定时器的比较中断标志位置位。 z 匹配一个CPU时钟周期后,根据GPTCONA/B寄存器的相应位的配置情况,PWM的输出将产生跳变 z 如果比较中断标志位已通过设置GPTCONA/B寄存器中的相应位启动A/D转换器,则比较中断位置位的同时产生A/D转换启动信号。 如果比较中断未被屏蔽,将产生一个外设中断请求。 PWM输出的转换 一个非对称或对称的波形发生器和相关的输

29、出逻辑控制PWM输出的转换,这和下面的设置有关: z GPTCONA/B寄存器的设置。 z 定时器的计数模式。 z 当采用连续增/减模式时的计数方向。 非对称/对称波形发生器 根据通用定时器使用的计数模式,非对称/对称波形发生器产生一个非对称或对称的PWM波形。 (1)非对称波形的产生 当通用定时器处于连续增计数模式时,产生非对称波形,见图4.7。在这种模式下,波形发生器的输出将根据下面的顺序变化: z 计数操作开始前为0 z 在匹配发生前一直保持不变 z 在比较匹配时产生翻转 z 保持不变直到周期结束 z 如果下一周期新的比较寄存器的值不是0,则在周期结束时复位到零。 在周期开始时,如果比较

30、值是0,则整个计数周期内输出保持为1不变。如果下一周期的比较值还是0,则输出也不会被复位为0。这一点很重要,因为它允许产生占空比从0100的PWM无毛刺脉冲。如果比较值大于周期寄存器中的值,则整个周期内输出为0。如果比较等于周期寄存器的值,输出是1并只保持一个定标的时钟输入周期。 对于非对称PWM波形,改变比较寄存器的值仅仅影响PWM脉冲的一侧。 107图4.7 通用定时器增计数模式下的比较/PWM输出 (2)对称波形的产生 当通用定时器处于连续增/减计数模式时,产生对称波形,如图4.8所示。在这种计数模式下,波形发生器的输出状态由下述情况决定: z 计数操作开始前为0 z 保持不变直到第一次

31、比较匹配 z 第一次比较匹配时产生翻转 z 保持不变直到第二次比较匹配 z 第二次比较匹配时产生翻转 z 保持不变直到周期结束 z 如果没有第二次匹配且下个周期的新比较值不为0,则在周期结束时复位到0。 图4.8 通用定时器连续增减计数模式下的比较/PWM输出 如果比较值为0,则周期开始时输出为1,并一直保持不变直到第二次比较匹配发生。如果此时比较值仍是0,则输出保持为1。在这种情况下,如果下一周期新的比较值仍然为0,则输出不会复位为0。这将保证能够产生占空比从0100的无毛刺PWM脉冲。如果在前半周期,比较值大于或等于周期寄存器的值,则不会产生第一次跳变。然而在后半周期发生比较匹配时,输出仍

32、将翻转。这种错误的输出跳变经常是由应用程序计算不正确引起的,它将会在周期结束时被纠正过来,因为此时输出将复位到0。但如果此时下一周期的比较值为0,那么输出将保持为1,这将把波形发生器的输出重新置为正确的状态。 108 (3)输出逻辑 输出逻辑进一步调理波形发生器的输出,以形成最后的PWM输出,控制不同的电源设备。适当地配置GPTCONA/B寄存器,可以规定PWM的输出为高电平有效、低电平有效、强制低或强制高。 当PWM输出为高电平有效时,它的极性与相关的非对称/对称波形发生器的极性相同。当PWM输出为低电平有效时,它的极性与相关的非对称/对称波形发生器的极性相反。 如果GPTCONA/B寄存器

33、相应的控制位规定PWM输出为强制高(低)后,PWM输出就会立即置1(或0)。 总之,在正常的计数模式下,如果比较已经被使能,则通用定时器的PWM输出会按表4.2、表4.3所示那样发生变化。 在一个周期的时间里 比较输出的状态 比较匹配之前 不变 比较匹配时 置位有效 周期比较匹配时 置位无效 表4.2 连续增计数模式下的定时器比较输出 在一个周期的时间里 比较输出的状态 第一次比较匹配之前 不变 第一次比较匹配时 置位有效 第二次比较匹配时 置位无效 第二次比较匹配之后 不变 表4.3连续增/减计数模式下的定时器比较输出 置位有效指高有效时置高,低有效时置低。置位无效则相反。 基于定时器计数模

34、式和输出逻辑的非对称/对称波形发生器同样适用于比较单元。 当出现下列情况之一时,所有通用定时器的PWM输出都被置成高阻状态。 z 软件将GPTCONA/B6清零 z PDPINTx引脚被拉低而且没有屏蔽 z 任何一个复位信号产生 z 软件将TxCON1清零 有效/无效时间计算 对于连续增计数模式,比较寄存器中的值代表了从计数周期开始到第一次匹配发生之间花费的时间(即无效相位的长度)。这段时间等于定标的输入时钟周期乘以TxCMPR寄存器的值。因此,有效相位的长度就等于(TxPR-TxCMPR+1)个定标的输入时钟周期,也就是输出脉冲的宽度。 对于连续增/减计数模式,比较寄存器在减计数和增计数状态

35、下可以有不同的值。连续增/减计数模式下的有效相位长度,等于(TxPR)-(TxCMPR)up+(TxPR)-(TxCMPR)dn个定标输入时钟周期,也就是输出脉冲宽度。这里(TxCMPR)up指增计数模式下的比较值,(TxCMPR)dn指减计数模式下的比较值。 如果定时器处于连续增计数模式,当TxCMPR中的值为0时,通用定时器比较输出在整个周期有效。对于连续增/减计数模式,如果(TxCMPR)up的值为0,则比较输出在周期开109始时就有效。如果(TxCMPR)up和(TxCMPR)dn的值都是0,则比较输出在整个周期有效。 对于连续增计数模式,如果(TxCMPR)的值大于TxPR的值,有效

36、相位长度(输出脉冲宽度)为0。对于连续增/减计数模式,如果(TxCMPR)up大于或等于TxPR,将不会产生第一次跳变。同样,如果(TxCMPR)dn的值大于或等于TxPR的值,也不会产生第二次跳变。如果(TxCMPR)up和(TxCMPR)dn的值都大于TxPR的值,通用定时器的比较输出在整个周期内都无效。 使用通用定时器产生PWM信号 每个通用定时器都可以独立提供一路PWM输出通道,因此事件管理器的通用定时器可提供4通道的PWM输出。 用通用定时器产生PWM输出,可以采用连续增或连续增/减计数模式。当选用连续增计数模式时,可以产生边沿触发或非对称PWM波形;当选用连续增/减计数模式时,可产

37、生对称PWM波形,可以通过下列操作产生PWM信号: z 根据所需的PWM(载波)周期设置TxPR。 z 设置TxCON寄存器,确定计数器模式和时钟源,并启动PWM输出操作。 z 将软件计算出来的PWM脉冲宽度(占空比)装载到TxCMPR寄存器中。 如果选用连续增计数模式来产生非对称PWM波形,把所需要的PWM周期除以通用定时器输入时钟的周期,然后减1,便得到定时器的周期数。如果选用连续增/减计数模式产生对称PWM波形,把所需要的PWM周期除以2倍的通用定时器输入时钟周期,就得出定时器的周期数。在程序运行的过程中,软件可以计算PWM的占空比,并实时刷新比较寄存器的值。 4.2.11 通用定时器的

38、复位 任何复位事件发生时,都会产生下列结果: z 除了GPTCONA/B中的计数方向指示位外,所有通用定时器寄存器的值复位为0。因此,所有通用定时器的操作被禁止,计数方向指示位被全部置1。 z 所有定时器中断标志位清零。 z 除了PDPINTx,所有定时器的中断屏蔽位被清零。因此除了PDPINTx,所有定时器的中断都被屏蔽。 z 所有通用定时器的比较输出被置为高阻状态。 4.3 比较单元 EVA模块中有三对(1、2、3)全比较单元,EVB模块中也有三对(4、5、6)全比较单元。每个比较单元有两个相关的PWM输出,其死区和输出极性可编程。比较单元的时基由通用定时器1(用于EVA)和通用定时器3(

39、用于EVB)产生。比较单元包括: z 三个16位比较寄存器(对于EVA是CMPR1、CMPR2、CMPR3;对于EVB是CMPR4、CMPR5、CMPR6),它们各带一个影子寄存器。 z 一个16位的比较控制寄存器(对于EVA是COMCONA;对于EVB是COMCONB)。 z 一个16位的比较方式控制寄存器(对于EVA是ACTRA;对于EVB是ACTRB)。 z 6个PWM输出脚,对于EVA是PWMy,y=1,2,3,4,5,6;对于EVB是PWMz,z=7,8,9,10,11,12。 z 控制和中断逻辑。 110 比较单元的框图如图4.9所示。 比较单元和相关PWM电路的时基为通用定时器1

40、(EVA)和通用定时器3(EVB)。 图4.9 比较单元框图 (对EVA:x=1,2,3;y=1,3,5;z=1。对EVB:x=4,5,6;y=7,9,11;z=3) 比较单元的输入/输出 通往比较单元的输入包括: z 来自于控制寄存器的控制信号。 z 通用定时器1/3(T1CNT、T3CNT)以及它们的下溢和周期匹配信号。 z 复位信号。 比较单元的输出是比较匹配信号。如果比较操作使能,匹配信号将使中断标志位设置,并使和比较单元相关的两个输出脚发生跳变。 比较操作模式 比较单元的操作模式由COMCONx中的相关位决定,可决定以下情况: z 比较操作是否使能。 z 比较输出是否使能。 z 比较

41、寄存器被其影子寄存器中的值更新的条件。 z 空间矢量PWM模式是否使能。 操作 下面描述了EVA比较单元的操作。EVB比较单元的操作类似,只不过用的是通用定时器3和ACTRB。 通用定时器1计数器的值不停地和比较寄存器中的值比较。当匹配发生时,通过ACTRA中位的定义,比较单元的两个输出发生转换。ACTRA中的位可单独设定匹配时每个输出是高有效输出还是低有效输出(只要不强迫为1或0)。如果比较过程被使能,则匹配时对应的比较中断标志被设置,如果中断没有被屏蔽则外围中断请求发生。输出转换的定时、中断标志的设置、中断请求的产生都和通用定时器的比较操作相同。比较单元的输出可由输出逻辑、111死区单元和

42、空间矢量PWM逻辑等修正。 比较单元操作要求的寄存器设置顺序如下: 对于EVA 对于EVB 设置T1PR 设置T3PR 设置ACTRA 设置ACTRB 初始化CMPRx 初始化CMPRx 设置COMCONA 设置COMCONB 设置T1CON 设置T3CON 各比较单元寄存器的定义和使用方法见后面内容。 每个比较单元中有可屏蔽的中断标志,分别放在EVxIFRA和EVxIFRB中(x=A、B)。如果比较操作使能,在比较匹配发生的一个时钟周期后,比较单元的中断标志被设置。 任何复位事件发生时,比较单元的所有寄存器位都复位到0,所有比较输出脚进入高阻抗状态。 4.4 PWM电路 4.4.1 和比较单

43、元相关的PWM电路 和比较单元相关的脉冲宽度调制(PWM)电路可以产生6个PWM输出,死区时间和输出极性可编程。 PWM电路功能框图见图4.10。它包括如下功能单元: z 非对称/对称波形发生器 z 可编程的死区单元 z 输出逻辑 z 空间矢量PWM状态机 EVB模块的PWM电路功能模块框图与EVA模块框图一样,只是配置寄存器不同。非对称/对称波形发生器和通用定时器中的一样。 图4.10 PWM 电路功能框图(以EVA为例) 112 PWM电路可应用于电机控制和运动控制等领域,可以减少CPU的开销和用户的工作量。比较单元的PWM产生和相关的PWM电路由以下寄存器控制:对EVA模块,由T1CON

44、、COMCONA、ACTRA和DBTCONA控制;对EVB模块,由T3CON、COMCONB、ACTRB和DBTCONB控制。 4.4.2 事件管理器的PWM产生能力 每个事件管理器模块(EVA和EVB)可以产生PWM波形,具体的功能可以概括成以下几个方面: z 5个独立的PWM输出,其中3个由比较单元产生,2个由通用定时器比较单元产生。另外还有3个附加的PWM输出,和比较单元产生的PWM输出有关。 z PWM两个互补输出脉冲之间可设置死区,死区时间可编程。 z 可设置最小死区的宽度为一个CPU时钟周期。 z 最小的脉冲宽度是一个CPU时钟周期,脉冲宽度调整的最小量也是一个CPU时钟周期。 z

45、 PWM最大分辨率为16位。 z 可快速改变PWM的载波频率(双缓冲的周期寄存器)。 z 可快速改变PWM的脉宽(双缓冲的比较寄存器)。 z 功率驱动保护中断。 z 能够产生可编程的非对称、对称和空间矢量PWM波形。 z 比较寄存器和周期寄存器可自动装载,减小CPU开销。 4.4.3 可编程的死区单元 EVA模块和EVB模块都有自己的可编程死区控制单元(分别是DBTCONA和DBTCONB),可编程死区控制单元有以下特点: z 一个16位死区控制寄存器DBTCONx(可读写)。 z 一个16位输入时钟预定标器:x/1、x/2、x/4、x/8、x/16、x/32。 z CPU时钟输入。 z 3个

46、4位减计数的定时器。 z 控制逻辑。 死区单元的操作由死区定时器控制寄存器A和B(DBTCONA和DBTCONB)完成。 比较单元1、2和3的非对称/对称波形发生器提供的PH1、PH2和PH3作为死区单元的输入,死区单元的输出是DTPH1、DTPH1_、DTPH2、DTPH2_、DTPH3、DTPH3_,它们分别对应于PH1、PH2和PH3。 死区的产生 对于每一个输入信号PHx,要产生两个输出信号DTPHx和DTPHx_。当比较单元和它相关输出的死区未被使能时,这两个输出信号完全相同。当比较单元的死区单元使能时,这两个信号的跳变沿被一段称为死区的时间间隔分开,这个时间段由DBTCONx寄存器

47、的位来决定,参见图4.11。假设DBTCONx118中的值为m,且DBTCONx42中的值相应的预定标参数为x/p,这时死区值为(p*m)个HSPCLK时钟周期。 死区单元的一些其它重要的特征 设置死区的目的是为了防止在任何操作条件下,每个单元产生的两路PWM信号同时113导通上下桥臂的开关管,包括用户装载一个比占空比还要大的死区值,占空比为100或者0等情况。因此,当比较单元的死区被使能时,在周期结束时与比较单元相关的PWM输出不会复位到无效状态。 图4.11 死区单元框图(x=1、2、3) 4.4.4 输出逻辑 输出逻辑电路决定了比较匹配时,输出引脚PWMx(x112)的输出极性和需要执行

48、的操作。与每个比较单元相关的输出可被规定为低电平有效、高电平有效、强制低或者强制高,可以通过适当地配置ACTR寄存器来确定PWM输出的极性和操作。当下列任意事件发生时,所有的PWM输出引脚被置于高阻状态: z 软件清除COMCONx9。 z 当PDPINTx未被屏蔽时,硬件将PDPINTx引脚拉低。 114 z 发生任何复位事件时。 PDPINTx(当被使能时)引脚为低和系统复位均使得寄存器COMCONx和ACTRx中的设置位无效。 输出逻辑电路(OLC)如图4.12所示,比较单元输出逻辑的输入包括: z 来自死区单元的DTPH1、DTPH1_、DTPH2、DTPH2_、DTPH3、DTPH3

49、_和比较匹配信号。 z 寄存器ACTRx中的控制位。 z PDPINTx和复位信号 比较单元输出逻辑的输出包括: z PWMx,x16(对EVA)。 z PWMy,y712(对EVB)。 图4.12 输出逻辑框图(x=1,2,3;y=1,2,3,4,5,6) 4.4.5 PWM波形的产生 PWM信号是一系列的可变脉宽的脉冲列。这个脉冲的周期称为PWM载波周期,它的倒数称为PWM载波频率。PWM脉冲宽度可根据序列的期望值逐个改变。 在电机控制系统中,PWM信号用于控制功率开关器件的导通和关断,为电机的绕组提供期望的电流。电机绕组相电流的频率和大小可以控制电机的转速和转矩。这样加到电机上的控制电压或电流是调制信号,而且这个调制信号的频率一般来讲要比PWM载波频率低。 为了产生一个PWM信号,定时器需要重复按照PWM周期进行计数。比较寄存器用于保持调制值,比较寄存器中的值一直与定时器计数器的值相比较,当两个值匹配时,PWM输出就会产生跳变。当两个值产生第二次匹

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报