f28035的epwm trip zone,按照软件强制中断方式,多长时间进入一次中断?怎么计算呢?

[复制链接]
2831|3
 楼主| Alisa_song 发表于 2014-4-12 23:06 | 显示全部楼层 |阅读模式
我是按照Ti中的epwm_trip_zone的例程设置的寄存器的,但是现在程序也能按照我的想法当满足条件时,软件触发中断后,指定的epwm1A强制输出低电平,不满足条件时,按原来情况输出。但是,我现在就是不能计算出多长时间进入一次epwm trip zone的中断?请各位高手指点,谢谢,设置代码如下:

1.在epwm初始化中设置如下:

EALLOW;
EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_LO;    // Do nothing,no action is taken on EPWMxA
EPwm1Regs.TZCTL.bit.TZB = TZ_NO_CHANGE;          // Force EPWMxB to a low state
EPwm1Regs.TZEINT.bit.OST = 1;     // Enable OST interrupt
EDIS;

2.满足条件时,设置强制触发

   if(Current>= 50)
   {
    EALLOW;
    EPwm2Regs.TZFRC.bit.OST = 1;
       EDIS;
   }
   else
   {

   }

3.epwm trip zone的中断函数

interrupt void EPWM1_TZint_ISR(void)
{
EALLOW;
EPwm1Regs.TZFRC.bit.OST = 0;
EPwm1Regs.TZCLR.bit.OST = 1;
EPwm1Regs.TZCLR.bit.INT = 1;
EDIS;
// Acknowledge this interrupt to receive more interrupts from group 2
PieCtrlRegs.PIEACK.all = PIEACK_GROUP2;
}
dirtwillfly 发表于 2014-4-16 16:50 | 显示全部楼层
来晚了,不好意思。
建议楼主看看两次满足Current>= 50之间执行的代码情况,来分析多长时间进入一次epwm trip zone的中断
 楼主| Alisa_song 发表于 2014-4-27 14:57 | 显示全部楼层
dirtwillfly 发表于 2014-4-16 16:50
来晚了,不好意思。
建议楼主看看两次满足Current>= 50之间执行的代码情况,来分析多长时间进入一次epwm tr ...

不晚,谢谢你的指点。理解了不少。
nowherenick 发表于 2014-5-19 10:32 | 显示全部楼层
搞个IO口翻转信号来看看执行时间
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

94

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部