AnsweredAssumed Answered

DRM119 - LLC Resonant AC/DC Switched-Mode Power Supply using the MC56F8013 and MC56F8257

Question asked by Brent Williams on Feb 17, 2014
Latest reply on Dec 26, 2014 by John Winters



I am looking at the reference design – DRM119LLC Resonant AC/DC Switched-Mode Power Supply using the MC56F8013 and MC56F8257


The project utilizes 6 PWMs which are defined in



For  PWM sub-module 1, it defines that PWM A and B are operating independently.


This is contrary to what the reference manual states on page 25 and Figure 2-11 show Q1 and Q2 as part of PWM sub-module 1 (NOTE: sub-modules 0 and 2 are both complementary):


“Vg  is generated by a half bridge consisting of transistors Q1 and Q2.  The transistors are switched in a complementary manner with 50 % of duty cycle.”


Not sure why the discrepancy??


Also there are a few numbers I am trying to understand how they were derived:


In …\secondary_code\main.h

  • How is the following derived (i.e. how does 23406 equate to 200KHZ)??

#define MIN_DT_FREQ 23406   //200kHz

  • Dead time for this project is measured in IPBus clock cycles which for the 827 processor is 60MHZ.  For a value of 30 this equates to 0.5usec or 2000000.  I guess I was expecting this to be equivalent to the 200KHZ in MIN_DT_FREQ  (i.e seem to be off by a factor of 10)??

#define MIN_DEADTIME            30

#define MIN_DT_FREQ             23406   //200kHz


In …\secondary_code\main.c, specifically in the void IsrBuckReload(void) you have the following instruction and comment:


  1. move.w  #-15292,Y1      // 0.46666666 range 160 - 300kHz into Y1


How does this value equate to the range of 160KHZ to 300KHZ??


In essence the first part of this ISR obtains the current output voltage (ADC sample) and the required voltage input.  It passes these values into a Proportional-Integral (PI) regulator.  The output corresponds to the switching frequency of the LLC resonant converter. In the ISR the following occurs:


  1. Take output of PI and multiples the value by the -15292 mentioned above. 
  2. Add 0.9999 to the value in 1)
  3. The value of 3200 is divided by the value in 2)


This is then used to update the PWM frequency settings for PWM sub modules 0 and 1.


Where does the value 3200 come from??


Basically I am trying to understand how the output of the PI algorithm then gets used to calculate the updated PWM frequency values.


If anyone can help enlighten me, it would be greatly appreciated.