Part Number:TMS320F28374S
如标题:我想使用外部GPIO信号输入引入至EPWM XBAR 至TRIP4触发TZ(TRIP4)中断,以实现中断触发以及PWM的关断,TZ为one shot 模式,请问是否有相关配置可以参考?
InputXbarRegs.INPUT4SELECT = 80;
EPwm7Regs.TZSEL.bit.DCAEVT1 = 1;
EPwm7Regs.TZEINT.bit.DCAEVT1 = 1;
EPwm8Regs.TZSEL.bit.DCAEVT1 = 1;
EPwmXbarRegs.TRIP4MUX0TO15CFG.bit.MUX5 = 1;
EPwmXbarRegs.TRIP4MUXENABLE.bit.MUX5 = 1;
EPwmXbarRegs.TRIPOUTINV.bit.TRIP4 = 0;
EPwm7Regs.DCBHTRIPSEL.bit.TRIPINPUT4 = 1;
EPwm7Regs.DCTRIPSEL.bit.DCBHCOMPSEL = DC_TRIPIN4;
EPwm7Regs.TZDCSEL.bit.DCAEVT1 = TZ_DCAH_LOW;
以上,期待回复,谢谢。
liusuhefeng feng:
InputXbarRegs.INPUT4SELECT = 80;
EPwm7Regs.TZEINT.bit.DCAEVT1 = 1; EPwm7Regs.TZSEL.bit.DCAEVT1 = 1; EPwm8Regs.TZSEL.bit.DCAEVT1 = 1;
EPwmXbarRegs.TRIP4MUX0TO15CFG.bit.MUX7 = 1; // INPUTXBAR4 作为 MUX7 的输入 EPwmXbarRegs.TRIP4MUXENABLE.bit.MUX7 = 1; // enable the mux7 EPwmXbarRegs.TRIPOUTINV.bit.TRIP4 = 0; // 1-输出高电平;0-输出低电平
// EPWM DC modular EPwm7Regs.DCAHTRIPSEL.bit.TRIPINPUT4 = 1; EPwm7Regs.DCTRIPSEL.bit.DCAHCOMPSEL = DC_TRIPIN4; // EPWM TZ modular EPwm7Regs.TZDCSEL.bit.DCAEVT1 = TZ_DCAH_LOW; EPwm7Regs.TZSEL.bit.DCAEVT1 = 1;
EPwm8Regs.DCAHTRIPSEL.bit.TRIPINPUT4 = 1; EPwm8Regs.DCTRIPSEL.bit.DCAHCOMPSEL = DC_TRIPIN4; // EPWM TZ modular EPwm8Regs.TZDCSEL.bit.DCAEVT1 = TZ_DCAH_LOW; EPwm8Regs.TZSEL.bit.DCAEVT1 = 1;
我更正了部分寄存器配置,并且调试可以实现外部信号关断两路PWM输出,请问与我的意图相比,如上配置是否存在什么其他隐藏问题?谢谢!
,
Yale Li:
1.首先INPUT XBAR的Destination都是定死的,如下图黄色高亮部分所示,INPUT XBAR 1~6都连接至了EPWM X-BAR:
(P1109 8.1 Input X-BAR)
所以对INPUT XBAR只需要配置与输入相关的部分即可,最简单来说,要配置哪个GPIO输入到该INPUT XBAR(如上图红色高亮部分所示);
2.如果使用的是TZ1~TZ3来触发保护,是比较容易实现的,因为INPUT XBAR 1~3分别直接连接到了TZ模块的TZ1~TZ3输入;
如果使用的是TRIP4的话,则要经过EPWM X-BAR和DC模块。
EPWM X-BAR需要配置的就是框图中方框圈住的部分:
(P1111 8.2.1.1 ePWM X-BAR Architecture)
以使用INPUTXBAR1为例,那么需要配置TRIP4MUX0TO15CFG.MUX1寄存器、选择信号1.1,TRIP4MUXENABLE使能第1位。这样信号就从INPUTXBAR1连接到了TRIP4,也就是输入到了DC模块。
,
Yale Li:
你的配置就是正确的
,
liusuhefeng feng:
十分感谢回复,我的问题已经得到解决。