上次发布了DSP硬件过流保护的功能配置后,发现大家对于配置功能的学习具有很大的热情。为保证各位工程师们阅读的连续性,我来继续更新了。
CMPSS的输出信号,将会进入EPWM模块的“中转站”——EPWMXBAR模块。EPWM X-BAR为EPWM模块带来了信号。具体而言,EPWM X-BAR连接到每个EPWM模块的数字比较(DC)子模块,以进行TripZones和Syncrise等动作。
首先解释一个比较重要的问题——CMPSS的输出端口可以是CTRIPH或者CTRIOUTH,那这里为什么选择CTRIPH而不是选择CTRIOUTH呢?
从原理上来讲都是可以实现的,但是我们需要明确我们的项目需求,是对电力电子设备产生的大电流工况进行快速反应,实现EPWM的快速封波。抱着这个目的,我们来看芯片各功能模块之间的连接层数字信号和EPWM中各模块


通过两张图可以看出:
1.由CMPSS触发的两种信号,一路直通EPWMXBAR(ePWM X-BAR only),另一路则直通OUTPUTXBAR(OutPut X-BAR only)。EPWM直接进入EPWM-DC模块里,OutPut X-BAR进入了GPIO的多功能复用模块中。
2.红色框图为OUTPUTXABR进入PWM的路径,蓝色框图为EPWMXBAR进入EPWM的路径,OUTPUTXABR则是进入了GPIO MUX中。虽然可以通过配置GPIO口为输入的方式,再将信号引入EPWM-DC或TZ中,但明显多此一举,同时会增加大电流到来时封波动作的反应时间。
3.我们要信号进入EPWM模块中,因此从名字也能直接判断出应该选谁。
接下来是EPWMXBAR的功能分析与配置。

EPWMXBAR作为传输层模块,相对简单。
首先,通过 ePWM X-BAR Mux Configuration Table 确定应传递给EPWM的信号。可以为每个TRIPx输出选择最多每MUX(32个MUX)信号。通过TRIPxMUX0To15CFG和TRIPxMUX16To31CFG寄存器选择每个MUX的输入。为了将任何信号传递到EPWM,必须在TRIPxMUXENABLE寄存器中启用MUX。在传递到EPWM上的相应TRIPx信号之前,所有启用的MUXE都将在逻辑上进行逻辑。TRIPOUTINV为信号反相器,一般用作检测EPWM模块中功能的有效性。

根据 ePWM X-BAR Mux Configuration Table 可以确定我们使用的比较器对应的应为哪个MUX,比如CMPSS1的CTRIPH,就需要配置为
EPwmXbarRegs.TRIP4MUX0TO15CFG.bit.MUX0 = 0;
EPwmXbarRegs.TRIP4MUXENABLE.bit.MUX0 = 1;
这里TRIPx是无所谓的,但也不要太放飞自我,最好就在0-15以内选择,不要太抽象。
由于我们上期用的是CMPSS2的TRIPH,因此这次的配置为:
EPwmXbarRegs.TRIP4MUX0TO15CFG.bit.MUX2 = 0;
EPwmXbarRegs.TRIP4MUXENABLE.bit.MUX2 = 1;
本次更新完成,下一节将进入比较重要的EPWM-DC模块。
1万+

被折叠的 条评论
为什么被折叠?



