Internal Clock Generator (ICG) Module)
MC68HC908GT16 MC68HC908GT8 MC68HC08GT16 Data Sheet, Rev. 5.0
82
Freescale Semiconductor
7.3.2.3 Frequency Comparator
The frequency comparator effectively compares the low-frequency base clock (IBASE) to a nominal
frequency, f
NOM
. First, the frequency comparator converts IBASE to a voltage by charging a known
capacitor with a current reference for a period dependent on IBASE. This voltage is compared to a voltage
reference with comparators, whose outputs are fed to the digital loop filter. The dependence of these
outputs on the capacitor size, current reference, and voltage reference causes up to
±
25 percent error in
f
NOM
.
7.3.2.4 Digital Loop Filter
The digital loop filter (DLF) uses the outputs of the frequency comparator to adjust the internal clock
(ICLK) clock period. The DLF generates the DCO divider control bits (DDIV[3:0]) and the DCO stage
control bits (DSTG[7:0]), which are fed to the DCO. The DLF first concatenates the DDIV and DSTG
registers (DDIV[3:0]:DSTG[7:0]) and then adds or subtracts a value dependent on the relative error in the
low-frequency base clock’s period, as shown in
Table 7-1
. In some extreme error conditions, such as
operating at a V
DD
level which is out of specification, the DLF may attempt to use a value above the
maximum ($9FF) or below the minimum ($000). In both cases, the value for DDIV will be between $A and
$F. In this range, the DDIV value will be interpreted the same as $9 (the slowest condition). Recovering
from this condition requires subtracting (increasing frequency) in the normal fashion until the value is
again below $9FF. (If the desired value is $9xx, the value may settle at $Axx through $Fxx. This is an
acceptable operating condition.) If the error is less than
±
5 percent, the internal clock generator’s filter
stable indicator (FICGS) is set, indicating relative frequency accuracy to the clock monitor.
Table 7-1. Correction Sizes from DLF to DCO
Frequency Error of IBASE
Compared to f
NOM
DDVI[3:0]:DSTG[7:0]
Correction
Current to New
DDIV[3:0]:DSTG[7:0]
(1)
1. x = Maximum error is independent of value in DDIV[3:0]. DDIV increments or decrements when an addition to DSTG[7:0]
carries or borrows.
Relative Correction
in DCO
IBASE < 0.85 f
NOM
–32 (–$020)
Minimum
$xFF to $xDF
–2/31
–6.45%
Maximum
$x20 to $x00
–2/19
–10.5%
0.85 f
NOM
< IBASE
IBASE < 0.95 f
NOM
–8 (–$008)
Minimum
$xFF to $xF7
–0.5/31
–1.61%
Maximum
$x08 to $x00
–0.5/17.5
–2.86%
0.95 f
NOM
< IBASE
IBASE < f
NOM
–1 (–$001)
Minimum
$xFF to $xFE
–0.0625/31
–0.202%
Maximum
$x01 to $x00
–0.0625/17.0625
–0.366%
f
NOM
< IBASE
IBASE < 1.05 f
NOM
+1 (+$001)
Minimum
$xFE to $xFF
+0.0625/30.9375
+0.202%
Maximum
$x00 to $x01
+0.0625/17
+0.368%
1.05 f
NOM
< IBASE
IBASE < 1.15 f
NOM
+8 (+$008)
Minimum
$xF7 to $xFF
+0.5/30.5
+1.64%
Maximum
$x00 to $x08
+0.5/17
+2.94%
1.15 f
NOM
< IBASE
+32 (+$020)
Minimum
$xDF to $xFF
+2/29
+6.90%
Maximum
$x00 to $x20
+2/17
+11.8%