Micrel
MICRF506BML/YML
The modulator filter will not influence on the
frequency deviation as long as the programmed cut-
off frequency is above the actual bit rate.
The frequency deviation must be programmed so
that the modulation index (2 x single sided frequency
deviation/Baudrate [bps]) always is greater than or
equal to 2 including the total frequency offset
between the receiver and the transmitter:
f
DEV
=
Baudrate
+
f
OFFSET
The calculated f
DEV
should be used to calculate the
needed receiver bandwidth, see chapter Switched
capacitor filter.
Using the XCO-tune Bits
The RF chip has a built-in mechanism for tuning the
frequency of the crystal oscillator and is often used
in combination with the Frequency Error Estimator
(FEE). The XCO tuning is designed to eliminate or
reduce initial frequency tolerance of the crystal
and/or the frequency stability over temperature. If
the value in XCO_tune is increased (adding
capacitance), the frequency will decrease.
The XCO uses two external capacitors (see figure
5). The value of these will strongly affect the tuning
range. With a 16.0 MHz crystal (TN4-26011 from
Toyocom), and external capacitor values of 1.5 pF,
the tuning range will be approximately symmetrical
around the center frequency. A XCO_tune >16 will
decrease the frequency and vice versa (see figure
6).
A procedure for using the XCO_tune feature in
combination with the FEE is given below. The
MICRF506 measures the frequency offset between
the demodulated signal and the LO and tune the
XCO so the LO frequency is equal to received
carrier frequency.
A procedure like this can be called during production
(storing the calibrated XCO_tune value), at regular
intervals or implemented in the communication
protocol when the frequency has changed.
The FEE can count “UP”-pulses and/or “DOWN”-
pulses (pulses out of the demodulator when a logic
“1” or logic “0”, resp.., is received). The FEE can
count pulses for n bits, where n = 8, 16, 32 or 64.
Example: In FEE, count up+down pulses, counting 8
bits:
July 2006
28
M9999-092904
+1 408-944-0800
A perfect case ==> FEE = 0
If FEE > 0: LO is too low, increase LO by decreasing
XCO_tune value
v.v. for FEE < 0
FEE field holds a number in the range -128, … ,
127. However, it keeps counting above/below the
range, which is:
If FEE = -128 and still counting dwn-pulses:
1) =>-129
=
+127
2) 126
3) 125
…