目前我的应用是这样的:
一个F28335内使用了ePWM1~ePWM6,ePWM1作为Master在CTR=0的时候 输出同步信号,ePWM2-ePWM6作为Slave接收同步信号,实现ePWM1-ePWM6的载波同步。
现在想把同步信号传输给另外一个F28335,这个F28335同样使用了ePWM1-ePWM6,都作为Slave,实际中使用没有问题,两个F28335的12个ePWM载波可以同步。
但是这两片F28335之间的信号传输并不是100%可靠的,如果通信中断,作为同步信号接收方的F28335需要检测出同步丢失,并且做出响应的处理。
按照sprug04手册描述, TBSTS.bit.SYNCI可以反映上一次锁存的同步信号,写1可以清除同步信号。本想通过在每个开关周期中判断 TBSTS.bit.SYNCI是否为1,然后清除来判断是否有同步信号输入。
测试了一下, 将F28335的ePWM1-ePWM6全部设置为Slave, SyncOut都设置为SyncIn,芯片的SYNCI管脚悬空无输入同步信号。测试PWM输出信号依然正常,TBSTS.bit.SYNCI始终是1说明收到了同步信号,写1也无法清除。与预想完全不同。
ePWM1-ePWM6全部设置为Slave这种状态sprug04文档并没有过多描述,对于这种应用场合能否给一些技术支持?