TCC−303
www.onsemi.com
12
Transition from Turbo to Turbo or Immediate Update
In the event a new trigger is received during a turbo
transition, the ongoing turbo operation is halted and the new
DAC value is applied immediately. There won’t be any
Turbo and the hi_slew is kept low.
Transition from Turbo to Glide
In the event that a new glide transition is triggered during
a turbo event, then the turbo process is stopped and the
current target value is set at the DAC output immediately
without hi_slew. The new glide is started from this value.
DAC disable during Turbo (including active to low
power mode transition)
If the DAC, which is in T urbo is disabled, the tar get DAC
value is immediately applied without hi_slew. The DAC
does not continue with the Turbo when it is re−enabled.
Glide Mode
The TCC−303 control IC has a Glide Mode that
significantly extends the system transition time when
changing programming voltages.
Glide Mode is controlled by the following registers:
•DAC_TIMER_A[4:0] / DAC_TIMER_B[4:0] /
DAC_TIMER_C[4:0]: These are the DAC timer
configuration fields. For the glide mode they define the
step duration. If each DAC is updated over and over
with the same glide step, these fields do NOT need to
be updated at each DAC update. The register has to
hold a non−zero value for a Glide update.
•GL_A / GL_B / GL_C: These are the DAC update
mode configuration fields, which need to be set to glide
mode at the new DAC value update and prior to the SW
trigger (optional). These bits are part of the DAC value
register. If they are set to 1, the DAC is in glide mode,
as long as the corresponding DAC_TIMER register is
non−zero. A DAC_TIMER =0 means an immediate
update independent of the GL_A/B/C value.
After a Glide request is received, any trigger will start the
Glide output transition.
The trigger could be:
•a MIPI−RFFE software trigger controlled by
RFFE_PM_TRIG register
•an internal generated trigger after the corresponding
DAC value is updated, as described in a later section.
Immediately after the trigger, the DAC_old value is loaded
in the MSB’s of the upper byte of a 15 bit accumulator , while
the lower byte of accumulator is being reset to 0x00.
At the same time a count step is calculated:
GLIDE_STEP[6:0] = DAC_new – DAC_old; if
DAC_new > DAC_old
GLIDE_STEP[6:0] = DAC_old – DAC_new; if
DAC_new < DAC_old
ACCUMULATOR[14:0] = DAC_old, 0x00;
NOTE: Glide is disabled if DAC_new = DAC_old.
From the moment the trigger is received, a tick is
generated internally, with a frequency controlled by the
DAC_TIMER_A/B/C registers. Each DAC has its own tick
generator running independently of the other DAC. Each
time a trigger is received for a DAC, the setting of the
DAC_TIMER_A/B/C register is sampled in a counter
dedicated to that DAC. Any update of the
DAC_TIMER_A/B/C register after trigger is received will
be ignored until the next trigger is received
Each time a tick is generated, the content of the
accumulator is either incremented or decremented,
depending whether DAC_new is either bigger or smaller
than DAC_old.
ACCUMULATOR[14:0] = ACCUMULATOR[14:0] +
GLIDE_STEP; if DAC_new > DAC_old
ACCUMULATOR[14:0] = ACCUMULATOR[14:0] −
GLIDE_STEP; if DAC_new < DAC_old
Each time a tick is generated, the output of the DAC[6:0]
is updated with the value of ACCUMULATOR[14:8];
The Gliding process continues until, upper 7 bits of the
accumulator matches the value of the DAC_new.
ACCUMULATOR[14:8] ≥ DAC_new, when DAC_new
> DAC_old
ACCUMULATOR[14:8] ≤ DAC_new, when DAC_new
< DAC_old
The Glide timer will reference the 2 MHz clock divided to
provide between 2 ms and 62 ms per glide step.
Each DAC is independent in terms of its switching
operation, thus each DAC may be independently
programmed for Normal, Turbo or Glide regardless of the
switching operation of the other DACs.
Use−case hint:
In a scenario where the Turbo delay needs to be set to 54
us and the glide should be taking ~7 ms, the DAC_TIMER
can be configured as 7000/256 = 27 ms and the DAC_TC2X
configuration can be set. This way the timer value would not
need to be updated during the glide – turbo switches, and
only the GL_X bit in DAC value update needs to be toggled.
Transition from Glide to Glide
In the event a new glide request is received during a glide
transition, the ongoing glide operation is halted and the ne w
glide operation is started from the DAC value, where the
previous glide has left of f. The DAC timers can be updated
to a new value at the trigger.
Transition from Glide to Turbo or Normal Switching
In the event that a new Normal switching or Turbo DAC
value is received during a Glide transition, then the Glide
process i s stopped and the DAC immediately switches to the
newly received target value without Turbo or Glide. The
hi_slew is not applied.
DAC Disable during Glide (including active to low
power mode transition)
If the DAC, which is gliding is disabled, the DAC value
holds on to the value where the glide stops. The DAC does