Texas Instruments CC2650DK Benutzerhandbuch

Seite von 1570
IEEE 802.15.4
A non-15.4 radio operation may not be run simultaneously with a 15.4 radio operation; if a non-15.4 radio
operation is entered while a 15.4 operation is running on either level, scheduling error occurs. Chains of
15.4 and non-15.4 operations can be created, however.
When a foreground-level operation finishes, an FG_COMMAND_DONE interrupt is raised. If the command
was the last one in a chain, a LAST_FG_COMMAND_DONE interrupt is raised as well (refer to
). Background-level operations use the common interrupts, COMMAND_DONE and
LAST_COMMAND_DONE; refer to .
The status field of the command structure is updated during the operation. When submitting the
command, the system CPU writes this field with a state of IDLE. During the operation, the radio CPU
updates the field to indicate the operation mode. When the operation is done, the radio CPU writes a
status indicating that the command has finished. The status codes for IEEE 802.15.4 radio operation are
listed in
.
Table 23-77. IEEE 802.15.4 Radio Operation Status Codes
Number
Name
Description
Operation not finished
0x0000
IDLE
Operation not started
0x0001
PENDING
Waiting for start trigger
0x0002
ACTIVE
Running operation
0x2001
IEEE_SUSPENDED
Operation suspended
Normal operation ending
0x2400
IEEE_DONE_OK
Operation ended normally
0x2401
IEEE_DONE_BUSY
CSMA-CA operation ended with failure
0x2402
IEEE_DONE_STOPPED
Operation stopped after stop command
0x2403
IEEE_DONE_ACK
ACK packet received with pending data bit cleared
0x2404
IEEE_DONE_ACKPEND
ACK packet received with pending data bit set
0x2405
IEEE_DONE_TIMEOUT
Operation ended due to timeout
0x2406
IEEE_DONE_BGEND
FG operation ended because necessary background level
operation ended
0x2407
IEEE_DONE_ABORT
Operation aborted by command
Operation ending with error
0x0806
ERROR_WRONG_BG
Foreground level operation is not compatible with running
background level operation
0x2800
IEEE_ERROR_PAR
Illegal parameter
0x2801
IEEE_ERROR_NO_SETUP
Radio was not set up in IEEE 802.15.4 mode
0x2802
IEEE_ERROR_NO_FS
Synth was not programmed when running RX or TX
0x2803
IEEE_ERROR_SYNTH_PROG
Synth programming failed
0x2804
IEEE_ERROR_RXOVF
RX overflow observed during operation
0x2805
IEEE_ERROR_TXUNF
TX underflow observed during operation
The conditions for giving each status are listed for each operation. Some of the error causes listed in
are not repeated in these lists. In some cases, general error causes described in
may occur. In all of these cases, the result of the operation as defined in
is Abort.
23.5.4.1 RX Operation
The receive radio operation is a background-level operation, started with the CMD_IEEE_RX command
and using the command structure given in
At the start of an RX operation, the radio CPU waits for the start trigger, then programs the frequency
based on the channel parameter. If channel is 0xFF, the operation keeps running on an already-
configured channel. This requires that the operation follows another receive operation or a synthesizer
programming operation. If the frequency synthesizer is not running, the operation ends with an error. After
programming the frequency, the radio CPU configures the receiver to receive IEEE 802.15.4 packets.
1503
SWCU117A – February 2015 – Revised March 2015
Radio
Copyright © 2015, Texas Instruments Incorporated