Swru295e-Sub-1 GHZ RF TransceiversTransmitter
Swru295e-Sub-1 GHZ RF TransceiversTransmitter
Swru295e-Sub-1 GHZ RF TransceiversTransmitter
User’s Guide
1 Overview
CC112X is a family of high performance low power RF transceivers designed for operation with a
companion MCU. The purpose of this user’s guide is to describe configurations and functionality
available for implementing a wireless system. CC112X automates all common RF related tasks, greatly
offloading the MCU. Below is a block diagram showing the different parts of the transceiver divided in
an RF related part and a part for digital support functionality.
CC112X
MARC
SPI CSn (Chip Select)
(Optional 32kHz Ultra low power 32 - 40 kHz 4 kByte Main Radio Control Unit
Power on Reset Serial configuration
clock intput) auto-calibrated RC oscillator ROM Ultra low power 16 bit
and data interface
MCU
SI (Serial Input)
16 dBm high I
XOSC_Q1
Modulator
PA out
efficiency PA Fully integrated Fractional-N Data interface with XOSC
Frequency Synthesizer signal chain access
Q XOSC_Q2
90 dB dynamic
LNA_P ifamp (Optional bit clock)
range ADC
Channel
Cordic
High linearity
LNA demodulator
(Optional low jitter serial
90 dB dynamic data output for legacy
LNA_N ifamp
range ADC protocols)
AGC
(Optional GPIO for Automatic Gain Control, 60dB VGA range
antenna diversity) RSSI measurements and carrier sense detection
Figure 1 shows a simplified state diagram. For detailed information on controlling the CC112X state
machine see Section 9.
Frequency
Frequency synthesizer is turned on, can optionally be
synthesizer startup,
calibrated, and then settles to the correct frequency.
SFSTXON optional calibration,
Transitional state.
settling
Frequency synthesizer is on,
ready to start transmitting. Frequency
Transmission starts very synthesizer on
quickly after receiving the STX
command strobe. STX
SRX or wake-on-radio (WOR)
STX TXOFF_MODE = 01
SFSTXON or RXOFF_MODE = 01
SRX
STX or RXOFF_MODE=10
Transmit mode Receive mode
SRX or TXOFF_MODE = 11
TXOFF_MODE = 00 RXOFF_MODE = 00
SFTX
SFRX
IDLE
2 Configuration Software
CC112X can be configured using the SmartRF™ Studio software [1]. SmartRF Studio is highly
recommended for obtaining optimum register settings, and for evaluating performance and
functionality.
After chip reset, all registers have default values and these might differ from the optimum register
setting. It is therefore necessary to configure/reconfigure the radio through the SPI interface after the
chip has been reset. SmartRF Studio provides a code export function making it easy to implement this
in firmware.
SCLK
CSn
Write to Register
SI X 0 B A5 A4 A3 A2 A1 A0 X DW7 DW6 DW5 DW4 DW3 DW2 DW1 DW0 X
Hi Z Hi Z
SO S7 0 S5 S4 S3 S2 S1 S0 S0 S7 S6 S5 S4 S3 S2 S1 S0
Read from Register
SI X 1 B A5 A4 A3 A2 A1 A0 X
Hi Z Hi Z
SO S7 S6 S5 S4 S3 S2 S1 S0 S0 DR7 DR6 DR5 DR4 DR3 DR2 DR1 DR0
When CSn is pulled low, the MCU must wait until CC112X SO pin goes low before starting to transfer
the header byte. This indicates that the crystal is stable. Unless the chip was just reset or was in
SLEEP or XOFF state, or the XOSC configuration has been altered, the SO pin will always go low
immediately after pulling CSn low.
Registers with consecutive addresses can be accessed in an efficient way by setting the burst bit (B)
in the header byte. The address bits (A5 - A0) set the start address in an internal address counter. This
counter is incremented by one each new byte (every 8 clock pulses). The burst access is either a
read or write, and must be terminated by setting CSn high.
If a single register shall be accessed multiple times (e.g. CFM_RX_DATA_OUT/CFM_TX_DATA_IN for
custom frequency modulation, see Section 5.2.4), the EXT_CTRL.BURST_ADDR_INCR_EN bit can be
set to 0. In this mode the address counter will not increment in burst mode, and it is possible to
read/write the same register repeatedly without address overhead.
Table 3 gives an overview of the different SPI access types possible.
Register Space
Configuration Registers
0x2E 0x00
Extended Register Space
Configuration Registers
0x2F Extended Address
Status Registers
FIFO Pointers
0x30 0xFF
Command Strobes
0x3D 0x00
1
Note that the first byte received in an empty RX FIFO will not be possible to read using direct FIFO
access. Please see Section 3.2.3 for more details.
Extended Register Space (0x00 - 0x2F) Retention Extended Register Space (0x30 - 0x86) Retention
0x00 IF_MIX_CFG Yes 0x30 LNA Yes
0x01 FREQOFF_CFG Yes 0x31 RXMIX Yes
0x02 TOC_CFG Yes 0x32 XOSC5 Yes
0x03 MARC_SPARE Yes 0x33 XOSC4 Yes
0x04 ECG_CFG Yes 0x34 XOSC3 Yes
0x05 CFM_DATA_CFG Yes 0x35 XOSC2 Yes
0x06 EXT_CTRL Yes 0x36 XOSC1 Yes
0x07 RCCAL_FINE Yes 0x37 XOSC0 Yes
0x08 RCCAL_COARSE Yes 0x38 ANALOG_SPARE Yes
0x09 RCCAL_OFFSET Yes 0x39 PA_CFG3 Yes
0x0A FREQOFF1 Yes 0x3A - 0x3E Not Used
0x0B FREQOFF0 Yes 0x3F - 0x40 Reserved
0x0C FREQ2 Yes 0x41 - 0x63 Not Used
0x0D FREQ1 Yes 0x64 WOR_TIME1 No
0x0E FREQ0 Yes 0x65 WOR_TIME0 No
0x0F IF_ADC2 Yes 0x66 WOR_CAPTURE1 No
0x10 IF_ADC1 Yes 0x67 WOR_CAPTURE0 No
0x11 IF_ADC0 Yes 0x68 BIST No
0x12 FS_DIG1 Yes 0x69 DCFILTOFFSET_I1 No
0x13 FS_DIG0 Yes 0x6A DCFILTOFFSET_I0 No
0x14 FS_CAL3 Yes 0x6B DCFILTOFFSET_Q1 No
0x15 FS_CAL2 Yes 0x6C DCFILTOFFSET_Q0 No
0x16 FS_CAL1 Yes 0x6D IQIE_I1 No
0x17 FS_CAL0 Yes 0x6E IQIE_I0 No
0x18 FS_CHP Yes 0x6F IQIE_Q1 No
0x19 FS_DIVTWO Yes 0x70 IQIE_Q0 No
0x1A FS_DSM1 Yes 0x71 RSSI1 No
0x1B FS_DSM0 Yes 0x72 RSSI0 No
0x1C FS_DVC1 Yes 0x73 MARCSTATE No
0x1D FS_DVC0 Yes 0x74 LQI_VAL No
0x1E FS_LBI Yes 0x75 PQT_SYNC_ERR No
0x1F FS_PFD Yes 0x76 DEM_STATUS No
0x20 FS_PRE Yes 0x77 FREQOFF_EST1 No
0x21 FS_REG_DIV_CML Yes 0x78 FREQOFF_EST0 No
0x22 FS_SPARE Yes 0x79 AGC_GAIN3 No
0x23 FS_VCO4 Yes 0x7A AGC_GAIN2 No
0x24 FS_VCO3 Yes 0x7B AGC_GAIN1 No
0x25 FS_VCO2 Yes 0x7C AGC_GAIN0 No
0x26 FS_VCO1 Yes 0x7D CFM_RX_DATA_OUT No
0x27 FS_VCO0 Yes 0x7E CFM_TX_DATA_IN No
0x28 GBIAS6 Yes 0x7F ASK_SOFT_RX_DATA No
0x29 GBIAS5 Yes 0x80 RNDGEN No
0x2A GBIAS4 Yes 0x81 MAGN2 No
0x2B GBIAS3 Yes 0x82 MAGN1 No
0x2C GBIAS2 Yes 0x83 MAGN0 No
0x2D GBIAS1 Yes 0x84 ANG1 No
0x2E GBIAS0 Yes 0x85 ANG0 No
0x2F IFAMP Yes 0x86 CHFILT_I2 No
SO x
1 D0 2 D1 D2 3 D3 D4 D5 x x x x
0 1 2 3 4 5 6 7 8 9 10 126 127
TXFIRST TXLAST
NUM_TXBYTES = 0x07
1 D0 2 D1 D2 3 D3 D4 D5 x x x x
0 1 2 3 4 5 6 7 8 9 10 126 127
TXFIRST TXLAST
NUM_TXBYTES = 0x04
1 D0 2 D1 D2 3 D3 D4 D5 x x x x
0 1 2 3 4 5 6 7 8 9 10 126 127
TXFIRST TXLAST
NUM_TXBYTES = 0x00
1 D0 2 D1 D2 3 D3 D4 D5 x x x x
0 1 2 3 4 5 6 7 8 9 10 126 127
TXLAST
TXFIRST
x x x x x x x x x x x x x
0 1 2 3 4 5 6 7 8 9 10 126 127
RXFIRST
RXLAST
transmitted on the air and received by
3 D0 D1 D2
the radio
NUM_RXBYTES = 0x04
D0 D1 D2 x x x x x x x x x x
0 1 2 3 4 5 6 7 8 9 10 126 127
RXFIRST RXLAST
NUM_RXBYTES = 0x08
D0 D1 D2 3 D0 D1 D2 x x x x x x
0 1 2 3 4 5 6 7 8 9 10 126 127
RXFIRST RXLAST
NUM_RXBYTES = 0x04
D0 D1 D2 D0 D1 D2 x x x x x x x
0 1 2 3 4 5 6 7 8 9 10 126 127
RXFIRST RXLAST
See Table 10 for the different signals that can be output from the CC112X. Note that all signals
described as a pulse are two XOSC periods long.
GPIOx_CFG Signal Name Description
0 RXFIFO_THR Associated to the RX FIFO. Asserted when the RX FIFO is filled above
FIFO_CFG.FIFO_THR. De-asserted when the RX FIFO is drained below
(or is equal) to the same threshold. This signal is also available in the
MODEM_STATUS1 register
1 RXFIFO_THR_PKT Associated to the RX FIFO. Asserted when the RX FIFO is filled above
FIFO_CFG.FIFO_THR or the end of packet is reached. De-asserted
when the RX FIFO is empty
2 TXFIFO_THR Associated to the TX FIFO. Asserted when the TX FIFO is filled above
(or is equal to) (127 −FIFO_CFG.FIFO_THR). De-asserted when the TX
FIFO is drained below the same threshold. This signal is also available in
the MODEM_STATUS0 register
3 TXFIFO_THR_PKT Associated to the TX FIFO. Asserted when the TX FIFO is full. De-
asserted when the TX FIFO is drained below
(127 − FIFO_CFG.FIFO_THR)
4 RXFIFO_OVERFLOW Asserted when the RX FIFO has overflowed. De-asserted when the RX
FIFO is flushed (see Section 3.2.4). This signal is also available in the
MODEM_STATUS1 register
5 TXFIFO_UNDERFLOW Asserted when the TX FIFO has underflowed. De-asserted when the TX
FIFO is flushed (see Section 3.2.4). This signal is also available in the
MODEM_STATUS0 register
6 PKT_SYNC_RXTX RX: Asserted when sync word has been received and de-asserted at the
end of the packet. Will de-assert when the optional address and/or
length check fails or the RX FIFO overflows/underflows.
TX: Asserted when sync word has been sent, and de-asserted at the end
of the packet. Will de-assert if the TX FIFO underflows/overflows
7 CRC_OK Asserted simultaneously as PKT_CRC_OK. De-asserted when the first
byte is read from the RX FIFO
8 SERIAL_CLK Serial clock (RX and TX mode). Synchronous to the data in synchronous
serial mode. Data is set up on the falling edge in RX and is captured on
the rising edge of the serial clock in TX
9 SERIAL_RX Serial data (RX mode). Used for both synchronous and transparent
mode.
Synchronous serial mode: Data is set up on the falling edge.
Transparent mode: No timing recovery (outputs just the hard limited
baseband signal)
10 Reserved (used for test)
11 PQT_REACHED Preamble Quality Reached. Asserted when the quality of the preamble is
above the programmed PQT value (see Section 6.8). This signal is also
available in the MODEM_STATUS1 register
12 PQT_VALID Preamble quality valid. Asserted when the PQT logic has received a
sufficient number of symbols (see Section 6.8). This signal is also
available in the MODEM_STATUS1 register
13 RSSI_VALID RSSI calculation is valid
2
This signal is active low. To control an external LNA, PA, or RX/TX switch in applications where the
SLEEP state is used it is therefore recommended to map this signal to GDO3 as this signal will be
hardwired to 1(0) in the SLEEP state.
The main purpose of the MCU wake-up feature is to wake up the MCU from power down mode at the
right time, i.e., when there is a need of intervention from the MCU side.
To use the MCU wake-up feature one of the GPIO pins should be configured to output the
MCU_WAKEUP signal (IOCFGx.GPIOx_CFG = MCU_WAKEUP (20)). Every time this signal is asserted,
the MCU should read MARC_STATUS1.MARC_STATUS_OUT to find the cause of the wake up event
and take appropriate action.
Table 11 shows all the different cases that can initiate a MCU wake-up (assertion of MCU_WAKEUP).
Please note that MCU_WAKEUP will only be asserted when the radio enters IDLE state.
MARC_STATUS_OUT Description
00000000 No failure
00000001 RX timeout occurred. Only valid in RX mode and when not using eWOR
00000010 RX termination based on CS or PQT. Only valid in RX mode and when not using eWOR
00000011 eWOR sync lost (16 slots with no successful reception). Only valid in Feedback eWOR mode
(WOR_CFG1.WOR_MODE = 0)
00000100 Packet discarded due to maximum length filtering. Only valid in RX mode and when
RFEND_CFG0.TERM_ON_BAD_PKT is enabled.
Note: In eWOR Normal & Feedback modes the wake up pulse will not be asserted and the CC112X
will go to SLEEP until the next time slot
00000101 Packet discarded due to address filtering. Only valid in RX mode and when
RFEND_CFG0.TERM_ON_BAD_PKT is enabled.
Note: In eWOR Normal & Feedback modes the wake up pulse will not be asserted and the CC112X
will go to SLEEP until the next time slot
00000110 Packet discarded due to CRC filtering. Only valid in RX mode and when
RFEND_CFG0.TERM_ON_BAD_PKT is enabled.
Note: In eWOR Normal & Feedback modes the wake up pulse will not be asserted and the CC112X
will go to SLEEP until the next time slot
00000111 TX FIFO overflow error occurred (the MCU should flush the TX FIFO)
00001000 TX FIFO underflow error occurred (the MCU should flush the TX FIFO)
00001001 RX FIFO overflow error occurred (the MCU should flush the RX FIFO)
00001010 RX FIFO underflow error occurred (the MCU should flush the RX FIFO)
00001011 TX ON CCA failed. A TX strobe was ignored due to a busy channel. In parallel the TXONCCA_DONE
signal is asserted together with the TXONCCA_FAILED signal. These signals can be output on GDO2
and GDO0 respectively by setting IOCFG2/0.GPIO2/0_CFG = 15. The TXONCCA_FAILED signal
is also available in the MARC_STATUS0 register
01000000 TX finished successfully (the CC112X is ready for the next operation)
10000000 RX finished successfully (a packet is in the RX FIFO ready to be read)
After the sync word is received/transmitted (SYNC_CFG0.SYNC_MODE ≠ 0), data is clocked in/out on
a GPIO pin with the associated clock on another GPIO pin. The serial clock is not output from the
device before the sync word is sent/received, hence the MCU can be in sleep mode until sync is
detected in RX mode.
Synchronous serial mode makes use of the WaveMatch detector, which means the performance will
be similar to the performance in FIFO mode.
Blind mode is synchronous serial mode with SYNC_CFG0.SYNC_MODE = 0. In this mode, the CC112X
will demodulate data/noise and it is the MCU that needs to monitor the data stream to find the framing
information. The serial clock will run continuously when the radio is in active mode.
If framing information is present in the signal, it is strongly advised to use either FIFO mode or
synchronous serial mode with sync detection enabled to make use of the strong WaveMatch detector
in CC112X (see Section 6.6).
Blind mode can be used in applications with no framing information, e.g. streaming data applications.
+1
+1/3
-1/3
-1
1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 00 01 01 11 10 00 11 01
f xosc
f dev 24
(256 DEV _ M ) 2 DEV _ E [Hz]
2
Equation 1: fdev (DEVIATION_E > 0)
f xosc
f dev DEV _ M [Hz]
223
Equation 2: fdev (DEVIATION_E = 0)
3
AMin = Minimum Amplitude and AMax = Maximum Amplitude when OOK/ASK is used
4
Identical to offset QPSK with half-sine shaping (data coding may differ).
h1( p) p7 p3 p2 p 1
Equation 4: h1(p)
h2( p) p7 p3 1
Equation 5: h2(p)
The resulting bit is then XOR’ed with the transmitted bits, where each of the input data bits is mapped
into 4 consecutive symbols, as shown in the following Figure 11. The figure shows what is sent on the
air when the input data is 101b.
+
Input Data
@ ¼ Symbol Rate
Gold
Sequence
+ +
+ + +
Gold Sequence
5
This equation is only valid when -64 ≤ CFM_TX_DATA_IN ≤ +64. CFM_TX_DATA_IN > 64
corresponds to +fdev while CFM_TX_DATA_IN < -64 gives a frequency of −fdev. CFM_TX_DATA_IN
= -128 is the same as setting CFM_TX_DATA_IN = 0.
6
DSSS PN mode and DSSS repeat mode are not supported for 4’ary modulation formats.
Note. Assertion of DSSS_DATA1 and DSSS_DATA0 within the first 5 DSSS_CLK edges after
entering RX should be ignored.
SRATE _ M
RSymbol f XOSC [ksps]
238
Equation 7: Symbol Rate (SRATE_E = 0)
Equation 8 and Equation 9 can be used to find suitable register values for a given symbol rate.
RSymbol 2 39
SRATE _ E log 2 20
f XOSC
Equation 8: SRATE_E
RSymbol 2 39
SRATE _ M SRATE _ E
2 20
f XOSC 2
Equation 9: SRATE_M
20
If SYMBOL_RATE_M is rounded to the nearest integer and becomes 2 , one should increment
SYMBOL_RATE_E and use SYMBOL_RATE_M = 0 instead.
The symbol rate can be set up to 100 ksps with the minimum step size according to
Table 15.
Min Symbol Rate [ksps] Typical Symbol Rate [ksps] Max Symbol Rate [ksps] Symbol Rate Step Size [ksps]
0 0.04 0.15 0.00014
0.15 0.25 0.3 0.00014
0.61 1.2 1.22 0.0006
1.22 2.4 2.44 0.001
2.44 4.8 4.88 0.002
4.88 9.6 9.76 0.005
19.5 25 39.0 0.018
39.0 50 78.1 0.037
78.1 100 125 0.074
f xosc
RX Filter BW [Hz]
Decimation Factor BB _ CIC _ DECFACT 8
f xosc
RX Filter BW [Hz]
Decimation Factor BB _ CIC _ DECFACT 2
Table 17: RX Filter BW in kHz when CHFILT_BYPASS = 0 (CC1120 and CC1121, fxosc = 32 MHz)
7
For CC1120, max BB_CIC_DECFACT is 25 when the decimation factor is 20 and 15 when the
7
FE_PERFORMANCE_MODE = 0 or 1
Table 19: AGC Gain Tables
o The AGC_CFG2.AGC_MAX_GAIN and AGC_CFG3.AGC_MIN_GAIN register fields are used
to set the table indexes for maximum and minimum gain respectively. For example, setting
AGC_MAX_GAIN = 2 and AGC_MIN_GAIN = 15 limits the gain table to 14 entries, where
max gain is ~32 dB and min gain is -12 dB. A lower maximum gain will reduce power
consumption in the receiver front end, since the highest gain settings are avoided. Limiting
max gain also improves worst case linearity in the front-end, something that is very useful
when using external LNA.
AGC_REF.AGC_REFERENCE
o Sets the reference value for the AGC. The reference value is a compromise between
blocker tolerance/selectivity and sensitivity. The AGC reference level must be higher than
the minimum SNR to the demodulator. The AGC reduces the analog front end gain when
the magnitude output from the channel filter is greater than the AGC reference level. An
optimum AGC reference level is given by several conditions, but a rule of thumb is given by
Equation 12.
8
For Zero-IF configuration, AGC hysteresis > 3 dB, or modem format which needs SNR > 15 dB a
higher AGC reference value is needed
Example:
Assume a -70 dBm signal into the antenna and RSSI[11:0] = 0x200 (32) when
AGC_GAIN_ADJUST.GAIN_ADJUSTMENT = 0x00.
This means that the offset is –102 dB as 32 dBm + (–102) dB = –70 dBm.
When the offset is known it can be written to the AGC_GAIN_ADJUST.GAIN_ADJUSTMENT
register field (GAIN_ADJUSTMENT = 0x9A (–102)). When the same signal is input to the
antenna, the RSSI[11:0] register will be 0xBA0 (–70).
The RSSI value is output from a configurable moving average filter in order to reduce uncertainty in
the RSSI estimates. It is as such possible to trade RSSI computation speed/update rate against RSSI
accuracy. This trade-off is determined by configuring the AGC_CFG0.RSSI_VALID_CNT register. This
register field gives the number of new input samples to the moving average filter (internal RSSI
10
estimates) that are required before the next update of the RSSI value . The RSSI_VALID signal will
be asserted from the first RSSI update. RSSI_VALID is available on a GPIO by setting
IOCFGx.GPIOx_CFG = RSSI_VALID (13) or can be read from the RSSI0 register.
Carrier Sense (CS) indication will also be affected by the setting of AGC_CFG0.RSSI_VALID_CNT.
After the RSSI is valid it will be continuously compared to the CS threshold set in the AGC_CS_THR
register, but since the RSSI update rate is given by the RSSI_VALID_CNT register field, this will in
practice limit the CS update rate as well. The exception is when the CS threshold is changed while in
RX mode. The CARRIER_SENSE signal will then be updated immediately (if needed). For more info
on CS, see Section 6.9.1. Figure 15 shows when CS is updated with respect to the RSSI.
Signal Strength
CS Threshold
RSSI
CARRIER_SENSE
Time
RSSI Update
9
The RSSI offset changes if MDMCFG1.DVGA_GAIN is changed
10
By setting the IOCFG3.GPIO3_CFG or IOCFG2.GPIO2_CFG = RSSI_UPDATE (14), a pulse
will occur on GPIO3 or GPIO2 each time the RSSI value is updated
AGC_UPDATE
AGC_STABLE_GAIN
AGC_HOLD
RSSI_VALID_CNT 00b
RSSI[11:0] -128
RSSI_UPDATE
CARRIER_SENSE
CARRIER_SENSE_VALID
RSSI_VALID_CNT 10b
RSSI[11:0] -128
RSSI_UPDATE
CARRIER_SENSE
CARRIER_SENSE_VALID
Time Intervals T0 T1 T2 T1 T2 T2 T2 T2 T2
Time
Carrier Sense Response Time
2 AGC_WIN_SI ZE 4
BB_CIC_DECFACT Decimation Factor 46
T2 [s]
f XOSC
Equation 17: T2
Configuration Register Fields/Conditions T0
11
If BB_CIC_DECFACT = 0, use a value of 1
Table 22: D0 - D6
12
x = DCFILT_CFG.DCFILT_BW when DCFILT_CFG.DCFILT_BW < 5, else it is 4
2 AGC_WIN_SI ZE 4
BB_CIC_DECFACT Decimation Factor 46 22 4
8 20 46
T2 321.44 us
f XOSC 32 106
The latter is described in Section 9.5. By setting the IOCFGX.GPIOX_CFG = CARRIER_SENSE (17),
GPIOx will indicate if a carrier is present. The CS signal is evaluated each time a new internal RSSI
estimate is computed. The CARRIER_SENSE signal must only be interpreted when it is valid, as
indicated by CARRIER_SENSE_VALID. This signal can be routed to GPIOX by setting
IOCFGX.GPIOX_CFG = CARRIER_SENSE_VALID (16) to help evaluate this in real-time. The two
signals can also be read from the RSSI0 register.
13
If PKT_CFG2.CCA_MODE = 100b (LBT) the radio will try to enter TX mode again automatically
until the channel is clear and TX mode is being entered
1
●
●
● 8/16
●
● ● 0
0 1/3 2/3 1
Configurable: 3/8, 3/2, 3, 6 Ts
14
This equation is an approximation. SmartRF Studio provides recommended values for different
output powers based on characterization.
CRC-16
Note: The minimum packet length supported (excluding the optional length byte and CRC) is
one byte of payload data.
Internal byte counter in packet handler counts from 0 to 255 and then starts from 0 again
0 , 1 ,.......... ,88 , .................... 255 , 0 , ........ , 88 , .................. , 255 ,0 , ........ , 88 ,.................. , 255 , 0 , .......................
Length field transmitted and received RX and TX PKT_LEN value set to mod(600, 256) = 88)
15
Given two positive numbers, a dividend x and a divisor y, mod(x, y) can be thought of as the
remainder when dividing x by y. For instance, the expression mod(5, 4) would evaluate to 1 because
5 divided by 4 leaves a remainder of 1.
8 7 6 5 4 3 2 1 0
TX_DATA 7 6 5 4 3 2 1 0
The first TX_DATA byte is shifted in before doing the XOR-operation providing the first TX_OUT[7:0] byte. The
second TX_DATA byte is then shifted in before doing the XOR-operation providing the second TX_OUT[7:0] byte.
TX_OUT[7:0]
16
RFEND_CFG1.RXOFF_MODE can be changed while in active mode
To simplify debug and advanced FIFO features, the full FIFO buffer is memory mapped and can be
accessed directly(see Section 3.2.3). Both FIFO content and FIFO data pointers are accessible. This
can be used to significantly reduce the SPI traffic, see examples below
1. In a hostile RF environment packets are lost and re-transmissions are often required. Normally
the packet data must then be written again over the SPI interface. By using the direct FIFO
access feature and changing the TXFIRST register to point to the head of the previous
message, a re-transmission can be done without writing the packet over the SPI.
2. In many protocols only parts of the message is changed between each transmission (e.g.
changing a read value from a sensor, incrementing a transmission counter). Direct FIFO
access can then be used to change only the new data (the FIFOs are reached through the
0x3E command, see Table 4), leaving the rest of the data unchanged. FIFO data pointers
(TXFIRST and TXLAST) can then be manipulated to re-transmit the packet with changed data.
17
If this bit is set in RX mode, GPIO2 must be hardwired to 0 (IOCFG2.GPIO2_CFG = HW0 (51))
SO
XOSC Stable
9.4.1 RX
When RX is activated, the chip will remain in receive mode until:
A packet is received
18
An SIDLE, SRX , STX, or SFSTXON command strobe is being issued
The RX FIFO overflows/underflows
The RX termination timer expires
A CS or PQT based termination takes place
When a packet is successfully received, the radio controller goes to the state indicated by the
RFEND_CFG1.RXOFF_MODE setting, i.e. IDLE, FSTXON, TX or RX. When a bad packet is received
(packet length/address/CRC error) the radio controller will either restart RX or go to IDLE depending
on the RFEND_CFG0.TERM_ON_BAD_PACKET_EN setting.
When an RX FIFO overflow or underflow occurs, the radio will enter RX_FIFO_ERR state. When RX
terminates due to the RX termination timer or lack of CS/PQT, the radio will enter IDLE mode (via
CALIBRATE depending on the SETTLING_CFG.FS_AUTOCAL setting).
Please see Section 9.6 for details on which states the radio enters after RX when eWOR is used.
9.4.2 TX
Similarly, when TX is active the chip will remain in the TX state until:
The current packet has been transmitted
An SIDLE or SRX command strobe is being issued
The TX FIFO overflows/underflows
When a packet is successfully transmitted, the radio controller goes to the state indicated by the
RFEND_CFG0.TXOFF_MODE setting. The possible destinations are the same as for RX.
18
When an SRX strobe is issued in RX state, RX is restarted (the modulator starts searching for a
sync word). If the radio was in the middle of a packet reception, part of the “old” packet will remain in
the RX FIFO so NUM_RXBYTES or RX_LAST should be read before strobing SRX to keep track of
where the old and new packets are located in the RX FIFO.
EVENT 0 1250
RX Timeout MAX 1, FLOOR 2 4 WOR _ RES [s]
2 RX _ TIME 3 f XOSC
Equation 22: RX Timeout
EVENT0 is programmed through WOR_EVENT0_MSB and WOR_EVENT0_LSB, RX_TIME is found in
RFEND_CFG1 and WOR_RES in WOR_CFG1.
Figure 24 shows how the radio stays in RX until a packet has been received since a sync word was
found before the RX termination timer expired (after 10 ms).
RX_TIME_QUAL = 0
IDLE RX IDLE
Time [ms]
1 2 3 4 5 14 15 16
RX_TIME_QUAL = 0
IDLE RX IDLE
Time [ms]
1 2 3 4 5 14 15 16 17 18 19 20
RX_TIME_QUAL = 1
IDLE RX IDLE
Time [ms]
1 2 3 4 5 14 15 16
RX_TIME_QUAL = 1
IDLE RX IDLE
Time [ms]
1 2 3 4 5 20 21 22 23 24 25
RX_TIME_QUAL = 1
Preamble found within 10 ms
IDLE RX IDLE
Time [ms]
1 2 3 4 5 31 32 33
RX_TIME_QUAL = 0
RFEND_CFG0.ANT_DIV_RX_TERM_CFG = 001b
CARRIER_SENSE
Time [ms]
1 2 3 4 5 14 15 16
RX_TIME_QUAL = 0
RFEND_CFG0.ANT_DIV_RX_TERM_CFG = 001b
CARRIER_SENSE
Time [ms]
1 2 3 4 5 14 15 16
RX_TIME_QUAL = 0
RFEND_CFG0.ANT_DIV_RX_TERM_CFG = 001b
RX terminated at RX timeout due to
no sync word found
(RX_TIME_QUAL = 0)
IDLE RX IDLE
CARRIER_SENSE
Time [ms]
1 2 3 4 5 14 15 16
RX_TIME_QUAL = 1
RX terminated when carrier is no
RFEND_CFG0.ANT_DIV_RX_TERM_CFG = 001b longer present (not terminated at RX
timeout since carrier is present at
that time and RX_TIME_QUAL = 1)
IDLE RX IDLE
CARRIER_SENSE
Time [ms]
1 2 3 4 5 14 15 16
The eWOR timer has three events, Event 0, Event 1, and Event 2. In the SLEEP state with eWOR
activated, reaching Event 0 will turn on the digital regulator and start the crystal oscillator (unless
WOR_CFG1.WOR_MODE = 100b). Event 1 follows Event 0 after a programmed timeout (tEvent1).
Figure 27 shows the timing relationship between Event 0 timeout and Event 1 timeout.
Rx Timeout
The time between two consecutive Event 0’s is programmed with a mantissa value given by
WOR_EVENT0_MSB and WOR_EVENT0_LSB and an exponent value set by WOR_CFG1.WOR_RES. tEvent0
is given by Equation 23.
1
t Event 0 EVENT 0 25 WOR _ RES [s]
f RCOSC
Equation 23: tEvent0
The Event 1 timeout is programmed with a mantissa value decoded by the WOR_CFG1.EVENT1
setting.
1
t Event 1 WOR _ EVENT1[s]
f RCOSC
An SRX strobe is issued on Event 1 if tEvent1 is larger than the crystal start-up time. If tEvent1 is shorter
than the crystal start-up time (CHIP_RDYn not asserted when Event 1 occurs), the SRX strobe will be
issued as soon as CHIP_RDYn is asserted.
Event 2 can used to autonomously take the system out of SLEEP at regular intervals to perform RC
oscillator calibration. This will improve the accuracy of the timer.
The Event 2 timing is programmed with an exponent value decoded by the WOR_CFG0.EVENT2_CFG
setting.
WOR_CFG0.EVENT2_CFG WOR_EVENT2 tEvent2 [s] (fRCOSC = 32 kHz)
00 Disabled
01 15 ~1
10 18 ~8.2
11 21 ~65.5
2WOR _ EVENT 2
t Event 2 [s]
f RCOSC
Equation 25: tEvent2
When setting EVENT2_CFG ≠ 0, tEvent0 must be greater than tEvent2 and RC oscillator calibration must
be enabled (WOR_CFG0.RC_MODE = 10b).
19
All three events can be monitored on the GPIO pins by setting IOCFGx.GPIOx_CFG =
WOR_EVENT0/1/2 (54/55/56).
19
If IOCFGx.GPIOx_CFG = WOR_EVENT2 (56), WOR_CFG0.EVENT2_CFG must be ≠ 0
TX TX TX TX
Preamble + sync
Payload
Time
1s 1s 1s
RX RX RX RX
XOSC Start-Up
RX Timeout
Extra time in RX
to receive the packet Time
1s 1s 1s
Under ideal circumstances, the receiver and transmitter is in sync as shown in Figure 28, but in most
cases this is not the case. Assume the transmitter is sending packets at a slower rate than the
receiver wakes up to look for packet as shown in Figure 28.
20
To not receive a packet at all is in this content equivalent to receiving a bad packet
Time
1.x s 1.x s 1.x s
RX RX RX
XOSC Start-Up
RX Timeout
Extra time in RX
to receive the packet Time
1s 1s 1s
In this case, the WOR_CAPTURE1 and WOR_CAPTURE0 registers on the receivers would show a higher
and higher value for every packet received, indicating that the transmitter is sending at a slower rate
than tEVENT0. The receiver should therefore increase t EVENT0 to stay in sync with the transmitter (see
Figure 30).
TX TX TX TX
Preamble + sync
Payload
Time
1.x s 1.x s 1.x s
RX RX RX RX
XOSC Start-Up
RX Timeout
Extra time in RX
to receive the packet
1s 1.x s 1.x s
TX
4 bits
Sync Payload
preamble
RX
Time
By increasing the preamble of the transmitted packet, the receiver can implement RX Sniff Mode and
wake up at an interval that ensures that at least 4 bits of preamble is received. RX termination based
on CS greatly reduces the time in RX and forces the radio back in SLEEP if there is no signal on the
air.
TX
Preamble
(4 bytes) Sync Payload
R R R
RX
X X X
Time
The wake-up interval (tEvent0) can be increased further by letting the receiver look for an 11 bits sync
word (16 bits are sent on the air). This way, the 5 MSBs can be used for AGC settling and no
preamble is needed (see Figure 33).
TX
Preamble
(4 bytes) Sync Payload
R R R
RX
X X X
Time
RFEND_CFG0. Description
ANT_DIV_RX_TERM_CFG
000 Antenna diversity and termination based on CS/PQT are disabled
001 RX termination base on CS is enabled (Antenna diversity OFF). See 9.5.2 for details.
010 Single-switch antenna diversity on CS enabled.
One or both antenna is CS evaluated once and RX will terminate if CS failed on both
antennas.
011 Continuous-switch antenna diversity on CS enabled.
Antennas are switched until CS is asserted or RX timeout occurs (if RX timeout is enabled)
100 RX termination base on PQT is enabled (Antenna diversity OFF). See 9.5.3 for details.
101 Single-switch antenna diversity on PQT enabled.
One or both antenna is PQT evaluated once and RX will terminate if PQT is not reached on
any of the antennas.
110 Continuous-switch antenna diversity on PQT enabled.
Antennas are switched until PQT is reached or RX timeout occurs (if RX timeout is enabled)
111 Reserved
9.12 RF Programming
RF programming in CC112X is given by two factors; the VCO frequency programming and the LO
divider programming (RF band selection). The relation is given in Equation 26 below.
fVCO
f RF [Hz]
LO Divider
Equation 26: Radio Frequency
The VCO frequency is given by the 24 bit (unsigned) frequency word FREQ located in the FREQ2,
FREQ1, and FREQ0 registers. There is also a possibility to perform VCO frequency offset
programming, given by the 16 bit (signed) frequency offset word FREQOFF located in the FREQOFF1
and FREQOFF0 registers. This is intended to adjust for crystal intolerance or fine adjustments of the
RF programming.
FREQ FREQOFF
fVCO f XOSC f XOSC [Hz]
216 218
Equation 27: VCO Frequency
Note that the FREQOFF programming and FREQOFF_EST (found in FREQOFF_EST1 and
FREQOFF_EST0) have identical formats hence the frequency estimate can be accumulated directly to
the FREQOFF programming. This can be done either manually or automatically through the SAFC
command strobe. A SAFC command strobe can be issued in any state but does not take effect until
the next time the radio enters active mode (TX or RX).
21
In SLEEP mode the GDIOx pin will be hardwired to 0 or 1 depending on which GDIO pin is used
and what the value of IOCFGx_GPIOx_INV is. Please see Section 3.4 for more details.
Since the RF band is determined by the LO divider setting, the different RF bands will also have
different frequency resolution. Note that the frequency offset word is related to the VCO frequency
programming, and hence any crystal inaccuracy compensation is therefore independent of the
selected RF band.
See Table 31 for an overview of the RF resolution.
9.13 IF Programming
The IF frequency is given by Equation 28 below (FREQ_IF is found in the FREQ_IF_CFG register).
FREQ _ IF
f IF f XOSC [kHz]
215
Equation 28: IF Frequency
Note that FREQ_IF is given in two’s complement format, hence both positive and negative IF are
supported.
9.14 FS Calibration
The internal on-chip FS characteristics will vary with temperature and supply voltage changes as well
as the desired operating frequency. In order to ensure reliable operation, CC112X includes frequency
synthesizer self-calibration circuitry. This calibration should be done regularly, and must be performed
after turning on power and before using a new radio frequency.
Note: The calibration values are maintained in SLEEP mode, so the calibration is still valid
after waking up from SLEEP mode unless supply voltage or temperature has changed
significantly.
6 PQT_GATING_EN 0x00 R/W PQT gating enable. When PQT gating is enabled the demodulator will not start to look
for a sync word before a preamble is detected (i.e. PQT_REACHED is asserted). The
preamble detector must be enabled for this feature to work
(PREAMBLE_CFG0.PQT_EN = 1)
5 SYNC_CFG0_RESERVED5 0x00 R/W For test purposes only, use values from SmartRF Studio
4:0 SYNC_THR 0x0A R/W Soft decision sync word threshold. A sync word is accepted when the calculated sync
word qualifier value (PQT_SYNC_ERR.SYNC_ERROR) is less than SYNC_THR/2). A low
threshold value means a strict sync word qualifier (sync word must be of high quality to
be accepted) while a high threshold value will accept sync word of a poorer quality
(increased probability of detecting ‘false’ sync words)
4:2 SYNC_MODE 0x05 R/W Sync word configuration. When SYNC_MODE = 0, all samples (noise or data) received
after RX mode is entered will either be put in the RX FIFO or output on a GPIO
configured as SERIAL_RX. Note that when 4'ary modulation is used the sync word
uses 2'ary modulation (the symbol rate is kept the same)
000 No sync word
001 11 bits [SYNC15_8[2:0]:SYNC7_0]
111 16D bits (DualSync search). When this setting is used in TX mode
[SYNC15_8:SYNC7_0] is transmitted
1:0 SYNC_NUM_ERROR 0x03 R/W Bit check on sync word. When SYNC_NUM_ERROR != 11b the sync word will only be
accepted when the programmable conditions below are true. The bit error qualifier can
be useful if the sync word in use has weak correlation properties
00 0 bit error in last received sync byte (normally SYNC0)
10 DSSS PN mode. Both FIFO mode and synchronous serial mode are
supported (PKT_CFG2.PKT_FORMAT = 0 or 1)
11 Reserved
2:0 DEV_E 0x03 R/W Frequency deviation (exponent part). See DEVIATION_M
5:3 DCFILT_BW_SETTLE 0x01 R/W Settling period of high pass DC filter after AGC adjustment
f XOSC
Sample Rate [Hz]
2 Decimation Factor
2:0 DCFILT_BW 0x04 R/W Cut-off frequency (fCut-Off ) of high pass DC filter
f XOSC
f Cutt-Off DC Filter ~ [Hz]
Decimation Factor 100 2 DCFILT _ BW
5:2 NUM_PREAMBLE 0x05 R/W Sets the minimum number of preamble bits to be transmitted
0000 No preamble
0001 0.5 byte
0010 1 byte
0011 1.5 bytes
0100 2 bytes
0101 3 bytes
0110 4 bytes
0111 5 bytes
1000 6 bytes
1001 7 bytes
1010 8 bytes
1011 12 bytes
1100 24 bytes
1101 30 bytes
1110 Reserved
1111 Reserved
1:0 PREAMBLE_WORD 0x00 R/W Preamble byte configuration. PREAMBLE_WORD determines how a preamble byte
looks like. Note that when 4'ary modulation is used the preamble uses 2'are
modulation (the symbol rate is kept the same)
00 10101010 (0xAA)
01 01010101 (0x55)
10 00110011 (0x33)
11 11001100 (0xCC)
4 PQT_VALID_TIMEOUT 0x00 R/W PQT start-up timer. PQT_VALID_TIMEOUT sets the number of symbols that
must be received before PQT_VALID is asserted
0 16 symbols
1 43 symbols
3:0 PQT 0x0A R/W Soft decision PQT. A preamble is detected when the calculated preamble
qualifier value (PQT_SYNC_ERR.PQT_ERROR) is less than PQT. A low threshold
value means a strict preamble qualifier (preamble must be of high quality to be
accepted) while a high threshold value will accept preamble of a poorer quality
(increased probability of detecting ‘false’ preamble)
f XOSC FREQ _ IF
f IF [kHz]
215
Note that FREQ_IF is two's complement, hence both positive and negative IF is
supported
5:4 IQIC_BLEN_SETTLE 0x00 R/W IQIC block length when settling. The IQIC module will do a coarse estimation of IQ
imbalance coefficients during settling mode. Long block length increases settling time
and improves image rejection
00 8 samples
01 32 samples
10 128 samples
11 256 samples
3:2 IQIC_BLEN 0x01 R/W IQIC block length. Long block length increases settling time and improves image
rejection
00 8 samples
01 32 samples
10 128 samples
11 256 samples
1:0 IQIC_IMGCH_LEVEL_THR 0x00 R/W IQIC image channel level threshold. Image rejection will be activated when image
carrier is present. The IQIC image channel level threshold is an image carrier
detector. High threshold imply that image carrier must be high to enable IQIC
compensation module
00 > 256
01 > 512
10 > 1024
11 > 2048
6 ADC_CIC_DECFACT 0x00 R/W ADC_CIC_DECFACT is a table index which programs the first decimation filter and
program the RX filter bandwidth. ADC_CIC_DECFACT table index:
0 Decimation factor 20
1 Decimation factor 32
5:0 BB_CIC_DECFACT 0x14 R/W BB_CIC_DECFACT configures the RX filter BW by changing decimation factor in the
second decimation filter (the RX filter BW range is given for CHFILT_BYPASS = 0)
Device ADC_CIC_DECFACT BB_CIC_DECFACT RX Filter BW Range
[kHz]
CC1120 20 1 - 25 8.0 - 200.0
CC1120 32 1 - 16 7.8 - 125.0
CC1121 20 1-4 50 - 200.0
CC1121 32 1-3 41.7 - 125.0
CC1125 20 1 - 44 5.7 - 250.0
CC1125 32 1 - 44 3.6 - 156.3
6 FIFO_EN 0x01 R/W FIFO enable. Specifies if data to/from modem will be passed through the FIFOs or directly
to the serial pin
0 Data in/out through the serial pin(s) (the FIFOs are bypassed)
1 Data in/out through the FIFOs
5 MANCHESTER_EN 0x00 R/W Manchester mode enable. Manchester encoding/decoding is only applicable to payload
data including optional CRC. Manchester encoding/decoding is not supported for 4-
(G)FSK
0 NRZ
1 Manchester encoding/decoding
4 INVERT_DATA_EN 0x00 R/W Invert data enable. Invert payload data stream in RX and TX (only applicable to payload
data including optional CRC)
0 Invert data disabled
1 Invert data enabled
3 COLLISION_DETECT_EN 0x00 R/W Collision detect enable. After a sync word is detected, the receiver will always receive a
packet. If collision detection is enabled, the receiver will continue to search for sync. If a
new sync word is found during packet reception, a collision is detected and the
COLLISION_FOUND flag will be asserted
0 Collision detect disabled
1 Collision detect enabled
2:1 DVGA_GAIN 0x03 R/W Fixed DVGA gain configuration. The DVGA configuration has impact on the RSSI offset
00 0 dB DVGA
01 3 dB DVGA
10 6 dB DVGA
11 9 dB DVGA
0 SINGLE_ADC_EN 0x00 R/W Configure the number of active receive channels. If this bit is set the power consumption
will be reduced but the sensitivity level will be reduced by ~3 dB. Image rejection will not
work
0 IQ-channels
1 Only I-channel
5:4 TRANSPARENT_INTFACT 0x00 R/W Transparent signal interpolation factor. The sample rate gives the jitter of the samples
and the sample rate is given by
3 DATA_FILTER_EN 0x01 R/W Transparent data filter and extended data filter enable. Enabling transparent data
filter and/or extended data filter might Improve sensitivity.
When TRANSPARENT_MODE_EN = 0 this bit should only be set when RX filter
bandwidth/symbol rate > 10 and TOC_CFG.TOC_LIMIT = 0.
The table below shows the status of the transparent data filter and the extended data
filter for all combinations of TRANSPARENT_MODE_EN (MSB) and DATA_FILTER_EN
(LSB)
00 Transparent data filter disabled and extended data filter
disabled
01 Transparent data filter disabled and extended data filter
enabled
10 Transparent data filter disabled and extended data filter
disabled
11 Transparent data filter enabled and extended data filter
disabled
2 VITERBI_EN 0x01 R/W Viterbi detection enable. Enabling viterbi detection improves the sensitivity. The
latency from the antenna to the signal is available in the RXFIFO or on the GPIO is
increased by 5 bits for 2-ary modulation formats and 10 bits for 4-ary modulation
formats. Minimum packet length = 2 bytes when Viterbi Detection and 4-(G)FSK is
enabled
0 Viterbi detection disabled
1 Viterbi detection enabled
1:0 MDMCFG0_RESERVED1_0 0x01 R/W For test purposes only, use values from SmartRF Studio
SRATE_E = 0: SRATE _ M
RSymbol f XOSC [ksps]
238
3:0 SRATE_M_19_16 0x03 R/W Symbol rate (mantissa part [19:16]). See SRATE_E
RX filter BW AGC_REFERENCE
6:5 AGC_ASK_BW 0x00 R/W Controls the bandwidth of the data filter in ASK/OOK mode. The -3 dB cut-off
frequency (fCut-Off) is given below:
CHAN_BW.CHFILT_BYPASS = 0:
f Cut Off 4 ASK BW Scale Factor RX Filter BW[Hz]
CHAN_BW.CHFILT_BYPASS = 1:
f Cut Off ASK BW Scale Factor RX Filter BW[Hz]
4:0 AGC_MIN_GAIN 0x11 R/W AGC minimum gain. Limits the AGC minimum gain compared to the preset gain
table range. AGC_MIN_GAIN can have a value in the range 0 to 17 when
AGC_CFG2.FE_PERFORMANCE_MODE = 0 or 1 and 0 to 13 when
AGC_CFG2.FE_PERFORMANCE_MODE = 10b
4:0 AGC_MAX_GAIN 0x00 R/W AGC maximum gain. Limits the AGC maximum gain compared to the preset gain
table range. AGC_MAX_GAIN can have a value in the range 0 to 17 when
FE_PERFORMANCE_MODE = 0 or 1 and 0 to 13 when
FE_PERFORMANCE_MODE = 10b
4:2 AGC_WIN_SIZE 0x02 R/W AGC integration window size for each value. Samples refer to the RX filter
sampling frequency, which is programmed to be 4 times the desired RX filter BW
000 8 samples
001 16 samples
010 32 samples
011 64 samples
100 128 samples
101 256 samples
110 Reserved
111 Reserved
1:0 AGC_SETTLE_WAIT 0x02 R/W Sets the wait time between AGC gain adjustments
00 24 samples
01 32 samples
10 40 samples
11 48 samples
5:4 AGC_SLEWRATE_LIMIT 0x00 R/W AGC slew rate limit. Limits the maximum front end gain adjustment
00 60 dB
01 30 dB
10 18 dB
11 9 dB
3:2 RSSI_VALID_CNT 0x00 R/W Gives the number of new input samples to the moving average filter (internal RSSI
estimates) that are required before the next update of the RSSI value. The RSSI_VALID
signal will be asserted from the first RSSI update. RSSI_VALID is available on a GPIO or
can be read from the RSSI0 register
00 2
01 3
10 5
11 9
1:0 AGC_ASK_DECAY 0x03 R/W The OOK/ASK receiver uses a max peak magnitude (logic 1) tracker and low peak
magnitude (logic 0) tracker to estimate ASK_THRESHOLD (decision level) as the
average of the max and min value. The max peak magnitude value is also used by the
AGC to set the gain. AGC_ASK_DECAY controls the max peak magnitude decay steps in
OOK/ASK mode and defines the number of samples required for the max peak level to be
reduced to 10% when receiving logic 0’s after receiving a logic 1.
f XOSC
SampleRate [Hz]
2 Decimation Factor CHAN _ BW .BB _ CIC _ DECFACT
6:0 FIFO_THR 0x00 R/W Threshold value for the RX and TX FIFO. The threshold value is coded in opposite
directions for the two FIFOs to give equal margin to the overflow and underflow
conditions when the threshold is reached. I.e.; FIFO_THR = 0 means that there are
127 bytes in the TX FIFO and 1 byte in the RX FIFO, while FIFO_THR = 127
means that there are 0 bytes in the TX FIFO and 128 bytes in the RX FIFO when the
thresholds are reached
2:1 LOCK_TIME 0x01 R/W Sets the time for the frequency synthesizer to settle to lock state. The table shows
settling after calibration and settling when switching between TX and RX. Use values
from SmartRF Studio
00 50/20 µs
01 75/30 µs
10 100/40 µs
11 150/60 µs
0 FSREG_TIME 0x01 R/W Frequency synthesizer regulator settling time. Use values from SmartRF Studio
0 30 µs
1 60 µs
1
t Event 0 EVENT 0 25* WOR _ RES [s]
f RCOSC
and
EVENT 0 1250
RX Timeout MAX 1, FLOOR 2 4 WOR _ RES [s]
2 RFEND_CFG1.RX_TIME 3
f XOSC
00 High resolution
01 Medium high resolution
10 Medium low resolution
11 Low resolution
1
t Event 1 WOR _ EVENT1[s]
f RCOSC
EVENT1 WOR_EVENT1
000 4
001 6
010 8
011 12
100 16
101 24
110 32
111 48
5 DIV_256HZ_EN 0x01 R/W Clock division enable. Enables clock division in SLEEP mode
0 Clock division disabled
1 Clock division enabled
Setting DIV_256HZ_EN = 1 will lower the current consumption in SLEEP mode. Note
that when this bit is set the radio should not be woken from SLEEP by pulling CSn low
2WOR _ EVENT 2
t Event 2 [s]
f RCOSC
EVENT2_CFG WOR_EVENT2
00 Disabled
01 15
10 18
11 21
2:1 RC_MODE 0x00 R/W RCOSC calibration mode. Configures when the RCOSC calibration sequence is
performed. If calibration is enabled, WOR_CFG0.RC_PD must be 0
00 RCOSC calibration disabled
01 RCOSC calibration disabled
10 RCOSC calibration enabled
11 RCOSC calibration is enabled on every 4th time the device is
powered up and goes from IDLE to RX. This setting should only be
used together with eWOR
1
t Event 0 EVENT 0 2 5* WOR_CFG1.W OR_RES [s]
f RCOSC
5 PKT_CFG2_RESERVED5 0x00 R/W For test purposes only, use values from SmartRF Studio
4:2 CCA_MODE 0x01 R/W CCA mode. Selects the definition of a clear channel (when to assert the CCA signal)
000 Always give a clear channel indication
001 Indicates clear channel when RSSI is below threshold
010 Indicates clear channel unless currently receiving a packet
011 Indicates clear channel when RSSI is below threshold and currently not
receiving a packet
100 Indicates clear channel when RSSI is below threshold and ETSI LBT
requirements are met
101 - 111 Reserved
5:4 ADDR_CHECK_CFG 0x00 R/W Address check configuration. Controls how address check is performed in RX mode
00 No address check
01 Address check, no broadcast
10 Address check, 0x00 broadcast
11 Address check, 0x00 and 0xFF broadcast
1 BYTE_SWAP_EN 0x00 R/W TX/RX data byte swap enable. In RX, all bits in the received data byte are swapped
before written to the RX FIFO. In TX, all bits in the TX FIFO data byte are swapped before
being transmitted
0 Data byte swap disabled
1 Data byte swap enabled
0 APPEND_STATUS 0x01 R/W Append status bytes to RX FIFO. The status bytes contain info about CRC, RSSI, and
LQI. When CRC_CFG = 0, the CRC_OK field in the status byte will be 0
0 Status byte not appended
1 Status byte appended
4:2 PKT_BIT_LEN 0x00 R/W In fixed packet length mode this field (when not zero) indicates the number of bits to
send/receive after PKT_LEN number of bytes are sent/received. CRC is not supported
when PKT_LEN_BIT ≠ 0
1 UART_MODE_EN 0x00 R/W UART mode enable. When enabled, the packet engine will insert/remove a start and
stop bit to/from the transmitted/received bytes
0 UART mode disabled
1 UART mode enabled
5:4 RXOFF_MODE 0x00 R/W RXOFF mode. Determines the state the radio will enter after receiving a good packet
00 IDLE
01 FSTXON
10 TX
11 RX
EVENT 0 1250
RX Timeout MAX 1, FLOOR 2 4 WOR_CFG1.W OR_RES [s]
2 RX _ TIME 3 f XOSC
6 CAL_END_WAKE_UP_EN 0x00 R/W Enable additional wake-up pulses on the end of calibration. To be used together with
the MCU_WAKEUP signal (MARC_STATUS_OUT will be 0)
0 Disable additional wake-up pulse
1 Enable additional wake-up pulse
5:4 TXOFF_MODE 0x00 R/W TXOFF mode. Determines the state the radio will enter after transmitting a packet
00 IDLE
01 FSTXON
10 TX
11 RX
2:0 ANT_DIV_RX_TERM_CFG 0x00 R/W Direct RX termination and antenna diversity configuration
000 Antenna diversity and termination based on CS/PQT are disabled
001 RX termination based on CS is enabled (Antenna diversity OFF)
010 Single-switch antenna diversity on CS enabled. One or both antenna is CS
evaluated once and RX will terminate if CS failed on both antennas
011 Continuous-switch antenna diversity on CS enabled. Antennas are
switched until CS is asserted or RX timeout occurs (if RX timeout is
enabled)
100 RX termination based on PQT is enabled (Antenna diversity OFF)
101 Single-switch antenna diversity on PQT enabled. One or both antennas are
PQT evaluated once and RX will terminate if PQT is not reached on any of
the antennas
110 Continuous-switch antenna diversity on PQT enabled. Antennas are
switched until PQT is reached or RX timeout occurs (if RX timeout is
enabled)
111 Reserved
6 PA_CFG2_RESERVED6 0x01 R/W For test purposes only, use values from SmartRF Studio
PA _ POWER _ RAMP 1
Output Power 18 [dBm]
2
PA_POWER_RAMP >= 0x03 for the equation to be valid. {0x00, 0x01, 0x02} are
special power levels
4:2 SECOND_IPL 0x05 R/W Second intermediate power level. The second intermediate power level can be
programmed within the power level range 8/16 - 15/16 in steps of 1/16
1:0 RAMP_SHAPE 0x02 R/W PA ramp time and ASK/OOK shape length. Note that only certain values of
PA_CFG0.UPSAMPLER_P complies with the different ASK/OOK shape lengths
00 3/8 symbol ramp time and 1/32 symbol ASK/OOK shape length
(legal UPSAMPLER_P values: 100b, 101b, and 110b)
01 3/2 symbol ramp time and 1/16 symbol ASK/OOK shape length
(legal UPSAMPLER_P values: 011b, 100b, 101b, and 110b)
( PA _ POWER _ RAMP 1)
AMAX 18 [dBm]
2
( PA _ POWER _ RAMP 1)
AMIN 18 2 ASK _ DEPTH [dBm]
2
2:0 UPSAMPLER_P 0x04 R/W UPSAMPLER_P configures the variable upsampling factor P for the TX upsampler.
The total upsampling factor = 16∙P. The upsampler factor P must satisfy the
following:
f XOSC , where P should be as large as possible
Symbol rate 16 P
4
The upsampler reduces repetitive spectrum at 16·symbol rate
000 TX upsampler factor P = 1 (bypassed)
001 TX upsampler factor P = 2
010 TX upsampler factor P = 4
011 TX upsample factor P = 8
100 TX upsampler Factor P = 16
101 TX upsampler Factor P = 32
110 TX upsampler Factor P = 64
111 Not used
3:0 IF_MIX_CFG_RESERVED3_0 0x04 R/W For test purposes only, use values from SmartRF Studio
4:3 FOC_CFG 0x00 R/W Frequency offset correction configuration. FOC_CFG ≠ 0 enables a narrower RX
filter BW than FOC_CFG = 0 but needs longer settle time. When FOC in FS is
enabled, the device automatically switch to 'FOC after channel filter' when a sync
word is detected
00 FOC after channel filter (typical 0 - 1 preamble bytes for settling)
01 FOC in FS enabled. Loop gain factor is 1/128 (typical 2 - 4 preamble bytes
for settling)
10 FOC in FS enabled. Loop gain factor is 1/256 (typical 2 - 4 preamble bytes
for settling)
11 FOC in FS enabled. Loop gain factor is 1/512 (typical 2 - 4 preamble bytes
for settling)
2 FOC_LIMIT 0x00 R/W FOC limit. This is the maximum frequency offset correction in the frequency
synthesizer. Only valid when FOC_CFG ≠ 0
0 RX filter bandwidth/4
1 RX filter bandwidth/8
5:3 TOC_PRE_SYNC_BLOCKLEN 0x01 R/W When TOC_LIMIT = 0 the receiver uses a block based time offset error
calculation algorithm where the block length is configurable through register
TOC_CFG. Before a sync word is found (SYNC_EVENT is asserted) the
TOC_PRE_SYNC_BLOCKLEN sets the actual block length used for the time offset
algorithm
000 8 symbols integration window
001 16 symbols integration window
010 32 symbols integration window
011 64 symbols integration window
100 128 symbols integration window
101 256 symbols integration window
110 Reserved
111 Reserved
2:0 TOC_POST_SYNC_BLOCKLEN 0x03 R/W When TOC_LIMIT = 0 the receiver uses a block based time offset error
calculation algorithm where the block length is configurable through register
TOC_CFG. After a sync word is found (SYNC_EVENT is asserted) the
TOC_POST_SYNC_BLOCKLEN sets the actual block length used for the time
offset algorithm
000 8 symbols integration window
001 16 symbols integration window
010 32 symbols integration window
011 64 symbols integration window
100 128 symbols integration window
101 256 symbols integration window
110 Reserved
111 Reserved
3:0 MARC_SPARE_RESERVED3_0 0x00 R/W For test purposes only, use values from SmartRF Studio
4:0 EXT_CLOCK_FREQ 0x00 R/W External clock frequency. Controls division factor
00000 64
00001 62
00010 60
00011 58
00100 56
00101 54
00110 52
00111 50
01000 48
01001 46
01010 44
01011 42
01100 40
01101 38
01110 36
01111 34
10000 32
10001 30
10010 28
10011 26
10100 24
10101 22
10110 20
10111 18
11000 16
11001 14
11010 12
11011 10
11100 8
11101 6
11110 4
11111 3
6:5 SYMBOL_MAP_CFG 0x00 R/W Symbol map configuration. Configures the modulated symbol mapping
definition from data bit to modulated symbols.
For 2'ary modulation schemes the symbol mapping definition is as
follows:
SYMBOL_MAP_CFG
Data bit 00 01 10 11
0 -Dev [AMIN] Dev [AMAX] Dev [AMAX] Dev [AMAX]
1 Dev [AMAX] -Dev [AMIN] -Dev [AMIN] -Dev [AMIN]
Data Bit 00 01 10 11
(MSB,LSB)
00 -Dev/3 -Dev Dev/3 Dev
01 -Dev -Dev/3 Dev Dev/3
10 Dev/3 Dev -Dev/3 -Dev
11 Dev Dev/3 -Dev -Dev/3
4:1 CFM_DATA_CFG_RESERVED4_1 0x00 R/W For test purposes only, use values from SmartRF Studio
2 PIN_CTRL_EN 0x00 R/W Pin control enable. Pin control reuses the SPI interface pins to execute
SRX, STX, SPWD, and IDLE strobes
0 Pin control disabled
1 Pin control enabled
6:0 RCC_FINE 0x00 R/W 32/40 kHz RCOSC calibrated fine value
6:0 RCC_COARSE 0x00 R/W 32/40 kHz RCOSC calibrated coarse value
4:0 RCC_CLOCK_OFFSET_RESERVED4_0 0x00 R/W For test purposes only, use values from SmartRF Studio
fVCO
f RF [Hz]
LO Divider
where
FREQ FREQOFF
fVCO f XOSC f XOSC [Hz]
216 218
and the LO Divider is given by FS_CFG.FSD_BANDSELECT
1:0 IF_ADC2_RESERVED1_0 0x02 R/W For test purposes only, use values from SmartRF Studio
2:0 IF_ADC0_RESERVED2_0 0x04 R/W For test purposes only, use values from SmartRF Studio
3:0 FS_DIG1_RESERVED3_0 0x08 R/W For test purposes only, use values from SmartRF Studio
3:0 FS_CAL3_RESERVED3_0 0x00 R/W For test purposes only, use values from SmartRF Studio
5:0 VCDAC_START 0x20 R/W VCDAC start value. Use value from SmartRF Studio
1:0 FS_CAL0_RESERVED1_0 0x00 R/W For test purposes only, use values from SmartRF Studio
5:0 CHP_CAL_CURR 0x28 R/W Charge pump current and calibration. Use values from SmartRF Studio
1:0 FS_DIVTWO_RESERVED1_0 0x01 R/W For test purposes only, use values from SmartRF Studio
2:0 FS_DSM1_RESERVED2_0 0x00 R/W For test purposes only, use values from SmartRF Studio
4:0 FS_DVC0_RESERVED4_0 0x1F R/W For test purposes only, use values from SmartRF Studio
6:0 FS_PFD_RESERVED6_0 0x51 R/W For test purposes only, use values from SmartRF Studio
6:0 FS_PRE_RESERVED6_0 0x2C R/W For test purposes only, use values from SmartRF Studio
4:0 FS_REG_DIV_CML_RESERVED4_0 0x11 R/W For test purposes only, use values from SmartRF Studio
0 FS_VCO3_RESERVED0 0x00 R/W For test purposes only, use values from SmartRF Studio
6:0 FSD_VCO_CAL_CAPARR 0x00 R/W VCO cap-array configuration set during calibration
1:0 FS_VCO1_RESERVED1_0 0x00 R/W For test purposes only, use values from SmartRF Studio
5:0 GBIAS6_RESERVED5_0 0x00 R/W For test purposes only, use values from SmartRF Studio
3:0 GBIAS5_RESERVED3_0 0x02 R/W For test purposes only, use values from SmartRF Studio
5:0 GBIAS4_RESERVED5_0 0x00 R/W For test purposes only, use values from SmartRF Studio
5:0 GBIAS3_RESERVED5_0 0x00 R/W For test purposes only, use values from SmartRF Studio
6:0 GBIAS2_RESERVED6_0 0x10 R/W For test purposes only, use values from SmartRF Studio
4:0 GBIAS1_RESERVED4_0 0x00 R/W For test purposes only, use values from SmartRF Studio
1:0 GBIAS0_RESERVED1_0 0x00 R/W For test purposes only, use values from SmartRF Studio
1:0 IFAMP_RESERVED1_0 0x01 R/W For test purposes only, use values from SmartRF Studio
1:0 LNA_RESERVED1_0 0x01 R/W For test purposes only, use values from SmartRF Studio
1:0 RXMIX_RESERVED1_0 0x01 R/W For test purposes only, use values from SmartRF Studio
3:0 XOSC5_RESERVED3_0 0x0C R/W For test purposes only, use values from SmartRF Studio
3:1 XOSC2_RESERVED3_1 0x02 R/W For test purposes only, use values from SmartRF Studio
2 XOSC1_RESERVED2 0x00 R/W For test purposes only, use values from SmartRF Studio
1 XOSC_BUF_SEL 0x00 R/W XOSC buffer select. Selects internal XOSC buffer for RF PLL
0 Low power, single ended buffer (differential buffer is shut down)
1 Low phase noise, differential buffer (low power buffer still used for digital
clock)
2:0 PA_CFG3_RESERVED2_0 0x00 R/W For test purposes only, use values from SmartRF Studio
3:0 BIST_RESERVED3_0 0x00 R/W For test purposes only, use values from SmartRF Studio
6:3 RSSI_3_0 0x00 R Received signal strength indicator. 4 LSB of RSSI[11:0]. See RSSI1
01101 RX RX
01110 RX_END RX
01111 Reserved RX
10011 TX TX
10100 TX_END TX
22
Note that it is not possible to read 0 or 00010 b from MARC_STATE as pulling CSn low will take the
radio to IDLE state
6:0 LQI 0x00 R Link quality indicator. 0 when not valid. A low value indicates a better link than what
a high value does
3:0 SYNC_ERROR 0x0F R Sync word qualifier value. The actual sync word qualifier value can be greater than
15 but since SYNC_ERROR is only 4 bits wide SYNC_ERROR = FLOOR[actual sync
word qualifier value/2] modulo 16. This means that if SYNC_ERROR = 1 the actual
sync word qualifier value is either 2, 3, 34, or 35. When a sync word is received
(SYNC_EVENT is asserted) the SYNC_ERROR register field is not updated again
before RX mode is re-entered. As long as the radio is in RX searching for a sync
word the register field will be updated continuously
6 COLLISION_FOUND 0x00 R Collision found. Asserted if a sync word is detected during packet reception (i.e.
after SYNC_EVENT has been asserted) if
MDMCFG1.COLLISION_DETECT_EN = 1
0 No collision found
1 Collision found
5 SYNC_LOW0_HIGH1 0x00 R DualSync detect. Only valid when SYNC_CFG0.SYNC_MODE = 111 b. When
SYNC_EVENT is asserted this bit can be checked to see which sync word is found.
0 Sync word found = [SYNC15_8:SYNC7_0]
TOC_CFG.TOC_LIMIT = 023:
SRO _ INDICATOR
Symbol Rate Offset 106 [ppm]
4 Symbols after Sync Word
TOC_CFG.TOC_LIMIT = 1:
SRO _ INDICATOR
Symbol Rate Offset 2 [%]
7
TOC_CFG.TOC_LIMIT = 3:
SRO _ INDICATOR
Symbol Rate Offset 12 [%]
7
23
The symbol rate offset might wrap around
6:0 AGC_FRONT_END_GAIN 0x00 R AGC front end gain. Actual applied gain with 1 dB resolution
6:0 AGC_GAIN2_RESERVED6_0 0x51 R/W For test purposes only, use values from SmartRF Studio
4:0 AGC_GAIN1_RESERVED4_0 0x00 R/W For test purposes only, use values from SmartRF Studio
6:0 AGC_GAIN0_RESERVED6_0 0x3F R/W For test purposes only, use values from SmartRF Studio
5:0 ASK_SOFT 0x30 R The OOK/ASK receiver use a max peak magnitude tracker and low peak
magnitude tracker to estimate ASK_THRESHOLD. The ASK_THRESHOLD is used to
do hard decision of OOK/ASK symbols.
ASK_SOFT = +16 when magnitude is ≥ ASK_THRESHOLD
ASK_SOFT = -16 when magnitude is ≥ ASK_THRESHOLD
7 6
6:0 RNDGEN_VALUE 0x7F R Random number value. Number generated by 7 bit LFSR register (X +X +1).
Number will be further randomized when in RX by XORing the feedback with
receiver noise.
1:0 ANGULAR_9_8 0x00 R Instantaneous signal angular after CORDIC, 10-bit [9:8]
2:0 CHFILT_I_18_16 0x00 R Channel filter data, real part, 19-bit [18:16]
2:0 CHFILT_Q_18_16 0x00 R Channel filter data, imaginary part, 19-bit [18:16]
6:1 FSCAL_CTRL_RESERVED6_1 0x00 R/W For test purposes only, use values from SmartRF Studio
0 LOCK 0x01 R Out of lock indicator (FS_CFG.FS_LOCK_EN must be 1). The state of this signal
is only valid in RX, TX, and FSTXON state
0 FS is out of lock
1 FS out of lock not detected
3 IOC_SYNC_PINS_EN 0x00 R/W Enable synchronizer for IO pins. Required for transparent TX and for reading
GPIO_STATUS.GPIO_STATE
2 CFM_TX_DATA_CLK 0x00 R Modulator soft data clock (16 times higher than the programmed symbol rate)
6 RXFIFO_FULL 0x00 R Asserted when number of bytes is greater than the RX FIFO threshold. De-
asserted when the RX FIFO is empty
5 RXFIFO_THR 0x00 R Asserted when number of bytes is greater than the RX FIFO threshold. De-
asserted when the RX FIFO is drained below (or is equal) to the same threshold
3 RXFIFO_OVERFLOW 0x00 R Asserted when the RX FIFO has overflowed (the radio has received more bytes
after the RXFIFO is full). De-asserted when the RX FIFO is flushed
2 RXFIFO_UNDERFLOW 0x00 R Asserted if the user try to read from an empty RX FIFO. De-asserted when the
RX FIFO is flushed
1 PQT_REACHED 0x00 R Asserted when a preamble is detected (the preamble qualifier value is less than
the programmed PQT threshold). The signal will stay asserted as long as a
preamble is present but will de-assert on sync found (SYNC_EVENT asserted). If
the preamble disappears, the signal will de-assert after a timeout defined by the
sync word length + 10 symbols after preamble was lost.
3 TXFIFO_FULL 0x00 R Asserted when the TX FIFO is full. De-asserted when the number of bytes is
below threshold
2 TXFIFO_THR 0x00 R Asserted when number of bytes is greater than or equal to the TX FIFO
threshold. De-asserted when the TX FIFO is drained below the same threshold
1 TXFIFO_OVERFLOW 0x00 R Asserted when the TX FIFO has overflowed (The user have tried to write to a full
TX FIFO). De-asserted when the TX FIFO is flushed
0 TXFIFO_UNDERFLOW 0x00 R Asserted when the TX FIFO has underflowed (TX FIFO is empty before the
complete packet is sent). De-asserted when the TX FIFO is flushed
2 TXONCCA_FAILED 0x00 R This bit can be read after the TXONCCA_DONE signal has been asserted
0 The channel was clear. The radio will enter TX state
1 The channel was busy. The radio will remain in RX state
4:0 PA_IFAMP_TEST_RESERVED4_0 0x00 R/W For test purposes only, use values from SmartRF Studio
6:0 FSRF_TEST_RESERVED6_0 0x00 R/W For test purposes only, use values from SmartRF Studio
4:0 PRE_TEST_RESERVED4_0 0x00 R/W For test purposes only, use values from SmartRF Studio
5:0 ADC_TEST_RESERVED5_0 0x00 R/W For test purposes only, use values from SmartRF Studio
4:0 DVC_TEST_RESERVED4_0 0x0B R/W For test purposes only, use values from SmartRF Studio
6:0 ATEST_RESERVED6_0 0x40 R/W For test purposes only, use values from SmartRF Studio
3:0 ATEST_LVDS_RESERVED3_0 0x00 R/W For test purposes only, use values from SmartRF Studio
3:0 FIFO_TXBYTES 0x0F R Number of free entries in the TX FIF0. 1111b means that there are 15 or more
free entries
3:0 FIFO_RXBYTES 0x00 R Number of available bytes in the RX FIFO. 1111b means that there are 15 or
more bytes available to read
14 References
[1] SmartRF Studio (SWRC176.zip)
[2] EN 300 220 V2.3.1: “Electromagnetic compatibility and Radio spectrum Matters (ERM); Short
Range Devices (SRD); Radio equipment to be used in the 25 MHz to 1000 MHz frequency
range with power levels rang up to 500 mW” (www.etsi.org)
15 General Information
15.1 Document History
Revision Date Description/Changes
SWRU295 30.06.2011 Advance Information
SWRU295A 24.11.2011 Advance Information. Register description added
SWRU295B 06.01.2012 First Release
SWRU295C 27.03.2012 Removed the IRQ0M and IRQ0F registers from Section 11.
Changed the register description of the IQIC.IQIC_UPDATE_COEFF_EN register field.
Footnote added to Equation 21 saying that the equation is only an approximation.
Added Section 9.14.1 regarding CC1125 Category 1 Operation under EN 300 220
Added info to Section 10.3 regarding which registers should be saved after start-up when
performing fast frequency hopping without calibration for each hop.
In Section 5.2.5 and Section 5.2.6 a footnote is added saying that DSSS PN mode and
DSSS repeat mode are not supported for 4’ary modulation formats.
Note. Assertion of DSSS_DATA1 and DSSS_DATA0 within the first 5 DSSS_CLK edges after
entering RX should be ignored.
Changes made to T0 in Table 21.
SWRU295D 30.04.2013 Added info to Section 8.7.1 and 8.7.2 saying that GPIO2 must be hardwired to 0 if
SERIAL_STATUS.IOC_SYNC_PINS_EN = 1 in RX mode.
Changed equation for T0 in Table 21.
Changed Equation 20.
Changed Equation 6 and Equation 7.
Removed index 3 from left column in Table 19.
Changed the description of the TERM_ON_BAD_PACKET_EN bit in the RFEND_CFG0 register
Added info to Section 5.2.4 regarding the need to transmit dummy bytes in TX.
Section 9.6: Added info about the frequency of the external crystal used for the WOR timer
Section 9.15: Added info saying that the lock indicator is also available on a GPIO pin
Added note to Section 0 saying the RSSI will saturate at ~-50 dBm when using Zero-IF.
Added info on blind mode in Section 8.7.1
Added section with different communication modes (Section 5.1)
Bit 1 in MARC.STATUS0 register set as reserved as this signal is a pulse
Changed name from MARC_MCU_WAKEUP to MCU_WAKEUP
Section 3.4.1.2: Added info on assertion of MCU_WAKEUP
Added note in register description of WOR_CFG0.DIV_256HZ_EN saying that when this bit is
set the radio should not be woken from SLEEP by pulling CSn low
Changed Figure 4 to make it easier to understand
Re-written Section 6.6 and 6.7 to better explain the WaveMatch feature.
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2013, Texas Instruments Incorporated