Filter Mux Register (FILTERMUX)
188
SNIU028A – February 2016 – Revised April 2016
Copyright © 2016, Texas Instruments Incorporated
Loop Mux
5.4
Filter Mux Register (FILTERMUX)
FILTERMUX controls some inputs to the filters. It selects which Front End provides the error signal to
each filter. FILTERMUX also selects values for multiplication in the filter output stage (see
For this function, FILTERMUX works together with the PERIOD_MULT_SEL and OUTPUT_MUL_SEL
fields in the FILTERCTRL register.
For each Filter, FILTERMUX selects one of each from:
•
FILTERx_KCOMPSEL selects from KCOMP0, KCOMP1, or KCOMP2
•
FILTERx_FFWD_SEL selects the Feedforward value from one of the other 2 filters
•
FILTERx_PER_SEL selects the Period from DPWM0, 1, 2, or 3.
•
FILTERx_PER_SEL also selects the source for Resonant Duty.
Then OUTPUT_MULT_SEL bits select from these preselected values. OUTPUT_MULT_SEL can select
any of the 4 inputs. PER_MULT_SEL can only select from Period or KComp.
5.5
Filter KComp Registers (FILTERKCOMPx)
There are two registers, FILTERKCOMPA and FILTERKCOMPB. FILTER KCOMPA holds both KCOMP0
and KCOMP1. FILTERKCOMPB holds only KCOMP3. All KComp values are 14 bit unsigned numbers.
5.6
DPWM Mux Register (DPWMMUX)
DPWMMUX selects inputs to the DPWM modules. It selects
•
Ramp module which controls Synchronous FET ramp.
•
Master DPWM which provides sync pulse if DPWM module is a slave
•
Source which controls duty cycle/resonant period for DPWM. This source can be a Filter, the Constant
Power Module, or the Light Load Control Module.
5.7
Global Enable Register (GLBEN)
GLBEN has bits which enable each DPWM and each Front End. These bits are anded with the individual
enable bits in each DPWM and Front End. Both global and local bits must be set for the modules to start.
For simultaneous, synchronous start up, first set all the local enable bits, and then write a single time to
the GLBEN register. This simultaneous write can be done in at least two ways:
1. Define a temporary variable which has the same structure as GLBEN
union GLBEN_REG glben_store; //collect global enable bits for simultaneous use
glben_store.all = 0;
glben_store.bit.DPWM0_EN = 1;
glben_store.bit.DPWM1_EN = 1;
glben_store.bit.FE_CTRL0_EN = 1;
LoopMuxRegs.GLBEN = glben_store;
2. Simply write to GLBEN:
LoopMuxRegs.GLBEN = 0x13;