Electronic – Microcontroller with lots of PWM outputs

microcontrollerpowerpwm

I'm looking at some microcontrollers for power converters control (dsPIC33F and some ARM Cortex M3/M4 like the STM32F372CBT6 for instance) and I'm a bit worried by the limited number of PWM outputs (they top at around 8-11).

Since in the future my needs may change, I'd like to avoid finding myself in a situation where I need more PWM outputs.
Therefore I'd like to know if it would be better to (in order to increase the number of available PWMs):

  • Use multiple microcontrollers and communicate between them (via CANbus for instance), each microcontroller controlling its own PWMs
  • Use external PWM generator modules via SPI/I2C (do they exist?)
  • Any other microcontroller/DSP family supporting more PWM outputs?
  • Creating as many PWM as needed using an FPGA? Not sure about this (IMHO probably over-complicated)

Why this many PWM? I don't think they are so many in fact …
With 10 PWM signals you could only control 2 H-bridges and a synchronous Buck converter.

Feel free to ask more questions if not clear enough.

Best Answer

Here is some references of MCUs with high PWM outputs (> 12)

But as Wouter van Ooijen said in a comment, maybe you should review your architecture and instead of using one big MCU with many PWM outputs, you should use one small MCU for each "component" (SMPS, motor, etc.), and use one big MCU for the general control of all other MCUs. This will lead to a more flexible design: you can add a motor simply by adding a small controlling MCU and linked to the big one in SPI or I2C.

For the CPLD/FPGA approach, you can take a look at Lattice ice40 CPLD and to this reference design : MxN Channel PWM Do some searchs about PWM on Altera and Xilinx website to have other CPLD references.