TI DSP TMS320F280025 Note9.6:EPWM:Trip-Zone子模块

TMS320F280025 EPWM:Trip-Zone子模块


`


每个ePWM模块连接6个TZn信号(TZ1 ~ TZ6)。TZ1到TZ3来自GPIO mux。
TZ4来自那些带有EQEP模块的设备上的反向EQEPxERR信号。TZ5连接到系统时钟故障逻辑,TZ6来自CPU的EMUSTOP输出。这些信号表明外部故障或跳闸条件,ePWM输出可以被编程为在故障发生时做出相应的响应。
ePWM内部的trip-zone子模块如图17-42所示。

在这里插入图片描述

Trip-Zone子模块的目的

Trip -zone子模块的主要功能有:
•Trip输入TZ1 ~ TZ6可灵活映射到任意ePWM模块。
•当发生故障时,EPWMxA和EPWMxB输出可强制为以下任意一种状态:
—高
—低
—高阻抗
—不采取任何措施
•支持重大短路或过流情况下的一次跳闸(OSHT)。
•支持逐周期跳闸(CBC)限流操作。
•支持基于片上模拟比较器模块输出和TZ1到TZ3信号状态的数字比较跳闸(DC)。
•每个跳闸区输入和数字比较(DC)子模块DCAEVT1/2或DCBEVT1/2力事件可分配为单次或逐周期操作。
•中断产生是可能的在任何跳闸区输入。
•软件强制跳闸也支持。
•如果不需要trip-zone子模块,可以完全绕过trip-zone子模块。

Trip-Zone子模块的操作要点

以下部分描述trip-zone子模块的操作要点和配置选项。
跳闸区信号TZ1 ~ TZ6(也统称TZn)为低主动输入信号。当这些信号中的一个变低时,或者当基于TZDCSEL寄存器事件选择发生DCAEVT1/2或DCBEVT1/2强制时,表示发生了跳闸事件。每个ePWM模块可以单独配置为忽略或使用每个跳闸区信号或DC事件。特定ePWM模块使用哪个跳闸区信号或DC事件由该特定ePWM模块的TZSEL寄存器决定。跳闸区信号可以或不可以同步到ePWMclock (EPWMCLK),并在GPIO MUX块内进行数字滤波。在TZn输入上至少3*TBCLK的低脉冲宽度足以触发ePWM模块上的故障条件。如果脉冲宽度小于此值,则CBC或OST锁存器无法锁存跳闸条件。异步跳闸确保如果时钟由于任何原因丢失,输出仍然可以通过在TZn输入上存在的有效事件跳闸。必须正确配置gpio或外设。
每个TZn输入可以单独配置,为ePWM模块提供一个周期或一个周期的跳闸事件。DCAEVT1和DCBEVT1事件可以配置为直接触发ePWM模块,也可以为ePWM模块提供一次触发事件。同样,DCAEVT2和DCBEVT2事件也可以配置为直接跳闸ePWM模块或向模块提供逐周期跳闸事件。该配置由TZSEL[DCAEVT1/2]、TZSEL[DCBEVT1/2]、TZSEL[CBCn]和TZSEL[OSHTn]控制位决定(其中n对应于跳闸输入)
•CBC (Cycle-by-Cycle):
当一个Cycle-by-Cycle跳闸事件发生时,在TZCTL[TZA]和TZCTL[TZB]位中指定的动作立即在EPWMxA和EPWMxB输出上执行。可能的操作如表17-13所示。通过适当配置TZCTL2寄存器中的位,可以根据计数器向上计数或向下计数时事件的发生来指定独立的动作。
只有设置了TZCTL2的ETZE位,TZCTL2寄存器中指定的动作才会生效。
此外,当一个逐周期的跳闸事件发生时,设置逐周期的跳闸事件标志(TZFLG[CBC]),并且在TZEINT寄存器和中断控制器中启用时生成EPWMx_TZINT中断。引起CBC事件的事件的相应标志也在寄存器TZCBCFLG中设置。
如果使用TZEINT寄存器启用CBC中断,并且使用TZSEL寄存器选择DCAEVT2或DCBEVT2作为CBC行程源,则没有必要在TZEINT寄存器中启用DCAEVT2或DCBEVT2中断,因为DC事件通过CBC机制触发中断。
如果跳闸事件不再存在,则根据TZCLR[CBCPULSE]所做的选择自动清除输入上的指定条件。因此,在这种模式下,跳闸事件被清除或重置每个PWM周期。TZFLG[CBC]和TZCBCFLG标志位保持设置,直到通过写入TZCLR[CBC]和TZCBCFLG标志位手动清除标志位。如果当TZFLG[CBC]和TZCBCFLG寄存器位被清除时,仍然存在逐周期跳闸事件,那么这些位再次被立即设置。
•OSHT (One-Shot):
当一次脱扣事件发生时,在EPWMxA和EPWMxB的输出上立即执行TZCTL[TZA]和TZCTL[TZB]位中指定的动作。可能的操作如表17-13所示。
通过适当配置TZCTL2寄存器中的位,可以根据计数器向上计数和向下计数时事件的发生来指定独立的动作。只有设置了TZCTL2的ETZE位,TZCTL2寄存器中指定的动作才会生效。
此外,当一次触发事件发生时,设置一次触发事件标志(TZFLG[OST]),并且在TZEINT寄存器和中断控制器中启用时生成EPWMx_TZINT中断。引起OST事件的事件的相应标志也在寄存器TZOSTFLG中设置。必须通过写入TZCLR[OST]位来手动清除一次性脱扣条件。如果需要,TZOSTFLG寄存器位可以通过手动写入TZOSTCLR寄存器中的相应位来清除。
如果使用TZEINT寄存器启用一次中断,并且使用TZSEL寄存器选择DCAEVT1或DCBEVT1作为OSHT行程源,则没有必要在TZEINT寄存器中启用DCAEVT1或DCBEVT1中断,因为DC事件通过OSHT机制触发中断。

在确定OST的TRIPIN源已变为非活动状态后,清除TZFLG和TZOSTFLG标志。否则,如果启用了中断,则根据清除标志的时间,可以发生OST中断,并且OST标志为零。

•数字比较事件(DCAEVT1/2和DCBEVT1/2):
数字比较DCAEVT1/2或DCBEVT1/2事件是基于由TZDCSEL寄存器选择的DCAH/ DCAL和DCBH/DCBL信号的组合产生的。来源DCAH/ DCAL和DCBH/DCBL信号的信号使用DCTRIPSEL寄存器选择,可以是跳闸区输入引脚或模拟比较器CMPSSx信号。
当数字比较事件发生时,在TZCTL[DCAEVT1/2]和TZCTL[DCBEVT1/2]位中指定的动作立即在EPWMxA和EPWMxB输出上执行。相应的操作如表17-13所示。通过在TZCTLDCA和TZCTLDCB寄存器中适当配置位,可以根据计数器向上计数和向下计数时事件的发生来指定独立的动作。只有设置了TZCTL2的ETZE位,TZCTLDCA和TZCTLDCB寄存器中指定的动作才会生效。
此外,设置相关的直流跳闸事件标志(TZFLG[DCAEVT1/2] / TZFLG[DCBEVT1/2]),并在TZEINT寄存器和中断控制器中启用时生成EPWMx_TZINT中断。
当直流跳闸事件不再存在时,引脚上的指定条件将自动清除。
TZFLG[DCAEVT1/2]或TZFLG[DCBEVT1/2]标志位保持设置,直到通过写入TZCLR[DCAEVT1/2]或TZCLR[DCBEVT1/2]位手动清除该标志。如果当TZFLG[DCAEVT1/2]或TZFLG[DCBEVT1/2]标志被清除时,DC跳闸事件仍然存在,则再次立即设置该标志。
当跳闸事件发生时所采取的动作可以通过TZCTL、TZCTL2、TZCTLDCA和TZCTLDCB寄存器位字段为每个ePWM输出引脚单独配置。表17-13中所示的一些可能的操作可以在trip事件中执行。
在这里插入图片描述

Trip-Zone Configurations

场景A: 
TZ1上的一次脱扣事件将EPWM1A和EPWM1B拉低,同时将EPWM2A和EPWM2B拉高。
•ePWM1寄存器配置如下:
    —TZSEL[OSHT1] = 1:使TZ1作为ePWM1的一次性事件源
    —TZCTL[TZA] = 2: EPWM1A在trip事件中强制低电平。
    —TZCTL[TZB] = 2: EPWM1B在trip事件中被强制低电平。
•ePWM2寄存器配置如下:
    —TZSEL[OSHT1] = 1:使TZ1作为ePWM2的一次性事件源
    —TZCTL[TZA] = 1: EPWM2A在trip事件中强制高电平。
    —TZCTL[TZB] = 1:表示EPWM2B在trip事件中被强制高置。

场景B: TZ5上一个周期接一个周期的事件将EPWM1A和EPWM1B都拉低。
在TZ1或TZ6上的一次事件使EPWM2A进入高阻抗状态。
•配置ePWM1寄存器如下:
    —TZSEL[CBC5] = 1:启用TZ5作为ePWM1的逐周期事件源
    —TZCTL[TZA] = 2: EPWM1A在trip事件时强制低电平。
    —TZCTL[TZB] = 2: EPWM1B在trip事件中被强制低电平。
•ePWM2寄存器配置如下:
    —TZSEL[OSHT1] = 1:使能TZ1作为ePWM2的一次性事件源
    —TZSEL[OSHT6] = 1:使能TZ6作为ePWM2的一次性事件源
    —TZCTL[TZA] = 0: EPWM2A在trip事件中进入高阻抗状态。
    —TZCTL[TZB] = 3: EPWM2B忽略trip事件。

在配置gpio和INPUT X-BAR/EPWM
X-BAR选项时,请注意X-BAR输入选项的更改可能会导致不想要的事件。因此,在使能ePWM
Trip-Zone之前,请先配置好GPIO和X-BAR输入配置。如果需要改变GPIO/X-BAR配置,而ePWM TRIP -
zone使能,用户可以通过清除TZSEL寄存器并在输入XBAR选择改变后重新配置TRIP选择(TZSEL)来关闭TRIPs

生成行程事件中断

trip-zone子模块的控制逻辑和中断逻辑分别如图17-43和图17-44所示。
DCAEVT1/2和DCBEVT1/2信号在17.11节中有更详细的描述。
在这里插入图片描述

在这里插入图片描述

CBC、OST和dxevty的这些单独的标志可以用来检测EPWMxTZINT中断的来源。当使用多个源来生成EPWMxTZINT中断时,读取和清除标志会根据特定事件采取不同的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值