English
Language : 

CC2510FX Datasheet, PDF (133/253 Pages) List of Unclassifed Manufacturers – True System-on-Chip with Low Power RF Transceiver and 8051 MCU
CC2510Fx / CC2511Fx
13.8 Random Number Generator
13.8.1 Introduction
The random number generator has the
following features.
• Generate pseudo-random bytes which
can be read by the CPU.
• Calculate CRC16 of bytes that are
written to RNDH.
• Seeded by value written to RNDL.
The random number generator is a 16-bit
Linear Feedback Shift Register (LFSR)
with polynomial X 16 + X 15 + X 2 + 1 (i.e.
CRC16). It uses different levels of
unrolling depending on the operation it
performs. The basic version (no unrolling)
is shown below.
in_bit
15
+
14 13 12 11 10
9
8
7
6
5
4
3
2
+
1
0
+
Figure 26: Basic structure of the Random Number Generator
The random number generator is turned
off when ADCCON1.RCTRL=”11”.
time the RNDL register is written, the 8
LSB of the LFSR is copied to the 8 MSB
and the 8 LSBs are replaced with the new
data byte that was written to RNDL.
13.8.2 Random Number Generator
Operation
The operation of the random number
generator is controlled through a
combination of the ADCCON1.RCTRL bits
and input signals from other modules. The
current value of the 16-bit shift register in
the LFSR can be read from the RNDH and
RNDL registers.
13.8.2.1 Semi random sequence
generation
The LFSR is updated by setting
ADCCON1.RCTRL=”01”. This will clock
the LFSR once (no unrolling) and the
ADCCON1.RCTRL bits will automatically be
cleared when the operation has
completed.
13.8.2.3 CRC16
The LFSR can also be used to calculate
the CRC value of a sequence of bytes.
Writing to the RNDH register will trigger a
CRC calculation. The new byte is
processed from the MSB end and an 8x
unrolling is used, so that a new byte can
be written to RNDH every clock cycle.
Note that the LFSR must be properly
seeded by writing to RNDL, before the
CRC calculations start. Commonly used
seed values are 0x0000 or 0xFFFF.
13.8.3 Registers
The random number generator registers
are described in this section.
13.8.2.2 Seeding
The LFSR is seeded from software by
writing to the RNDL register twice. Each
CC2510Fx/CC2511Fx PRELIMINARY Data Sheet (Rev. 1.2) SWRS055A Page 133 of
252