Can I use GPIO pin that is not provide PWM mode for PWM?

Can I use GPIO pin that is not provide PWM mode for PWM?

Due to BBB doesn’t have enough PWM pins to use, so can I use GPIO pin that is not provide PWM mode for PWM?

I want to use GPIO pin with IGBT gate drive (TIDA-00446) that require PWM input.

A couple of options to consider; neither are perfect solutions but could work ok based on your application:

  1. Toggle a GPIO with software, there will be 1-2KHz of jitter and you can’t guarantee that that will be the maximum jitter you ever see.

  2. If the extra PWM signal can be an exact copy of an existing hardware based PWM, you could use an ISR to toggle another GPIO anytime the hardware PWM transitions.

Toggling a GPIO pin by ARM software is very limited.

There’re 19 pins at the board for hardware PWM output, 13 of them can work simultanously:

`

Pin Subsystem Frequency Range Notice
P8_07 TIMER-4 0.000010914 to 6e6 Hz free
P8_09 TIMER-5 0.000010914 to 6e6 Hz free
P8_10 TIMER-6 0.000010914 to 6e6 Hz free
P8_08 TIMER-7 0.000010914 to 6e6 Hz free
P8_13 PWMSS-2, PWM B 0.42 to 50e6 Hz free
P8_19 PWMSS-2, PWM A 0.42 to 50e6 Hz free
P9_14 PWMSS-1, PWM A 0.42 to 50e6 Hz free
P9_16 PWMSS-1, PWM B 0.42 to 50e6 Hz free
P9_21 PWMSS-0, PWM B 0.42 to 50e6 Hz free
P9_22 PWMSS-0, PWM A 0.42 to 50e6 Hz free
P8_34 PWMSS-1, PWM B 0.42 to 50e6 Hz HDMI
P8_36 PWMSS-1, PWM A 0.42 to 50e6 Hz HDMI
P8_45 PWMSS-2, PWM B 0.42 to 50e6 Hz HDMI
P8_46 PWMSS-2, PWM A 0.42 to 50e6 Hz HDMI
P9_29 PWMSS-0, PWM B 0.42 to 50e6 Hz MCASP0
P9_31 PWMSS-0, PWM A 0.42 to 50e6 Hz MCASP0
P9_28 PWMSS-2, CAP 0.0233 to 50e6 Hz MCASP0
P9_42 PWMSS-0, CAP 0.0233 to 50e6 Hz free (double pin)
JT_05 PWMSS-1, PRUCAP 0.0233 to 50e6 Hz JTag (UART0_TXD)

`

If those are not enough, you can use direct PRU pins to generate PWM. When both PRUSS are used, up to 24 PWM outputs are possible (ie. GitHub - omcaree/bbb-prupwm: PWM servo control with the BeagleBone Black PRUs).

BR