CC2500
SWRS040C
Page 33 of 89
bytes that contain CRC status, link quality
indication and RSSI value.
15.7
Packet Handling in Firmware
When implementing a packet oriented radio
protocol in firmware, the MCU needs to know
when a packet has been received/transmitted.
Additionally, for packets longer than 64 bytes
the RX FIFO needs to be read while in RX and
the TX FIFO needs to be refilled while in TX.
This means that the MCU needs to know the
number of bytes that can be read from or
written
to
the
RX
FIFO
and
TX
FIFO
respectively. There are two possible solutions
to get the necessary status information:
a) Interrupt driven solution
In both RX and TX one can use one of the
GDO
pins to give an interrupt when a sync word has
been
received/transmitted
and/or
when
a
complete
packet
has
been
received/transmitted
(
IOCFGx
=0x06).
In
addition, there are two configurations for the
IOCFGx
register that are associated with the
RX FIFO (
IOCFGx
=0x00 and
IOCFGx=
0x01)
and two that are associated with the TX FIFO
(
IOCFGx
=0x02 and
IOCFG
=0x03) that can be
used
as
interrupt
sources
to
provide
information on how many bytes are in the RX
FIFO and TX FIFO respectively. See Table 33.
b) SPI polling
The
PKTSTATUS
register can be polled at a
given rate to get information about the current
GDO2
and
GDO0
values respectively. The
RXBYTES
and
TXBYTES
registers can be
polled at a given rate to get information about
the number of bytes in the RX FIFO and TX
FIFO respectively. Alternatively, the number of
bytes in the RX FIFO and TX FIFO can be
read from the chip status byte returned on the
MISO line each time a header byte, data byte,
or command strobe is sent on the SPI bus.
It is recommended to employ an interrupt
driven solution as high rate SPI polling will
reduce the RX sensitivity. Furthermore, as
explained in Section 10.3 and the
CC2500
Errata Notes [1], when using SPI polling there
is a small, but finite, probability that a single
read from registers
PKTSTATUS
,
RXBYTES
and
TXBYTES
is being corrupt. The same is the
case when reading the chip status byte.
Refer to the TI website for SW examples ([6]
and [7]).
16 Modulation Formats
CC2500
supports amplitude, frequency and
phase shift modulation formats. The desired
modulation
format
is
set
in
the
register.
Optionally, the data stream can be Manchester
coded by the modulator and decoded by the
demodulator. This option is enabled by setting
=1.
Manchester
encoding is not supported at the same time as
using the FEC/Interleaver option.
16.1
Frequency Shift Keying
2-FSK
can
optionally
be
shaped
by
a
Gaussian filter with BT=1, producing a GFSK
modulated signal.
The frequency deviation is programmed with
the
and
values
in the
register. The value has an
exponent/mantissa form, and the resultant
deviation is given by:
E
DEVIATION
xosc
dev
M
DEVIATION
f
f
_
17
2
)
_
8
(
2
The symbol encoding is shown in Table 23.
Format
Symbol
Coding
2-FSK/GFSK
‘0’
– Deviation
‘1’
+ Deviation
Table 23: Symbol Encoding for 2-FSK/GFSK
Modulation
16.2
Minimum Shift Keying
When using MSK
, the complete transmission
(preamble, sync word and payload) will be
MSK modulated.
Phase shifts are performed with a constant
transition time.
1
Identical to offset QPSK with half-sine
shaping (data coding may differ)
Содержание CC2500
Страница 91: ...PACKAGE OPTION ADDENDUM www ti com 6 Feb 2020 Addendum Page 2 ...
Страница 94: ......
Страница 95: ......