CC2420
SWRS041B Page 50 of 89
25 Clear Channel Assessment
The clear channel assessment signal is
based on the measured RSSI value and a
programmable threshold. The clear
channel assessment function is used to
implement the CSMA-CA functionality
specified in [1]. CCA is valid when the
receiver has been enabled for at least 8
symbol periods.
Carrier sense threshold level is
programmed by
RSSI.CCA_THR
. The
threshold value can be programmed in
steps of 1 dB. A CCA hysteresis can also
be programmed in the
MDMCTRL0.CCA_HYST
control bits.
All 3 CCA modes specified by [1] are
implemented in
CC2420
. They are set in
MDMCTRL0.CCA_MODE
, as can be seen in
the register description. The different
modes are:
0 Reserved
1
Clear channel when received energy is below
threshold.
2
Clear channel when not receiving valid IEEE
802.15.4 data.
3
Clear channel when energy is below threshold
and not receiving valid IEEE 802.15.4 data
Clear channel assessment is available on
the
CCA
output pin.
CCA
is active high, but
the polarity may be changed by setting the
IOCFG0.CCA_POLARITY
control bit.
Implementing CSMA-CA may easiest be
done by using the
STXONCCA
command
strobe, as described in the Radio control
state machine section on page 43.
Transmission will then only start if the
channel is clear. The
TX_ACTIVE
status
bit (see Table 5) may be used to detect
the result of the CCA.
26 Frequency and Channel Programming
The operating frequency is set by
programming the 10 bit frequency word
located in
FSCTRL.FREQ[9:0]
. The
operating frequency F
C
in MHz is given by:
F
C
= 2048 +
FSCTRL.FREQ[9:0]
MHz
The frequency can be programmed with 1
MHz resolution. In receive mode the
actual LO frequency is F
C
– 2 MHz, since
a 2 MHz IF is used. Direct conversion is
used for transmission, so here the LO
frequency equals F
C
. The 2 MHz IF is
automatically set by
CC2420
, so the
frequency programming is equal for RX
and TX.
IEEE 802.15.4 specifies 16 channels
within the 2.4 GHz band, in 5 MHz steps,
numbered 11 through 26. The RF
frequency of channel k is given by [1]:
F
C
= 2405 + 5 (k-11) MHz, k=11, 12, ..., 26
For operation in channel k, the
FSCTRL.FREQ
register should therefore
be set to:
FSCTRL.FREQ
= 357 + 5 (k-11)