DC/DC controller using the PSoC

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ToUr_4722366
Level 1
Level 1

Hello all,

A common digital control loop of a voltage mode dc/dc converter includes sensing the output voltage, comparison to a reference, compensation and PWM signal generation for the power switches. I have read some datasheets of Cypress PSoC and was wondering, can this IC act as a digital controller for a dc/dc converter (for example).

Would appreciate any thoughts/ references

Thanks!

Tom

0 Likes
1 Solution
BuUl_1845111
Level 1
Level 1

Hi Tom,

referring to your original question. Yes you can implement a digital dc/dc controller using a PSoC, I actually think that the PSoC architecture is very good for this application, despite the limited PWM resolution (see later).

I implemented several dc/dc controller designs using a PSoC5LP, both voltage mode and average current mode controllers, but in a lower frequency range of 100kHz - 300 kHz.

In this case the major limitations (regarding switching frequency) is the lack of a high-resolution PWM module, as far as I know, in the PSoC architecture.

Therefore resolution of the digital PWM signal is limited by the controller operating clock frequency. With a maximum clock of 80MHz in the PSoC5LP, this limits the switching frequency to 314kHz (8 bit resolution) and 628kHz (7 bit resolution).

All other things could be implemented very well, even in the PSoC5LP, you can do all calculations for the control loop (pid or 3pole 3zero compensator)

in less than 3us using fixed point arithmetic (in PSoC6 the M4 core should have a floating point unit and therefore you could be faster without using fixed point arithmetic).

You can even use the digital filter block assembler in the PSoC5LP to compute the control law in less the 500ns, but I actually never used this. Also the 1MSPS ADC is fast enough for this purpose.

With the PSoC6 you should be able to get things running at 8 bit PWM resolution with 588kHz (150 MHz clock for PWM) and at 7 bit PWM resolution with 1.17 MHz (150 MHz clock for PWM),

but I do not have any experience with the PSoC6. Also the 2MSPS ADC should be sufficient for the purpose. Using the PSoC4 the frequency will be further reduced, as with the maximum clock of 48MHz you get 188kHz (8 bit PWM resolution) and 375kHz (7 bit PWM) resolution.

Therefore I think PSoC is very well suited for dc/dc control, but limited by the lack of a high-resolution PWM.

Best regards

View solution in original post

0 Likes
5 Replies
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi Tom,

Yes. You can use PSoC for this purpose.

PSoC has fixed function components like ADC to sense the voltage at the output and it has PWM to change the duty ratio of the control signal.

Based on the accuracy and ripple required, you can choose either PSoC 4/6 family devices.  PsoC 6 is dual core SOC with ARM Cortex M4 and M0+ cores. You can implement your control logic in M4 core and sensing in M0+ core.

Please refer the following PSoC 6 family datasheets.

https://www.cypress.com/documentation/datasheets/psoc-62-cy8c62x8-cy8c62xa-datasheet

https://www.cypress.com/file/385916/download

You can also use power PSoC CY8CLED0xx0x to implement DC-DC Buck converter. Please refer the following application note.

https://www.cypress.com/file/151151/download

Thanks

Ganesh

0 Likes

Thank you for the detailed answer.

I am trying to understand the limitations of the M4 processor.

For a 1MHz switching frequency, the control logic will need to execute all calculations in addition to all sampling operations in under 1us. The control logic, may include a dual-loop (as in average current mode) or include various protections functions such as filtering the sensed current/voltage, etc.

How can I determine if the processor will be able to finish all required operations before the next cycle starts?

Thanks,

Tom Urkin

0 Likes

ToUr,

There are few PSoC projects implementing switched power controller. I recommend reading this one

https://www.eeweb.com/profile/eeweb/articles/digital-pid-compensation 

/odissey1

0 Likes
lock attach
Attachments are accessible only for community members.
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi ToUR,

>>For a 1MHz switching frequency, the control logic will need to execute all calculations in addition to all sampling operations in under 1us.

-->In PSoC6 the M4 core can operate upto speed of 150MHz and M0+ core can operate upto 100MHz. So based on your algorithm, you can calculate the processing power required for your application.

--> If you are using PSoC Creator, you can use the UDB blocks present inside PSoC to implement the custom digital logic for your application. UDBs work in parallel with CPU like other fixed function peripherals. I am attaching the UDB information document with this thread.

--> If possible, please attach the complete block diagram of your DC-DC converter including sensors and actuators used in the application. It will help us to respond better.

>>"How can I determine if the processor will be able to finish all required operations before the next cycle starts?"

--> If you have a development kit, you can have a try. You can also buy a low cost PSoC 63 BLE module prototyping kit from the link below:

https://www.cypress.com/documentation/development-kitsboards/psoc-6-ble-prototyping-kit-cy8cproto-06...

Please have a look on DC-DC converters provided by Infineon too from the link below and let us know if you are interested.

https://www.infineon.com/cms/en/product/power/dc-dc-converters/

Thanks

Ganesh

0 Likes
BuUl_1845111
Level 1
Level 1

Hi Tom,

referring to your original question. Yes you can implement a digital dc/dc controller using a PSoC, I actually think that the PSoC architecture is very good for this application, despite the limited PWM resolution (see later).

I implemented several dc/dc controller designs using a PSoC5LP, both voltage mode and average current mode controllers, but in a lower frequency range of 100kHz - 300 kHz.

In this case the major limitations (regarding switching frequency) is the lack of a high-resolution PWM module, as far as I know, in the PSoC architecture.

Therefore resolution of the digital PWM signal is limited by the controller operating clock frequency. With a maximum clock of 80MHz in the PSoC5LP, this limits the switching frequency to 314kHz (8 bit resolution) and 628kHz (7 bit resolution).

All other things could be implemented very well, even in the PSoC5LP, you can do all calculations for the control loop (pid or 3pole 3zero compensator)

in less than 3us using fixed point arithmetic (in PSoC6 the M4 core should have a floating point unit and therefore you could be faster without using fixed point arithmetic).

You can even use the digital filter block assembler in the PSoC5LP to compute the control law in less the 500ns, but I actually never used this. Also the 1MSPS ADC is fast enough for this purpose.

With the PSoC6 you should be able to get things running at 8 bit PWM resolution with 588kHz (150 MHz clock for PWM) and at 7 bit PWM resolution with 1.17 MHz (150 MHz clock for PWM),

but I do not have any experience with the PSoC6. Also the 2MSPS ADC should be sufficient for the purpose. Using the PSoC4 the frequency will be further reduced, as with the maximum clock of 48MHz you get 188kHz (8 bit PWM resolution) and 375kHz (7 bit PWM) resolution.

Therefore I think PSoC is very well suited for dc/dc control, but limited by the lack of a high-resolution PWM.

Best regards

0 Likes