关于DSP2808 TZ**清除的问题:

[复制链接]
4672|4
 楼主| mobile3000 发表于 2008-10-9 16:39 | 显示全部楼层 |阅读模式

由于硬件保护使TZ1进行了中断,使TZFLG=0x05,PWM口线硬件上强制为低。
我想软件人为清除这个报警,使用的方法是:
        EPwm1Regs.TZCLR.all = 0x05;                    //Clear all int flag
        EPwm2Regs.TZCLR.all = 0x05;                    //Clear all int flag
        EPwm3Regs.TZCLR.all = 0x05;                    //Clear all int flag

但是仿真的结果是TZFLG没有清除,PWM口线硬件上强制为低。

请问上述方法有没有问题,有什么办法使其清除,正常输出PWM波形,谢谢!

杨容 发表于 2008-10-9 16:59 | 显示全部楼层

DSP2808

IPM_INT:
        NOP
        SETC    INTM
        MOV    DP,#01DFH
        MOV    PL,#0
        MOV    PH,#01H
        MOVL    @GPASET,P    ;关闭74LVTH244
        NOP
        MOV     DP,#01A0H
        MOV     @ePWM1TZCLR,#0X05 
        MOV     DP,#01A1H
        MOV     @ePWM2TZCLR,#0X04
         MOV     DP,#01A2H
        MOV     @ePWM3TZCLR,#0X04            
        MOV      DP,#033H                
         MOV      @PIEACK,#0FFFFH        ;清应答
        MOV      DP,#200H
        MOV        @RunFlag,#0
        MOV        @FailFlag,#1
        IRET    

中断退出后没有开中断。系统根据@FailFlag显示错误信息。
当错误被处理后再开中断。    
杨容 发表于 2008-10-10 09:21 | 显示全部楼层

DSP2808

对了,别忘了EALLOW
hehemy001 发表于 2008-10-10 20:58 | 显示全部楼层

同问!!

请问上述方法有没有问题,有什么办法使其清除,正常输出PWM波形
相关链接:http://www.ic-igbt.com
赤夜紫心 发表于 2008-10-11 11:25 | 显示全部楼层

没有问题

如果是 ONE SHOOT造成的PWM停止
EALLOW
        EPwm1Regs.TZCLR.all = 0x05;                    //Clear all int flag
        EPwm2Regs.TZCLR.all = 0x05;                    //Clear all int flag
        EPwm3Regs.TZCLR.all = 0x05;                    //Clear all int flag
 EDIS;

就可以正常
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

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