CC2500 - Wireless Chip of GC08 Wireles Module
CC2500 - Wireless Chip of GC08 Wireles Module
CC2500
Single Chip Low Cost Low Power RF Transceiver
Applications
• 2400-2483.5 MHz ISM/SRD band systems • Wireless audio
• Consumer Electronics • Wireless keyboard and mouse
• Wireless game controllers
Product Description
The CC2500 is a low cost true single chip 2.4 controlled via an SPI interface. In a typical
GHz transceiver designed for very low power system, the CC2500 will be used together with
wireless applications. The circuit is intended a microcontroller and a few additional passive
for the ISM (Industrial, Scientific and Medical) components.
and SRD (Short Range Device) frequency
band at 2400-2483.5 MHz. CC2500 is based on Chipcon’s SmartRF®04
technology in 0.18 µm CMOS.
The RF transceiver is integrated with a highly
configurable baseband modem. The modem
supports various modulation formats and has
a configurable data rate up to 500 kbps. The
communication range can be increased by
enabling a Forward Error Correction option,
which is integrated in the modem.
CC2500 provides extensive hardware support
for packet handling, data buffering, burst
transmissions, clear channel assessment, link
quality indication and wake-on-radio.
The main operating parameters and the 64-
byte transmit/receive FIFOs of CC2500 can be
Key Features
• Small size (QLP 4x4 mm package, 20 • Suitable for frequency hopping systems
pins) due to a fast settling frequency synthesizer
• True single chip 2.4 GHz RF transceiver • Optional Forward Error Correction with
• Frequency range: 2400-2483.5 MHz interleaving
• High sensitivity (–101 dBm at 10 kbps, 1% • Separate 64-byte RX and TX data FIFOs
packet error rate) • Efficient SPI interface: All registers can be
• Programmable data rate up to 500 kbps programmed with one “burst” transfer
• Low current consumption (13.3 mA in RX, • Digital RSSI output
250 kbps, input 30 dB above sensitivity • Suited for systems compliant with EN 300
limit) 328 and EN 300 440 class 2 (Europe),
• Programmable output power up to +1 dBm CFR47 Part 15 (US), and ARIB STD-T66
• Excellent receiver selectivity and blocking (Japan)
performance • Wake-on-radio functionality for automatic
• Very few external components: low-power RX polling
Completely on-chip frequency synthesizer, • Many powerful digital features allow a
no external filters or RF switch needed high-performance RF system to be made
• Programmable baseband modem using an inexpensive microcontroller
• Ideal for multi-channel operation • Integrated analog temperature sensor
• Configurable packet handling hardware • Lead-free “green“ package
Abbreviations
Abbreviations used in this data sheet are described below.
2-FSK Binary Frequency Shift Keying MSK Minimum Shift Keying
ADC Analog to Digital Converter NA Not Applicable
AFC Automatic Frequency Offset Compensation PA Power Amplifier
AGC Automatic Gain Control PCB Printed Circuit Board
AMR Automatic Meter Reading PD Power Down
ASK Amplitude Shift Keying PER Packet Error Rate
BER Bit Error Rate PLL Phase Locked Loop
CCA Clear Channel Assessment POR Power-on Reset
CRC Cyclic Redundancy Check PQI Preamble Quality Indicator
CS Carrier Sense PQT Preamble Quality Threshold
DC Direct Current RCOSC RC Oscillator
EIRP Equivalent Isotropic Radiated Power RF Radio Frequency
ESR Equivalent Series Resistance RSSI Received Signal Strength Indicator
FEC Forward Error Correction RX Receive, Receive Mode
FIFO First-In-First-Out SAW Surface Aqustic Wave
FHSS Frequency Hopping Spread Spectrum SNR Signal to Noise Ratio
FSK Frequency Shift Keying SPI Serial Peripheral Interface
GFSK Gaussian shaped Frequency Shift Keying TBD To Be Defined
IF Intermediate Frequency TX Transmit, Transmit Mode
LBT Listen Before Transmit VCO Voltage Controlled Oscillator
LNA Low Noise Amplifier WOR Wake on Radio, Low power polling
LO Local Oscillator XOSC Crystal Oscillator
LQI Link Quality Indicator XTAL Crystal
MCU Microcontroller Unit
Table Of Contents
APPLICATIONS ...........................................................................................................................................1
PRODUCT DESCRIPTION.........................................................................................................................1
KEY FEATURES ..........................................................................................................................................1
FEATURES (CONTINUED FROM FRONT PAGE)................................................................................2
ABBREVIATIONS........................................................................................................................................2
TABLE OF CONTENTS ..............................................................................................................................3
1 ABSOLUTE MAXIMUM RATINGS ..............................................................................................6
2 OPERATING CONDITIONS ..........................................................................................................6
3 GENERAL CHARACTERISTICS..................................................................................................6
4 ELECTRICAL SPECIFICATIONS ................................................................................................7
4.1 CURRENT CONSUMPTION .....................................................................................................................7
4.2 RF RECEIVE SECTION ...........................................................................................................................8
4.3 RF TRANSMIT SECTION ......................................................................................................................10
4.4 CRYSTAL OSCILLATOR .......................................................................................................................10
4.5 LOW POWER RC OSCILLATOR ............................................................................................................11
4.6 FREQUENCY SYNTHESIZER CHARACTERISTICS ...................................................................................11
4.7 ANALOG TEMPERATURE SENSOR .......................................................................................................12
4.8 DC CHARACTERISTICS .......................................................................................................................12
4.9 POWER-ON RESET ..............................................................................................................................12
5 PIN CONFIGURATION.................................................................................................................13
6 CIRCUIT DESCRIPTION .............................................................................................................15
7 APPLICATION CIRCUIT .............................................................................................................15
8 CONFIGURATION OVERVIEW .................................................................................................17
9 CONFIGURATION SOFTWARE.................................................................................................18
10 4-WIRE SERIAL CONFIGURATION AND DATA INTERFACE ...........................................19
10.1 CHIP STATUS BYTE ............................................................................................................................20
10.2 REGISTER ACCESS ..............................................................................................................................21
10.3 COMMAND STROBES ..........................................................................................................................22
10.4 FIFO ACCESS .....................................................................................................................................22
10.5 PATABLE ACCESS ............................................................................................................................22
11 MICROCONTROLLER INTERFACE AND PIN CONFIGURATION ...................................23
11.1 CONFIGURATION INTERFACE ..............................................................................................................23
11.2 GENERAL CONTROL AND STATUS PINS ..............................................................................................23
11.3 OPTIONAL RADIO CONTROL FEATURE ...............................................................................................23
12 DATA RATE PROGRAMMING...................................................................................................24
13 RECEIVER CHANNEL FILTER BANDWIDTH .......................................................................24
14 DEMODULATOR, SYMBOL SYNCHRONIZER AND DATA DECISION............................25
14.1 FREQUENCY OFFSET COMPENSATION.................................................................................................25
14.2 BIT SYNCHRONIZATION ......................................................................................................................25
14.3 BYTE SYNCHRONIZATION ...................................................................................................................25
15 PACKET HANDLING HARDWARE SUPPORT .......................................................................25
15.1 DATA WHITENING ..............................................................................................................................26
15.2 PACKET FORMAT ................................................................................................................................26
15.3 PACKET FILTERING IN RECEIVE MODE ...............................................................................................27
15.4 CRC CHECK .......................................................................................................................................28
15.5 PACKET HANDLING IN TRANSMIT MODE ............................................................................................28
15.6 PACKET HANDLING IN RECEIVE MODE ..............................................................................................28
16 MODULATION FORMATS ..........................................................................................................29
16.1 FREQUENCY SHIFT KEYING ................................................................................................................29
16.2 MINIMUM SHIFT KEYING....................................................................................................................29
16.3 AMPLITUDE MODULATION .................................................................................................................29
2 Operating Conditions
The operating conditions for CC2500 are listed Table 2 in below.
Parameter Min Max Unit Condition
Operating temperature –40 85 °C
Operating supply voltage 1.8 3.6 V All supply pins must have the same voltage
3 General Characteristics
Parameter Min Typ Max Unit Condition/Note
Frequency range 2400 2483.5 MHz
Data rate 1.2 500 kbps Modulation formats supported:
(Shaped) MSK (also known as differential offset
QPSK) up to 500 kbps
2-FSK up to 500 kbps
4 Electrical Specifications
Current consumption in 400 nA Voltage regulator to digital part off, register values retained
power down modes (SLEEP state)
900 nA Voltage regulator to digital part off, register values retained, low-
power RC oscillator running (SLEEP state with WOR enabled)
92 µA Voltage regulator to digital part off, register values retained,
XOSC running (SLEEP state with MCSM0.OSC_FORCE_ON set)
157 µA Voltage regulator to digital part on, all other modules in power
down (XOFF state)
Current consumption 1.4 µA Automatic RX polling once each second, using low-power RC
oscillator, with 460 kHz filter bandwidth and 250 kbps data rate,
th
PLL calibration every 4 wakeup. Average current with signal in
channel below carrier sense level.
4.8 DC Characteristics
The DC Characteristics of CC2500 are listed in Table 11 below.
Tc = 25°C if nothing else stated.
5 Pin Configuration
DGUARD
RBIAS
GND
GND
SI
20 19 18 17 16
SCLK 1 15 AVDD
SO (GDO1) 2 14 AVDD
GDO2 3 13 RF_N
DVDD 4 12 RF_P
DCOUPL 5 11 AVDD
GND
6 7 8 9 10
Exposed die
GDO0 (ATEST)
CSn
XOSC_Q1
AVDD
XOSC_Q2
attach pad
4 DVDD Power (Digital) 1.8 - 3.6 V digital power supply for digital I/O’s and for the digital core
voltage regulator
5 DCOUPL Power (Digital) 1.6 - 2.0 V digital power supply output for decoupling.
NOTE: This pin is intended for use with the CC2500 only. It can not be
used to provide supply voltage to other devices.
6 GDO0 Digital I/O Digital output pin for general use:
18 DGUARD Power (Digital) Power supply connection for digital noise isolation
6 Circuit Description
RADIO CONTROL
DEMODULATOR
ADC
RXFIFO
LNA
PACKET HANDLER
SO (GDO1)
SI
RF_P FREQ
0 CSn
RF_N SYNTH
90
GDO0 (ATEST)
GDO2
PA MODULATOR
TXFIFO
RC OSC BIAS XOSC
A simplified block diagram of CC2500 is shown phase shifter for generating the I and Q LO
in Figure 2. signals to the down-conversion mixers in
receive mode.
CC2500 features a low-IF receiver. The
received RF signal is amplified by the low- A crystal is to be connected to XOSC_Q1 and
noise amplifier (LNA) and down-converted in XOSC_Q2. The crystal oscillator generates the
quadrature (I and Q) to the intermediate reference frequency for the synthesizer, as
frequency (IF). At IF, the I/Q signals are well as clocks for the ADC and the digital part.
digitised by the ADCs. Automatic gain control A 4-wire SPI serial interface is used for
(AGC), fine channel filtering, demodulation configuration and data buffer access.
bit/packet synchronization is performed
digitally. The digital baseband includes support for
channel configuration, packet handling and
The transmitter part of CC2500 is based on data buffering.
direct synthesis of the RF frequency.
The frequency synthesizer includes a
completely on-chip LC VCO and a 90 degrees
7 Application Circuit
Only a few external components are required Bias resistor
for using the CC2500. The recommended
The bias resistor R171 is used to set an
application circuit is shown in Figure 3. The
accurate bias current.
external components are described in Table
14, and typical values are given in Table 15. Balun and RF matching
Note that the PCB antenna alternative
C122, C132, L121 and L131 form a balun that
indicated in Figure 3 is preliminary and subject
to changes. Performance for the PCB antenna converts the differential RF signal on CC2500
to a single-ended RF signal (C121 and C131
alternative will be included in future revisions
of this data sheet. are also needed for DC blocking). Together
Component Description
SI
GND 19
DGUARD 18
GND 16
SI 20
RBIAS 17
Antenna
SCLK (50 Ohm)
1 SCLK AVDD 15
SO L131
Digital Inteface
2 SO (GDO1) AVDD 14
(GDO1)
CC2500
GDO2 C131 C132
3 GDO2 RF_N 13
(optional)
C121
4 DVDD DIE ATTACH PAD: RF_P 12 L122
L121
C123 C124
10 XOSC_Q2
5 DCOUPL AVDD 11
8 XOSC_Q1
C122
6 GDO0
9 AVDD
7 CSn
C51
GDO0 Alternative:
(optional) Folded dipole PCB
CSn
antenna (no external
XTAL components needed)
C81 C101
Figure 3: Typical application and evaluation circuit (excluding supply decoupling capacitors)
Component Value
C51 100 nF ±10%, 0402 X5R
C81 27 pF ±5%, 0402 NP0
C101 27 pF ±5%, 0402 NP0
C121 100 pF ±5%, 0402 NP0
C122 1.0 pF ±0.25 pF, 0402 NP0
C123 1.8 pF ±0.25 pF, 0402 NP0
C124 1.5 pF ±0.25 pF, 0402 NP0
C131 100 pF ±5%, 0402 NP0
C132 1.0 pF ±0.25 pF, 0402 NP0
L121 1.2 nH ±0.3 nH, 0402 monolithic, Murata LQG-15 series
L122 1.2 nH ±0.3 nH, 0402 monolithic, Murata LQG-15 series
L131 1.2 nH ±0.3 nH, 0402 monolithic, Murata LQG-15 series
R171 56 kΩ ±1%, 0402
XTAL 26.0 MHz surface mount crystal
In the CC2500EM reference design LQG-15 multi-layer inductors from other manufacturers
series inductors from Murata have been used. (e.g. Würth) and the measurement results
Measurements have been performed with were the same as when using the Murata part.
8 Configuration Overview
Frequency
Frequency synthesizer is turned on, can optionally be
synthesizer startup,
calibrated, and then settles to the correct frequency.
SFSTXON optional calibration,
Frequency synthesizer is on, Transitional state. Typ. current consumption: 7.4mA.
settling
ready to start transmitting.
Transmission starts very Frequency
quickly after receiving the synthesizer on
STX command strobe.Typ.
STX
current consumption: 7.4mA.
SRX or wake-on-radio (WOR)
STX TXOFF_MODE=01
SFSTXON or RXOFF_MODE=01
TXOFF_MODE=00 RXOFF_MODE=00
Optional transitional state. Typ.
In FIFO-based modes, current consumption: 7.4mA.
In FIFO-based modes,
transmission is turned off
reception is turned off and
and this state entered if the TX FIFO Optional freq. RX FIFO
this state entered if the RX
TX FIFO becomes empty in underflow synth. calibration overflow
FIFO overflows. Typ. current
the middle of a packet. Typ.
consumption: 1.5mA.
current consumption: 1.5mA.
SFTX
SFRX
Idle
Figure 4: Simplified state diagram, with typical usage and current consumption at 250 kbps
data rate and MDMCFG2.DEM_DCFILT_OFF = 1 (reduced current)
9 Configuration Software
CC2500 can be configured using the SmartRF® optimum register settings, and for evaluating
Studio software, available for download from performance and functionality. A screenshot of
http://www.chipcon.com. The SmartRF® Studio the SmartRF® Studio user interface for CC2500
software is highly recommended for obtaining is shown in Figure 5.
CC2500 is configured via a simple 4-wire SPI- will be cancelled. The timing for the address
compatible interface (SI, SO, SCLK and CSn) and data transfer on the SPI interface is
where CC2500 is the slave. This interface is shown in Figure 6 with reference to Table 16.
also used to read and write buffered data. All When CSn goes low, the MCU must wait until
address and data transfer on the SPI interface
CC2500 SO pin goes low before starting to
is done most significant bit first.
transfer the header byte. This indicates that
All transactions on the SPI interface start with the voltage regulator has stabilized and the
a header byte containing a read/write bit, a crystal is running. Unless the chip was in the
burst access bit and a 6-bit address. SLEEP or XOFF states, the SO pin will always
During address and data transfer, the CSn pin go low immediately after taking CSn low.
(Chip Select, active low) must be kept low. If Figure 7 gives a brief overview of different
CSn goes high during the access, the transfer register access types possible.
SCLK:
CSn:
Write to register:
SI
X 0 A6 A5 A4 A3 A2 A1 A0 X D 7
W
D 6
W
D 5
W
D 4
W
D 3
W
D 2
W
D 1
W
D 0
W
X
Hi-Z S7 S6 S5 S4 S3 S2 S1 S0 S7 S6 S5 S4 S3 S2 S1 S0 S7 Hi-Z
SO
Read from register:
SI
X 1 A6 A5 A4 A3 A2 A1 A0 X
S7 S6 S5 S4 S3 S2 S1 S0 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
SO Hi-Z R R R R R R R R
Hi-Z
Figure 6: Configuration registers write and read operations (A6 is the “burst” bit)
CSn:
Read or write register(s): ADDRreg DATA ADDRreg DATA ADDRreg DATA ...
Read or write consecutive registers (burst): ADDRreg n DATAn DATAn+1 DATAn+2 ...
Read or write n+1 bytes from/to RF FIFO: ADDRFIFO DATAbyte 0 DATAbyte 1 DATAbyte 2 ... DATAbyte n-1 DATAbyte n
Combinations: ADDRreg DATA ADDRstrobe ADDRreg DATA ADDRstrobe ADDRFIFO DATAbyte 0 DATAbyte 1 ...
The 64-byte TX FIFO and the 64-byte RX The PATABLE is an 8-byte table that defines
FIFO are accessed through the 0x3F address. the PA control settings to use for each of the
When the read/write bit is zero, the TX FIFO is eight PA power values (selected by the 3-bit
accessed, and the RX FIFO is accessed when value FREND0.PA_POWER). The table is
the read/write bit is one. written and read from the lowest setting (0) to
the highest (7), one byte at a time. An index
The TX FIFO is write-only, while the RX FIFO counter is used to control the access to the
is read-only. table. This counter is incremented each time a
The burst bit is used to determine if FIFO byte is read or written to the table, and set to
access is single byte or a burst access. The the lowest index when CSn is high. When the
single byte access method expects address highest value is reached the counter restarts
with burst bit set to zero and one data byte. at zero.
After the data byte a new address is expected; The access to the PATABLE is either single
hence, CSn can remain low. The burst access byte or burst access depending on the burst
method expects one address byte and then bit. When using burst access the index counter
consecutive data bytes until terminating the will count up; when reaching 7 the counter will
access by setting CSn high. restart at 0. The read/write bit controls whether
The following header bytes access the FIFOs: the access is a write access (R/W=0) or a read
access (R/W=1).
• 0x3F: Single byte access to TX FIFO
If one byte is written to the PATABLE and this
• 0x7F: Burst access to TX FIFO value is to be read out then CSn must be set
• 0xBF: Single byte access to RX FIFO high before the read access in order to set the
index counter back to zero.
• 0xFF: Burst access to RX FIFO
Note that the content of the PATABLE is lost
when entering the SLEEP state, except for the
When writing to the TX FIFO, the status byte first byte (index 0).
(see Section 10.1) is output for each new data
byte on SO, as shown in Figure 6. This status
byte can be used to detect TX FIFO underflow
In a typical system, CC2500 will interface to a IDLE state, the PTEST register should be
microcontroller. This microcontroller must be restored to its default value (0x7F).
able to:
• Program CC2500 into different modes, 11.3 Optional Radio Control Feature
• Read and write buffered data The CC2500 has an optional way of controlling
the radio, by reusing SI, SCLK and CSn from
• Read back status information via the 4-wire
the SPI interface. This feature allows for a
SPI-bus configuration interface (SI, SO,
simple three-pin control of the major states of
SCLK and CSn). the radio: SLEEP, IDLE, RX and TX.
This optional functionality is enabled with the
11.1 Configuration Interface MCSM0.PIN_CTRL_EN configuration bit.
The microcontroller uses four I/O pins for the State changes are commanded as follows:
SPI configuration interface (SI, SO, SCLK and When CSn is high the SI and SCLK is set to
CSn). The SPI is described in Section 10 on the desired state according to Table 18. When
page 19. CSn goes low the state of SI and SCLK is
latched and a command strobe is generated
11.2 General Control and Status Pins internally according to the control coding. It is
only possible to change state with this
The CC2500 has two dedicated configurable functionality. That means that for instance RX
pins and one shared pin that can output will not be restarted if SI and SCLK are set to
internal status information useful for control RX and CSn toggles. When CSn is low the SI
software. These pins can be used to generate and SCLK has normal SPI functionality.
interrupts on the MCU. See Section 28 on
page 45 for more details on the signals that All pin control command strobes are executed
can be programmed. The dedicated pins are immediately, except the SPWD strobe, which is
called GDO0 and GDO2. The shared pin is the delayed until CSn goes high.
SO pin in the SPI interface. The default setting
for GDO1/SO is 3-state output. By selecting
any other of the programming options the CSn SCLK SI Function
GDO1/SO pin will become a generic pin. When Chip unaffected by
1 X X
CSn is low, the pin will always function as a SCLK/SI
normal SO pin. ↓ 0 0 Generates SPWD strobe
↓ 0 1 Generates STX strobe
In the synchronous and asynchronous serial
modes, the GDO0 pin is used as a serial TX ↓ 1 0 Generates SIDLE strobe
data input pin while in transmit mode. ↓ 1 1 Generates SRX strobe
SPI SPI SPI mode (wakes up into
The GDO0 pin can also be used for an on-chip 0
mode mode IDLE if in SLEEP/XOFF)
analog temperature sensor. By measuring the
voltage on the GDO0 pin with an external ADC, Table 18: Optional pin control coding
the temperature can be calculated.
Specifications for the temperature sensor are
found in Section 4.7 on page 12.
The temperature sensor output is only
available when the frequency synthesizer is
enabled (e.g. the MANCAL, FSTXON, RX and
TX states). It is necessary to write 0xBF to the
PTEST register to use the analog temperature
sensor in the IDLE state. Before leaving the
The CC2500 has built-in hardware support for • A two byte Synchronization Word. Can be
packet oriented radio protocols. duplicated to give a 4-byte sync word.
(Recommended).
In transmit mode, the packet handler will add
• Optionally whiten the data with a PN9
the following elements to the packet stored in
sequence.
the TX FIFO:
• Optionally Interleave and Forward Error
• A programmable number of preamble Code the data.
bytes. 4 preamble bytes is recommended. • Optionally compute and add a CRC
checksum over the data field.
The fixed length field can be reprogrammed • Pre-program the PKTLEN register to
during receive and transmit. This opens the mod(454,256)=198.
possibility to have a different length field • Transmit at least 198 bytes, for example
configuration than supported for variable by filling the 64-byte TX FIFO four times
length packets. At the start of reception, the (256 bytes transmitted).
packet length is set to a large value. The MCU
reads out enough bytes to interpret the length • Set PKTCTRL0.LENGTH_CONFIG=0 (00).
field in the packet. Then the PKTLEN value is
set according to this value. The end of packet • The transmission ends when the packet
will occur when the byte counter in the packet counter reaches 198. A total of
256+198=454 bytes are transmitted.
handler is equal to the PKTLEN register. Thus,
the MCU must be able to program the correct
length, before the internal counter reaches the
packet length.
CRC-16
16 Modulation Formats
CC2500 has several qualifiers that can be used PKTCTRL1.PQT. A threshold of 4·PQT for this
to increase the likelihood that a valid sync counter is used to gate sync word detection.
word is detected. By setting the value to zero, the preamble
quality qualifier of the sync word is disabled.
17.1 Sync Word Qualifier A “Preamble Quality Reached” flag can also
be observed on one of the GDO pins and in
If sync word detection in RX is enabled in
the status register bit
register MDMCFG2 the CC2500 will not start PKTSTATUS.PQT_REACHED. This flag asserts
filling the RX FIFO and perform the packet when the received signal exceeds the PQT.
filtering described in Section 15.3 before a
valid sync word has been detected. The sync
word qualifier mode is set by 17.3 RSSI
MDMCFG2.SYNC_MODE and is summarized in
The RSSI value is an estimate of the signal
Table 24. Carrier sense in Table 24 is level in the current channel. This value is
described in Section 17.4. based on the current gain setting in the RX
chain and the measured signal level in the
channel.
MDMCFG2. Sync word qualifier mode
In RX mode, the RSSI value can be read
SYNC_MODE
continuously from the RSSI status register,
000 No preamble/sync until the demodulator detects a sync word
001 15/16 sync word bits detected (when sync word detection is enabled). At that
point, the RSSI readout value is frozen until
010 16/16 sync word bits detected the next time the chip enters the RX state. The
011 30/32 sync word bits detected RSSI value is in dB with ½dB resolution.
100 No preamble/sync, carrier sense If PKTCTRL1.APPEND_STATUS is enabled, a
above threshold
snapshot of the RSSI during the first 8 bytes of
101 15/16 + carrier sense above threshold the packet is automatically added to the end of
110 16/16 + carrier sense above threshold each received packet.
111 30/32 + carrier sense above threshold The RSSI value read from the RSSI status
register is a 2’s complement number. The
Table 24: Sync word qualifier mode following procedure can be used to convert the
RSSI reading to an absolute power level
(RSSI_dBm).
17.2 Preamble Quality Threshold (PQT)
1) Read the RSSI status register
The Preamble Quality Threshold (PQT) sync-
word qualifier adds the requirement that the 2) Convert the reading from a hexadecimal
received sync word must be preceded with a number to a decimal number (RSSI_dec)
preamble with a quality above a programmed
3) If RSSI_dec ≥ 128 then RSSI_dBm =
threshold.
(RSSI_dec - 256)/2 – RSSI_offset
Another use of the preamble quality threshold
4) Else if RSSI_dec < 128 then RSSI_dBm =
is as a qualifier for the optional RX termination
(RSSI_dec)/2 – RSSI_offset
timer. See Section 19.7 on page 37 for details.
The preamble quality estimator increases an
internal counter by one each time a bit is Table 25 gives typical values for the
received that is different from the previous bit, RSSI_offset.
and decreases the counter by 4 each time a
bit is received that is the same as the last bit. Figure 9 shows typical plots of RSSI reading
The counter saturates at 0 and 31. The as a function of input power level for different
threshold is configured with the register field data rates.
0.0
-10.0
-20.0
-30.0
-40.0
RSSI readout [dBm]
-50.0
-60.0
-70.0
-80.0
-90.0
-100.0
-110.0
-120.0
-120 -110 -100 -90 -80 -70 -60 -50 -40 -30 -20 -10 0
Input pow er [dBm]
2.4 kbps 10 kbps 250 kbps 250 kbps, reduced current 500 kbps
Figure 9: Typical RSSI value vs. input power level for some typical data rates
17.4 Carrier Sense (CS) search to be performed. The signal can also
be observed on one of the GDO pins and in
The Carrier Sense flag is used as a sync word
the status register bit PKTSTATUS.CS.
qualifier and for CCA. The CS flag can be set
based on two conditions, which can be Other uses of Carrier Sense include the TX-If-
individually adjusted: CCA function (see Section 17.5 on page 32)
and the optional fast RX termination (see
• CS is asserted when the RSSI is above a
Section 19.7 on page 37).
programmable absolute threshold, and de-
asserted when RSSI is below the same CS can be used to avoid interference from e.g.
threshold (with hysteresis). WLAN.
• CS is asserted when the RSSI has
17.4.1 CS Absolute Threshold
increased with a programmable number of
dB from one RSSI sample to the next, and The absolute threshold related to the RSSI
de-asserted when RSSI has decreased value is given by:
with the same number of dB. This setting
THRRSSI = MAGN _ TARGET +
is not dependent on the absolute signal
level and is thus useful to detect signals in CARRIER _ SENSE _ ABS _ THR − GAIN MAX
environments with a time varying noise
The maximum possible gain can be reduced
floor.
using the AGCCTRL2.MAX_LNA_GAIN and
AGCCTRL2.MAX_DVGA_GAIN register fields.
Carrier Sense (CS) can be used as a sync CARRIER_SENSE_ABS_THR is programmable
word qualifier that requires the signal level to in 1 dB steps from -7 dB to + 7dB. Table 26
be higher than the threshold for a sync word and Table 27 show the RSSI readout values
Decoder
Encoder
TX RX
Data Data
Transmitter Receiver
19 Radio Control
SIDLE
SPWD | SWOR
SLEEP
CAL_COMPLETE 0
FS_WAKEUP
6,7
FS_AUTOCAL = 01
&
SRX | STX | SFSTXON | WOR
FS_AUTOCAL = 00 | 10 | 11
& CALIBRATE
SRX | STX | SFSTXON | WOR 8
CAL_COMPLETE
SETTLING
SFSTXON 9,10,11
FSTXON
18
STX SRX | WOR
STX
SFSTXON | RXOFF_MODE = 01
TXOFF_MODE=01
TXOFF_MODE = 00 RXOFF_MODE = 00
TXFIFO_UNDERFLOW RXFIFO_OVERFLOW
& &
FS_AUTOCAL = 10 | 11 FS_AUTOCAL = 10 | 11
CALIBRATE
TXOFF_MODE = 00 12 RXOFF_MODE = 00
&
&
FS_AUTOCAL = 00 | 01
TX_UNDERFLOW FS_AUTOCAL = 00 | 01 RX_OVERFLOW
22 17
SFTX SFRX
IDLE
1
CC2500 has a built-in state machine that is shown in Figure 4 on page 13. The complete
used to switch between different operation radio control state diagram is shown in Figure
states (modes). The change of state is done 11. The numbers refer to the state number
either by using command strobes or by readable in the MARCSTATE status register.
internal events such as TX FIFO underflow. This register is primarily for test purposes.
A simplified state diagram, together with
typical usage and current consumption, is
A power-on reset circuit is included in the If the XOSC is forced on, the crystal will
CC2500. The minimum requirements stated in always stay on even in the SLEEP state.
Section 4.9 must be followed for the power-on Crystal oscillator start-up time depends on
reset to function properly. The internal power- crystal ESR and load capacitances. The
up sequence is completed when CHIP_RDYn electrical specification for the crystal oscillator
goes low. CHIP_RDYn is observed on the SO can be found in Section 4.4 on page 10.
pin after CSn is pulled low. See Section 10.1
for more details on CHIP_RDYn.
19.3 Voltage Regulator Control
19.1.2 Manual Reset The voltage regulator to the digital core is
controlled by the radio controller. When the
The other global reset possibility on CC2500 is chip enters the SLEEP state, which is the state
the SRES command strobe. By issuing this with the lowest current consumption, this
strobe, all internal registers and states are set regulator is disabled. This occurs after CSn is
to the default, idle state. The manual power-up released when a SPWD command strobe has
sequence is as follows (see Figure 12): been sent on the SPI interface. The chip is
• Set SCLK=1 and SI=0, to avoid potential now in the SLEEP state. Setting CSn low again
problems with pin control mode (see will turn on the regulator and crystal oscillator
Section 11.3 on page 23). and make the chip enter the IDLE state.
• Strobe CSn low / high. When wake on radio is enabled, the WOR
module will control the voltage regulator as
• Hold CSn high for at least 40 µs. described in Section 19.5.
• Pull CSn low and wait for SO to go low
(CHIP_RDYn). 19.4 Active Modes
• Issue the SRES strobe on the SI line. CC2500 has two active modes: receive and
transmit. These modes are activated directly
• When SO goes low again, reset is by the MCU by using the SRX and STX
complete and the chip is in the IDLE state. command strobes, or automatically by Wake
40µs
on Radio.
The frequency synthesizer must be calibrated
CSn
regularly. CC2500 has one manual calibration
SO option (using the SCAL strobe), and three
Unknown/ don't care automatic calibration options, controlled by the
SRES done
MCSM0.FS_AUTOCAL setting:
Figure 12: Power-on reset with SRES • Calibrate when going from IDLE to
either RX or TX (or FSTXON)
20 Data FIFO
The CC2500 contains two 64 byte FIFOs, one the corresponding thresholds for the RX and
for received data and one for data to be TX FIFOs. The threshold value is coded in
transmitted. The SPI interface is used to read opposite directions for the RX FIFO and TX
from the RX FIFO and write to the TX FIFO. FIFO. This gives equal margin to the overflow
Section 10.4 contains details on the SPI FIFO and underflow conditions when the threshold
access. The FIFO controller will detect is reached.
overflow in the RX FIFO and underflow in the
A flag will assert when the number of bytes in
TX FIFO.
the FIFO is equal to or higher than the
When writing to the TX FIFO it is the programmed threshold. The flag is used to
responsibility of the MCU to avoid TX FIFO generate the FIFO status signals that can be
overflow. A TX FIFO overflow will result in an viewed on the GDO pins (see Section 28 on
error in the TX FIFO content. page 45).
Likewise, when reading the RX FIFO the MCU Figure 15 shows the number of bytes in both
must avoid reading the RX FIFO past its the RX FIFO and TX FIFO when the threshold
empty value, since an RX FIFO underflow will flag toggles, in the case of FIFO_THR=13.
result in an error in the data read out of the RX Figure 14 shows the flag as the respective
FIFO. FIFO is filled above the threshold, and then
drained below.
The chip status byte that is available on the SO
pin while transferring the SPI address contains
the fill grade of the RX FIFO if the address is a NUM_RXBYTES 53 54 55 56 57 56 55 54 53
GDO
The number of bytes in the RX FIFO and TX
FIFO can also be read from the status
Figure 14: FIFO_THR=13 vs. number of bytes
registers RXBYTES.NUM_RXBYTES and
in FIFO (GDOx_CFG=0x00 in Rx and
TXBYTES.NUM_TXBYTES respectively. If
receiving data while reading the last byte in GDOx_CFG=0x02 in Tx)
the RX FIFO, the RX FIFO pointer is not
updated, resulting in a duplication of the last
byte read. FIFO_THR Bytes in TX FIFO Bytes in RX FIFO
0 (0000) 61 4
To avoid this problem one should never empty 1 (0001) 57 8
the RX FIFO before the last byte of the packet 2 (0010) 53 12
is received. The following software fix can be
3 (0011) 49 16
used:
4 (0100) 45 20
1. Read RXBYTES.NUM_RXBYTES 5 (0101) 41 24
6 (0110) 37 28
2. If RXBYTES.NUM_RXBYTES < packet
7 (0111) 33 32
length, read RXBYTES.NUM_RXBYTES-1
8 (1000) 29 36
bytes from the FIFO
9 (1001) 25 40
3. Repeat until RXBYTES.NUM_RXBYTES = 10 (1010) 21 44
number of remaining bytes of the packet 11 (1011) 17 48
12 (1100) 13 52
4. Read the remaining bytes from the FIFO
13 (1101) 9 56
14 (1110) 5 60
The 4-bit FIFOTHR.FIFO_THR setting is used 15 (1111) 1 64
to program threshold points in the FIFOs. Table 29: FIFO_THR settings and the
Table 29 lists the 16 FIFO_THR settings and corresponding FIFO thresholds
Overflow
margin
FIFO_THR=13
56 bytes
FIFO_THR=13
Underflow
margin 8 bytes
RXFIFO TXFIFO
21 Frequency Programming
The frequency programming in CC2500 is The base or start frequency is set by the 24 bit
designed to minimize the programming frequency word located in the FREQ2, FREQ1
needed in a channel-oriented system. and FREQ0 registers. This word will typically
To set up a system with channel numbers, the be set to the centre of the lowest channel
desired channel spacing is programmed with frequency that is to be used.
the MDMCFG0.CHANSPC_M and The desired channel number is programmed
MDMCFG1.CHANSPC_E registers. The channel with the 8-bit channel number register,
spacing registers are mantissa and exponent CHANNR.CHAN, which is multiplied by the
respectively. channel offset. The resultant carrier frequency
is given by:
f carrier =
f XOSC
2 16
( (
⋅ FREQ + CHAN ⋅ (256 + CHANSPC _ M ) ⋅ 2 CHANSPC _ E −2 ))
With a 26 MHz crystal the maximum channel Note that the SmartRF® Studio software
spacing is 405 kHz. To get e.g. 1 MHz channel
automatically calculates the optimum
spacing one solution is to use 333 kHz
FSCTRL1.FREQ_IF register setting based on
channel spacing and select each third channel
channel spacing and channel filter bandwidth.
in CHANNR.CHAN.
If any frequency programming register is
The preferred IF frequency is programmed
altered when the frequency synthesizer is
with the FSCTRL1.FREQ_IF register. The IF running, the synthesizer may give an
frequency is given by: undesired response. Hence, the frequency
f XOSC programming should only be updated when
f IF = ⋅ FREQ _ IF the radio is in the IDLE state.
210
22 VCO
The VCO is completely integrated on-chip. The calibration can be initiated automatically
or manually. The synthesizer can be
automatically calibrated each time the
22.1 VCO and PLL Self-Calibration synthesizer is turned on, or each time the
The VCO characteristics will vary with synthesizer is turned off. This is configured
temperature and supply voltage changes, as with the MCSM0.FS_AUTOCAL register setting.
well as the desired operating frequency. In In manual mode, the calibration is initiated
order to ensure reliable operation, CC2500 when the SCAL command strobe is activated
includes frequency synthesizer self-calibration in the IDLE mode.
circuitry. This calibration should be done
Note that the calibration values are maintained
regularly, and must be performed after turning
in sleep mode, so the calibration is still valid
on power and before using a new frequency
after waking up from sleep mode (unless
(or channel). The number of XOSC cycles for
supply voltage or temperature has changed
completing the PLL calibration is given in
significantly).
Table 28 on page 37.
23 Voltage Regulators
CC2500 contains several on-chip linear voltage If the chip is programmed to enter power-down
regulators, which generate the supply voltage mode, (SPWD strobe issued), the power will be
needed by low-voltage modules. These turned off after CSn goes high. The power and
voltage regulators are invisible to the user, and crystal oscillator will be turned on again when
can be viewed as integral parts of the various CSn goes low.
modules. The user must however make sure
that the absolute maximum ratings and The voltage regulator output should only be
required pin voltages in Table 1 and Table 13 used for driving the CC2500.
are not exceeded. The voltage regulator for
the digital core requires one external
decoupling capacitor.
Setting the CSn pin low turns on the voltage
regulator to the digital core and starts the
crystal oscillator. The SO pin on the SPI
interface must go low before using the serial
interface (setup time is given in Table 16).
PATABLE(7)[7:0]
The PA uses this
PATABLE(6)[7:0]
setting.
PATABLE(5)[7:0]
PATABLE(4)[7:0]
Settings 0 to PA_POWER are
PATABLE(3)[7:0] used during ramp-up at start of
transmission and ramp-down at
PATABLE(2)[7:0] end of transmission, and for
PATABLE(1)[7:0] ASK/OOK modulation.
PATABLE(0)[7:0]
Table 30: Output power and current consumption for default PATABLE setting
Table 31: Optimum PATABLE settings for various output power levels (subject to changes)
25 Selectivity Graphs
Figure 17 to Figure 21 show the typical selectivity performance (adjacent and alternate rejection).
50
40
30
Selectivity [dB]
20
10
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-10
Frequency offset [MHz]
40
35
30
25
20
Selectivity [dB]
15
10
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-5
-10
Fre que ncy offse t [M Hz]
50
40
30
Selectivity [dB] 20
10
0
-3 -2 -1 0 1 2 3
-10
-20
Frequency offset [MHz]
50
40
30
Selectivity [dB]
20
10
0
-3 -2 -1 0 1 2 3
-10
-20
Frequency offset [MHz]
35
30
25
20
15
Selectivity [dB]
10
0
-3 -2 -1 0 1 2 3
-5
-10
-15
-20
Frequency offset [MHz]
26 Crystal Oscillator
A crystal in the frequency range 26-27 MHz The crystal oscillator is amplitude regulated.
must be connected between the XOSC_Q1 This means that a high current is used to start
and XOSC_Q2 pins. The oscillator is designed up the oscillations. When the amplitude builds
for parallel mode operation of the crystal. In up, the current is reduced to what is necessary
addition, loading capacitors (C81 and C101) to maintain approximately 0.4Vpp signal
for the crystal are required. The loading swing. This ensures a fast start-up, and keeps
capacitor values depend on the total load the drive level to a minimum. The ESR of the
capacitance, CL, specified for the crystal. The crystal should be within the specification in
total load capacitance seen between the order to ensure a reliable start-up (see Section
crystal terminals should equal CL for the 4.4 on page 10).
crystal to oscillate at the specified frequency.
The initial tolerance, temperature drift, aging
1 and load pulling should be carefully specified
CL = + C parasitic in order to meet the required frequency
1 1
+ accuracy in a certain application. By specifying
C81 C101 the total expected frequency accuracy in
SmartRF® Studio together with data rate and
The parasitic capacitance is constituted by pin frequency deviation, the software calculates
input capacitance and PCB stray capacitance. the total bandwidth and compares this to the
Total parasitic capacitance is typically 2.5 pF. chosen receiver channel filter bandwidth. The
The crystal oscillator circuit is shown in Figure software reports any contradictions, and a
22. Typical component values for different more accurate crystal is recommended if
values of CL are given in Table 32. required.
XOSC_Q1 XOSC_Q2
XTAL
C81 C101
C81 15 pF 22 pF 27 pF
C101 15 pF 22 pF 27 pF
27 External RF Match
The balanced RF input and output of CC2500 Although CC2500 has a balanced RF
share two common pins and are designed for input/output, the chip can be connected to a
a simple, low-cost matching and balun network single-ended antenna with few external low
on the printed circuit board. The receive- and cost capacitors and inductors.
transmit switching at the CC2500 front-end is
The passive matching/filtering network
controlled by a dedicated on-chip function,
connected to CC2500 should have the following
eliminating the need for an external RX/TX-
differential impedance as seen from the RF-
switch.
port (RF_P and RF_N) towards the antenna:
A few passive external components combined
Zout = 80 + j74 Ω
with the internal RX/TX switch/termination
circuitry ensures match in both RX and TX
mode.
The three digital output pins GDO0, GDO1 and The default value for GDO0 is a 135-141 kHz
GDO2 are general control pins configured with clock output (XOSC frequency divided by 192).
IOCFG0.GDO0_CFG, IOCFG1.GDO1_CFG Since the XOSC is turned on at power-on-
and IOCFG2.GDO3_CFG respectively. Table reset, this can be used to clock the MCU in
33 shows the different signals that can be systems with only one crystal. When the MCU
monitored on the GDO pins. These signals can is up and running, it can change the clock
be used as an interrupt to the MCU. GDO1 is frequency by writing to IOCFG0.GDO0_CFG.
the same pin as the SO pin on the SPI An on-chip analog temperature sensor is
interface, thus the output programmed on this enabled by writing the value 128 (0x80h) to the
pin will only be valid when CSn is high. The IOCFG0.GDO0_CFG register. The voltage on
default value for GDO1 is 3-stated, which is the GDO0 pin is then proportional to
useful when the SPI interface is shared with temperature. See Section 4.7 on page 12 for
other devices. temperature sensor specifications.
Charge pump current, VCO current and VCO In data streaming applications the CC2500
capacitance array calibration data is required opens up for continuous transmissions at 500
for each frequency when implementing kbps effective data rate. As the modulation is
frequency hopping for CC2500. There are 3 done with an I/Q up-converter with LO I/Q-
ways of obtaining the calibration data from the signals coming from a closed loop PLL, there
is no limitation in the length of a transmission.
chip:
(Open loop modulation used in some
1) Frequency hopping with calibration for each transceivers often prevents this kind of
hop. The PLL calibration time is approximately continuous data streaming and reduces the
720 µs. effective data rate.)
2) Fast frequency hopping without calibration
for each hop can be done by calibrating each 30.5 Crystal Drift Compensation
frequency at startup and saving the resulting
FSCAL3, FSCAL2 and FSCAL1 register values The CC2500 has a very fine frequency
in MCU memory. Between each frequency resolution (see Table 9). This feature can be
hop, the calibration process can then be used to compensate for frequency offset and
replaced by writing the FSCAL3, FSCAL2 and drift.
FSCAL1 register values corresponding to the The frequency offset between an ‘external’
next RF frequency. The PLL turn on time is transmitter and the receiver is measured in the
approximately 90 µs. CC2500 and can be read back from the
3) Run calibration on a single frequency at FREQEST status register as described in
startup. Next write 0hex to FSCAL3[5:4] to Section 14.1. The measured frequency offset
disable the charge pump calibration. After can be used to calibrate the frequency using
the ‘external’ transmitter as the reference. That
writing to FSCAL3[5:4] strobe SRX (or STX)
is, the received signal of the device will match
with MCSM0.FS_AUTOCAL = 1 for each new
the receiver’s channel filter better. In the same
frequency hop. That is, VCO current and VCO way the centre frequency of the transmitted
capacitance calibration is done but not charge signal will match the ‘external’ transmitter’s
pump current calibration. When charge pump signal.
current calibration is disabled the calibration
time is reduced from approximately 720 µs to
approximately 150 µs. 30.6 Spectrum Efficient Modulation
There is a trade off between blanking time and CC2500 also has the possibility to use
memory space needed for storing calibration Gaussian shaped FSK (GFSK). This
data in non-volatile memory. Solution 2) above spectrum-shaping feature improves adjacent
gives the shortest blanking interval, but channel power (ACP) and occupied
requires more memory space to store bandwidth. In ‘true’ FSK systems with abrupt
calibration values. Solution 3) gives frequency shifting, the spectrum is inherently
approximately 570 µs smaller blanking interval broad. By making the frequency shift ‘softer’,
than solution 1). the spectrum can be made significantly
narrower. Thus, higher data rates can be
Antenna
Filter PA
Balun CC2500
Figure 23. Block diagram of CC2500 usage with external power amplifier
31 Configuration Registers
The configuration of CC2500 is done by registers are for test purposes only, and need
programming 8-bit registers. The configuration not be written for normal operation of CC2500.
data based on selected system parameters
There are also 12 Status registers, which are
are most easily found by using the SmartRF®
listed in Table 36. These registers, which are
Studio software. Complete descriptions of the
read-only, contain information about the status
registers are given in the following tables. After
of CC2500.
chip reset, all the registers have default values
as shown in the tables. The two FIFOs are accessed through one 8-bit
register. Write operations write to the TX FIFO,
There are 14 Command Strobe Registers,
while read operations read from the RX FIFO.
listed in Table 34. Accessing these registers
will initiate the change of an internal state or During the address transfer and while writing
mode. There are 47 normal 8-bit Configuration to a register or the TX FIFO, a status byte is
Registers, listed in Table 35. Many of these
0x34 SRX Enable RX. Perform calibration first if coming from IDLE and MCSM0.FS_AUTOCAL=1.
0x35 STX In IDLE state: Enable TX. Perform calibration first if MCSM0.FS_AUTOCAL=1.
If in RX state and CCA is enabled: Only go to TX if channel is clear.
0x36 SIDLE Exit RX / TX, turn off frequency synthesizer and exit Wake-On-Radio mode if applicable.
0x38 SWOR Start automatic RX polling sequence (Wake-on-Radio) as described in Section 19.5.
0x39 SPWD Enter power down mode when CSn goes high.
0x3A SFRX Flush the RX FIFO buffer. Only issue in IDLE, TXFIFO_UNDERFLOW or RXFIFO_OVERFLOW
states.
0x3B SFTX Flush the TX FIFO buffer. Only issue in IDLE, TXFIFO_UNDERFLOW or RXFIFO_OVERFLOW
states.
0x3C SWORRST Reset real time clock.
0x3D SNOP No operation. May be used to pad strobe commands to two bytes for simpler software.
7 Reserved R0
6 GDO2_INV 0 R/W Invert output, i.e. select active low (1) / high (0)
5:0 GDO2_CFG[5:0] 41 (0x29) R/W Default is CHIP_RDY (see Table 33 on page 46).
Should be set to 3-state for lowest power down current.
7 GDO_DS 0 R/W Set high (1) or low (0) output drive strength on the
GDO pins.
6 GDO1_INV 0 R/W Invert output, i.e. select active low (1) / high (0)
5:0 GDO1_CFG[5:0] 46 (0x2E) R/W Default is 3-state (see Table 33 on page 46)
5:0 GDO0_CFG[5:0] 63 (0x3F) R/W Default is CLK_XOSC/192 (see Table 33 on page 46).
Should be set to 3-state for lowest power down current.
7:3 Reserved 0 R/W Write 0 for compatibility with possible future extensions
3:0 FIFO_THR[3:0] 7 (0111) R/W Set the threshold for the TX FIFO and RX FIFO. The threshold
is exceeded when the number of bytes in the FIFO is equal to
or higher than the threshold value.
Setting Bytes in TX FIFO Bytes in RX FIFO
0 (0000) 61 4
1 (0001) 57 8
2 (0010) 53 12
3 (0011) 49 16
4 (0100) 45 20
5 (0101) 41 24
6 (0110) 37 28
7 (0111) 33 32
8 (1000) 29 36
9 (1001) 25 40
10 (1010) 21 44
11 (1011) 17 48
12 (1100) 13 52
13 (1101) 9 56
14 (1110) 5 60
15 (1111) 1 64
7:0 PACKET_LENGTH 255 (0xFF) R/W Indicates the packet length when fixed length packets
are enabled. If variable length packets are used, this
value indicates the maximum length packets allowed.
7:5 PQT[2:0] 0 (000) R/W Preamble quality estimator threshold. The preamble quality
estimator increases an internal counter by one each time a bit is
received that is different from the previous bit, and decreases the
counter by 4 each time a bit is received that is the same as the
last bit. The counter saturates at 0 and 31.
A threshold of 4·PQT for this counter is used to gate sync word
detection. When PQT=0 a sync word is always accepted.
4 Reserved 0 R/W
3 CRC_AUTOFLUSH 0 R/W Enable automatic flush of RX FIFO when CRC in not OK. This
requires that only one packet is in the RXIFIFO and that packet
length is limited to the RX FIFO size.
2 APPEND_STATUS 1 R/W When enabled, two status bytes will be appended to the payload
of the packet. The status bytes contain RSSI and LQI values, as
well as the CRC OK flag.
1:0 ADR_CHK[1:0] 0 (00) R/W Controls address check configuration of received packages.
Setting Address check configuration
0 (00) No address check
1 (01) Address check, no broadcast
2 (10) Address check, 0 (0x00) broadcast
3 (11) Address check, 0 (0x00) and 255 (0xFF) broadcast
7 Reserved R0
6 WHITE_DATA 1 R/W Turn data whitening on / off
0: Whitening off
1: Whitening on
5:4 PKT_FORMAT[1:0] 0 (00) R/W Format of RX and TX data
Setting Packet format
0 (00) Normal mode, use FIFOs for RX and TX
Serial Synchronous mode, used for backwards
1 (01)
compatibility. Data in on GDO0
7:0 DEVICE_ADDR[7:0] 0 (0x00) R/W Address used for packet filtration. Optional broadcast
addresses are 0 (0x00) and 255 (0xFF).
7:0 CHAN[7:0] 0 (0x00) R/W The 8-bit unsigned channel number, which is multiplied by the
channel spacing setting and added to the base frequency.
7:5 Reserved R0
4:0 FREQ_IF[4:0] 10 (0x0F) R/W The desired IF frequency to employ in RX. Subtracted from FS
base frequency in RX and controls the digital complex mixer in
the demodulator.
f XOSC
f IF = ⋅ FREQ _ IF
210
The default value gives an IF frequency of 254 kHz, assuming
a 26.0 MHz crystal.
7:0 FREQOFF[7:0] 0 (0x00) R/W Frequency offset added to the base frequency before being
used by the FS. (2-complement).
14
Resolution is FXTAL/2 (1.59 - 1.65 kHz); range is ±202 kHz to
±210 kHz, dependent of XTAL frequency.
7:6 FREQ[23:22] 1 (01) R FREQ[23:22] is always binary 01 (the FREQ2 register is in the range 85 to
95 with 26-27 MHz crystal)
5:0 FREQ[21:16] 30 R/W FREQ[23:0] is the base frequency for the frequency synthesiser in
16
(0x1E) increments of FXOSC/2 .
f XOSC
f carrier = ⋅ FREQ [23 : 0]
216
The default frequency word gives a base frequency of 2464 MHz,
assuming a 26.0 MHz crystal. With the default channel spacing settings,
the following FREQ2 values and channel numbers can be used:
FREQ2 Base frequency Frequency range (CHAN numbers)
91 (0x5B) 2386 MHz 2400.2-2437 MHz (71-255)
92 (0x5C) 2412 MHz 2412-2463 MHz (0-255)
93 (0x5D) 2438 MHz 2431-2483.4 MHz (0-227)
94 (0x5E) 2464 MHz 2464-2483.4 MHz (0-97)
f XOSC
BWchannel =
8 ⋅ (4 + CHANBW _ M )·2CHANBW _ E
The default values give 203 kHz channel filter bandwidth,
assuming a 26.0 MHz crystal.
3:0 DRATE_E[3:0] 12 (1100) R/W The exponent of the user specified symbol rate
7:0 DRATE_M[7:0] 34 (0x22) R/W The mantissa of the user specified symbol rate. The symbol
rate is configured using an unsigned, floating-point number
th
with 9-bit mantissa and 4-bit exponent. The 9 bit is a hidden
‘1’. The resulting data rate is:
RDATA =
(256 + DRATE _ M ) ⋅ 2 DRATE _ E ⋅ f
XOSC
2 28
The default values give a data rate of 115.051 kbps (closest
setting to 115.2 kbps), assuming a 26.0 MHz crystal.
7 FEC_EN 0 R/W Enable Forward Error Correction (FEC) with interleaving for
packet payload
0 = Disable
1 = Enable
6:4 NUM_PREAMBLE[2:0] 2 (010) R/W Sets the minimum number of preamble bytes to be transmitted
Setting Number of preamble bytes
0 (000) 2
1 (001) 3
2 (010) 4
3 (011) 6
4 (100) 8
5 (101) 12
6 (110) 16
7 (111) 24
3:2 Reserved R0
1:0 CHANSPC_E[1:0] 2 (10) R/W 2 bit exponent of channel spacing
7:0 CHANSPC_M[7:0] 248 (0xF8) R/W 8-bit mantissa of channel spacing (initial 1 assumed). The
channel spacing is multiplied by the channel number CHAN and
added to the base frequency. It is unsigned and has the format:
f XOSC
∆f CHANNEL = ⋅ (256 + CHANSPC _ M ) ⋅ 2 CHANSPC _ E ⋅ CHAN
218
The default values give 199.951 kHz channel spacing (the closest
setting to 200 kHz), assuming 26.0 MHz crystal frequency.
7 Reserved R0
6:4 DEVIATION_E[2:0] 4 (100) R/W Deviation exponent
3 Reserved R0
2:0 DEVIATION_M[2:0] 7 (111) R/W When MSK modulation is enabled:
Sets fraction of symbol period used for phase change.
When FSK modulation is enabled:
Deviation mantissa, interpreted as a 4-bit value with MSB implicit
1. The resulting FSK deviation is given by:
f xosc
f dev = 17
⋅ (8 + DEVIATION _ M ) ⋅ 2 DEVIATION _ E
2
The default values give ±47.607 kHz deviation, assuming 26.0
MHz crystal frequency.
7:6 Reserved R0
5:4 CCA_MODE[1:0] 3 (11) R/W Selects CCA_MODE; Reflected in CCA signal
Setting Clear channel indication
0 (00) Always
1 (01) If RSSI below threshold
2 (10) Unless currently receiving a packet
3 (11) If RSSI below threshold unless currently
receiving a packet
3:2 RXOFF_MODE[1:0] 0 (00) R/W Select what should happen when a packet has been received
Setting Next state after finishing packet reception
0 (00) IDLE
1 (01) FSTXON
2 (10) TX
3 (11) Stay in RX
It is not possible to set RXOFF_MODE to be TX or FSTXON
and at the same time use CCA.
1:0 TXOFF_MODE[1:0] 0 (00) R/W Select what should happen when a packet has been sent (TX)
Setting Next state after finishing packet transmission
0 (00) IDLE
1 (01) FSTXON
2 (10) Stay in TX (start sending preamble)
3 (11) RX
7:6 Reserved R0
5:4 FS_AUTOCAL[1:0] 0 (00) R/W Automatically calibrate when going to RX or TX, or back to IDLE
Setting When to perform automatic calibration
7:6 Reserved R0
5:0 FOCCFG[5:0] 54 R/W Frequency offset compensation configuration. The value to use
(0x36) in this register is given by the SmartRF® Studio software.
7:0 BSCFG[7:0] 108 R/W Bit Synchronization configuration. The value to use in this register is
(0x6C) given by the SmartRF® Studio software.
7:6 MAX_DVGA_GAIN[1:0] 0 (00) R/W Reduces the maximum allowable DVGA gain.
Setting Allowable DVGA settings
0 (00) All gain settings can be used
1 (01) The highest gain setting can not be used
2 (10) The 2 highest gain settings can not be used
3 (11) The 3 highest gain settings can not be used
5:3 MAX_LNA_GAIN[2:0] 0 (000) R/W Sets the maximum allowable LNA + LNA 2 gain relative to the
maximum possible gain.
Setting Maximum allowable LNA + LNA 2 gain
0 (000) Maximum possible LNA + LNA 2 gain
1 (001) Approx. 2.6 dB below maximum possible gain
2 (010) Approx. 6.1 dB below maximum possible gain
3 (011) Approx. 7.4 dB below maximum possible gain
4 (100) Approx. 9.2 dB below maximum possible gain
5 (101) Approx. 11.5 dB below maximum possible gain
6 (110) Approx. 14.6 dB below maximum possible gain
7 (111) Approx. 17.1 dB below maximum possible gain
2:0 MAGN_TARGET[2:0] 3 (011) R/W These bits set the target value for the averaged amplitude from
the digital channel filter (1 LSB = 0 dB).
Setting Target amplitude from channel filter
0 (000) 24 dB
1 (001) 27 dB
2 (010) 30 dB
3 (011) 33 dB
4 (100) 36 dB
5 (101) 38 dB
6 (110) 40 dB
7 (111) 42 dB
7 Reserved R0
6 AGC_LNA_PRIORITY 1 R/W Selects between two different strategies for LNA and LNA 2
gain adjustment. When 1, the LNA gain is decreased first.
When 0, the LNA 2 gain is decreased to minimum before
decreasing LNA gain.
5:4 CARRIER_SENSE_REL_THR[1:0] 0 (00) R/W Sets the relative change threshold for asserting carrier
sense
Setting Carrier sense relative threshold
0 (00) Relative carrier sense threshold disabled
1 (01) 6 dB increase in RSSI value
2 (10) 10 dB increase in RSSI value
3 (11) 14 dB increase in RSSI value
3:0 CARRIER_SENSE_ABS_THR[3:0] 0 R/W Sets the absolute RSSI threshold for asserting carrier
(0000) sense. The 2-complement signed threshold is programmed
in steps of 1 dB and is relative to the MAGN_TARGET
setting.
Setting Carrier sense absolute threshold
(Equal to channel filter amplitude when AGC
has not decreased gain)
-8 (1000) Absolute carrier sense threshold disabled
-7 (1001) 7 dB below MAGN_TARGET setting
… …
-1 (1111) 1 dB below MAGN_TARGET setting
0 (0000) At MAGN_TARGET setting
1 (0001) 1 dB above MAGN_TARGET setting
… …
7 (0111) 7 dB above MAGN_TARGET setting
7:0 AGCCTRL0[7:0] 145 R/W AGC control register. The value to use in this register is given
(0x91) by the SmartRF® Studio software.
7:0 EVENT0[15:8] 135 (0x87) R/W High byte of Event 0 timeout register
750
t Event 0 = ⋅ EVENT 0 ⋅ 2 5⋅WOR _ RES
f XOSC
7:0 EVENT0[7:0] 107 (0x6B) R/W Low byte of Event 0 timeout register.
The default Event 0 value gives 1.0s timeout, assuming a
26.0 MHz crystal.
7:0 FREND1[7:0] 166 R/W Front end RX configuration. The value to use in this register
(0xA6) is given by the SmartRF® Studio software.
7:6 Reserved R0
5:4 LODIV_BUF_CURRENT_TX[1:0] 1 (01) R/W Adjusts current TX LO buffer (input to PA). The value to
use in this field is given by the SmartRF® Studio software.
3 Reserved R0
2:0 PA_POWER[2:0] 0 (000) R/W Selects PA power setting. This value is an index to the
PATABLE, which can be programmed with up to 8 different
PA settings. The PATABLE settings from index ‘0’ to the
PA_POWER value are used for power ramp-up/ramp-down
at the start/end of transmission in all TX modulation
formats.
7:6 FSCAL3[7:6] 2 (10) R/W Frequency synthesizer calibration configuration. The value to write in
this register before calibration is given by the SmartRF® Studio
software.
5:4 CHP_CURR_CAL_EN[1:0] 2 (10) R/W Disable charge pump calibration stage when 0
3:0 FSCAL3[3:0] 9 R/W Frequency synthesizer calibration result register.
(1001) Fast frequency hopping without calibration for each hop can be done
by calibrating upfront for each frequency and saving the resulting
FSCAL3, FSCAL2 and FSCAL1 register values. Between each
frequency hop, calibration can be replaced by writing the FSCAL3,
FSCAL2 and FSCAL1 register values corresponding to the next RF
frequency.
7:6 Reserved R0
5:0 FSCAL2[5:0] 10 R/W Frequency synthesizer calibration result register.
(0x0A) Fast frequency hopping without calibration for each hop can be done
by calibrating upfront for each frequency and saving the resulting
FSCAL3, FSCAL2 and FSCAL1 register values. Between each
frequency hop, calibration can be replaced by writing the FSCAL3,
FSCAL2 and FSCAL1 register values corresponding to the next RF
frequency.
7:6 Reserved R0
5:0 FSCAL1[5:0] 32 R/W Frequency synthesizer calibration result register.
(0x20) Fast frequency hopping without calibration for each hop can be done
by calibrating upfront for each frequency and saving the resulting
FSCAL3, FSCAL2 and FSCAL1 register values. Between each
frequency hop, calibration can be replaced by writing the FSCAL3,
FSCAL2 and FSCAL1 register values corresponding to the next RF
frequency.
7 Reserved R0
4:0 FSCAL0[6:0] 13 (0x0D) R/W Frequency synthesizer calibration control. The value to use in
this register is given by the SmartRF® Studio software.
7 Reserved 0 R0
6:0 RCCTRL1[6:0] 65 R/W RC oscillator configuration. Do not write to this register.
(0x41)
7 Reserved 0 R0
6:0 RCCTRL0[6:0] 0 R/W RC oscillator configuration. Do not write to this register.
(0x00)
31.2 Configuration Register Details – Registers that lose programming in sleep state
7:0 FSTEST[7:0] 87 R/W For test only. Do not write to this register.
(0x59)
7 PTEST[7:0] 127 R/W Writing 0xBF to this register makes the on-chip temperature sensor
(0x7F) available in the IDLE state. The default 0x7F value should then be
written back before leaving the IDLE state.
Other use of this register is for test only.
7:0 AGCTEST[7:0] 63 R/W For test only. Do not write to this register.
(0x3F)
7:0 TEST2[7:0] 152 (0x88) R/W The value to use in this register is given by the SmartRF® Studio
software.
7:0 TEST1[7:0] 49 (0x31) R/W The value to use in this register is given by the SmartRF® Studio
software.
7:0 TEST0[7:0] 11 (0x0B) R/W The value to use in this register is given by the SmartRF® Studio
software.
7 Reserved
6:0 LQI_EST[6:0] R The Link Quality Indicator estimates how easily a received signal
can be demodulated. Calculated over the 64 symbols following
the sync word (first 8 packet bytes for 2-ary modulation).
7:5 Reserved R0
4:0 MARC_STATE[4:0] R Main Radio Control FSM State
Value State name State (Figure 11, page 34)
0 (0x00) SLEEP SLEEP
1 (0x01) IDLE IDLE
2 (0x02) XOFF XOFF
3 (0x03) VCOON_MC MANCAL
4 (0x04) REGON_MC MANCAL
5 (0x05) MANCAL MANCAL
6 (0x06) VCOON FS_WAKEUP
7 (0x07) REGON FS_WAKEUP
8 (0x08) STARTCAL CALIBRATE
9 (0x09) BWBOOST SETTLING
10 (0x0A) FS_LOCK SETTLING
11 (0x0B) IFADCON SETTLING
12 (0x0C) ENDCAL CALIBRATE
13 (0x0D) RX RX
14 (0x0E) RX_END RX
15 (0x0F) RX_RST RX
16 (0x10) TXRX_SWITCH TXRX_SETTLING
17 (0x11) RX_OVERFLOW RX_OVERFLOW
18 (0x12) FSTXON FSTXON
19 (0x13) TX TX
20 (0x14) TX_END TX
21 (0x15) RXTX_SWITCH RXTX_SETTLING
22 (0x16) TX_UNDERFLOW TX_UNDERFLOW
Note: it is not possible to read back the SLEEP or XOFF state
numbers because setting CSn low will make the chip enter the
IDLE mode from the SLEEP or XOFF states.
7 Reserved
6 CS R Carrier sense
5 PQT_REACHED R Preamble Quality reached
4 CCA R Clear channel assessment
3 SFD R Sync word found
2 GDO2 R Current GDO2 value. Note: the reading gives the non-inverted
value irrespective what IOCFG2.GDO2_INV is programmed
to.
1 Reserved
0 GDO0 R Current GDO0 value. Note: the reading gives the non-inverted
value irrespective what IOCFG0.GDO0_INV is programmed
to.
7 TXFIFO_UNDERFLOW R
6:0 NUM_TXBYTES R Number of bytes in TX FIFO
7 RXFIFO_OVERFLOW R
6:0 NUM_RXBYTES R Number of bytes in RX FIFO
All dimensions are in millimetres, angles in degrees. NOTE: The CC2500 is available in RoHS
lead-free package only.
Package type A A1 A2 D D1 D2 E E1 E2 L T b e
Min 0.75 0.005 0.55 3.90 3.65 3.90 3.65 0.45 0.190 0.18
QLP 20 (4x4) Typ. 0.85 0.025 0.65 4.00 3.75 2.40 4.00 3.75 2.40 0.55 0.23 0.50
Max 0.95 0.045 0.75 4.10 3.85 4.10 3.85 0.65 0.245 0.30
33 Ordering Information
1190 CC2500 - RTR1 QLP20 RoHS Pb-free 2500/T&R 2500 (tape and reel)
34 General Information
34.4 Trademarks
SmartRF® is a registered trademark of Chipcon AS. SmartRF® is Chipcon's RF technology platform with RF library cells,
modules and design expertise. Based on SmartRF® technology Chipcon develops standard component RF circuits as well
as full custom ASICs based on customer requirements and this technology.
All other trademarks, registered trademarks and product names are the sole property of their respective owners.