Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE
Tool/software: Code Composer Studio
Hello, I am Jongwoo Kim, and I am struggling with ePWM X-BAR.
My purpose is to produce DCAEVT1.sync signal from CMPSS.CTRIPH so that an ePWM module can be synchronized with the rising edge of the comparator output.
I tested 3 ways to achieve this function as follows:
1. CMPSS.CTRIPOUTH -> GPIO_OUT ------ wired connection ----> GPIO_in -> EXTSYNCIN -> synchronized.
2. CMPSS.CTRIPOUTH -> GPIO_OUT ------ wired connection ----> GPIO_in -> GPIO X-BAR -> TRIPx -> DCAH -> DCAEVT1.sync -> synchronized.
3. CMPSS.CTRPH -> ePWM X-BAR -> TRIPx -> DCAH -> DCAEVT1 .sync -> synchronized.
I successfully got the synchronized ePWM by using the methods 1 and 2. Therefore, I think there is no problem in CMPSS and DC module.
However, when I tried the method 3 (this is the most attractive way since it does not use the connection outside), ePWM module is not synchronized. just free running.
Therefore, I think the CMPSS.CTRPH -> ePWM X-BAR -> TRIPx steps in the method 3 has a problem.
In this case, could you give me some help? The followings are my settings for CMPSS and ePWM module. (please note that the comparator output and DC submodule are fine as I mentioned before)
(Comparator output is okay. CTRIPOUTH is also okay. But I am not sure CTRIPH is okay.)
Cmpss2Regs.COMPCTL.bit.CTRIPHSEL = 2; // Digital filtered comparator output is uploaded to ePWM X-BAR
EPwmXbarRegs.TRIP10MUX0TO15CFG.bit.MUX2 = 1; // CMPSS2.CTRIPH -> MUX2 output -> TRIP10MUXENABLE switch
EPwmXbarRegs.TRIP10MUXENABLE.bit.MUX2 = 1; // TRIP10MUXENABLE enables MUX2
EPwmXbarRegs.TRIPOUTINV.bit.TRIP10 = 0; // Active high
EPwm7Regs.DCTRIPSEL.bit.DCAHCOMPSEL = 9; // TRIPIN10 is selected for DCAH
(I also tested DC submodule so that DCAH->DCAEVT1.sync is working.)
Thank you for your interest in advance.
Sincerely,