关于Ti的C2000芯片的CBC与OSHT做两级保护说明

本文详细介绍了如何在TI微控制器中配置EPWM模块的一级过流保护TZ1(CBC模式)和二级过流保护TZ2(OSHT模式)。CBC模式在输入信号低电平时拉低PWM输出,信号恢复后自动恢复;OSHT模式则需手动清除标志位才能恢复PWM输出。同时,文章给出了TZ中断的配置步骤,包括CBC和OSHT中断的使能及中断处理函数。实验部分通过独立按钮模拟输入信号,验证了保护机制的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、通道选择说明

关于TZ1做为一级过流保护输入信号,配置为CBC(可用于逐波限流);TZ2做为二级过流保护输入信号,配置为OSHT(可用于单次封波);

示意图如下:

2、寄存器配置

EPwm1Regs.TZSEL.bit.CBC1 = 0x01;                 // TZ1 CBC select

EPwm1Regs.TZSEL.bit.OSHT2 = 0x01;               //TZ2One-shot select

EPwm1Regs.TZCTL.bit.TZA = 0x02;   //Force EPWM1A to a low state

EPwm1Regs.TZCTL.bit.TZB = 0x02;                    //Force EPWM1B to a low state

3、TZ中断配置

       //---------CBC触发事件中断--------//

//EPwm1Regs.TZCLR.bit.INT = 1;                               //for tz trip int clear;

       //EPwm1Regs.TZCLR.bit.CBC = 1;                             //for tz trip CBC event clear;

       //EPwm1Regs.TZEINT.bit.CBC = 1;                            //Enable CBC interrupt;

       由于CBC触发事件产生时,EPWMxA/EPWMxB输出将按照TZCTL[TZA]和TZCTL[TZB]位中规定的动作进行动作;当触发事件不再出现,ePWM模块TBCTR=0x0000时,EPWMxA/EPWMxB输出会恢复PWM输出;故软件中可不使能CBC事件中断,不做处理。

       //---------OSHT触发事件中断--------//

EPwm1Regs.TZCLR.bit.INT = 1;                                 //for tz trip int clear;

EPwm1Regs.TZCLR.bit.OST = 1;                               //for tz trip OSHT event clear;

       EPwm1Regs.TZEINT.bit.OST = 1;                       //Enable OSHT interrupt;

       由于OSHT触发事件产生时,EPWMxA/EPWMxB输出将按照TZCTL[TZA]和TZCTL[TZB]位中规定的动作进行动作;需手动清除TZFLG[OST]标志位,EPWMxA/EPWMxB输出才会恢复PWM输出;故必须使能OSHT触发事件中断,在中断函数里面进行TZFLG[OST]标志位清除处理。

TZ中断配置步骤如下:

3.1、使能EPWM1的TZ事件中断

EPwm1Regs.TZEINT.bit.OST = 0x1;              // Enable TZ interrupt

3.2、对应的PIE中断使能

       IER = M_INT2;// CPU Interrupt Enable PIE Group 2

PieCtrlRegs.PIEIER2.bit.INTx1 = 1;              // EPWM1_TZINT

3.3、定义中断地址指向你的服务程序

PieVectTable.EPWM1_TZINT = &INTERRUPT_ISR_TZProtect;

interrupt void INTERRUPT_ISR_TZProtect(void)

{

       EPwm1Regs.TZCLR.bit.OST=1;                          //for tz trip One-shot Flag clear;

       EPwm1Regs.TZCLR.bit.INT = 1;             //clear INT flag

             

       PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; // Acknowledge interrupt to PIE

}

4、实验信号测试

TZ1、TZ2的输入信号通过两个独立按钮来模拟,

4.1、当TZ1信号为低电平,则触发TZ1的CBC模式对PWM1A进行拉低处理,当TZ1信号恢复为高电平后,则Pwm1驱动会在TB计算为0时放开;

如下图 通道为PWM1A,通道2为TZ1信号;

 

 

                TZ1信号为低电平后,PWM1驱动被拉低; 

TZ1信号恢复为高电平后,PWM1驱动也恢复;

4.2、当TZ2信号为低电平,则触发TZ2的OSHT模式对PWM1A进行拉低处理,当TZ1信号恢复为高电平后,则Pwm1驱动也不会放开,需手动清除TZFLAG标志才行;

如下图 通道为PWM1A,通道2为TZ2信号;

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值