LLC Resonant Converter Design Using MC56F8xxxx
LLC Resonant Converter Design Using MC56F8xxxx
Contents
Chapter 1 Introduction........................................................................................... 3
1.1 Application outline..................................................................................................................... 3
1.2 Resonant converter topologies and features.............................................................................3
1.3 MC56F8xxxx controller advantages and features..................................................................... 6
Chapter 5 Testing................................................................................................ 35
5.1 System efficiency.....................................................................................................................35
5.2 Dynamic performance............................................................................................................. 37
5.3 Current limitation function........................................................................................................38
5.4 Output voltage ripple............................................................................................................... 39
Chapter 1
Introduction
The most common known resonant topologies are a Serial Resonant Converter (SRC) and Parallel Resonant Converter (PRC).
• Figure 2 shows the SRC. The resonant tank consists of a serial connected inductor Lr and capacitor Cr. The load RL is also
connected in series with the resonant tank. In the serial resonant converter, the resonant tank and load creates a voltage
divider. Because the resonant tank impedance is frequency dependent, the output voltage of the SRC can be controlled by
switching frequency. At the DC or low switching frequency the resonant tank has high impedance in comparison with the load
impedance and the output voltage is low. Increasing the switch frequency also increases the output voltage. At the resonant
frequency, the voltage drop on the resonant tank is equal to zero and thus the output voltages are equal to the input voltage.
Continuing over the resonant frequency, the output voltage starts to decrease. This is because the resonant tank impedance
increases against to the load impedance. The operation over the resonant frequency is preferred, even if the output voltage
regulation is possible over or below resonant frequency. The inductive character of the resonant frequency allows to achieve
Zero Voltage Switching (ZVS), which is preferred for MOSFET transistors.
The output voltage regulation is also limited by the load value. If the load is very low, the load impedance is high in comparison
with the resonant tank. Keeping the desired voltage at the output becomes difficult. Theoretically the switching frequency can
be infinite, but practically there is some maximal frequency limit. Therefore, the output voltage regulation at light or no load
condition is very limited.
• Figure 3 shows another well-known topology - PRC. The parallel converter uses the same resonant tank as the serial resonant
converter, the serial connection of inductor Lr and capacitor Cr. The PRC differs in load connection to the resonant tank. In this
case, the load is connected in parallel with the capacitor Cr. In this configuration, the voltage divider consists of impedance of
the inductor Lr and impedance of parallel combination of the capacitor Cr and the load RL. This means that both parts top and
bottom impedance of the voltage divider are frequency dependent. At the DC or low switching frequency, the output voltage of
the PRC is equal to input voltages. With the increase of the switching frequency, the output voltage also increases due to the
characteristic of the resonant tank. The maximal output voltage is achieved at a resonant frequency, where the output voltage
is Q times higher than the input voltage. The Q is a quality factor of the resonant tank. Over the resonant frequency, the output
voltage falls, because the inductor impedance becomes more dominant against the capacitor impedance.
The PRC can control the output voltage even at no load conditions. In this case, the PRC is comprised of a resonant tank only.
On the other hand, the permanent connection of the resonant tank to the switch network brings some drawbacks at nominal
operation. At nominal load the parallel converter operates close to the resonant frequency and thus the resonant tanks have
the lowest impedance. This also means a high circulating current through the resonant tank. The parallel converter is also
suggested to operate over the resonant frequency due to ZVS conditions.
Besides the two part resonant tanks, there are almost 40 possibilities of three part resonant tanks. The most popular member
of three part tanks is the LLC resonant converter. The resonant tank consists of two inductors Lr, Lm and one capacitor Cr (see
Figure 4). The load is connected in parallel to the inductor Lm. The LLC resonant converter solves all drawbacks mentioned
above. At no load conditions the output voltage can still be controlled by a voltage drop over inductor Lm. Also at resonant
frequency, the current is limited by the Lm inductor; therefore, the circulating current through the resonant circuit can be kept
on an acceptable level. Another advantage of the LLC resonant converter is that it can operate under ZVS condition over the
whole load range. Table 1 lists the summary of the key features of all mentioned resonant converters.
Operation at fr No No Yes
• ADC conversions can be synchronized by any module connected to the internal crossbar module, such as PWM, timer,
GPIO, and comparator modules.
• Support for simultaneous triggering and software-triggering conversions.
• Support for a multi-triggering mode with a programmable number of conversions on each trigger.
• Each ADC has ability to scan and store up to eight conversion results.
This LLC resonant converter application uses the ADC module in triggered parallel mode, it is synchronized at the center of PWM
signal. ADCA sampled the output current and primary current, ADCB sampled output voltage and input voltage.
The Inter-Module Crossbar and AND-OR-INVERT logic features:
• Provides generalized connections between and among on-chip peripherals: ADCs, 12-bit DAC, comparators, quad-timers,
eFlexPWMs, EWM, and select I/O pins.
• User-defined input/output pins for all modules connected to the crossbar.
• DMA request and interrupt generation from the crossbar.
• Write-once protection for all registers.
• AND-OR-INVERT function provides a universal Boolean function generator that uses a four- term sum-of-products
expression, with each product term containing true or complement values of the four selected inputs (A, B, C, D).
This LLC resonant converter application uses the Inter-Module Crossbar and AND-OR-INVERT logic to provide interconnection
between the eFlexPWM module and ADC module, interconnection between fault signal and on-chip comparator, generate the
synchronization rectifier PWM by multiple signals from eFlexPWM and on-chip comparator.
The application also uses other peripherals like on-chip comparator for hardware protection and secondary side voltage
zero-cross detection, a PIT module for the software timer, 2xSCI module for communication with the primary side and remote
control via PC and several GPIOs for LED indication.
Chapter 2
System description
2.1 Structure
LLC is an isolated buck-boost converter, and the isolation between the primary and secondary side is formed by transformer.
The primary side incorporates the pulse-wave voltage generator, resonant network, isolated drivers, and isolated UART port to
communicate with other devices, such as, the front stage PFC converter.
The secondary side incorporates the synchronous rectifier, voltage/current sensing circuitry, output controller, drivers, PM Bus
communication, and the DSC controller board.
The auxiliary power supply takes the power directly from the DC Bus, and then generates the desired voltages with the
Flyback converter.
Figure 5 shows the overall system structure.
The sensing circuitries are used for sensing DC Bus voltage, resonant current, output voltage, output current and accommodating
them to the MCU acceptable voltage level.
The drivers are used for amplification of MCU PWM signals. Isolated drivers are between the primary and secondary side for the
driving of the resonant converter’s MOSFET on the primary side, which is implemented by pulse transformer. Non-isolated drivers
are used for synchronous rectifier’s MOSFET on the secondary side.
The synchronous rectifier rectifies the output voltage to 12 V level and can reduce the conduction losses. The output controller
determines the load on or off by software.
The DSC MC56F8xxxx controller is situated on the control daughter card and connected to the power board via the PCI slot. The
control card is powered from the secondary side and it works as the master for the whole application.
The controller is also used to communicate with outside devices. One isolated UART is applied to communicating with the
front PFC stage. Another UART to USB conversion is applied to communicating with the host PC for FreeMASTER or firmware
updating. One IIC is reserved for the PM Bus network.
Voe is the fundamental component of the output voltage in the primary side, where:
• φ is the phase angle between Voe and Vin(FHA)
• n is the transformer turn ratio
Where:
•
However, it is also obvious that the variation range of M is limited when fn > 1. To meet the requirements of a wide input voltage,
improving the switching frequency unlimitedly is not desirable, because of the restriction of component availability, the effect of
the transformer parasitic parameters, and so on.
Considering the above contradictions, the additional symmetric Pulse Width Modulation (PWM) mode, namely adjusting duty
cycle of fixed frequency drive signals to regulate the output voltage, is desired.
When using symmetric PWM, Vin(FHA) expresses as:
Where:
• d represents the duty cycle of the drive signal.
Then the voltage gain can be obtained.
Assuming a fixed working frequency which is larger than the resonant frequency, Figure 8 shows the voltage gain function for
different values of Qeunder PWM mode. The voltage gain can be any value between 0 and 1 when the duty cycle varies from 0
to 0.5.
NOTE
In order to ensure ZVS, the duty cycle can’t be too small. This reference chooses 0.3 as the minimum duty cycle.
When the input voltage is too high or the load is too light, the symmetric PWM mode may still not meet requirements. So the
burst mode, namely blocking switching drive signals periodically, is taken. The burst mode control can also improve the light load
efficiency of the LLC converter. Figure 9 shows the burst operation processes. When the drive signals are not blocked, the output
voltage rises, and conversely declines.
As seen in Figure 7, the voltage gain decreases as the switching frequency increases in the inductive area, while in Figure 8,
the voltage gain decreases as the duty cycle decreases. In PFM mode, when the maximum switching frequency can’t meet the
gain requirement, transfer to PWM mode. If the minimum duty cycle still can’t meet requirements, transfer to burst mode. In the
closed-loop control, we take the required duty cycle which reflect the current state of the system instead of output voltage as the
judgement condition to smoothly switch between different modes. Figure 10 shows the condition of each mode and the transition
between them, a hysteresis is taken in burst mode to avoid frequent switching. In Figure 10, Tmax is the allowed maximum
switching period, Tmin is the allowed minimum period, Doff is minimum allowed duty cycle, Don and Doff is the upper and lower
limitation of hysteresis.
With this control scheme, LLC can work under three states:
• S1 constant voltage state: System mainly working under this mode to maintain constant 12V output. Output voltage
equals its reference and output current smaller than its reference, negative deviation causes the PI result of output current
regulator reaches its upper limit which is zero. So the output current loop is calculated but has no effect on the control, the
control signal is only related to output voltage.
• S2 constant current state: When output current reaches the current limitation threshold, output voltage decrease and
constant current loop takes effect. Output current equals its reference and output voltage smaller than its reference,
continuing positive deviation causes the PI result of the output voltage regulator has been equals its upper limit. So even if
the voltage loop is calculated, only the change of output current takes effect.
• S3 transient state: It is the intermediate state when switching between S1 and S2 and both the voltage and current loop
take effect in this state. If the load exceeds the rated load in constant voltage mode, system will change from constant
voltage state to constant current state. In this process, the PI result of voltage loop increases and the PI result of current
loop decreases. If the load reduces to less than ratings, system changes from constant current loop to constant voltage
loop. In this process, the PI result of voltage loop decreases and the PI result of current loop increases.
In summary, the concurrent outer loop smooth transition achieves both constant output voltage and overload current limitation.
The resonant current inner loop ensures the good performance in all range with the same controller. Figure 12 shows the output
I-V curve.
Chapter 3
Hardware design
This chapter describes the LLC resonant converter hardware design, provides the design procedure of resonant network and
transformer, provide the layout consideration for high frequency, high voltage, large current LLC resonant converter use case.
3.1 Specifications
Table 2. LLC resonant converter specifications
Output voltage Vo 12 V
Output current Io 20 A
Efficiency η 92%
Lm/Lr ratio m 4
The required gain at maximum and minimum input voltage can be determined with the following equations.
Qe can be determined according to gain curves (as shown in Figure 7). In the reference design, taking 10% gain margin and
operating frequency range into considerations, then Qe is selected as 0.36.
Calculate the equivalent load resistance:
The resonant circuit consists of resonant capacitor Cr and resonant inductor Lr. The resonant parameters can be calculated as:
And for integrated transformer, the actual turn ratio of transformer should be calculated according to the following equation.
The transformer core can be determined according to the output power, and after the core is selected, the Aeis also determined.
The secondary and primary turns can be calculated according to the following equations.
In the reference design, integrated transformer is used. Considering the power, ETD44 coil is selected, the flux density swing is
selected as 0.3 T to reduce losses in the magnetic core,Np is selected as 32 turns and Ns is selected as 2 turns.
Figure 14 (a) shows the primary side MOSFET drive circuits. The resistors and capacitors were select to provide smooth drive
signal and avoid the transistor to enter deep saturation. Figure 14 (b) shows the secondary side SR MOSFETs drive circuits.
Figure 15 shows the zero crossing signal detection signal for synchronize MOSFETs, sec_2 connect to secondary coil of main
transmitter, I_SR2 connect to the internal comparator DSC to provide the zero crossing signal for SR divers.
Figure 16 shows the primay current detection circuits. One 1:50 current sensor is used and one channel connect to DSC
comparator for hardware protection, another channle connect to ADC for inner primary current loop control, adjust the resistor and
capacitor value can change the signal frequency bandwindth.
Figure 19 shows the safe distance between primary side and secondary side, which is larger than 6 mm for reinforce insulation.
The primary side to ground insulation is larger than 2.5 mm for high input voltage, and the secondary side to ground insulation is
larger than 1 mm.
Additionally, the ground is not poured as large as possible, especially not poured below the high frequency circuits, only meets
the current level and heat dissipation, thus to avoid the import of high frequency system operation interfere.
Chapter 4
Software design
This application core is the MC56F8xxxx DSC. This low-cost DSC has enough peripherals and features suitable for
implementation of full digital control of LLC resonant converter.
The software is written in C language using Code Warrior, and calls the embedded software library (FSLESL) for time saving.
For more information about how to use these libraries in the Code Warrior project, see Inclusion of DSC Freescale Embedded
Software Libraries in Code Warrior (document AN4586).
This section describes the design of the software blocks, including software structure, configuration of the DSC peripherals, control
timing, implementation of codes run in ram, and boot loader.
Where:
• Frac value is the normalized value of the physical quantity.
• actual value is the actual value of the physical quantity expressed in unit.
• quantization range is the maximum measurable value of this physical quantity.
Besides, the software regularly checks the LLC_run instruction to decide whether to start up. When the command, LLC_run,
is set, the application state machine continues into the RUN state. In this state, the controller starts to take effect to achieve
constant output voltage or limiting output current. Besides, the LLC_run instruction is also regularly checked in RUN state. When
the command, LLC_run, is cleared, the application state machine goes back to STOP state and waits for the LLC_run command
to be set again.
The fault detection executes under all states. If any fault is detected, the application state machine enters the FAULT state. In
this state, fault detection is still executed and whether to restart the application is optional. If allowed, when the fault condition is
certainly cleared, the application state machine restarts from the INIT state. If not, the software stays in a never ending loop and
output of the converter is disabled. The system needs to power up again for a restart.
The RUN state is divided into two sub-state according to LLC application, as shown in Figure 21. When application state
machine transits from STOP to RUN, the system first comes into the soft-start sub-state and starts LLC resonant converter to
run with maximal switching frequency and changeable duty cycle which is determined by current output voltage. The duty cycle
is increased following the ramp until it reaches 50%. After that, the switching frequency is decreased following the ramp until a
certain output level is reached. Then the sub-state continues into the normal state and the closed-loop controller works to calculate
the desired duty cycle and switching frequency. In this sub-state, the reference output voltage is increased following ramp until it
reaches desired value and the load is connected when output voltage reaches its final reference.
The application main state machine is declared in state_machine.c and state_machine.h. It is declared as:
The sub-state functions and corresponding transition functions are defined in LLC_statemachine.c and are called when the
system is in the RUN state as the same way as the main state.
setReg16(PWMA_SM0VAL1,(Ts*6)-1 );
}
else if(f16Ts <= LLC_Drive.sPerCtrl.f16Ts_Lim2)
{
setReg16(PWMA_SM0VAL1, (Ts<<2)-1);
}
else
{
setReg16(PWMA_SM0VAL1, (Ts<<1)-1);
}
2. Define code sections with pragma directive. Both the PWM_Trigger_ISR() routine and the functions called in it are included
in this section.
3. Shrunken the .p_Code memory segment length and assign a size fixed flash area for relocated code with Linker Command
File (LCF). Different device has different memory map, take MC56F82748 for example.
MEMORY {
.x_Peripherals (RW) : ORIGIN = 0xC000, LENGTH = 0
4. Reside the defined code section in corresponding section segment with LCF. And remember to reconfigure the address of
each section segments to prevent overlap.
SECTIONS {
.at_of_p_ramFuncSpace :
{
WRITEW(0X2); # dummy insertion, prevent warning
pROM_data_start = .;
} > .p_ramFuncCode
* (rtlib.text)
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
#- - relocate functions to section .codes_onRAM - - - - - - - - - - -
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
* (ramFunc_main.text)
* (ramFunc_llc.text)
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#- - manually relocate called library into this section - - - - - - - - -
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GFLIB_SDM.lib (.text)
PCLIB_SDM.lib (.text)
. = ALIGN(2);
F_RAMcode_end_addr = .;
ramFunctions_size = F_RAMcode_end_addr - F_RAMcode_start_addr;
ramFunctions_LdAddr = ramFunc_code_start + data_size;
} >.p_ramFuncSpace
…
}
5. Enable pROM-to-pRAM and pROM-to-xRAM copy utility and set the pass code sizes, resident address and runtime
address in LCF.
F_Livt_size = ramFunctions_size;
F_Livt_RAM_addr = F_RAMcode_start_addr;
F_Livt_ROM_addr = ramFunctions_LdAddr;
F_xROM_to_xRAM = 0x0000;
F_pROM_to_xRAM = 0x0001;
F_pROM_to_pRAM = 0x0001;
For more details on how to relocate codes into RAM, refer to Relocate subroutines to PRAM (document AN5143).
4.8 Bootloader
One boot loader code is also provided for this application. Boot loader code is configured to reside in the nonvolatile memory
besides the application codes. Figure 26 shows the memory configuration for the boot loader implemented by LCF. A fixed-size
flash area is assigned to the boot loader. The boot loader code can communicate with a host to get the updated application codes
and program the codes into the application code memory area on the chip through USB.
Figure 27 shows the execution flow of the boot loader. If an effective data is received during the monitoring, the boot loader is
carried on and the non-boot loader flash is erased and programmed. If not and monitoring time is out, the software jumps to
execute the application code. The boot loader remains unchanged under both conditions.
Figure 28 shows the jump between boot loader and the application code. When the LLC application code is running, boot loader
can be triggered in STOP state by setting the command “Flashing” through FreeMASTER. Boot loader jumps to application code
automatically when it is completed. Besides, there is one thing need to pay special attention because of the usage of fractional
delay logic of eFlexPWM. The fractional delay block requires a continuous 200 MHz clock from PLL. If the chip PLL is unlocked
and/or missing its input reference when the fractional delay block is being used, then the output of PWM can be stuck even if the
PLL restarts. The chip PLL is unlocked when the program jump between application and boot loader, so the fractional delay should
be manually disabled before jumping to boot loader and then enabled after jumping to the application to let the fractional delay
block output normally.
In order to cooperate with boot loader, two extra issues need to be considered in application code:
• The memory for application code can’t go beyond 0x000073FD, the upper space is reserved for boot loader. The start address
of the application code and delay time should be entered in the address range 0x000073FD-0x000073FF.
MEMORY {
……
.p_Code (RWX) : ORIGIN = 0x00000208, LENGTH = 0x000071F5
.DelayT (RWX) : ORIGIN = 0x000073FD, LENGTH = 0x00000003
……
}
SECTIONS {
……
.delay_time :
{
WRITEW(F_EntryPoint); # jump to the application code after bootloader
• Modification should be made to Vector_Config.h, generated by PE. The first two interrupt address must be changed as
shown in the following code, so that the program will first jump to the boot loader once the chip is reset.
For details about how to implement a boot loader, see Boot Loader Implementation on MC56F84xxx DSC Family
(document AN4759).
For details about how to use hyperterminal together with boot loader to realize the boot loader function, see Serial Boot loader for
56F82xx (document AN4275).
Chapter 5
Testing
This section provide the testing results of LLC resonant converter.
— Iout (A) Vout (V) Pout (W) Iin (A) Vin (V) Pin (W) Efficiency
— Iout (A) Vout (V) Pout (W) Iin (A) Vin (V) Pin (W) Efficiency
— Iout (A) Vout (V) Pout (W) Iin (A) Vin (V) Pin (W) Efficiency
— Iout (A) Vout (V) Pout (W) Iin (A) Vin (V) Pin (W) Efficiency
Figure 32 shows the dynamic performance at 330 V input, load transition from 0% to 65%, from 50% to 100%, and from 0%
to 100%.
Figure 35 shows the performance of 12 V output voltage ripple at 330 V input, system working in PFM when output current is 0
A, 10 A and 20 A.
Chapter 6
Revision history
Table 6. Revision history
While NXP has implemented advanced security features, all products may be subject to
unidentified vulnerabilities. Customers are responsible for the design and operation of their
applications and products to reduce the effect of these vulnerabilities on customer’s applications
and products, and NXP accepts no liability for any vulnerability that is discovered. Customers
should implement appropriate design and operating safeguards to minimize the risks associated
with their applications and products.
NXP, the NXP logo, NXP SECURE CONNECTIONS FOR A SMARTER WORLD, COOLFLUX,
EMBRACE, GREENCHIP, HITAG, ICODE, JCOP, LIFE VIBES, MIFARE, MIFARE CLASSIC,
MIFARE DESFire, MIFARE PLUS, MIFARE FLEX, MANTIS, MIFARE ULTRALIGHT,
MIFARE4MOBILE, MIGLO, NTAG, ROADLINK, SMARTLX, SMARTMX, STARPLUG, TOPFET,
TRENCHMOS, UCODE, Freescale, the Freescale logo, AltiVec, CodeWarrior, ColdFire,
ColdFire+, the Energy Efficient Solutions logo, Kinetis, Layerscape, MagniV, mobileGT, PEG,
PowerQUICC, Processor Expert, QorIQ, QorIQ Qonverge, SafeAssure, the SafeAssure logo,
StarCore, Symphony, VortiQa, Vybrid, Airfast, BeeKit, BeeStack, CoreNet, Flexis, MXC, Platform
in a Package, QUICC Engine, Tower, TurboLink, EdgeScale, EdgeLock, eIQ, and Immersive3D
are trademarks of NXP B.V. All other product or service names are the property of their
respective owners. AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio,
CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Enabled,
NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME,
ULINK-PLUS, ULINKpro, µVision, Versatile are trademarks or registered trademarks of Arm
Limited (or its subsidiaries) in the US and/or elsewhere. The related technology may be protected
by any or all of patents, copyrights, designs and trade secrets. All rights reserved. Oracle
and Java are registered trademarks of Oracle and/or its affiliates. The Power Architecture and
Power.org word marks and the Power and Power.org logos and related marks are trademarks
and service marks licensed by Power.org.