English
Language : 

CC2400_07 Datasheet, PDF (42/83 Pages) Texas Instruments – 2.4 GHz Low-Power RF Transceiver
CC2400
AFC settling time
MDMTST0.AFC_SETTLING[1:0]
00
01
10
11
# Bits
2
4
8
16
Table 17. Minimum number of bits for the averaging filter
32 Automatic Frequency Control
CC2400 has a built-in optional feature
called AFC (Automatic Frequency
Control). This feature can be used to
measure and compensate for frequency
drift.
The average frequency offset of the
received signal (from the nominal IF) can
be
read
from
the
FREQEST.RX_FREQ_OFFSET[7:0]
register. This is a signed (2’s-complement)
8-bit value that can be used to
compensate for frequency offset between
an external transmitter and the receiving
device. The frequency offset is given by:
∆F= RX_FREQ_OFFSET x 5.2 [kHz]
The receiver can be calibrated against an
external transmitter (another CC2400 or an
external test signal) by changing the
operating frequency according to the
measured offset. The new frequency must
be calculated by the microcontroller and
written
to
the
MDMCTRL.MOD_OFFSET[5:0] register.
After this compensation the center
frequency of the received signal will better
match the digital channel filter bandwidth.
The compensation, as described above,
also automatically compensates the
transmitter, i.e. the transmitted signal will
match the ‘external’ transmitter’s signal.
However, compensating the transmitter
signal may cause additional spurs in the
TX spectrum. Chipcon therefore
recommends only compensating in RX
mode.
This feature reduces the requirement on
the crystal accuracy, which is important
when using the narrower channel
bandwidths. For a further description of
this feature please refer to page 53
(Crystal drift compensation).
Figure 21 shows how the value of the
FREQEST.RX_FREQ_OFFSET[7:0]
register varies as a function of frequency
offset for different values of
MDMTST0.AFC_SETTLING[1:0].
Chipcon recommends using a value of 4.
The following procedure should be
followed when using the AFC to
compensate for a frequency offset
between transmitter and receiver:
1. Read
the
FREQEST.RX_FREQ_OFFSET[7:
0] register. This is a signed 2’s-
complement value.
2. Use the equation on this page to
calculate the frequency offset in
kHz.
3. The microcontroller then needs to
calculate the equivalent value to
write
to
the
MDMCTRL.MOD_OFFSET[5:0]
register.
For example:
The value read from the
FREQEST.RX_FREQ_OFFSET[7:0]
register is 0xE0. This equals –32 since the
register value is in signed 2’s complement.
This corresponds to –32 x 5.2 = -166.4
kHz.
The MOD_OFFSET register should
therefore be set to –166.4 kHz / 15.625
kHz = -10.6496 ≈ -11. –11 equals 0x35 in
hexadecimal.
SWRS042A
Page 42 of 83