This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280049C: doubts using CLB to expand EPWM trip capabilities

Part Number: TMS320F280049C


Hello,

I am exploring the possibility of using the CLB to do advanced EPWM tripping (basically, increasing the flexibility of the embedded epwm tripzone submodule).

For that, my idea was to do something like in the picture below: the outputs of the Trip Zone submodule would enter in a CLB tile as inputs (toguether with other inputs from the Digital Compare submodule), and then the output of the CLB would intersect the final EPWM that goes to the actual GPIO depending on the inputs and the state of the CLB finite state machines.

For the moment, selecting the input is clear for me (as far as i know). In the SysCfg tool, I simply select the inputs to come from the global mux, and then i select the "EPWM1A/B trip output" signal.

However, for the output is not so clear to me. According to the technical reference manual, these are the possible output intersections with EPWM 1 (for example):

So, my question is: what output should I select so that the output of the CLB overrides the output of the trip zone and goes directly to the GPIO? I am doubting between PWMA and PWMA_OE, but it is not clear what each of them means. What is the difference? Which one should I use?

Thank you and best regards,

Jorge.

  • Hi Jorge,

    Thank you for reaching out on E2E forums. For this specific purpose, you will want to override the PWMA and PWMB outputs. These correspond directly to the signals which go to the GPIO MUX. The _OE signals (standing for output enable) is used to tristate the EPWM outputs. It is a way for the CLB to trip the output of the EPWM, and it is separate from the trip zone module.

    Regards,

    Peter

  • Hi Peter,

    Thank you for your fast response. 

    But now, i am hesitating too about the input that I should select. What should I select as input to my CLB block? Is it ePWM1A, or is it PWMA[OE] (in the syscfg tool it is written as "ePWM1A trip output"?

    Just to clarify: i want to take as inputs to the CLB the epwm signals AFTER they pass through the trip zone submodule, modify them in the CLB, and then override them at the GPIO output.

    I have the feeling that the TRM can be improved a lot with better explanations on which signals it is referring to, as sometimes these abbreviations are confusing.

  • Hi Jorge,

    Apologies for the delay in response, we had a US holiday.

    It sounds like you just want to manipulate the ePWM signals after they have gone through all submodules within the ePWM. To do this, you would simply select the ePWM1A output as this is the signal that would be going to the GPIOs. Then you would configure the submodules of the CLB to perform your desired logic implementation. To have this CLB output override the original ePWM signal (and go out to the same GPIOs as you have configured for EPWM) you would select to override the PWMA signal. 

    Also do note that this EPWM1A input is asynchronous to the CLB so it is recommended to have sync input enabled.

    This is actually showcased in our CLB hands-on lab in C2000 Academy, which you can find here: Configurable Logic Block (CLB) Lab (ti.com)

    Thank you for the suggestions on TRM improvements, we have an update planned in the near future so I will make note of how we can make this more clear

    Regards,

    Peter

  • Thank you very much Peter!

    Exactly as you just said, I want to do extra logic manipulation to the ePWM signals after they have passed through all the submodules. For the moment, i think that your answer resolves all my questions. I will try to implement the logic as you suggest to verify that it works as I intend.

    Thanks again and best regards.

    Jorge.