Changing the modulation frequency during the control execution may be useful in applications such as resonant converters or in case of dynamic reconfiguration (start-up of drives for instance). This note shows how the B-Board PRO and B-Box RCP support the real-time tuning of the modulators' switching frequency.
The variable-frequency feature has been introduced in version 3.4 for C++ and in version 3.6 for ACG (Simulink & PLECS).
The installer for the latest SDK is available on imperix website, under Support → Downloads (https://imperix.com/downloads)
CB-PWM block can be freely mapped to any of the four available
CLK blocks, variable-frequency modulation is designed to be implemented by:
CB-PWMblock that must have a variable frequency to a specific
Changing the frequency of the corresponding
CLKduring the execution.
More than one variable-frequencies can be used simultaneously.
The interrupt and the sampling processes are linked by design to the same
CLK(CLOCK_0) and their frequency can not be changed during the execution. Consequently, an additional
CLKblock, mapped on CLOCK_1, CLOCK_2, or CLOCK_3, must be used for variable frequency operation.
CLKblocks are implemented such that frequency changes are glitch-less, i.e. does not generate any unexpected behavior during the transition. Any frequency step can therefore be done at any time during operation.
As shown in the following code snippet, the frequency change is performed by re-configuring the clock generator
CLOCK_1 during real-time control execution. This example uses the following configuration:
Interrupt and sampling
Fixed frequency (50kHz)