Proprietary Radio
If numHdrBits is greater than 0, a header of numHdrBits is sent next. The header may contain a length
field or an address. If so, these fields must be inserted correctly in the packet buffer. The header to be
transmitted is the first bytes of the buffer pointed to by pPkt. If numHdrBits does not divide by 8, the MSBs
of the last byte of the header are ignored.
The header is transmitted as one field in the bit ordering programmed in the radio. If the header has more
than 8 bits, it is always read from the transmit buffer in little-endian byte order. If the radio is configured to
transmit the MSB first, the last header byte from the TX buffer is transmitted first.
After the header, the remaining bytes in the buffer pointed to by pPkt are transmitted. The payload is
transmitted byte by byte, so after the header, no swapping of bytes occurs regardless of bit ordering over
the air. The total number of bytes (including the header) in this buffer is given by pktLen. If this length is
too small to fit the header, the operation ends with PROP_ERROR_PAR as status. If an address field after
the header as shown in
is needed, it must be sent as the first payload byte.
If pktLen is 0, unlimited length is used. In this case, pPkt points to a transmit queue instead of a buffer,
see
.
If pktConf.bUseCrc is 1, a CRC is calculated and transmitted at the end. The number of CRC bits,
polynomial, and initialization are as configured in the radio. If pktConf.bCrcIncSw is 1, the transmitted sync
word is included in the data set over which the CRC is calculated. If pktConf.bCrcIncHdr is 1, the
transmitted header is included in the data set over which the CRC is calculated. The payload is always
used for calculating the CRC.
If whitening is enabled, the optional header is subject to whitening if pktConf.bCrcIncHdr is 1. The entire
payload and the CRC are always subject to whitening when enabled. The whitening is done after the data
has been used for CRC calculation.
23.7.5.4 Receiver Commands
There are two commands for receiving packets, CMD_PROP_RX and CMD_PROP_RX_ADV. The latter
gives more flexibility in how the packet can be formed. Details of this are described in
and
, respectively.
For both commands, the radio must be set up in a compatible mode (such as proprietary mode), and the
synthesizer must be programmed using CMD_FS before the command is sent to the radio core.
Both commands have an end trigger, given by endTrigger and endTime. If this trigger occurs while the
receiver is searching for sync, the operation ends with the status PROP_DONE_RXTIMEOUT. If the
trigger occurs while receiving a packet, the action depends on pktConf.endType.
If pktConf.endType = 0, the packet is received to the end and the operation then ends with
PROP_DONE_ENDED as the status. If pktConf.endType = 1, the packet reception is aborted and the
operation ends with PROP_DONE_BREAK as the status. The radio receives packets according to the
details given in
and
, respectively. After receiving a packet, an
interrupt is raised. If pOutput is not NULL, an output structure as given in
, pointed to by
pOutput, is updated as well. The interrupt to raise and field to update is given in
. This table
also gives the result to write in the status field of the receive buffer, if enabled. The condition for packets
being ignored is described in
and
, respectively.
Table 23-150. Interrupt, Counter, and Result Field for Received Packets
(1)
Counter
Result Field of
Condition
Interrupt Raised
Incremented
Status Byte
Packet fully received with CRC OK and not to be ignored
RX_OK
nRXOk
0
Packet fully received with CRC error
RX_NOK
nRXNok
1
Packet fully received with CRC OK and address mismatch
RX_IGNORED
nRXIgnored
2
(pktConf.filterOp = 1)
Packet reception aborted due to timeout (pktConf.endType = 1),
CMD_ABORT, too short length in CMD_PROP_SET_LEN, or
RX_ABORTED
nRXStopped
3
(1)
CMD_PROP_RESTART_RX
Packet reception aborted due to illegal length or address
RX_ABORTED
nRXStopped
–
mismatch (pktConf.filterOp = 0)
(1)
Provided partial read entry is used and data has been written to the buffer.
1592
Radio
SWCU117C – February 2015 – Revised September 2015
Copyright © 2015, Texas Instruments Incorporated