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.

TMS320F28377D: Regarding input x bar

Part Number: TMS320F28377D


The issue we observed is with input_x_bar.

Initially we didn't assign any GPIO to Input 5 of input_x_bar, so we observed that by default GPIO0 was assigned to input 5.

We have configured GPIO0 as EPWM pin and also we have used HRPWM.
Also we have enabled sync facility of EPWM modules.

Since we have configured GPIO0 as EPWM pin we were getting false sync pulses as GPIO0 was by default configured for input_x_bar 5 i.e EXTSYNCIN1.

Is there any configuration to select out of multiple available input_x_bar destinations?
Also is it essential to configure all input_x_bar destinations to GPIO pins?

  • Hi,

    I think you need to have a look at  section 8.2.1.1 "ePWM X-BAR Architecture " and "Figure 8-2. ePWM Architecture - Single Output" of TRM.

    it states that

    "You may select up to one signal per mux (32 total muxes) for each TRIPx output. Select the inputs to each mux via the TRIPxMUX0TO15CFG and TRIPxMUX16TO31CFG registers. In order to pass any signal through to the ePWM, you must also enable the mux in the TRIPxMUXENABLE register. All muxes which are enabled will be logically OR’d before being passed on to the respective TRIPx signal on the ePWM. You may also optionally invert the signal via the TRIPOUTINV register."

    If you don't want the signal to pass to PWM module you can disable it from here.

  • Hi Amtech,

    Yes, it would be nice if ePWM sync input could be completely disabled. You may assign input5 to any unbound or unused GPIO, and set that GPIO to ouput "0".

    Edward
  • Hi Edward,

    We understand the issue you are experiencing with the GPIO0 being the default value. We have actually corrected this on F28004x devices already.

    The fix that we did there, and you can do through software, is to change the reset value of the INPUTXBARx to be a value other than 0.  For any INPUTXBARx signals which you are not using, you can assign them to GPIOs which do not exist to receive a constant value driven on those inputs.  For example, you could write a value of '400'.  Since GPIO400 does not exist, then this will always be a constant value (likely a '0').

    Regards,

    Kris

  • Hi Kris,

    I don't see documented what You say. Really setting input x bar to not existing gpio 200 or more is guarantied to be tied to "0" ?

    Thanks,
    Edward