A in Power Down: SWRS068 - DECEMBER 2007
A in Power Down: SWRS068 - DECEMBER 2007
Radio
APPLICATIONS
• IEEE 802.15.4 systems • IEEE 802.15.4 compliant DSSS baseband
modem with 250 kbps data rate
• ZigBee® systems
• Industrial monitoring and control • Excellent receiver sensitivity (-98 dBm)
• Home and building automation • Programmable output power up to +5 dBm
• Automatic Meter Reading • RF frequency range 2394-2507 MHz
• Low-power wireless sensor networks • Suitable for systems targeting compliance
with worldwide radio frequency
• Set-top boxes and remote controls
regulations: ETSI EN 300 328 and EN
• Consumer electronics
300 440 class 2 (Europe), FCC CFR47 Part
15 (US) and ARIB STD-T66 (Japan)
KEY FEATURES
• State-of-the-art selectivity/co-existence Microcontroller Support
Adjacent channel rejection: 49 dB • Digital RSSI/LQI support
Alternate channel rejection: 54 dB • Automatic clear channel assessment for
• Excellent link budget (103dB) CSMA/CA
400 m Line-of-sight range • Automatic CRC
• Extended temp range (-40 to +125°C) • 768 bytes RAM for flexible buffering and
• Wide supply range: 1.8 V – 3.8 V security processing
• Extensive IEEE 802.15.4 MAC hardware • Fully supported MAC security
support to offload the microcontroller • 4 wire SPI
• AES-128 security module • 6 configurable IO pins
• CC2420 interface compatibility mode • Interrupt generator
Low Power • Frame filtering and processing engine
• RX (receiving frame, -50 dBm) 18.5 mA • Random number generator
• TX 33.6 mA @ +5 dBm Development Tools
• TX 25.8 mA @ 0 dBm • Reference design
• <1µA in power down • IEEE 802.15.4 MAC software
General • ZigBee® stack software
• Clock output for single crystal systems • Fully equipped development kit
• RoHS compliant 5 x 5 mm QFN28 (RHD) • Packet sniffer support in hardware
package
25 RESETn
22 AVDD4
23 RBIAS
Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments
semiconductor products and disclaimers threto appear at the end of this datasheet.
ZigBee® is a registered trademark owned by ZigBee Alliance, Inc.
WWW.TI.COM 1
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
TABLE OF CONTENTS
1 Abbreviations ............................................................................................................................... 5
2 References................................................................................................................................... 7
3 Features....................................................................................................................................... 8
4 Absolute Maximum Ratings ....................................................................................................... 10
5 Electrical Characteristics............................................................................................................ 11
5.1 Recommended Operating Conditions ............................................................................ 11
5.2 DC Characteristics ......................................................................................................... 11
5.3 Wake-Up and Timing ..................................................................................................... 11
5.4 Current Consumptions ................................................................................................... 11
5.5 Receive Parameters....................................................................................................... 12
5.6 Frequency Synthesizer Parameters ............................................................................... 12
5.6.1 Transmit Parameters.................................................................................................. 12
5.7 RSSI/CCA Parameters................................................................................................... 13
5.8 FREQEST Parameters................................................................................................... 13
5.9 Typical Performance Curves .......................................................................................... 14
5.10 Low-Current Mode RX.................................................................................................... 19
5.10.1 Low-Current RX Mode Parameters ............................................................................ 19
5.11 Optional Temperature Compensation of TX................................................................... 20
5.11.1 Using the Temperature Sensor .................................................................................. 21
6 Crystal Specific Parameters....................................................................................................... 22
6.1 Crystal Requirements..................................................................................................... 22
6.2 On-chip Crystal Frequency Tuning................................................................................. 22
7 Pinout......................................................................................................................................... 23
8 Functional Introduction............................................................................................................... 25
8.1 Integrated 2.4 GHz IEEE 802.15.4 Compliant Radio ..................................................... 25
8.2 Comparison to CC2420.................................................................................................. 25
8.3 Block Diagram ................................................................................................................ 26
9 Application Circuit ...................................................................................................................... 29
9.1 Input / Output Matching .................................................................................................. 29
9.2 Bias Resistor .................................................................................................................. 30
9.3 Crystal ............................................................................................................................ 30
9.4 Digital Voltage Regulator................................................................................................ 30
9.5 Power Supply Decoupling and Filtering ......................................................................... 30
9.6 Board Layout Guidelines ................................................................................................ 30
9.7 Antenna Considerations ................................................................................................. 31
9.8 Choosing the Most Suitable Interconnection with a Microcontroller............................... 31
9.9 Interfacing CC2520 and MSP430F2618 ........................................................................ 31
10 Serial Peripheral Interface (SPI) ................................................................................................ 33
10.1 CSn ................................................................................................................................ 33
10.2 SCLK .............................................................................................................................. 33
10.3 SI.................................................................................................................................... 33
10.4 SO .................................................................................................................................. 34
10.5 SPI Timing Requirements .............................................................................................. 34
11 GPIO .......................................................................................................................................... 35
11.1 Reset Configuration of GPIO Pins.................................................................................. 35
11.2 GPIO as Input ................................................................................................................ 35
11.3 GPIO as Output.............................................................................................................. 36
11.4 Switching Direction on GPIO.......................................................................................... 36
11.5 GPIO Configuration ........................................................................................................ 36
12 Power Modes ............................................................................................................................. 40
12.1 Switching Between Power Modes .................................................................................. 40
12.2 Power Up Sequence Using RESETn (recommended)................................................... 41
2 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
WWW.TI.COM 3
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
4 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
1 Abbreviations
WWW.TI.COM 5
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
6 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
2 References
[1] IEEE std. 802.15.4 - 2003: Wireless Medium Access Control (MAC) and Physical Layer (PHY)
specifications for Low Rate Wireless Personal Area Networks (LR-WPANs)
http://standards.ieee.org/getieee802/download/802.15.4-2003.pdf
[2] IEEE std. 802.15.4 - 2006: Wireless Medium Access Control (MAC) and Physical Layer (PHY)
specifications for Low Rate Wireless Personal Area Networks (LR-WPANs)
http://standards.ieee.org/getieee802/download/802.15.4-2006.pdf
[3] CC2420 datasheet
http://www.ti.com/lit/pdf/swrs041
[4] NIST FIPS Pub 197: Advanced Encryption Standard (AES), Federal Information Processing Standards
Publication 197, US Department of Commerce/N.I.S.T., November 26, 2001.
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
[5] CC2520 reference designs
http://focus.ti.com/docs/prod/folders/print/cc2520.html#applicationnotes
[6] CC2520 Errata note
http://www.ti.com/lit/pdf/swrz024
[7] CC2520 Product folder
http://focus.ti.com/docs/prod/folders/print/cc2520.html
[8] NIST software package for randomness testing:
http://csrc.nist.gov/rng/
[9] The diehard software package for randomness testing:
http://stat.fsu.edu/~geo/diehard.html
[10] MSP430F2618 Product folder
http://focus.ti.com/docs/prod/folders/print/msp430f2618.html
[11] 2.4 GHz Inverted F Antenna
http://www.ti.com/lit/pdf/swru120
[12] Antenna selection guide
http://www.ti.com/lit/pdf/swra161
WWW.TI.COM 7
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
3 Features
2394-2507MHz transceiver
• DSSS transceiver
• 250kbps data rate, 2 MChip/s chip rate
• O-QPSK with half sine pulse shaping modulation
• Very low current consumption
RX (receiving frame, -50 dBm): 18.5 mA
RX (waiting for frame): 22.3 mA
TX (+5 dBm output power): 33.6 mA
TX (0 dBm output power): 25.8 mA
• Three flexible power modes for reduced power consumption
• Low power fully static CMOS design
• Very good sensitivity (-98dBm)
• High adjacent channel rejection (49 dB)
• High alternate channel rejection (54 dB)
• On chip VCO, LNA, PA and filters.
• Low supply voltage (1.8 - 3.8 V)
• Programmable output power up to +5 dBm
• I/Q direct conversion transceiver
Small Size
• QFN 28 (RHD) package, 5 x 5 mm
• Very few external components
o minimized number of passives
o Only reference crystal needed
• Clock output for other ICs to limit the number of crystals needed in a system
• No external filters needed.
8 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Development Tools
• See product folder [7]
Suited For Use in Systems That Target Compliance to the Following Standards
• IEEE 802.15.4 PHY
• ETSI EN 300 328
• ETSI EN 300 440 class 2
• FCC CFR47 part 15
• ARIB STD-T66
WWW.TI.COM 9
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
This device has limited built-in gate protection. The leads should be shorted together or the device placed in conductive foam
during storage or handling to prevent electrostatic damage to the MOS gates.
10 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
5 Electrical Characteristics
Note that these characteristics are only valid when using the recommended register settings presented in
section 28.1.
5.2 DC Characteristics
TA =25°C, VDD=3.0 V, fc=2440 MHz if nothing else stated. All parameters measured on Texas Instruments’ CC2520 EM 2.1 reference design with 50 Ω load.
PARAMETER CONDITIONS MIN TYP MAX UNIT
Logic "1" input voltage Valid for all pads (both GPIOs and fixed-input pads) 80% of VDD
Logic "0" input voltage Valid for all pads (both GPIOs and fixed-input pads) 30% of VDD
Input pad hysteresis Only for fixed-input pads like RESET_N, CSn etc 0.5 V
Logic "0" input current Input equals 0V -25 25 nA
Logic "1" input current Input equals VDD -25 25 nA
WWW.TI.COM 11
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
12 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
WWW.TI.COM 13
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
-92.0
-94
SENSITIVITY (dBm)
SENSITIVITY (dBm)
-94.0
-96
-96.0
-98
-98.0
-100 -100.0
-40 10 60 110 0% 10 % 20 % 30 % 40 % 50 % 60 %
TEMPERATURE (ºC) ERROR VECTOR MAGNITUDE (% RMS)
-92
SENSITIVITY (dBm)
SENSITIVITY (dBm)
-40.0
-94
-96
-80.0
-98
-100 -120.0
1.8 2.3 2.8 3.3 3.8 -1000 -500 0 500 1000
VOLTAGE (V) FREQUENCY OFFSET (kHz)
4
SENSITIVITY (dBm)
-98
-4
-100
-8
2394 2414 2434 2454 2474 2494
-40 10 60 110
FREQUENCY (MHz)
TEMPERATURE (ºC)
14 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
5dBm (0xF7)
OUTPUT POWER (dBm)
4 1.8
CURRENT (mA)
2 1.7
0dBm (0x32)
0 1.6
-2 1.5
-40 10 60 110
1.8 2.3 2.8 3.3 3.8
TEMPERATURE (ºC)
VOLTAGE (V)
300
CURRENT (uA)
34
CURRENT (mA)
200
33
100
0
32
-40 10 60 110
-40 10 60 110
TEMPERATURE (ºC)
TEMPERATURE (ºC)
1.6
24
CURRENT (uA)
CURRENT (mA)
1.2
23
0.8
22 0.4
0
21
-40 10 60 110
-40 10 60 110
TEMPERATURE (ºC)
TEMPERATURE (ºC)
WWW.TI.COM 15
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
TX (+5dBm SETTING, 0xF7) CURRENT VS SUPPLY VOLTAGE LPM1 CURRENT VS SUPPLY VOLTAGE
33.5 300
33
CURRENT (mA)
200
CURRENT (uA)
32.5
100
32
31.5 0
1.8 2.3 2.8 3.3 3.8 1.8 2.3 2.8 3.3 3.8
VOLTAGE (V) VOLTAGE (V)
22.8 100
22.4
70
CURRENT (nA)
CURRENT (mA)
22
40
21.6
21.2 10
1.8 2.3 2.8 3.3 3.8 1.8 2.3 2.8 3.3 3.8
VOLTAGE (V) VOLTAGE (V)
1.8 24
21
CURRENT (mA)
1.7
CURRENT (uA)
1.6 18
1.5 15
1.8 2.3 2.8 3.3 3.8 -100 -80 -60 -40 -20 0
VOLTAGE (V) INPUT LEVEL (dBm)
16 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
50 60
25 40
0 20
-25 0
2400 2420 2440 2460 2480 2412 2422 2432 2442 2452 2462 2472 2482
INTERFERER FREQUENCY (MHz) INTERFERER FREQUENCY (MHz)
40 40
35
20
30
-95 -90 -85 -80 -75 -70 -65 -60 0
CARRIER LEVEL (dBm) 2412 2422 2432 2442 2452 2462 2472 2482
INTERFERER FREQUENCY (MHz)
60 -92
100
FALSE PACKETS PER MIN.
SENSITIVITY (dBm)
40
10
-94
20
-95
1
-96
0
2412 2422 2432 2442 2452 2462 2472 2482 0.1
Sensitivity -97
INTERFERER FREQUENCY (MHz)
0.01 -98
0x0B 0x0F 0x13 0x17
CORRELATION THRESHOLD (MDMCTRL1)
WWW.TI.COM 17
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
200
100
0.800
0
-100 0.790
-200
-300 0.780
-500 -300 -100 100 300 500 1.8 2.3 2.8 3.3 3.8
ACTUAL FREQUENCY OFFSET (kHz) VOLTAGE (V)
-20 108
-40 104
-60
100
-80
96
-100
92
-120 0% 10 % 20 % 30 % 40 % 50 % 60 % 70 %
-100 -80 -60 -40 -20 0
EVM (% RMS)
INPUT LEVEL (dBm)
1.000
0.900
0.800
0.700
0.600
-40 10 60 110
TEMPERATURE (ºC)
18 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Note that when using this mode, neither RSSI nor CCA
is valid. This means that these settings can not be used
in conjunction with STXONCCA, for instance. Also note 20
that the interferer rejection will drop at stronger input
signal levels compared to when using the regular
recommended settings. 0
-87 -78 -69 -60 -51
CARRIER LEVEL (dBm)
±20MHz or above. 55 dB
WWW.TI.COM 19
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
For this purpose, a TX setting only suited for high-temperature operation has been found (F7125deg). This
setting should only be used above 70 degrees, but will significantly reduce the drop in output power at high
temperatures.
Table 2: F7125deg setting, only suited for high temperature operation (only changes from
recommended settings shown)
Register Setting (hex) Comment
TXCTRL 94 Increased output power at high temperatures.
FSCTRL 7B Increased output power at high temperatures.
TYPICAL OUTPUT POWER WITH AND WITHOUT MINIMUM OUTPUT POWER WITH AND WITHOUT
TEMPERATURE COMPENSATION TEMPERATURE COMPENSATION
8.0 8.0
4.0
OUTPUT POWER (dBm)
OUTPUT POWER (dBm)
4.0 With
0.0
With compensation compensation
-4.0
0.0
Without compensation
Without compensation
(+5dBm setting) -8.0
(+5dBm setting)
-4.0 -12.0
-40 10 60 110 -40 10 60 110
TEMPERATURE (ºC) TEMPERATURE (ºC)
20 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The output from the temperature sensor is shown in graph form in section 5.9, but as a basis for calculating
the temperature, the following numbers can be used:
WWW.TI.COM 21
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
22 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
7 Pinout
24 AVDD_GUARD
26 VREG_EN
27 DCOUPL
25 RESETn
22 AVDD4
23 RBIAS
28 SCLK
SO 1 21 NC
SI 2 20 AVDD1
CSn 3 19 RF_N
GPIO5 4 CC2520 18 NC
GPIO4 5 17 RF_P
GPIO3 6 16 AVDD2
GPIO2 7 15 NC
8
9
GPIO0 10
AVDD5 11
XOSC32M_Q2 12
XOSC32M_Q1 13
AVDD3 14
GPIO1
DVDD
AGND
exposed die
attached pad
WWW.TI.COM 23
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
24 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
8 Functional Introduction
WWW.TI.COM 25
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
VREG_EN
DCOUPL
RESETn
RBIAS
SCLK
SO Vreg Clock/
BIAS
reset
SI SPI
CSn Frame
filtering and FSM Synthesizer
source
matching
AGC
Instruction Demod Modulator
Bus controller
decoder
RF_core
AES
ADI ADI
Exception DPU
controller
ADC
ADC
DAC
DAC
RAM
GPIO5 AAF PS LPF
GPIO4
IO
GPIO3
RX MIX FS TX MIX
GPIO2
Atest
PA
LNA
REF RF_N
XOSC
DIV
RF_P
XOSC32M_Q2
XOSC32M_Q1
GPIO1
GPIO0
CC2520 is typically controlled by a microcontroller connected to the SPI and some GPIOs. The
microcontroller will send instructions to CC2520 and it is the responsibility of the instruction decoder to
execute the instructions or pass them on to other modules.
The execution of an instruction or external events (e.g. reception of a frame) may result in one or more
exceptions. The exceptions provide a very flexible mechanism for automating tasks. They can for instance
be used to trigger execution of other instructions or they can be routed out to GPIO pins and used as
interrupt signals to the microcontroller. The exception controller is responsible for handling of the
exceptions.
26 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The microcontroller will typically be connected to one or more of the GPIO pins. The function of each pin is
independently controlled by the IO module based on register settings. It is possible to observe a large
number of internal signals on the GPIO pins. The GPIO pins can also be configured as inputs and used to
trigger the execution of certain instructions. This would typically be used when the microcontroller needs to
precisely control the timing of an instruction.
The RAM module contains memory which is used for receive and transmit FIFOs (in fixed address ranges)
and temporary storage for other data. There are separate instructions for general memory access and FIFO
access.
The data processing unit (DPU) is responsible for execution of the more advanced instructions. The DPU
includes an AES core, which is used while executing the security instructions. Memory management
(copying, incrementing etc.) is also performed by the DPU.
The Clock/Reset module generates the internal clocks and reset signals.
The RF core contains several submodules that support and control the analog radio modules.
The FSM submodule controls the RF transceiver state, the transmitter and receiver FIFOs and most of the
dynamically controlled analog signals such as power up / down of analog modules. The FSM is used to
provide the correct sequencing of events (such as performing an FS calibration before enabling the
receiver). Also, it provides step by step processing of incoming frames from the demodulator: reading the
frame length, counting the number of bytes received, checks the FCS, and finally, optionally handles
automatic transmission of ACK frames after successful frame reception. It performs similar tasks in TX
including performing an optional CCA before transmission and automatically going to RX after the end of
transmission to receive an ACK frame. Finally, the FSM controls the transfer of data between
modulator/demodulator and the TXFIFO/RXFIFO in RAM.
The modulator transforms raw data into I/Q signals to the transmitter DAC. This is done in compliance with
the IEEE 802.15.4 standard.
The demodulator is responsible for retrieving the sent data from the received signal.
The amplitude information from the demodulator is used by the automatic gain control (AGC). The AGC
adjusts the gain of the analog LNA so that the signal level within the receiver is approximately constant..
The frame filtering and source matching supports the FSM in RF_core by performing all operations
needed in order to do frame filtering and source address matching, as defined by IEEE 802.15.4.
The xosc module interfaces the crystal which is connected to the XOSC32M_Q1 and XOSC32M_Q2 pins.
The xosc module generates a clock for the digital part and RF system, and implements the programmable
crystal frequency tuning.
The BIAS module generates voltage and current references. It relies on a high precision (1%) 56kΩ external
resistor which is shown in the application circuit in Figure 3.
After LPF the signal is fed to the TXMIX module, which is an up-converting complex mixer.
The LNA amplifies the received RF signal. The gain is controlled by the digital AGC module so that optimum
sensitivity and interferer rejection is achieved.
The RXMIX module is a complex down-mixer that converts the RF signal to a baseband signal.
A passive anti-aliasing filter (AAF) low pass filters the signal after down mixing.
The low pass filtered I and Q signals and digitized by the ADC.
WWW.TI.COM 27
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The frequency synthesizer (FS) generates the carrier wave for the RF signal.
The voltage regulator (Vreg) provides a 1.8V supply voltage to the digital core. It contains a current limiter,
which is enabled for currents above ~32mA.
28 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
9 Application Circuit
Very few external components are required for the operation of CC2520. A typical application circuit is
shown in Figure 4. Note that it does not show how the board layout should be done. The board layout will
greatly influence the RF performance of CC2520.
This section is meant as an introduction only. For further details, see the reference design, which includes
complete board layouts and bill of materials with manufacturer and part numbers. The reference design can
be downloaded from the CC2520 product folder [7].
Note that decoupling capacitors are not shown in the figure below. See the reference design for complete
bill of materials.
SCLK 28
DCOUPL 27
VREG_EN 26
RESETn 25
AVDD_GUARD 24
RBIAS 23
AVDD4 22
Digital interface
12 XOSC32M_Q2
13 XOSC32M_Q1
11 AVDD5
14 AVDD3
9 GPIO1
10 GPIO0
8 DVDD
Figure 3: Typical application circuit with transmission line balun for single-ended operation
See the antenna selection guide [12] for further details on other compact and low-cost alternatives.
When using an unbalanced antenna such as a monopole, a balun should be used in order to optimize
performance. The balun can be implemented using low-cost discrete inductors and capacitors only or in
combination with transmission lines replacing the discrete inductors.
Figure 4 shows the balun implemented in a two-layer reference design. It consists of three transmission
lines (L1, L2 and L3) and the discrete components C191, C171, C192, C173 and C174. The circuit will
present the optimum RF termination to CC2520 with a 50Ω load on the antenna connection.
WWW.TI.COM 29
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
SMA
connector
R201
PCB
C191
C192
antenna
CC2520
C173 C174
C171
C172
Figure 4: Actual board layout of the RF section of the reference design (rev 2.1).
9.3 Crystal
An external 32MHz crystal with two loading capacitors (C121 and C131) is used for the crystal oscillator.
It is possible to feed a single-ended signal to the XOSC32M_Q1 pin and thus not use a crystal.
30 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
ground or VDD. The other GPIO pins should be grounded or high impedance. Failing to do this, will
result in significantly higher current consumption than necessary.
• The SO pin is configured as an input when CSn is high or the device is in reset or LPM2. This
makes it possible to connect multiple SPI slaves to one SPI master. This pin should not be left
floating when in LPM2, as this will draw more current than necessary. If the voltage level can not be
controlled in any other way, use a 1MOhm pull-down resistor.
• The crystal input lines should be routed as far away from each other as practically possible.
• The NC pins can be left floating.
• Glitches on the digital inputs may create serious issues in a system design. The digital input pads
have Schmitt-triggers to help make them less sensitive to glitches, but the board layout should still
avoid routing the digital input lines close to other noisy signals.
Note that all testing and characterization has been done using the SMA connector. The PCB antenna has
only been functionally tested by establishing a link between two EMs. In our experiment, the PCB antenna
gave approximately the same range as when using an antenna connected to the SMA connector.
Please refer to the antenna selection guide [12] and the Inverted F antenna app note [11] for further details.
WWW.TI.COM 31
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
A simplified drawing of the interconnection of MSP430F2618 and CC2520 is shown in Figure 8. For further
details on the MSP430F2618, please refer to [10].
RESETn
VREG_EN
4
SPI
6
GPIO
32 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
In section 15 all instructions available via the SPI interface are listed and described. The instructions are
byte oriented and required bytes sent over the interface to CC2520 vary from 1 and up. To transfer one byte
CSn must be pulled low and SCLK must complete 8 periods starting with a positive edge. There are no
requirements to maximum period for SCLK or that it needs to be continuous. As long as CSn is held low,
SCLK can be halted at any time and started again when desired.
10.1 CSn
CSn is an input enable signal for the SPI and is controlled by the external MCU. The CSn signal is used as
an asynchronous active high reset to the SPI module.
CSn must be held low during all SPI operations and must also be held low for more than two periods of
XOSC before the first positive edge of SCLK and more than two periods of XOSC after the last negative
edge of SCLK.
When CSn is high it must be held high for at least 2 periods of XOSC.
CSn can be held low between SPI operations in the case where the last instruction completed has a
constant number of bytes, but this will result in unnecessary power consumption since parts of the
instruction controller will then be running.
The instructions that have a constant number of bytes can be found in the instruction summary table in
section 15.3. I.e. SRXON (1 byte) and RXMASKAND (3 bytes) has constant number of bytes and REGRD
(2 bytes or more) has user controlled number of bytes indicated in the table by three dots (…) in the byte
column after the last required byte of the instruction command (Byte 3 for REGRD).
Instructions that have user controlled number of bytes are ended by rising CSn.
Status is output as the first byte on SO during the first byte of all instructions. When instructions are
transferred consecutively without rising CSn between them, the status byte on SO may not contain the
correct current status. However, the status will be updated for the second byte of an instruction so i.e
RXMASKAND which outputs status also during the second instruction byte will then output the correct status
during the second byte.
When pulling CSn low after power-up, SO outputs the internal XOSC stable signal combinatorically, so no
edge on SCLK is necessary to find the XOSC stable status. In any case where CSn is pulled low and SO is
low it means that XOSC is still not stable and thus there is no clock in the digital part. The maximum time
from power up to XOSC should be stable is described in section 5.3.
10.2 SCLK
SCLK is controlled by an external MCU and is an input clock to CC2520. SCLK is asynchronous to the
internal XOSC clock in CC2520. The maximum SCLK frequency is 8 MHz. There is no minimum frequency
requirement.
10.3 SI
SI is the serial data input from the microcontroller to CC2520. Data shall be sent with MSB first (bit 7 in each
byte of instruction commands).
Data should be set up on the negative edge of SCLK and will be clocked into CC2520 by the next positive
edge of SCLK.
WWW.TI.COM 33
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
10.4 SO
SO is serial data out from CC2520 to an external MCU. Data is clocked out on the negative edge of SCLK,
so the SO signal should be sampled on the following rising edge of SCLK. MSB (bit 7 in register definitions)
will be clocked out first.
SO is configured as an input when CSn is high or RESETn is low. Note that the SO pin should not be left
floating while in LPM1 or LPM2, as this will result in higher current consumption than necessary.
SCLK I
CSn I
tsis
tsih
SI I 1 0 7 6 5 4
tsod
SO O 0 7 7 6 5 4
The following table and figure shows required timing relations between an external microcontroller and the
SPI interface on CC2520.
34 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
11 GPIO
CC2520 has 6 GPIO pins that can be individually configured as inputs, outputs and activate pull-up
resistors. Each GPIO has an associated register, GPIOCTRLn, where the MSB configure the pin to either
input or output. The GPIOCTRL register control pull-up for each individual GPIO pin, extra drive strength for
all pins and analog function for pin 0 and 1. See section 30 for details about test functionality and
observability through GPIO.
Note that GPIO5, which is configured as an input in LPM2, should be tied either to ground or VDD when
entering LPM2. If GPIO5 (or any other input) is left floating, the current consumption will be unpredictable.
This particular reset configuration was selected so that CC2520 looks as much like CC2420 as possible.
WWW.TI.COM 35
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Example: Set up GPIO3 to output sniff_data with active high level indication.
• Set GPIOPOLARITY[3] to ‘1’’. GPIO pin 3 set to active high level indication.
• Set GPIOCTRL3[7:0] to “0011 0010”. GPIO pin 3 is now an output and outputs sniff_data.
36 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
WWW.TI.COM 37
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
38 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
WWW.TI.COM 39
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
12 Power Modes
CC2520 has three power modes as described below. In all these power modes the supply voltage is applied
to the circuit.
In Low Power Mode 2 (LPM2) the digital voltage regulator is turned off (VREG_EN=0) and no clocks are
running. No data is retained. All analog modules are in power down state.
In Low Power Mode 1 (LPM1) the digital voltage regulator is on (VREG_EN=1), but no clocks are running.
Data is retained. The power down signals to the analog modules are controlled by the digital part.
In Active mode the digital voltage regulator is on (VREG_EN=1) and the crystal oscillator clock is running.
The power down signals to the analog modules are controlled by the digital part.
Before entering LPM2, it is strongly recommended that the device is reset. This way, the configuration will
always be the same when the power to the digital part is removed, and it is less likely that there will be
issues with current spikes or other side effects of the power being removed.
Set CSn=1
SXOSCOFF
LPM1 (Radio must be idle)
Active mode
40 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The GPIO pins are configured according to Table 8: GPIO reset state when power is applied to the chip and
RESETn is held low.
VDD I
VREG_EN I
Tdres
RESETn I
CSn O
SCLK I
SI I
GPIO [5..0] IO
Txr
SO O
The time from power is applied to the XOSC has started depends on the clock frequency used on the SPI
(max 8MHz) and the startup time for the crystal.
Note that the crystal oscillator does not necessarily start automatically when the SRES command strobe is
issued. That means one also has to issue an SXOSCON command strobe to be sure that the oscillator
starts. Unlike the RESETn pin, the SRES command strobe will not influence the state of the crystal
oscillator, so if the oscillator accidentally comes up in the “off” state, issuing a SRES will not make it start.
VDD I
VREG_EN I
RESETn I
Tdres
CSn O
SCLK I
GPIO [5..0] IO
Txr
WWW.TI.COM 41
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
42 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
13 Instruction Set
The CC2520 has a comprehensive instruction set. The instructions are transferred to CC2520 via the SPI,
and can consist of one or more bytes. The first byte contains the unique op-code and the following bytes are
parameters needed to execute the selected instruction. In the following sections, every instruction and
parameter is described in detail.
13.1 Definitions
• All parameters and data are transferred over the SPI with their most significant bit first and their
least significant bit last.
• For instructions that read data from CC2520, the data byte will replace the status byte on the SO
pin.
• Address parameters point to the least significant byte in a block of data. The address A+1 contains
the next but least significant byte and so on.
• When CC2520 automatically increments addresses, it will wrap around when incrementing beyond
the highest possible address (0xFFF).
• An instruction is ended by either sending the complete instruction (for finite instructions) or raising
CSn (For infinite instructions, indicated by “...” in the instructions summary).
• Once an instruction is ended a new instruction can be started.
• If an instruction is ended before it is complete or if the instruction is not recognized, an
OPERAND_ERROR exception is raised.
• If the user sets parameter bits explicitly marked as ‘0’ in instruction summary table to ‘1’ an
OPERAND_ERROR exception is raised.
• When an instruction is aborted an error exception is raised and the SPI interface ceases to receive
further data until CSn has been set high then low again. The instruction that was aborted may have
made changes to memory contents before it was aborted.
• If the SPI interface is reset (by pulling CSn high) in the middle of an SPI byte transfer (i.e. not
between bytes) an SPI_ERROR exception is raised.
WWW.TI.COM 43
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
44 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
RXMASKAND d[15:0] s[7:0] Perform bitwise AND between RX enable mask and D. RXENABLE_ZERO
Raises RXENABLE_ZERO exception if this causes the
RXENABLE registers to be zero.
Data IO
BSET a[7:3] s[7:0] Set a single bit. Writes 1 to bit B in address A. This is MEMADDR_ERROR
b[2:0] done without affecting the value of, or triggering side-
effects of other bits at the same address. Only the
address range [0, 31] is accessible with this instruction.
BCLR a[7:3] s[7:0] Clear a single bit. Writes 0 to bit B in address A. This is MEMADDR_ERROR
b[2:0] done without affecting the value of, or triggering side-
effects of other bits at the same address. Only the
address range [0, 31] is accessible with this instruction.
MEMRD a[11:0] s[7:0] Read memory. The n’th byte of data D is read from MEMADDR_ERROR
d[7:0] address (A+n). Note that when an address with LSB=0 is
... read the content of the corresponding address with
LSB=1 is buffered. If that address is read immediately
after within the same MEMRD instruction, the buffered
copy is read. In this way a read of a complete 16 bit word
is performed as an atomic operation.
MEMWR a[11:0] s[7:0] Write memory. The n’th byte of data D input with the MEMADDR_ERROR
d[7:0] d[7:0] instruction is written to address (A+n).
... ...
In addition, the n’th byte of data D output from the
instruction is the unaltered data read from the memory
location (A+n).
REGRD a[5:0] s[7:0] Same functionality as MEMRD, except the operation can MEMADDR_ERROR
d[7:0] only be started from addresses below 0x40.
...
WWW.TI.COM 45
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
MEMXWR a[11:0] s[7:0] XOR memory. Writes the bitwise XOR of the n’t data MEMADDR_ERROR
d[7:0] d[7:0] byte D following the instruction and the current contents
... ... of address (A+n) to memory location (A+n).
In addition, the n’th byte of data D output from the
instruction is the unaltered data read from the memory
location (A+n).
RXBUF s[7:0] Read the oldest byte in the RX FIFO. At the first data RX_UNDERFLOW
d[7:0] transfer the oldest byte in the RX FIFO is read and
... removed from the RX FIFO. This operation is repeated
for subsequent SPI transfers.
If this instruction is performed when the RX FIFO is
empty, an RX_UNDERFLOW exception is raised.
Note: Do not execute RXBUF while RXBUFMOV is in
progress. It could result in loss of data.
RXBUFCP a[11:0] s[7:0] This instruction functions as RXBUF except it also RX_UNDERFLOW
c[7:0] copies the data bytes read from the RX FIFO to the
d[7:0] memory location starting at address A.
...
The second byte transferred is the number of bytes, C,
currently in the RX FIFO.
Note: Do not execute RXBUFCP while RXBUFMOV is in
progress. It could result in loss of data.
TXBUF d[7:0] s[7:0] Write to the end of TX FIFO. Data bytes transferred after TX_OVERFLOW
... c[7:0] the opcode are appended to the end of TX FIFO.
The SPI interface will output the number of bytes, C, in
TX FIFO before the currently transferred byte has been
entered. I.e. 0x00 is returned when transferring the first
byte to TX FIFO.
If this instruction is performed when the TX FIFO is full, a
TX_OVERFLOW exception is raised.
RANDOM ... s[7:0] Read randomly generated bytes D, generated from noise
d[7:0] in the receiver chain.
...
46 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
WWW.TI.COM 47
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
48 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
WWW.TI.COM 49
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
50 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
A summary of the CC2520 instruction set with op-codes is shown in the table below.
WWW.TI.COM 51
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
52 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The SNOP instruction can be used to read the status byte without causing any side effects.
The command strobes can be executed by configuring GPIO pins as input in accordance to GPIO
configuration table in section 12.6 and be triggered with a selected edge in the GPIOPOLARITY register.
Thus SPI traffic can be omitted for command strobes.
There are also two channels, X and Y, for binding exceptions to the command strobes, so that CC2520 may
automatically react to different internal events. This feature is described in more detail in section 16.1.
WWW.TI.COM 53
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
the IBUFLD instruction are received at the same time, the old command strobe is executed. The new strobe
that the user tried to write to the buffer is lost and will never be executed.
54 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
14 Exceptions
Exceptions in CC2520 are used to indicate that different events have occurred. Exceptions are used both for
error conditions such as incorrect use of the SPI and for events that are perfectly normal and expected such
as transmission of a start of frame delimiter (SFD). Exception flags are stored in status registers and can be
read over the SPI or observed on GPIO. To clear an exception flag, the user must write ‘0’ to the correct bit
in the status register. If the user tries to clear an exception flag in the exact same clock period as the same
exception occurs, the flag will not be cleared.
Table 14 shows a summary of the available exceptions in CC2520. The NUM column shows how the
exceptions are numbered. The number correspond to the bits in the EXCFLAGn registers, and must be
used when binding exceptions to instructions.
WWW.TI.COM 55
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
CC2520 has two exception channels, A and B, that let the user select a collection of exceptions to combine
to output on a GPIO pin. If any of the selected exceptions goes active, the GPIO pin goes active. It is also
possible to output the complementary collection of exceptions of each of the two channels.
Example: Collect RF_IDLE and RX_UNDERFLOW in exception channel B and output on GPIO3.
• Write 0x22 to GPIOCTRL3. Set GPIO3 as output and select exception channel B from the GPIO
configuration table in section 12.6.
• Write 0x21 to EXCMASKB0. Select RF_IDLE and RX_UNDERFLOW exceptions in accordance with
table Exceptions overview (section 16).
• Write 0x00 to EXCMASKB1. Mask all other exceptions.
• Write 0x00 to EXCMASKB2. Mask all other exceptions.
The complementary exception channel B with the settings in the example above will include all other
exceptions than RF_IDLE and RX_UNDERFLOW. This channel can be routed to another GPIO pin by
writing 0x24 to the corresponding GPIOCTRLn register.
Exceptions linked to GPIO pins separately or as a group in a channel will be consistent with the
corresponding bits in the EXCFLAGn registers. EXCFLAGn register bits that are high can only be cleared by
writing zero to the bit.
The first predefined exception channel is a collection of exceptions that indicate that something has gone
wrong during RX.
• RX_UNDERFLOW
• RX_OVERFLOW
• RX_FRM_ABORTED
• RXBUFMOV_TIMEOUT
56 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The second predefined exception channel includes exceptions that indicate general error conditions.
• MEMADDR_ERROR
• USAGE_ERROR
• OPERAND_ERROR
• SPI_ERROR
Figure 10 shows how the exceptions are linked to the instruction set of CC2520. Note that there are several
sources that may trigger instructions. The large or-gate illustrates that it only takes one of these sources to
trigger the execution of an instruction.
Exceptions bus
Example
Run SACKPEND instruction when RX_FRM_ACCEPTED exception is activated.
WWW.TI.COM 57
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
1. Write 0x06 to EXCBINDX0. This will select SACKPEND as the bound instruction from Table 8: GPIO
configuration.
2. Write 0x89 to EXCBINDX1. Enables X-binding and selects RX_FRM_ACCEPTED as the bound
exception from Table 14: Exceptions summary.
Note
Be aware of the offset in numbering in the tables Exceptions summary (section 16) and GPIO configuration
(section 12.6) for exceptions.
It is for example possible to route the exception RF_IDLE to a GPIO pin in the GPIOCTRLn.CTRLn register
bit when the pin is set as output. In this case, the exception RF_IDLE has the numbering 0x01 in
accordance to Table 9: GPIO configuration
When RF_IDLE is to be bound with an instruction the numbering to be used in EXCBINDX/Y1 is 0x00 in
accordance to Table 14: Exceptions summary.
58 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
15 Memory Map
The configuration registers in CC2520 are located at addresses from 0x000 to 0x07F. From 0x080 to 0x0FF
there is currently a reserved area that is not used. CC2520 contains 768 bytes of physical RAM located at
addresses 0x100 to 0x3FF.
WWW.TI.COM 59
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
15.1 FREG
FREG is 128 fast access 8-bit registers that can be reached with REGRD and REGWR instructions.
REGRD and REGWR instructions that begin in the FREG memory area can be continued into the SREG
and wrap around at 0x07F. FREG can also be accessed with MEMRD and MEMWR instructions which
require one extra byte over the SPI with respect to REGRD and REGWR.
Registers in FREG between 0x000 and 0x01F are bit wise writeable with the BCLR and BSET instructions.
The registers located in FREG are described in section 28. Note that not all 128 addresses are used.
15.2 SREG
SREG is 128 8-bit registers that are accessible with MEMRD and MEMWR instructions.
The registers located in SREG are described in section 32. Note that not all 128 addresses are used.
15.3 TX FIFO
The TX FIFO memory area is located at addresses 0x100 to 0x17F and is thus 128 bytes. Although this
memory area is intended for the TX FIFO, it is not protected in any way, so it is still accessible with for
instance the MEMWR and MEMRD instructions. Normally, only the designated instructions should be used
to manipulate the contents of the TX FIFO. The TX FIFO can only contain one frame at a time. More details
on the TX FIFO can be found in section 22.3.
15.4 RX FIFO
The RX FIFO memory area is located at addresses 0x180 to 0x1FF and is thus 128 bytes. Although this
memory area is intended for the RX FIFO, it is not protected in any way, so it is still accessible with for
instance the MEMWR and MEMRD instructions. Normally, only the designated instructions should be used
to manipulate the contents of the RX FIFO. The RX FIFO can contain more than one frame at a time.
15.5 MEM
The MEM memory area from address 0x200 to 0x37F is 384 bytes long. The two 16-byte temporary areas
CBCTEMPH and CBCTEMPL are used for CBCMAC, UCBCMAC, CCM and UCCM instructions, with high
and low priority respectively. The remaining MEM area is general purpose memory.
60 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
0x3DE-0x3DF short_23 ext_11 LE LE 2 individual short address entries (combination of 16 bit PAN
ID and 16 bit short address) or 1 extended address entry.
0x3DC-0x3DD panid_23 LE
0x3DA-0x3DB short_22 LE
0x3D8-0x3D9 panid_22 LE
-----
0x38E-0x38F short_03 ext_01 LE LE 2 individual short address entries (combination of 16 bit PAN
ID and 16 bit short address) or 1 extended address entry.
0x38C-0x38D panid_03 LE
0x38A-0x38B short_02 LE
0x388-0x389 panid_02 LE
0x386-0x387 short_01 ext_00 LE LE 2 individual short address entries (combination of 16 bit PAN
ID and 16 bit short address) or 1 extended address entry.
0x384-0x385 panid_01 LE
0x382-0x383 short_00 LE
0x380-0x381 panid_00 LE
WWW.TI.COM 61
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
IEEE 802.15.4-2006 specifies 16 channels within the 2.4 GHz band. They are numbered 11 through 26 and
are 5 MHz apart. The RF frequency of channel k is given by [2].
62 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The modulation and spreading functions are illustrated at block level in Figure 12. Each byte is divided into
two symbols, 4 bits each. The least significant symbol is transmitted first. For multi-byte fields, the least
significant byte is transmitted first, except for security related fields where the most significant byte it
transmitted first.
Each symbol is mapped to one out of 16 pseudo-random sequences, 32 chips each. The symbol to chip
mapping is shown in Table 16. The chip sequence is then transmitted at 2 Mchips/s, with the least
significant chip (C0) transmitted first for each symbol. The transmitted bit stream and the chip sequences are
observable on GPIO pins. See Table 9 for details on how to configure the GPIO to do this.
The modulation format is Offset – Quadrature Phase Shift Keying (O-QPSK) with half-sine chip shaping.
This is equivalent to MSK modulation. Each chip is shaped as a half-sine, transmitted alternately in the I and
Q channels with one half chip period offset. This is illustrated for the zero-symbol in Figure 13.
WWW.TI.COM 63
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
64 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Figure 18 shows a schematic view of the IEEE 802.15.4 frame format. Similar figures describing specific
frame formats (data frames, beacon frames, acknowledgment frames and MAC command frames) are
included in the standard document [2].
Bytes: 2 1 0 to 20 n 2
Frame Data Frame Check
MAC Address
Control Field Sequence Frame payload Sequence
Layer Information
(FCF) Number (FCS)
MAC Header (MHR) MAC Payload MAC Footer
(MFR)
Bytes: 4 1 1 5 + (0 to 20) + n
Start of frame MAC Protocol
PHY Preamble Frame
Delimiter Data Unit
Layer Sequence Length
(SFD) (MPDU)
Synchronisation Header PHY Header PHY Service Data Unit
(SHR) (PHR) (PSDU)
11 + (0 to 20) + n
PHY Protocol Data Unit
(PPDU)
Figure 14: Schematic view of the IEEE 802.15.4 Frame Format [1]
PHY Header
The PHY header consists only of the frame length field. The frame length field defines the number of bytes
in the MPDU. Note that the value of the length field does not include the length field itself. It does however
include the FCS (Frame Check Sequence), even if this is inserted automatically by CC2520 hardware. T T
The frame length field is 7 bits long and has a maximum value of 127. The most significant bit in the length
field is reserved, and should always be set to zero.
WWW.TI.COM 65
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
66 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
19 Transmit Mode
This section describes how to control the transmitter, the integrated frame processing and how to use the
TX FIFO.
19.1 TX Control
CC2520 has many built in features for frame processing and status reporting. Note that CC2520 provides
features that make it easy for the microcontroller to have precise control of the timing of outgoing frames.
This is very important in an IEEE 802.15.4/ZigBee system, because there are strict timing requirements to
such systems.
To enable the receiver after transmission with STXON, the FRMCTRL1.SET_RXENMASK_ON_TX bit
should be set. This will set bit 14 in RXENABLE when STXON is executed. When transmitting with
STXONCCA, the receiver would be on before the transmission and will be turned back on afterwards
(unless the RXENABLE registers have been cleared in the mean time).
When returning to idle or receive mode, there is a 2 us delay while the modulator ramps down the signals to
the DACs. The down ramping happens automatically after the complete MPDU (as defined by the length
byte) has been transmitted or if TX underflow occurs. This affects:
• The SFD signal, which is stretched by 2 us.
• The radio FSM transition to the IDLE state, which is delayed by 2 us.
Figure 16 illustrates what needs to be written to the TX FIFO (marked blue). Additional bytes are ignored,
unless TX overflow occurs (see the error conditions listed below).
WWW.TI.COM 67
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The TX FIFO can be emptied manually with the SFLUSHTX command strobe. TX underflow will occur If the
FIFO is emptied during transmission.
19.3.1 Retransmission
In order to support simple retransmission of frames, the CC2520 does not delete TX FIFO contents as they
are transmitted. After a frame has been successfully transmitted, the FIFO contents are left unchanged. To
retransmit the same frame again, simply restart TX by issuing a STXON or STXONCCA command strobe.
If a different frame is to be transmitted, just write the new frame to the TX FIFO. In this case, the TX FIFO is
automatically flushed before the actual writing takes place.
TX overflow is indicated by the TX_OVERFLOW exception. When this error occurs, the writing will be
aborted, i.e. the data byte that caused the overflow will be lost. The error condition must be cleared with the
SFLUSHTX strobe.
TX underflow is indicated by the TX_UNDERFLOW exception. When this error occurs, the ongoing
transmission is aborted. The error condition must be cleared with the SFLUSHTX strobe.
68 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
SSAMPLECCA
Yes No
TX started?
(SAMPLED_CCA = 1) (SAMPLED_CCA = 0)
TX buffer overfilled
TX is aborted by
TX completes? No Why? SRXON,
STXON or SRFOFF
Yes
Error condition
Frame transmitted successfully Error condition Incomplete or no frame transmission
(left side of the flow
diagram should be
TIME
Between two transmissions there can be multiple other activities such as frame reception, RX FIFO access and acknowledgment transmission (using SACK, SACKPEND or
AUTOACK), or idle periods (random backoffs). This will have no side effects on the state of the TX buffer.
The placement of the SFLUSHTX strobe in the diagram shows the latest point in time where this strobe can be executed. If fewer special cases is desired, it is always possible to
use the SFLUSHTX strobe and then load or reload TXBUF with the next frame to be transmitted.
WWW.TI.COM 69
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Transmitted frame
1 2 3
1. Generation and automatic transmission of the PHY Layer synchronization header which consists of
the preamble and the SFD.
2. Transmission of the number of bytes specified by the frame length field.
3. Calculation of and automatic transmission of the FCS (can be disabled).
The recommended usage is to write the length field followed by MAC header and MAC payload to the TX
FIFO, and let CC2520 handle the rest. Note that the length field must include the two FCS bytes even
though CC2520 adds these automatically.
CC2520 has programmable preamble length. The default value is compliant with [2] and changing the value
T T
The preamble sequence length is set by MDMCTRL0.PREAMBLE_LENGTH. Figure 18 shows how the
CC2520 synchronization header relates to the IEEE 802.15.4 specification.
T T
When the required number of preamble bytes have been transmitted, CC2520 will automatically transmit the
one byte long SFD. The SFD is fixed and it is not possible to change this value from software.
Note that the minimum frame length is 3 when AUTOCRC=’1’ and 1 when AUTOCRC=’0’.
70 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
FCS in the TX FIFO, so software must generate the FCS and write it to the TX FIFO along with the rest of
the MPDU.
The CC2520 hardware implementation of the FCS calculator is shown in Figure 22. Please refer to [2] for
T T
further details.
19.6 Exceptions
The SFD exception will be raised when the SFD field of the frame has been transmitted. At the end of the
frame, the TX_FRM_DONE exception will be raised when the complete frame has been successfully
transmitted.
Note that there is a second SFD signal available on GPIO (config value 0x2A) that should not be confused
with the SFD exception.
The CCA is based on the RSSI value and a programmable threshold. The exact behavior is configurable in
the CCACTRL0 and CCACTRL1 registers.
There are two variations of the CCA signal, one that is updated at every new RSSI sample and one that is
only updated on SSAMPLECCA and STXONCCA command strobes. They are both available in the
FSMSTAT1 register.
Note that the CCA signal is updated 4 clock cycles (32 MHz) after the RSSI_VALID signal has been set.
WWW.TI.COM 71
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Table 17: Output power and current consumption measured on the CC2520 reference design @
+3.0 V, +25°C, fc=2.440 GHz
TXPOWER Typical output Typical current
register (hex) power (dBm) consumption (mA)
F7 5 33.6
F2 3 31.3
AB 2 28.7
13 1 27.9
32 0 25.8
81 -2 24.9
88 -4 23.1
2C -7 19.9
03 -18 16.2
72 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
20 Receive Mode
This section describes how to control the receiver, integrated RX frame processing, and how use the RX
FIFO.
20.1 RX Control
The CC2520 receiver is turned on and off with the SRXON and SRFOFF command strobes, and with the
RXENABLE registers. The command strobes provide a "hard" on/off mechanism, while RXENABLE
manipulation provides a "soft" on/off mechanism.
When returning to receive mode after frame reception, there is by default an interval of 192 us where SFD
detection is disabled. This interval can be disabled by clearing FSMCTRL.RX2RX_TIME_OFF.
During reception of a single frame, the CC2520 performs the following frame processing steps:
WWW.TI.COM 73
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
1. Detection and removal of the received PHY synchronization header (preamble and SFD), and
reception of the number of bytes specified by the frame length field.
2. Frame filtering as specified by [1] and [2], section 7.5.6.2, third filtering level.
3. Matching of the source address against a table containing up to 24 short addresses or 12 extended
IEEE addresses. The source address table is stored on-chip in RAM.
4. Automatic FCS checking, and attaching this result and other status values (RSSI, LQI and source
match result) to received frames.
5. Automatic acknowledgment transmission with correct timing, and correct setting of the frame
pending bit, based on the results from source address matching and FCS checking.
The CC2520 uses a correlator to detect the SFD. The correlation threshold value in
MDMCTRL1.CORR_THR determines how closely the received SFD must match an "ideal" SFD. The
threshold must be adjusted with care:
• If set too high, CC2520 will miss lots of actual SFDs, effectively reducing the receiver sensitivity.
• If set too low, CC2520 will detect lots of false SFDs. Although this does not reduce the receiver
sensitivity, the effect will be similar, since false frames might overlap with SFDs of actual frames. It also
increases the risk of receiving false frames with correct FCS.
In addition to SFD detection, it is also possible to require a number of valid preamble symbols (also above
the correlation threshold) prior to SFD detection. Refer to the register descriptions of MDMCTRL0 and
MDMCTRL1 for available options and recommended settings.
For CC2520 rev. A the default correlation threshold is too low, and must updated after reset (before RX is
attempted).
The frame filtering function rejects non-intended frames as specified by [1] and [2], section 7.5.6.2, third
filtering level. In addition, it provides filtering on:
• The 8 different frame types (see the FRMFILT1 register)
• The reserved bits in the frame control field (FCF)
74 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Filtering Algorithm
The FRMFILT0.FRM_FILTER_EN bit controls whether frame filtering is applied or not. When disabled, the
CC2520 will accept all received frames. When enabled (which is the default setting), the CC2520 will only
accept frames that fulfill all of the following requirements:
• The length byte must be equal to or higher than the “minimum frame length”, which is derived from the
source- and destination address mode and PAN ID compression subfields of the FCF.
• The reserved FCF bits [9:7] and’ed together with FRMFILT0.FCF_RESERVED_BITMASK must equal
0b000.
• The value of the frame version subfield of the FCF cannot be higher than
FRMFILT0.MAX_FRAME_VERSION.
• The source and destination address modes cannot be reserved values (1).
• Destination address:
• If a destination PAN ID is included in the frame, it must match LOCAL_PANID or must be the
broadcast PAN identifier (0xFFFF).
• If a short destination address is included in the frame, it must match either LOCAL_SHORT_ADDR
or the broadcast address (0xFFFF).
• If an extended destination address is included in the frame, it must match LOCAL_EXT_ADDR.
• Frame type:
• Beacon frames (0) are only accepted when:
• FRMFILT1.ACCEPT_FT0_BEACON = 1
• Length byte >= 9
• The destination address mode is 0 (no destination address)
• The source address mode is 2 or 3 (i.e. a source address is included)
• The source PAN ID matches LOCAL_PANID, or LOCAL_PANID equals 0xFFFF
• Data (1) frames are only accepted when:
• FRMFILT1.ACCEPT_FT1_DATA = 1
• Length byte >= 9
• A destination address and/or source address is included in the frame. If no destination address
is included in the frame, the FRMFILT0.PAN_COORDINATOR bit must be set and the source
PAN ID must equal LOCAL_PANID.
• Acknowledgment (2) frames are only accepted when:
• FRMFILT1.ACCEPT_FT2_ACK = 1
• Length byte = 5
• MAC command (3) frames are only accepted when:
• FRMFILT1.ACCEPT_FT3_MAC_CMD = 1
• Length byte >= 9
• A destination address and/or source address is included in the frame. If no destination address
is included in the frame, the FRMFILT0.PAN_COORDINATOR bit must be set and the source
PAN ID must equal LOCAL_PANID for the frame to be accepted..
• Reserved frame types (4, 5, 6 and 7) are only accepted when:
• FRMFILT1.ACCEPT_FT4TO7_RESERVED = 1 (default is 0)
• Length byte >= 9
The following operations are performed before the filtering begins, with no effect on the frame data stored in
the RX FIFO:
• Bit 7 of the length byte is masked out (don’t care).
• If FRMFILT1.MODIFY_FT_FILTER is unlike zero, the MSB of the frame type subfield of the FCF is
either inverted or forced to 0 or 1.
WWW.TI.COM 75
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
If a frame is rejected, CC2520 will only start searching for a new frame after the rejected frame has been
completely received (as defined by the length field) to avoid detecting false SFDs within the frame. Note that
rejected frames can generate RX overflow if it occurs before the frame is rejected.
Exceptions
When frame filtering is enabled and the filtering algorithm accepts a received frame, an
RX_FRM_ACCEPTED exception will be generated. It will not be generated if frame filtering is disabled or
RX_OVERFLOW or RX_FRM_ABORTED is generated before the filtering result is known.
Figure 24 illustrates the three different scenarios (not including the overflow and abort error conditions).
The FSMSTAT1.SFD register bit will go high when start of frame delimiter is completely received and
remain high until either the last byte in MPDU is received or the received frame has failed to pass address
recognition and been rejected.
SFD exception can be routed to a GPIO pin alone or as a part of a group of exceptions in channel A or B.
SFD exception should preferably be connected to a timer capture pin on the microcontroller to extract timing
information of transmitted and received data frames. SFD exception is also stored in EXCFLAG1 register.
The register bit (and possibly the GPIO pin) will go high when the start of frame delimiter has been
completely received and will continue to be high until cleared by SW.
To completely avoid receiving frames during energy detection scanning, set FRMCTRL0.RX_MODE = 0b11
and then (re)start RX. This will disable symbol search and thereby prevent SFD detection.
To resume normal RX mode, set FRMCTRL0.RX_MODE = 0b00 and (re)start RX.
During operation in a busy IEEE 802.15.4 environment, CC2520 will receive large numbers of non-intended
acknowledgment frames. To effectively block reception of these frames, use the
FRMFILT1.ACCEPT_FT2_ACK bit to control when acknowledgment frames should be received:
76 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
It is not necessary to turn off the receiver while changing the values of the FRMFILT0/1 registers and the
local address information stored in RAM. However, if the changes take place between reception of the SFD
byte and the source PAN ID (i.e. between the SFD and RX_FRM_ACCEPTED exceptions), the modified
values must be considered as don’t care for that particular frame (CC2520 will use either the old or the new
value).
Note that it is possible to make CC2520 ignore all IEEE 802.15.4 incoming frames by setting
MDMTEST1.MODULATION_MODE=’1’.
Source address matching will only be performed when frame filtering is also enabled, and the received
frame has been accepted. The function is controlled by:
• The SRCMATCH, SRCSHORTEN0, SRCSHORTEN1, SRCSHORTEN2, SRCEXTEN0,
SRCEXTEN1 and SRCEXTEN2 registers
• The source address table in RAM.
Applications
Automatic acknowledgment transmission with correct setting of the frame pending bit: When using indirect
frame transmission, the devices will send data requests to poll frames stored on the coordinator. To indicate
whether it actually has a frame stored for the device, the coordinator must set or clear the frame pending bit
in the returned acknowledgment frame. On most 8- and 16-bit MCUs, however, there is not enough time to
determine this, and so the coordinator ends up setting the pending bit regardless of whether there are
pending frames for the device (as required by IEEE 802.15.4 [2]). This is wasteful in terms of power
consumption, because the polling device will have to keep its receiver enabled for a considerable period of
time, even if there are no frames for it. By loading the destination addresses in the indirect frame queue into
the source address table and enabling the AUTOPEND function, CC2520 will set the pending bit in outgoing
acknowledgment frames automatically. This way the operation is no longer timing critical, as the effort done
by the microcontroller is when adding or removing frames in the indirect frame queue and updating the
source address table accordingly.
Security material look-up: To reduce the time needed to process secured frames, the source address table
can be set up so the entries match the table of security keys on the microcontroller. A second level of
masking on the table entries allows this application to be combined with automatic setting of the pending bit
in acknowledgment frames.
Other applications: The two previous applications are the main targets for the source address matching
function. However, for proprietary protocols that only rely on the basic IEEE 802.15.4 frame format, there
are several other useful applications. For instance, by using it together with the exception binding
mechanism, it is possible to create firewall functionality where only a specified set of nodes will be
acknowledged.
WWW.TI.COM 77
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
• An extended address entry consists only of the 64-bit IEEE extended address. These entries are
stored at address 0x380 + (8 × n), where n is a number between 0 and 11.
Matching Algorithm
The SRCMATCH.SRC_MATCH_EN bit controls whether source address matching is enabled or not. When
enabled (which is the default setting) and a frame passes the filtering algorithm, the CC2520 will apply one
of the algorithms outlined in Figure 22, depending on which type of source address is present.
78 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
SRCRESMASK and SRCRESINDEX are written to CC2520 memory as soon as the result is available.
SRCRESINDEX is also appended to received frames if the FRMCTRL0.AUTOCRC and
FRMCTRL0.APPEND_DATA_MODE bits have been set. The value then replaces the 7-bit LQI value of the
16-bit status word.
Exceptions
When source address matching is enabled and the matching algorithm completes, a SRC_MATCH_DONE
exception will be generated, regardless of the result. If a match is found, a SRC_MATCH_FOUND exception
will also be generated, immediately before SRC_MATCH_DONE.
WWW.TI.COM 79
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The following measures can be taken to avoid that the next received frame overwrites the results from
source address matching:
• Use the appended SRCRESINDEX result instead of the value written to RAM (this is the recommended
approach).
• Read the results from RAM before RX_FRM_ACCEPTED occurs in the next received frame. For the
shortest frame type this will happen after the sequence number, so the total available time (absolute
worst-case with a small safety margin) becomes:
• To increase the available time, clear the FSMCTRL.RX2RX_TIME_OFF bit. This will add another 192
µs, for a total of 368 µs. This will also reduce the risk of RX overflow.
Field descriptions:
• The RSSI value is measured over the first 8 symbols following the SFD.
• The CRC_OK bit indicates whether the FCS is correct (1) or incorrect (0). When incorrect, software is
responsible for discarding the frame.
• The correlation value is the average correlation value over the 8 first symbols following the SFD.
• SRCRESINDEX is the same value that is written to RAM after completion of source address matching.
Calculation of the LQI value used by IEEE 802.15.4 is described in section 20.5.
80 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
the FCS of the received frame must be correct). Figure 26 shows the format of the acknowledgment frame
Bytes: 4 1 1 2 1 2
Start of Frame Frame Data Frame Check
Preamble Frame
Delimiter Control Field Sequence Sequence
Sequence Length
(SFD) (FCF) Number (FCS)
Synchronisation Header PHY Header MAC Header (MHR) MAC Footer
(SHR) (PHR) (MFR)
There are three different sources for setting the pending bit in an ACK frame (i.e. the SACKPEND strobe,
the PENDING_OR register bit and the AUTOPEND feature). The pending bit is set if one or more of these
sources are set.
Transmission Timing
Acknowledgment frames can only be transmitted immediately after frame reception. The transmission timing
is controlled by the FSMCTRL.SLOTTED_ACK bit:
802.15.4 requires unslotted mode in non-beacon enabled PANs, and slotted mode for beacon-enabled
PANs.
Manual Control
The SACK, SACKPEND and SNACK command strobes can only be issued during frame reception. If the
strobes are issued at any other time, they will have no effect but generating a USAGE_ERROR exception:
The command strobes may be issued several times during reception, however, only the last strobe will have
an effect:
• No strobe / SNACK / incorrect FCS: No acknowledgment transmission
• SACK: Acknowledgment transmission with the frame pending bit cleared
• SACKPEND: Acknowledgment transmission with the frame pending bit set
WWW.TI.COM 81
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Automatic acknowledgments can be overridden by the SACK, SACKPEND and SNACK command strobes.
For instance, if the microcontroller is low on memory resources and cannot store a received frame, the
SNACK strobe can be issued during reception and prevent acknowledging the discarded frame.
By default, the AUTOACK feature never sets the frame pending bit in the acknowledgment frames. Apart
from manual override with command strobes, there are two options:
• Automatic control, using the AUTOPEND feature
• Manual control, using the FRMCTRL1.PENDING_OR bit
If the source matching table runs full, the FRMCTRL1.PENDING_OR bit may be used to override the
AUTOPEND feature and temporarily acknowledge all frames with the frame pending field set.
The SFLUSHRX command strobe resets the RX FIFO, removing all received frames, and clearing all
counters, status signals and sticky error conditions.
82 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
• The number of valid bytes in the RX FIFO exceeds the FIFOP threshold value programmed into
FIFOPCTRL. When frame filtering is enabled, the bytes in the frame header are not considered
as valid until the frame has been accepted.
• The last byte of a new frame is received, even if the FIFOP threshold is not exceeded. If so,
FIFOP will go back low at the next RX FIFO read access.
SFD
Accepted frame
FIFO
SFD
Rejected frame
FIFO
FIFOP
Frame
First byte Last byte
filtering
received received
complete
When using the FIFOP signal as an interrupt signal for the microcontroller, the FIFOP threshold should be
adjusted by the interrupt service routine to prepare for the next interrupt. When preparing for the last
interrupt for a frame, the threshold should match the number of bytes remaining.
RX overflow is indicated by the RX_OVERFLOW exception and by the signal values FIFO = 0 and FIFOP =
1. When the error occurs, frame reception will be halted. The frames currently stored in the RX FIFO may be
read out before the condition is cleared with the SFLUSHRX strobe. Note that rejected frames can generate
RX overflow if the condition occurs before the frame is rejected.
20.5 RSSI
CC2520 has a built-in RSSI (Received Signal Strength Indication) which calculates an 8 bit signed digital
value that can be read from a register or automatically appended to received frames. The RSSI value is the
result of averaging the received power over 8 symbol periods (128 µs) as specified by IEEE 802.15.4 [2].
The RSSI value is a 2’s complement signed number on a logarithmic scale with 1dB steps.
The statusbit RSSI_VALID should be checked before reading the RSSI value register. RSSI_VALID
indicates that the RSSI value in the register is in fact valid, which means that the receiver has been enabled
for at least 8 symbol periods.
WWW.TI.COM 83
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
To find the actual signal power P at the RF pins with reasonable accuracy, an offset has to be added to the
RSSI value.
The offset is an empirical value which is found during characterization and is approximately 76 dBm for the
CC2520 reference design. E.g. reading a RSSI value of -10 from the RSSI register means that the RF input
power is approximately -86 dBm.
It is configurable how CC2520 updates the RSSI register after it has first become valid. If
FRMCTRL0.ENERGY_SCAN=’0’ (default), the RSSI register contains the latest value available, but if this
bit is set to ‘1’, a peak search is performed and the RSSI register will contain the largest value since the
energy scan was enabled.
The RSSI value may be used by the MAC software to calculate the LQI value. This approach has the
disadvantage that e.g. a narrowband interferer inside the channel bandwidth will increase the RSSI and thus
the LQI value although it actually reduces the true link quality. CC2520 therefore also provides an average
correlation value for each incoming frame, based on the 8 first symbols following the SFD. This unsigned 7-
bit value can be looked upon as a measurement of the “chip error rate,” although CC2520 does not do chip
decision.
As described in section 20.3.4, the average correlation value for the 8 first symbols is appended to each
received frame together with the RSSI and CRC OK/not OK when MDMCTRL0.AUTOCRC is set. A
correlation value of ~110 indicates a maximum quality frame while a value of ~50 is typically the lowest
quality frames detectable by CC2520.
Software must convert the correlation value to the range 0-255 as defined by [2], for instance by calculating:
limited to the range 0-255, where a and b are found empirically based on PER measurements as a function
of the correlation value.
A combination of RSSI and correlation values may also be used to generate the LQI value.
84 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
=0
ble
na
rxe idle SRFOFF and
all states
0 tx_active=’0'
rxenable != 0 STXON
RX TX
calibration SR calibration
XO
2 No
r SF 32
LUS
HR
X STXONCCA and cca=’1'
Timeout
Timeout
X
192 µs
R
192 µs
SH
LU
any RX state
SF
'
’1
x_ o t 19
f=
Timeout 190 µs
of
u
tim r
eo
e_
m
2r
rx
SFD detected
RXFIFO
RX/RX wait TX/RX transit rxenable! = 0 TX final
reset
14 40 39
16
le nd
du d a
d
he te
sc ple
RX TX shutdown
7-13 26, 57
Overflow
RX overflow
0
rxenmask!=
17
SRFOFF or
Slotted ACK SRXON
Unslotted ACK rxenable = 0
ACK
ACK delay ACK all TX and
calibration
55 Timeour 192 µs 49-54 ACK states
Timeout X µs 48
(depending on length byte of
the received frame)
Table 18 shows the mapping from FSM state to the number which can be read from the FSMSTAT0
register. Note that although it is possible to read the state of the FSM, this information should not be used to
control the program flow in the application software. The states may change very quickly (every 32 MHz
clock cycle) and an 8 MHz SPI is not able to capture all the activities.
WWW.TI.COM 85
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
86 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
22 Crystal Oscillator
The internal crystal oscillator generates the main frequency reference. The reference frequency must be
32 MHz. Because the crystal frequency is used as reference for the data rate as well as other internal signal
processing functions, other frequencies cannot be used.
The crystal must be connected between the XOSC32M_Q1 and XOSC32M_Q2 pins. The oscillator is designed
for parallel mode operation of the crystal. In addition, loading capacitors (C121 and C131) for the crystal are
required. The loading capacitor values depend on the total load capacitance, CL, specified for the crystal.
The total load capacitance seen between the crystal terminals should equal CL for the crystal to oscillate at
the specified frequency. CC2520 has the ability to add more capacitance in order to tune the oscillator
frequency. The amount of extra capacitance is configurable with the FREQTUNE register.
1
C L = C tune + C parasitic +
1 1
+
C121 C131
The parasitic capacitance is constituted by pin input capacitance and PCB stray capacitance. The total
parasitic capacitance is typically 2 pF - 5 pF.
Note that the default value for the FREQTUNE register means “no added capacitance”, which means that
only reduction of the frequency is possible. By reducing the external capacitors (C121 and C131), the
default frequency is increased. This way, the actual frequency tuning range can be moved so that both
positive and negative tuning around the target frequency is possible.
The crystal oscillator is amplitude regulated. This means that a high current is used to start up the
oscillations. When the amplitude builds up, the current is reduced to what is necessary to maintain a stable
oscillation. This ensures a fast start-up and keeps the drive level to a minimum. The ESR of the crystal must
be within the specification in order to ensure a reliable start-up.
WWW.TI.COM 87
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
After a reset, CC2520 will output a 1MHz clock on GPIO0. Note that CC2520 needs to be in active mode in
order for the crystal oscillator to be running and thus have the ability to provide an external clock.
The procedure for bringing a system from active mode to LPM2 is as follows:
• Switch MCU over to RC oscillator.
• Set CC2520 in LPM2.
88 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
• Single random bits from either the I or Q channel (configurable) can be output on GPIO pins at a rate of
8MHz. One can also select to xor the I and Q bits before they are output on a GPIO pin. These bits are
taken from the least significant bit in the I and/or Q channel after the decimation filter in the demodulator.
• CC2520 supports an instruction called RANDOM that allows the user to read randomly generated bytes
over the SPI. These bytes are generated from the least significant bit of the I channel output from the
channel filter in the demodulator.
Decimator Channel
ADC I
I filter I
LSB
SPI
Decimator Channel
ADC Q
Q filter Q
LSB
LSB
GPIO
A simple test of the RANDOM instruction shows satisfactory performance for most practical uses. About 20
million bytes were read using the RANDOM instruction. When interpreted as unsigned integers between 0
and 255, the mean value was 127.6518, which indicates that there is a DC component.
The FFT of the 214 first bytes is shown in Figure 33. Note that the DC component is clearly visible. A
histogram (32 bins) of the 20 million values is shown in Figure 34.
5
x 10
0 6.5
6.45
-10
6.4
-20
6.35
-30
6.3
-40 6.25
dB
6.2
-50
6.15
-60
6.1
-70
6.05
-80 6
-3 -2 -1 0 1 2 3 0 50 100 150 200 250
Frequency [rad]
Figure 32: FFT of the random bytes Figure 33: Histogram of 20 million bytes generated
with the RANDOM instruction
For the first 20 million individual bits, the probability of a one is P(1)=0.500602 and P(0)=1-P(1)=0.499398.
WWW.TI.COM 89
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Note that to fully qualify the random generator as “true random”, much more elaborate tests are required.
There are software packages available on the internet that may be useful in this respect [8], [9].
90 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Note that the parameters for these instructions may be set to values that make the blocks of input data and
output data overlap. This is perfectly OK for all instructions except MEMCPR which will only work with
overlapping input/output if C≤16. For example: to shift a 9 byte block of data one byte up, the MEMCP
instructions can be used as follows: MEMCP(P=0,C=9,A=0x22A,E=0x22B).
WWW.TI.COM 91
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
25.1 RXBUFMOV
The RXBUFMOV instruction reads data from the RX FIFO and places the data at a specified memory
location as illustrated in Figure 35.
25.2 TXBUFCP
The TXBUFCP instruction copies a block of data starting at a specified memory location into the TX FIFO as
illustrated in Figure 35.
25.3 MEMCP
The MEMCP instruction copies a block of data starting at a specified memory location into another memory
location as illustrated in Figure 35.
25.4 MEMCPR
The MEMCPR instruction copies a block of data starting at a specified memory location into another
memory location while reversing the endianess. In other words the byte at memory location A+n is copied to
memory location E+C-1-n.
25.5 MEMXCP
The MEMXCP instruction xors two blocks of data and writes the result back to the memory location of the
second block. This is primarily used as a subroutine for some of the security instructions. It can also be used
to clear (set to zero) blocks of RAM with one short SPI instruction. By using the same source and target
address, the data is xor’ed with itself, which always results in zero being written back to the RAM.
92 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
26 Security Instructions
CC2520 has extensive support for security operations defined in IEEE 802.15.4. The latest specification
version [2] describes only the CCM* mode of operation. CCM* uses CTR-mode encryption for confidentiality
and CBC-MAC for authentication. In CC2520 these operations are available as separate instructions. In
addition the basic ECB instruction is available and an instruction for manipulation of the counter used in
CTR-mode encryption/decryption.
Note that all the different security operations in IEEE802.15.4 only use AES 128bit encryption. Decryption is
never used and thus CC2520 only supports encryption. ECB decryption is not supported.
Note that for all the security instructions, the key and counter should reside in RAM in reversed byte order
compared to the data. This can either be done by reversing the byte order of the key/counter before it is
written to the RAM, or the MEMCPR instructions can be used to reverse the byte order of keys/counters that
are already in the RAM.
m(1:0)
Flags byte written to RAM
7 6 5 4 3 2 1 0
CTR Flag CBC Flag
- L
bits 7:6 bits 7:6
LUT(m(1:0))
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
Res Res 0 0 0 L Res Adata M L
Flags byte used for CTR operation Flags byte used for CBCMAC operation
Figure 36 shows how the most significant byte of the counter in CC2520 RAM represents both the CTR and
CBC-MAC security flags.
For the CBC-MAC flags, a lookup procedure is used to translate the two least significant bits of the m
parameter to the CBCMAC instruction in the M value that is used in the flag byte. The same translation is
used for the CBC-MAC part of the CCM instruction.
WWW.TI.COM 93
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
ECB(P,K,C,A,E) E+15
16 bytes ciphertext
A+15-C zero E
AES
16-C bytes plaintext padding to
encryption
A 16 bytes A+15-C
16-C bytes plaintext
16K+15 A
16 bytes key
16K 16K+15
16 bytes key
16K
ECBO(P,K,C,A)
A+15-C zero A+15
AES
16-C bytes plaintext padding to
encryption
16 bytes ciphertext
A 16 bytes A
16K+15 16K+15
16 bytes key 16 bytes key
16K 16K
ECBX(P,K,C,A,E)
E+15-C E+15-C
16-C bytes plaintext 16-C bytes ciphertext
E E
A+15 AES A+15
16 bytes counter encryption
16 bytes counter
A A
16K+15 16K+15
16 bytes key 16 bytes key
16K 16K
26.2 INC
The INC instruction increments 1, 2 or 4 bytes, with the LSB at address A. Note that C=3 is an illegal
parameter value.
26.3 ECB
The ECB instruction performs basic block encryption. It is mainly intended as a function used by the more
complicated instructions such as CBC-MAC and CCM. ECB by itself is not very useful, because there is no
decryption instruction. The cipher text output can not be recovered. This should not be considered as a
weakness, because ECB block encryption/decryption is not considered to be a secure form of
communicating.
The values of the parameters E and C should be selected with care so that the instruction does not
overwrite a section of the memory that is already in use. The ECB instruction will work exactly as ECBO if
E=A.
94 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
26.4 ECBO
The ECBO instruction is identical to ECB, except that it will store its output to the same memory locations as
the input was read from. It will always output 16 bytes even though the input was not a full 16 bytes.
26.5 ECBX
The ECBX instruction is identical to ECB, except that it will bitwise XOR the result from the encryption with
the memory contents of the output address.
The values of the parameters E and C should be selected with care so that the instruction does not
overwrite a section of the memory that is already in use. The ECBX instruction will work exactly as ECBXO if
E=A.
Note that the terminology from counter mode encryption is used in Figure 37.
WWW.TI.COM 95
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
CBC-MAC(P,K,C,A,E,M)
Repeat until C bytes have
blocks of been consumed E+[NaN,3,7,15]
16 bytes [0,4,8,16] bytes MIC
A+C-1 E
C bytes plaintext i+1
A A+C-1
C bytes plaintext
16K+15 i truncate last A
16 bytes key i=0 else iteration
16K 16K+15
16 bytes key
16K
AES
encryption
i = block index
CCM(P,K,C,N,A,E,F,M) E+C+[NaN,3,7,15]
[0,4,8,16] bytes encrypted MIC
A+F+C-1 E+C
MIC
C bytes plaintext CBC-MAC E+C-1
A+F C bytes ciphertext
A+F-1 E
F bytes plaintext CTR
A A+F+C-1
C bytes plaintext
16N+15 index=0 A+F
16 bytes counter A+F-1
16N index>0
F bytes plaintext
16K+15 A
16 bytes key CTR 16N+15
16K 16 bytes counter
16N
16K+15
16 bytes key
16K
96 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
If the last block of plaintext is not 16 bytes long, only the required number of bits (from the MSB end) from
the encryption is used in the XOR operation.
The UCTR instruction performs counter mode decryption and is absolutely identical to the CTR instruction
because counter mode encryption and decryption are symmetrical operations.
26.7 CBC-MAC
The CBC-MAC instruction performs authentication.
Note that if M[1:0]=0 no authentication code is output. For other values of M[1:0] the number of
authentication bytes that are output is 2M[1:0]+1. If M[2]=0 the plaintext data is prefixed with the value of C
expanded to 8 bits by concatenation of a 0 at the MSB end.
The authentication (CBC-MAC) part calculates a Message Integrity Code (MIC) over the address range A to
A+F+C-1. The resulting MIC is encrypted with CTR mode encryption using the counter value with index 0.
The encryption (CTR) part encrypts the address range A+F to A+F+C-1 using CTR mode encryption and
counter values with index 1 and up, and thus generates C bytes of ciphertext.
The output which is the concatenation of the ciphertext and the encrypted MIC is written to memory starting
at address E.
The UCCM instruction decrypts the ciphertext in the address range A+F to A+F+C-1 using CTR mode
decryption. A MIC is then generated in the same way as for the CCM instruction, and compared to the MIC
in the input data. The result of the MIC comparison is stored in the DPUSTAT register.
WWW.TI.COM 97
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
98 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
To verify the authentication code in the receiver, the following steps are required.
It is assumed that frame data is already present in RAM from address 0x200.
//Write key to RAM in reverse byte order
//Start at address 0x230
MEMWR(A={02 30} D={cf ce cd cc cb ca c9 c8 c7 c6 c5 c4 c3 c2 c1 c0})
//Write concatenation of flags, nonce and counter to RAM in reversed byte order
//Start at address 0x240
MEMWR(a={02 40} D={00 00 02 05 00 00 00 01 00 00 00 00 48 de ac 09})
//Do UCCM operation with low priority
UCCM(P={00} K={23} C={00} N={24} A={200} E={2c0} F={1a} M={02})
//Read DPUSTAT register at address 0x02C to check whether the authentication passed or not
REGRD(A={2c})
To decrypt the frame in the receiver, the following steps are required. It is assumed that the packed data is
already present in RAM from address 0x200.
//Write key to RAM in reverse byte order
//Start at address 0x230
MEMWR(A={02 30} D={cf ce cd cc cb ca c9 c8 c7 c6 c5 c4 c3 c2 c1 c0})
//Write concatenation of flags, nonce and counter to RAM in reversed byte order
//Starting at address 0x240
MEMWR(A={02 40} D={00 00 04 05 00 00 00 01 00 00 00 00 48 de ac 01})
//Decrypt the frame data and put the plaintext at address 0x2C0.
UCCM(P={01} K={23} C={04} N={24} A={200} E={2c0} F={1a} M={00})
WWW.TI.COM 99
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
To decrypt the frame in the receiver, the following steps are required. It is assumed that the packed data is
already present in RAM from address 0x200.
//Write key to RAM in reverse byte order
//Start at address 0x230
MEMWR(A={02 30} D={cf ce cd cc cb ca c9 c8 c7 c6 c5 c4 c3 c2 c1 c0})
//Write concatenation of flags, nonce and counter to RAM in reversed byte order
//Starting at address 0x240
MEMWR(A={02 40} D={00 00 06 05 00 00 00 01 00 00 00 00 48 de ac 09})
//Decrypt the frame data and authenticate the MIC. Note that the output address E is set to 0x000.
UCCM(P={01} K={23} C={01} N={24} A={200} E={000} F={1d} M={02})
//Read DPUSTAT register at address 0x02C to check whether the authentication passed or not
REGRD(A={2c})
100 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
27 Packet Sniffing
Packet sniffing is a non-intrusive way of observing data that is either being transmitted or received by
CC2520. The packet sniffer outputs a clock and a data signal which should be sampled on the rising edges
of the clock. The two packet sniffer signals are observable as GPIO outputs. For accurate time stamping,
the SFD signal should also be output.
Because CC2520 only supports a data rate of 250kbps, the packet sniffer clock frequency is 250 kHz. The
data is output serially with the MSB of each byte first, which is opposite of the actual RF transmission, but
more convenient when processing the data. It is possible to use an SPI slave to receive the data stream.
When sniffing frames in TX mode, the data that is read from the TX FIFO by the modulator is the same data
that is output by the packet sniffer. However, if automatic CRC generation is enabled, the packet sniffer will
NOT output these 2 bytes. Instead, it will replace the CRC bytes with 0x8080. This value can never occur as
the last two bytes of a received frame (when automatic CRC checking is enabled), and thus it provides a
way for the receiver of the sniffed data to separate frames that were transmitted by the CC2520 and frames
that were received by the CC2520.
When sniffing frames in RX mode, the data that is written to the RX FIFO by the demodulator is the same
data that is output by the packet sniffer. In other words, the last two bytes are either the received CRC value
or the CRC OK/RSSI/correlation/SRCRESINDEX value that may automatically replace the CRC value,
depending on configuration settings.
Note that in order to observe the packet sniffing data on GPIO pins, the packet sniffer module must be
enabled in the MDMTEST1 register, and the correct GPIO configuration must be written to any of the GPIOn
registers.
WWW.TI.COM 101
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
28 Registers
The table below shows the memory mapping for the configuration registers in CC2520.
The FREG registers are accessible with the REGRD and REGWR instructions. Registers in address space
0x000 to 0x01F (marked with gray) are also accessible with the BSET and BCLR instructions.
The SREG registers are only accessible with the MEMRD and MEMWR instructions.
Please also refer to Figure 11: CC2520 memory map for information on the rest of the address range.
NOTE: When accessing unmapped addresses a MEMADDR_ERROR exception will be generated. This is
valid for address space from 0x064 to 0x079 and addresses above 0x07F. Other unmapped addresses like
i.e. 0x003 will not generate a MEMADDR_ERROR.
102 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Table 21: Registers that need update from their default value
Register name Address New value Description
(hex) (hex)
TXPOWER 030 32 Set 0 dBm output power. Use only the values listed in Table
17 in this register.
CCACTRL0 036 F8 Raises the CCA threshold from about -108dBm to about -
84 dBm input level.
MDMCTRL0 046 85 Makes sync word detection less likely by requiring two zero
symbols before the sync word.
MDMCTRL1 047 14 Make it more likely to detect sync by removing the
requirement that both symbols in the SFD must have a
correlation value above the correlation threshold, and make
sync word detection less likely by raising the correlation
threshold.
RXCTRL 04A 3F Adjust currents in RX related analog modules.
FSCTRL 04C 5A Adjust currents in synthesizer.
FSCAL1 04F 2B Adjust currents in VCO.
AGCCTRL1 053 11 Adjust target value for AGC control loop.
ADCTEST0 056 10 Tune ADC performance.
ADCTEST1 057 0E Tune ADC performance.
ADCTEST2 058 03 Tune ADC performance.
WWW.TI.COM 103
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
read_data
LNA_CURRENT_OE
write_data AGCCTRL2 rf_input
LNA
register
1
AGC
0
module
Figure 40: Example hardware structure for the R* register access mode.
104 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
6:4 FCF_RESERVED_MASK[2:0] 000 R/W Used for filtering on the reserved part of the frame control
field (FCF). FCF_RESERVED_MASK[2:0] is AND'ed with
FCF[9:7]. If the result is non-zero, and frame filtering is
enabled, the frame is rejected.
3:2 MAX_FRAME_VERSION[1:0] 11 R/W Used for filtering on the frame version field of the frame
control field (FCF).
If FCF[13:12] (the frame version subfield) is higher than
MAX_FRAME_VERSION[1:0], and frame filtering is
enabled, the frame is rejected.
1 PAN_COORDINATOR 0 R/W Should be set high when the device is a PAN coordinator,
to accept frames with no destination address (as specified
in section 7.5.6.2 in 802.15.4(b))
0 - Device is not PAN coordinator
1 - Device is PAN coordinator
0 FRAME_FILTER_EN 1 R/W Enables frame filtering.
When this bit is set, CC2520 will perform frame filtering as
specified in section 7.5.6.2 of 802.15.4(b), third filtering
level. FRMFILT0[6:1] and FRMFILT1[7:1] together with
the local address information, define the behavior of the
filtering algorithm.
0 - Frame filtering off. (FRMFILT0[6:1], FRMFILT1[7:1]
and SRCMATCH[2:0] are don't care).
1 - Frame filtering on.
WWW.TI.COM 105
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
106 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
2 PEND_DATAREQ_ONLY 1 R/W When this bit is set, the AUTOPEND function also
requires that the received frame is a "DATA REQUEST"
MAC command frame.
1 AUTOPEND 1 R/W Automatic acknowledgment pending flag enable.
Upon reception of a frame, the pending bit in the
(possibly) returned acknowledgment will be set
automatically, given that:
- FRMFILT0.FRAME_FILTER_EN is set.
- SRCMATCH.SRC_MATCH_EN is set.
- SRCMATCH.AUTOPEND is set.
- The received frame matches the current
SRCMATCH.PEND_DATAREQ_ONLY setting.
- The received source address matches at least one
source match table entry, which is enabled in both
SHORT_ADDR_EN and SHORT_PEND_EN or
EXT_ADDR_EN and EXT_PEND_EN.
Note: Details for SHORT_PEND_EN and
EXT_PEND_EN is found in memory map description.
0 SRC_MATCH_EN 1 R/W Source address matching enable (This bit is “don’t care” if
FRMFILT0.FRAME_FILTER_EN = 0)
WWW.TI.COM 107
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
108 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
In RX
1: The CRC-16 is checked in hardware, and replaced in the RX
FIFO by a 16-bit status word which contains a CRC OK bit. The
status word is controllable through APPEND_DATA_MODE
0: The last two bytes of the frame (crc-16 field) are stored in the
RXFIFO. The CRC check (if any) must be done manually.
Note that this setting does not influence acknowledgment
transmission (including AUTOACK)
5 AUTOACK 0 R/W Defines whether CC2520 automatically transmits acknowledge
frames or not. When autoack is enabled, all frames that are
accepted by address filtering, have the acknowledge request flag
set and have a valid CRC, are automatically acknowledged 12
symbol periods after being received.
0 - Autoack disabled
1 - Autoack enabled
4 ENERGY_SCAN 0 R/W Defines whether the RSSI register contains the most recent signal
strength or the peak signal strength since the energy scan was
enabled.
0 - Most recent signal strength
1 - Peak signal strength
3:2 RX_MODE[1:0] 00 R/W Set RX modes
00: Normal operation, use RXFIFO.
01: Reserved
10: RXFIFO looping ignore overflow in RXFIFO, infinite reception.
11: Same as normal operation except that symbol search is
disabled. Can be used for RSSI or CCA measurements when it is
undesired to find symbol.
1:0 TX_MODE[1:0] 00 R/W Set test modes for TX
00: Normal operation, transmit TXFIFO
01: Reserved. Should not be used.
10: TXFIFO looping ignore underflow in TXFIFO and read cyclic,
infinite transmission.
11: Send pseudo random data from CRC, infinite transmission.
WWW.TI.COM 109
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
2 PENDING_OR 0 R/W Defines whether the pending data bit in outgoing acknowledgment
frames are always set to ‘1’ or controlled by the main FSM and
the address filtering.
0 - Pending data bit is controlled by main FSM and address
filtering
1 - Pending data bit is always ‘1’.
1 IGNORE_TX_UNDERF 0 R/W Defines whether TX underflow should be ignored or not.
0 - Normal TX operation. TX underflow is detected and TX is
aborted if underflow occurs
1 - Ignore TX underflow. Transmit the number of bytes given by
the length field.
0 SET_RXENMASK_ON_TX 1 R/W Defines whether STXON will set bit 14 in the RXENABLE register or
leave it unchanged.
0: Do not affect RXENABLE.
1: Set bit 14 in RXENABLE. Used for backwards compatibility with
CC2420.
110 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
1 SRFOFF
2 SXTON
3 SRXON
4 RXMASKOR
5 RXMASKAND
6 SRXMASKBITSET
7 SRXMASKBITCLR
WWW.TI.COM 111
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
112 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
WWW.TI.COM 113
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
7:0 EXCMASKB[15:8] 0x00 R/W The 15:8 part of 24 bit word EXCMASKB
See description of EXCMASKB0.
114 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
WWW.TI.COM 115
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
5:0 POLARITY 0x3F R/W Selects output polarity or input edge of GPIO pins.
0 - Negative polarity. Level indication is active low.
When input, falling edge is active.
1 - Positive polarity. Level indication is active high.
When input, rising edge is active.
116 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
0 RXTIMEOUT 1 R/W Defines whether the RXBUFMOV instruction will time out after 32
us or immediately when the RXFIFO is empty. When the 32 us
timeout is enabled, the RXBUFMOV instruction can be run with a
higher number of bytes than the number of bytes currently stored
in RXFIFO since one byte is received every 32us.
0 - Immediate time out
1 - 32us time out
WWW.TI.COM 117
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
118 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
6 FIFOP 0 R FIFOP is set high when there are more than FIFOP_THR bytes of
data in the RXFIFO that has passed frame filtering.
FIFOP is set high when there is at least one complete frame in the
RXFIFO. FIFOP is set low again when a byte is read from the
RXFIFO and this leaves less than FIFOP_THR bytes in the FIFO.
FIFOP is high during RXFIFO overflow
5 SFD 0 R In TX:
0: When a complete frame with SFD has been sent or no SFD has
been sent
1: SFD has been sent
In RX:
0: When a complete frame has been received or no SFD has been
received
1: SFD has been received
4 CCA 0 R Clear channel assessment. Dependent on CCA_MODE settings.
See CCACTRL1 for details.
3 SAMPLED_CCA 0 R Contains a sampled value of the CCA. The value is updated
whenever a SSAMPLECCA or STXONCCA strobe is issued
2 LOCK_STATUS 0 R '1' when PLL is in lock, otherwise '0'.
1 TX_ACTIVE 0 R Status signal, active when FFCTRL is in one of the transmit states
0 RX_ACTIVE 0 R Status signal, active when FFCTRL is in one of the receive states
6:0 FIFOP_THR[6:0] 0x40 R/W Threshold used when generating FIFOP signal
WWW.TI.COM 119
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
0 RSSI_VALID 0 R RSSI value is valid. Occurs eight symbol periods after entering
RX
120 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
WWW.TI.COM 121
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
5 EXTCLOCK_EN 1 RW Defines whether the clock generator module for the external clock
is enabled or not. Note that a GPIO pin must be configured as
output and Clock must be selected in one of the GPIOCTRLn
registers to get the clock at the selected pin.
1 - Clock running
0 - Clock off
4:0 EXT_FREQ 0x00 RW Frequency setting of external clock. Changes of frequencies are
glitch free and have 50/50 duty cycle. I.e. a change of frequency
will not have effect before a complete period of the current clock
setting is finished.
Setting Div. factor Frequency [MHz]
00000 32 1,00
00001 31 1,03
00010 30 1,07
00011 29 1,10
00100 28 1,14
00101 27 1,19
00110 26 1,23
00111 25 1,28
01000 24 1,33
01001 23 1,39
01010 22 1,45
01011 21 1,52
01100 20 1,60
01101 19 1,68
01110 18 1,78
01111 17 1,88
10000 16 2,00
10001 15 2,13
10010 14 2,29
10011 13 2,46
10100 12 2,67
10101 11 2,91
10110 10 3,20
10111 9 3,56
11000 8 4,00
11001 7 4,57
11010 6 5,33
11011 5 6,40
11100 4 8,00
11101 3 10,67
11110 2 16,00
11111 2 16,00
122 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
5 DEMOD_AVG_MODE 0 R/W Defines the behavior or the frequency offset averaging filter.
0 - Lock average level after preamble match. Restart frequency
offset calibration when searching for the next frame.
1 - Continuously update average level.
4:1 PREAMBLE_LENGTH 0010 R/W The number of preamble bytes (2 zero-symbols) to be sent in TX
[3:0] mode prior to the SFD, encoded in steps of 2. The reset value of
2 is compliant with IEEE 802.15.4
0000 - 2 leading zero bytes
0001 - 3 leading zero bytes
0010 - 4 leading zero bytes
…
1111 - 17 leading zero bytes
0 TX_FILTER 1 R/W Defines what kind of TX filter that is used. The normal TX filter is
as defined by the IEEE802.15.4 standard. Extra filtering may be
applied in order to lower the out of band emissions.
0 - Normal TX filtering
1 - Enable extra filtering
WWW.TI.COM 123
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
124 WWW.TI.COM
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
The following registers in the address range 0x04A to 0x07F are for performance tuning and test purposes
and should generally not be written. The registers that require updates to give the performance described in
this datasheet are listed in Table 21: Registers that need update from their default value.
RXCTRL, A 0x04A, R 0x29, Test/tuning of RX modules
WWW.TI.COM 125
CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
126 WWW.TI.COM
PACKAGE OPTION ADDENDUM
www.ti.com 6-Feb-2020
PACKAGING INFORMATION
Orderable Device Status Package Type Package Pins Package Eco Plan Lead/Ball Finish MSL Peak Temp Op Temp (°C) Device Marking Samples
(1) Drawing Qty (2) (6) (3) (4/5)
CC2520RHDR ACTIVE VQFN RHD 28 3000 Green (RoHS NIPDAU Level-3-260C-168 HR -40 to 125 CC2520
& no Sb/Br)
CC2520RHDRG4 ACTIVE VQFN RHD 28 3000 Green (RoHS NIPDAU Level-3-260C-168 HR -40 to 125 CC2520
& no Sb/Br)
CC2520RHDT ACTIVE VQFN RHD 28 250 Green (RoHS Call TI | NIPDAU Level-3-260C-168 HR -40 to 125 CC2520
& no Sb/Br)
HPA00399RHDR ACTIVE VQFN RHD 28 3000 Green (RoHS NIPDAU Level-3-260C-168 HR -40 to 125 CC2520
& no Sb/Br)
(1)
The marketing status values are defined as follows:
ACTIVE: Product device recommended for new designs.
LIFEBUY: TI has announced that the device will be discontinued, and a lifetime-buy period is in effect.
NRND: Not recommended for new designs. Device is in production to support existing customers, but TI does not recommend using this part in a new design.
PREVIEW: Device has been announced but is not in production. Samples may or may not be available.
OBSOLETE: TI has discontinued the production of the device.
(2)
RoHS: TI defines "RoHS" to mean semiconductor products that are compliant with the current EU RoHS requirements for all 10 RoHS substances, including the requirement that RoHS substance
do not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered at high temperatures, "RoHS" products are suitable for use in specified lead-free processes. TI may
reference these types of products as "Pb-Free".
RoHS Exempt: TI defines "RoHS Exempt" to mean products that contain lead but are compliant with EU RoHS pursuant to a specific EU RoHS exemption.
Green: TI defines "Green" to mean the content of Chlorine (Cl) and Bromine (Br) based flame retardants meet JS709B low halogen requirements of <=1000ppm threshold. Antimony trioxide based
flame retardants must also meet the <=1000ppm threshold requirement.
(3)
MSL, Peak Temp. - The Moisture Sensitivity Level rating according to the JEDEC industry standard classifications, and peak solder temperature.
(4)
There may be additional marking, which relates to the logo, the lot trace code information, or the environmental category on the device.
(5)
Multiple Device Markings will be inside parentheses. Only one Device Marking contained in parentheses and separated by a "~" will appear on a device. If a line is indented then it is a continuation
of the previous line and the two combined represent the entire Device Marking for that device.
(6)
Lead/Ball Finish - Orderable Devices may have multiple material finish options. Finish options are separated by a vertical ruled line. Lead/Ball Finish values may wrap to two lines if the finish
value exceeds the maximum column width.
Important Information and Disclaimer:The information provided on this page represents TI's knowledge and belief as of the date that it is provided. TI bases its knowledge and belief on information
provided by third parties, and makes no representation or warranty as to the accuracy of such information. Efforts are underway to better integrate information from third parties. TI has taken and
Addendum-Page 1
PACKAGE OPTION ADDENDUM
www.ti.com 6-Feb-2020
continues to take reasonable steps to provide representative and accurate information but may not have conducted destructive testing or chemical analysis on incoming materials and chemicals.
TI and TI suppliers consider certain information to be proprietary, and thus CAS numbers and other limited information may not be available for release.
In no event shall TI's liability arising out of such information exceed the total purchase price of the TI part(s) at issue in this document sold by TI to Customer on an annual basis.
Addendum-Page 2
PACKAGE MATERIALS INFORMATION
www.ti.com 12-Feb-2019
Pack Materials-Page 1
PACKAGE MATERIALS INFORMATION
www.ti.com 12-Feb-2019
Pack Materials-Page 2
IMPORTANT NOTICE AND DISCLAIMER
TI PROVIDES TECHNICAL AND RELIABILITY DATA (INCLUDING DATASHEETS), DESIGN RESOURCES (INCLUDING REFERENCE
DESIGNS), APPLICATION OR OTHER DESIGN ADVICE, WEB TOOLS, SAFETY INFORMATION, AND OTHER RESOURCES “AS IS”
AND WITH ALL FAULTS, AND DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT OF THIRD
PARTY INTELLECTUAL PROPERTY RIGHTS.
These resources are intended for skilled developers designing with TI products. You are solely responsible for (1) selecting the appropriate
TI products for your application, (2) designing, validating and testing your application, and (3) ensuring your application meets applicable
standards, and any other safety, security, or other requirements. These resources are subject to change without notice. TI grants you
permission to use these resources only for development of an application that uses the TI products described in the resource. Other
reproduction and display of these resources is prohibited. No license is granted to any other TI intellectual property right or to any third
party intellectual property right. TI disclaims responsibility for, and you will fully indemnify TI and its representatives against, any claims,
damages, costs, losses, and liabilities arising out of your use of these resources.
TI’s products are provided subject to TI’s Terms of Sale (www.ti.com/legal/termsofsale.html) or other applicable terms available either on
ti.com or provided in conjunction with such TI products. TI’s provision of these resources does not expand or otherwise alter TI’s applicable
warranties or warranty disclaimers for TI products.
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2020, Texas Instruments Incorporated