Si598/Si599
Rev. 1.1 12
A typical frequency configuration for this example:
RFREQcurrent = 0x8858199E9
Fout_current =148.35MHz
Fout_new =148.50MHz
Calculate RFREQnew to change the output frequency
from 148.35 to 148.5 MHz:
Note that performing calculations with RFREQ requires
a minimum of 38-bit arithmetic precision.
Relatively small changes in output frequency may
require writing more than one RFREQ register. Such
multi-register RFREQ writes can impact the output clock
frequency on a register-by-register basis during
updating.
Interim changes to the output clock during RFREQ
writes can be prevented by using the following
procedure:
1. Freeze the "M" value (Set Register 135 bit 5 = 1)
2. Write the new frequency configuration (RFREQ)
3. Unfreeze the "M" value (Set Register 135 bit 5 = 0)
3.1.2. Reconfiguring the Output Clock for Large
Changes in Output Frequency
For output frequency changes outside of ±3500 ppm
from the center frequency, it is likely that both the DCO
frequency and the output dividers need to be
reprogrammed. Note that changing the DCO frequency
outside of the ±3500 ppm window will cause the output
to momentarily stop and restart at any arbitrary point in
a clock cycle. Devices sensitive to glitches or runt
pulses may have to be reset once reconfiguration is
complete.
The process for reconfiguring the output frequency
outside of a ±3500 ppm window is shown below:
1. Using the serial port, read the current values for
RFREQ, HSDIV, and N1.
2. Calculate fXTAL for the device. Note that because of
slight variations of the internal crystal frequency from
one device to another, each device may have a
different RFREQ value or possibly even different
HSDIV or N1 values to maintain the same output
frequency. It is necessary to calculate fXTAL for each
device.
Once fXTAL has been determined, new values for
RFREQ, HSDIV, and N1 are calculated to generate a
new output frequency (fout_new). New values can be
calculated manually or with the Si59x-EVB software,
which provides a user-friendly application to help find
the optimum values.
The first step in manually calculating the frequency
configuration is to determine new frequency divider
values (HSDIV, N1). Given the desired output frequency
(fout_new), find the frequency divider values that will
keep the DCO oscillation frequency in the range of 4.85
to 5.67 GHz.
Valid values of HSDIV are 9 or 11. N1 can be selected
as 1 or any even number up to 128 (i.e., 1, 2, 4, 6, 8, 10
… 128). To help minimize the device's power
consumption, the divider values should be selected to
keep the DCO's oscillation frequency as low as
possible. The lowest value of N1 with the highest value
of HS_DIV also results in the best power savings.
Once HS_DIV and N1 have been determined, the next
step is to calculate the reference frequency multiplier
(RFREQ).
RFREQ is programmable as a 38-bit binary fractional
frequency multiplier with the first 10 most significant bits
(MSBs) representing the integer portion of the multiplier
and the 28 least significant bits (LSBs) representing the
fractional portion.
Before entering a fractional number into the RFREQ
register, it must be converted to a 38-bit integer using a
bitwise left shift operation by 28 bits, which effectively
multiplies RFREQ by 228.
Example:
RFREQ = 136.3441409d
Multiply RFREQ by 228 = 36599601635.42d
Discard the fractional portion = 36599601635d
Convert to hexadecimal = 0x8858199E9
Once the new values for RFREQ, HSDIV, and N1 are
determined, they can be written directly into the device
from the serial port using the following procedure:
1. Freeze the DCO (bit 4 of Register 137)
2. Write the new frequency configuration (RFREQ,
HS_DIV, N1)
RFREQnew 0x8858199E9 148.50 MHz
148.35 MHz
--------------------------------
0x887B6473C
=
=
fXTAL
Fout HSDIVN1
RFREQ
---------------------------------------------------
=
fDCO_new fout_new HSDIVnew
N1new
=
RFREQnew
fDCO_new
fXTAL
-----------------------
=