Part Number:TMS320F28035
项目中使用28035的TZINT中断在ISR中做过流保护。初始化TZ模块的时候设置TZCLR为0xFFFF,清除所有TZ标志。
但是发现只要一使能TZ中断,马上就会触发TZ事件,此时TZFLG寄存器不为0,这时候再次向TZCLR写入0xFFFF清除TZ标志以后正常。
如果不使能TZ中断,TZFLG也不会置位。整个过程中TZ1-TZ3三个管脚都是高电平,实际上并没有TZ事件。
请问应该如何初始化TZ模块才能保证无误触发TZ事件和中断?
Yale Li:
我找到一个类似的问题:TMS320F28075: TZ interrupt without source? – C2000 microcontrollers forum – C2000︎ microcontrollers – TI E2E support forums
Xiao Dong 说:整个过程中TZ1-TZ3三个管脚都是高电平,实际上并没有TZ事件。
最好是用示波器抓一下波形,排除尖峰之类的干扰因素;
如果实在找不出原因,可以在初始化ePWM模块之前失能总中断,使能TZ中断前后都向TZCLR写入0xFFFF,TZ中断成功初始化之后再使能总中断。