TI DSP TMS320F280025 Note9.3:EPWM:动作限定符(AQ)子模块

TMS320F280025 EPWM:动作限定符(AQ)子模块


`


动作限定子模块在波形构造和PWM产生中起着最重要的作用。动作限定子模块决定将哪些事件转换为各种动作类型,从而在EPWMxA和EPWMxB输出处产生所需的开关波形。
ePWM中的动作限定子模块如图所示
在这里插入图片描述

动作限定符子模块的目的

动作限定子模块负责以下工作:
•根据以下事件限定和生成动作(set、clear、toggle):
—CTR = PRD:与周期相等的时基计数器(TBCTR = TBPRD)。

  • CTR = 0:时基计数器等于零(TBCTR = 0 x00)
  • CTR = CMPA:时基计数器等于counter-compare寄存器(TBCTR = CMPA)
  • CTR = CMPB:时基计数器等于counter-compare基址寄存器(TBCTR = CMPB)
    •T1, T2事件:基于比较器触发事件,旅行或syncin事件
    •管理优先当这些事件发生时同时
    •提供独立控制事件的时基计数器时增加和减少时

动作限定子模块控制和状态寄存器定义

动作限定符子模块操作如图所示
在这里插入图片描述

为方便起见,表总结了可能的输入事件。
在这里插入图片描述

软件强制动作是一个有用的异步事件。这一控制由AQSFRC和AQCSFRC寄存器处理。
如果CSFA不使用阴影模式,则必须配置RLDCSF位来关闭阴影模式。
动作限定符子模块控制两个输出EPWMxA和EPWMxB在发生特定事件时的行为。动作限定子模块的事件输入通过计数器方向(向上或向下)进一步限定。这允许在倒计时和倒计时阶段对输出进行独立操作。
EPWMxA和EPWMxB输出可能的动作有:
•设置高:将EPWMxA或EPWMxB输出设置为高电平。
•清除低电平:设置EPWMxA或EPWMxB输出电平为低电平。
•切换:如果EPWMxA或EPWMxB当前被高拉,则将输出拉低。如果当前EPWMxA或EPWMxB被拉低,则将输出拉高。
•什么都不做:保持输出EPWMxA和EPWMxB与当前设置的电平相同。虽然“什么都不做”选项可以防止事件导致EPWMxA和EPWMxB输出上的动作,但该事件仍然可以触发中断和ADC开始转换。
为输出(EPWMxA或EPWMxB)独立指定操作。任何或所有事件都可以配置为在给定输出上生成操作。例如,CTR = CMPA和CTR = CMPB都可以对输出EPWMxA进行操作。所有限定符操作都使用ePWM寄存器部分中的控制寄存器进行配置。
为了清楚起见,本章中的插图使用了一组象征性动作。这些符号汇总在图中。每个符号代表一个动作,作为时间标记。有些动作在时间上是固定的(零和周期),而CMPA和CMPB动作是可移动的,时间位置分别通过A和B寄存器进行编程。要关闭或禁用一个操作,请使用“Do Nothing选项”(重置时的默认选项)。
在这里插入图片描述

动作限定符触发事件源选择寄存器(AQTSRCSEL)用于选择T1和T2事件的源。动作限定子模块中行程/数字比较事件的T1/T2选择和配置独立于trip - zone子模块中该事件的配置。特定的旅行事件可以或不可以被配置为在trip Zone子模块中引起跳闸动作,但动作限定符可以使用相同的事件来生成T1/T2以控制PWM的生成。

Action-Qualifier事件优先级

ePWM动作限定符可以同时接收多个事件。在这种情况下,事件由硬件分配优先级。一般规则是,较晚发生的事件具有较高的优先级,而软件强制事件始终具有最高的优先级。上下计数模式的事件优先级如表所示。优先级为1的优先级最高,优先级为10的优先级最低。根据TBCTR的方向,优先级略有变化。
在这里插入图片描述

up-count模式的动作限定符优先级如下表所示。在这种情况下,反方向总是被定义为向上;因此,down-count事件永远不会发生。
在这里插入图片描述

down-count模式的动作限定符优先级如下表所示。在这种情况下,反方向总是被定义为向下;因此,向上计数事件永远不会发生。
在这里插入图片描述

可以设置比较值大于周期。在本例中,操作如表所示。
在这里插入图片描述

AQCTLA和AQCTLB阴影模式操作

为了启用Action Qualifier模式更改(即使在阶段更改时也必须在周期结束时发生),在类型2及以后的ePWMs上添加了AQCTLA和AQCTLB寄存器的阴影。
此外,还支持这些寄存器的同步上的影子到活动负载。该寄存器的遮蔽是由AQCTL[shdwaqmode]和AQCTL[SHDWAQBMODE]位决定的。这些位分别启用和禁用AQCTLA阴影寄存器和AQCTLB阴影寄存器。两种加载模式的行为是:
影子模式:
通过设置AQCTL[shdwaqmode]位来启用AQCTLA的影子模式,通过设置AQCTL[SHDWAQBMODE]位来启用AQCTLB的影子寄存器。默认情况下,AQCTLA和AQCTLB的影子模式都是禁用的。
如果影子寄存器被启用,那么影子寄存器的内容将在下列事件之一上传输到活动寄存器,这些事件由AQCTL[ldaqmode]、AQCTL[LDAQBMODE]、AQCTL[LDAQASYNC]和AQCTL[LDAQBSYNC]寄存器位指定:
•CTR = PRD:时间计数器等于周期(TBCTR = TBPRD)。
•CTR = 0:时基计数器等于零(TBCTR = 0x00)
•CTR = PRD和CTR = Zero
•由DCAEVT1或DCBEVT1或EPWMxSYNCI或TBCTL[SWFSYNC]引起的同步事件
•同步事件或由LDAQAMODE /LDAQBMODE
全局加载支持
全局加载控制机制也可用于AQCTLA:AQCTLA2, AQCTLB:AQCTLB2和AQCSFRC寄存器通过配置全局加载配置寄存器(GLDCFG)中的适当位。当选择全局加载模式时,所有启用此模式的寄存器的内容从影子寄存器转移到活动寄存器,发生在与全局阴影到活动负载控制寄存器(GLDCTL)中的配置位定义的相同事件中。
立即加载模式:
如果选择立即加载模式(即AQCTL[shdwaqmode] = 0或AQCTL[SHDWAQBMODE] = 0),则对寄存器的读操作或写操作将直接进入活动寄存器。如图所示。
阴影有功负载的作用限定符输出A / B控制寄存器(AQCTLA和AQCTLB) CMPA = 0或CMPB = 0边界
如果Counter-Compare寄存器(CMPA)或Counter-Compare基址寄存器(CMPB)设置为值为0和行动预选赛行动AQCTLA和AQCTLB配置为发生在同一瞬间作为影子有功负载(即CMPA = 0和AQCTLA影子有功负载TBCTR = 0使用AQCTL LDAQAMODE登记和LDAQAMODE比特),然后这两个事件进入争用。在TBCTR = 0边界上使用阴影到动作限定符输出a /B控制寄存器的主动负载时,建议使用非零反比较。
在这里插入图片描述

在这里插入图片描述

常用波形的配置要求

本节中的波形显示了ePWMs对于静态比较寄存器值的行为。
在运行的系统中,活动比较寄存器(CMPA和CMPB)通常每个周期从各自的影子寄存器更新一次。指定更新发生的时间:当时基计数器达到零时,或当时基计数器达到周期时。在某些情况下,基于新值的操作可能会延迟一段时间,或者基于旧值的操作可能会额外生效一段时间。一些PWM配置避免了这种情况。这些包括但不限于:
使用上下计数模式生成对称PWM:
•如果将CMPA/CMPB加载为零,则使用大于或等于1的CMPA/CMPB值。
•如果周期加载CMPA/CMPB,则使用小于或等于TBPRD-1的CMPA/CMPB值。
这意味着在一个PWM周期中总是有一个至少一个TBCLK周期的脉冲,当这个脉冲很短时,往往会被系统忽略。
•要实现50%-0%的非对称PWM,可以使用以下配置:加载CMPA/CMPB的周期,并使用周期动作清除PWM,并使用比较动作设置PWM。
使用上下计数模式产生不对称PWM:
•将比较值从0调制到TBPRD以实现50%-0% PWM占空。
当使用上计数模式产生不对称PWM时:
•要实现0-100%的非对称PWM,必须在TBPRD上加载CMPA/CMPB。当TBCTR=PRD上没有加载CMPA/CMPB时,可能会发生边界条件,这取决于写入的时间和写入CMPA/CMPB的值。使用零动作来设置PWM和比较动作来清除PWM。将比较值从0调制到TBPRD+1,以实现0-100% PWM占空。
当使用up-count模式生成非对称PWM时,使能死带:
•要实现0%-100% PWM,请使用以下配置:当CMPA值太接近0或PRD,从而满足以下条件(CMPX <死带)或(CMPX > PRD -死带)时,AQCTL寄存器为CMPX指定的动作不生效。为了避免这种情况,必须在这些条件下改变AQCTL设置,仅为CAU或CAD事件(既设置又清除)生成高脉冲或低脉冲。确保此软件更新与PWM载波周期同步发生,并且启用阴影模式。
当使用上下计数模式生成非对称PWM时,使能死带:
•要实现0%-100% PWM,请使用以下配置:当CMPA值太接近0或PRD,并且满足以下条件(CMPX < deadband /2)或(CMPX > PRD - (deadband)/2)时,AQCTL寄存器为CMPX指定的动作不生效。为了避免这种情况,必须在这些条件下改变AQCTL设置,仅为CAU或CAD事件(既设置又清除)生成高脉冲或低脉冲。确保此软件更新与PWM载波周期同步发生,并且启用阴影模式。
图展示了如何使用TBCTR的up-down-count模式生成对称PWM波形。在这种模式下,0%-100%的直流调制是通过对波形的上行计数和下行计数部分使用相等的比较匹配来实现的。在所示的示例中,使用CMPA进行比较。
当计数器递增时,CMPA匹配将PWM输出拉高。同样,当计数器递减时,比较匹配将PWM信号拉低。当CMPA = 0时,PWM信号在整个周期内都是高电平,给出100%占空波形。当CMPA = TBPRD时,PWM信号低,占空率为0%。
在实际使用此配置时,如果将CMPA/CMPB加载为0,则使用大于或等于1的CMPA/CMPB值。如果对周期加载CMPA/CMPB,则使用小于或等于TBPRD-1的CMPA/CMPB值。这意味着在一个PWM周期中总是有一个至少一个TBCLK周期的脉冲,当这个脉冲很短时,往往会被系统忽略。
在这里插入图片描述

下图中的PWM波形显示了一些常见的动作限定符配置。
图和示例中使用的一些约定如下:
•TBPRD、CMPA和CMPB指的是写在各自寄存器中的值。硬件使用活动寄存器,而不是影子寄存器。
•CMPx,指CMPA或CMPB。
•EPWMxA和EPWMxB为ePWMx的输出信号
•Up-Down表示上、下计数模式,Up表示上计数模式,Down表示下计数模式
•Sym = Symmetric, Asym = Asymmetric
在这里插入图片描述

A. PWM周期= (TBPRD + 1) × TTBCLK B.
EPWMxA的占空调制由CMPA设定,高有源(即与CMPA成正比的高占空时间)。 C.
EPWMxB的占空调制由CMPB设定,并且是高有源的(即与CMPB成比例的高时占空)。
D.“什么都不做”的动作(X)是为了完整性而显示的,但在后续的图中没有显示。
E.零点和周期的动作,虽然看起来是同时发生的,但实际上是由一个TBCLK周期分开的。TBCTR将period转换为0000。
在这里插入图片描述

A. PWM周期= (TBPRD + 1) × TTBCLK B.
EPWMxA的占空调制由CMPA设置,低电平有效(即低时占空与CMPA成正比)。 C.
EPWMxB的占空调制由CMPB设定,为低电平有源(即低时占空与CMPB成正比)。
D.零点和周期的动作,虽然看起来是同时发生的,但实际上被一个TBCLK周期分隔开。TBCTR将period转换为0000

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值