TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28377D: TZ one shot 错误清除

Part Number:TMS320F28377D

在28377 while中用以下语句清除TZ错误标志位的时候无法一遍清除,需要执行两遍以上才能将对应的TZFLG成功清零。

EALLOW;
EPwm1Regs.TZCLR.bit.OST = 1;
EPwm2Regs.TZCLR.bit.OST = 1;
EPwm3Regs.TZCLR.bit.OST = 1;
EPwm4Regs.TZCLR.bit.OST = 1;
EPwm5Regs.TZCLR.bit.OST = 1;
EPwm6Regs.TZCLR.bit.OST = 1;
EPwm7Regs.TZCLR.bit.OST = 1;
EPwm8Regs.TZCLR.bit.OST = 1;
EDIS;

Yale Li:

怎么观察得到这个结论的?

,

JiaWang QIN:

if(RXRDY)里面查询串口接收到的信号,如果接收到串口发过来的故障复位信号就执行TZ错误标志位清除来输出PWM和硬件电路保护复位。最初发现串口信号发送之后,硬件上能够复位,C2000PWM没有输出。Debug发现串口发送一次,无法清除TZ错误标志,发送第二次才能成功清除。单步调试也是这样,执行第二次才能成功清除。小概率要三次清除。

,

Yale Li:

方便描述一下器件之间信号是怎么连接的吗?

,

JiaWang QIN:

EALLOW; InputXbarRegs.INPUT1SELECT = 66; InputXbarRegs.INPUT2SELECT = 67; EDIS;

外部两路硬件故障信号连接到GPIO66和67,分别为OSHT1和OSHT2触发信号。同时,硬件上连接74HC74输出,将故障信号锁存,用于闭锁pwm缓冲器和指示灯,74芯片CLK连接GPIO44。

硬件故障复位采用GPIO44上升沿GpioDataRegs.GPBSET.bit.GPIO44 = 1; TZ复位用EPwmXRegs.TZCLR.bit.OST = 1;

两个复位操作在同一个if函数里执行一次,能观察到74输出信号变化,C2000寄存器里TZ错误标志未清除。

赞(2)
未经允许不得转载:TI中文支持网 » TMS320F28377D: TZ one shot 错误清除
分享到: 更多 (0)