SMPS control components and technologies

armfpgaswitch-mode-power-supply

Preface: the switch-mode power supply is a flyback power-factor corrected AC-DC converter. I'm currently using a combination of AVR microcontroller (ATmega64A) with some analog (such as DACs) and digital (logic) external components. So control system used to switch main transistor, to control inductor discharge time, failures and so on (no special purpose PWM-controller implemented).

This approach has some certain limitations and drawbacks:

  • I can not precisely control several high-frequency processes and I limited regarding switch frequency to about 30-50 kHz

  • If I need to make any changes to hard logic – I need to use solder and a knife

  • I don't really like AVR documentation and periferal structure: many of software changes require a lot of reading and debugging, as peripheral (for example timers) has complicated control and modes

There are several alternatives I already considered as a next step:

  • ARM Cortex-M0(3) controllers (looks much faster than AVR, more peripheral, huge community),

  • Altera FPGAs (even faster, flexible programmable logic on a single chip, however there are no or rare any periphery such as ADCs, DACs, require for several unusual power supplies, no small packages available, quite different development chain and finally much more expensive).

So for me ARM looks as an obvious step forward but FPGAs looks very promising in some aspects.

Maybe I'm missing some alternatives?

For example I know that TI, ST and Microchip has several special purpose microcontrollers dedicated to SMPSs.

Maybe there are any controllers between FPGAs and GPMCs which can be good for my purposes?

Conclusion: I realize that I did not describe my needs in a degree that would be enough for expert answer, but I hope to have some directions to look forward and decide myself where to go in my closest future.

Best Answer

Not really an answer but a "what would I do"

I used to work for a department where many bright people worked for many years to design a microcontroller based DCDC converter. They could not get it to work properly under all circumstances ! For sure the demands on that design were more complex than yours.

The reason why I bring this up is that I doubt if it is a good idea to try to implement this with an FPGA or microC. instead of using a dedicated SMPS controller. For sure that would be far easier and above all SAFER !

Of course the decision is yours but I know what I would do (use a dedicated SMPS controller).