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.

PWM8B on GPIO15/PIN64 is broken on F28M36 Concerto Control Card R.1.1?

Hi there,

i was trying to use the PWM8B output on GPIO15 and i can see that the output is not present on this PIN.

Is this a problem of the F28M36 control card, or is the DSP core that has an issue with this pin?

I have already tried with 3 simiar boards, is the same. The GPIO setup should be ok, as in the example, and i give rights from the M3 master core. PWM8A is working on GPIO14, pin 62, and PWM8B is working on GPIO61, pin 126 but not on GPIO15 pin 64.

Has anyone experienced the same issue on this matter?

Best regards,

Ionut

  • Did you check with the sample code and try editing it ?

    Regards,

    Gautam 

  • offcourse, i have just used the example provided and enabled PWM1-9 modules and the specified pins i said.

  • Then there's some issue with the initialization. Can you please attach your code such that I can identify the error?

    Regards,

    Gautam

  • Dear Mastermind Gautam, there is no initialization error. I have specified that all PWM pins are ok except GPIO15, and PWM8B operates on another pin, namely GPIO61, but not on GPIO15. I am not mastermind, but i know how to initialize a GPIO. Please don't fill the forum with unnecessary questions to become genius in points.

    Can an TI employee please answer my question on the top?

    Best regards,

    Ionut

  • Sure Prodigy Ionut, I back out. Even though PWM and ADC is my area of expertise; don't feel like helping you for sure!

    Regards,

    Gautam

  • Ionut,

    The setup_m3.c project (that you are likely using to give some amount of GPIOs over to the C28x core) allows the M3 to retain control of GPIO15.  As a result, the C28x will not control GPIO15 and no PWM will be output.

    The M3 uses GPIO15 as an input to drive a non-maskable interrupt (NMI). 

    To give control of GPIO15 over to the C28x you'll need to edit the setup_m3.c file.  In particular you should copy and paste this code (in the .c file already but it is currently done after all the GPIO configuration):

    // Unlock the register to change the commit register value for Port B Pin 7
    // This disables the NMI functionality on the pin and allows other muxing
    // options to be used
    HWREG(GPIO_PORTB_BASE+GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;
    // Write to commit register
    HWREG(GPIO_PORTB_BASE+GPIO_O_CR) |= 0x000000FF;

    to around line 60 (just prior to configuring the GPIOs).

    Hopefully this helps.


    Thank you,
    Brett

  • Dear Brett,

    Excellent, that is the answer i was waiting for. Thank you very much for your help!

    I had actually made a hardware fix by soldering a wire to the GPIO61, but now when i have the software fix you provided me i can just cut that wire and go on with the low impedance path on GPIO15 that was made in my hardware design initially. Thank you!

    Kind regards,

    Ionut