End-Of-Transmit Tasks - Texas Instruments CC253x User Manual

System-on-chip for 2.4ghz
Table of Contents

Advertisement

www.ti.com
25.9.2.4.3 Continuation and Ending of Transmit Tasks
When a task ends, a TASKDONE interrupt is raised and an end cause is then available in PRF_ENDCAUSE.
After a packet has been transmitted and potentially a valid acknowledgment has been received, the next
action depends on PRF_TASK_CONF.REPEAT. If this value is 0, the task ends. In this case, the
PRF_ENDCAUSE register is set to TASK_ENDOK.
If PRF_TASK_CONF.REPEAT is 1, the TX FIFO status is checked. If the TX FIFO has no available data,
the task ends with TASK_ENDOK as the end cause. Otherwise, transmission restarts. If
PRF_TASK_CONF.START_CONF is 1, it behaves as if the task was started again with the LLE waiting for
Timer 2 event 1, then performing a synthesizer calibration and starting to transmit. If
PRF_TASK_CONF.START_CONF is 0, the transmitter restarts PRF_TX_DELAY after the end of the
previously transmitted packet, with synthesizer recalibration only if there is enough time, but in other
respects as starting a new task. The PRF_TX_DELAY register gives the wait time in units of 62.5 ns. If the
value is too small to fulfill, the transmission starts as soon as possible.
If a CMD_SHUTDOWN or a command starting a new task is observed while the task is running, it ends
immediately with TASK_ABORT as the end cause. If the transmitter or receiver was running, an RXTXABO
interrupt is also raised.
If CMD_STOP is received while transmitting a packet, waiting for transmission of another packet, waiting
for an ACK, receiving an ACK, or in the transition between those, the task ends with TASK_STOP as the
end cause after the packet is fully transmitted and (if ACK is expected) the ACK is received or given up. If
CMD_STOP is received while waiting for Timer 2 event 1 to restart reception, the task ends immediately
with TASK_STOP as the end cause.
If Timer 2 event 2 (either from Timer 2 or from CMD_SEND_EVENT2) is observed during the task, the
behavior depends on PRF_TASK_CONF.STOP_CONF.
00: Nothing happens.
01: Behaves as if a CMD_STOP was received
10: Behaves as if a CMD_SHUTDOWN was received
11: Nothing happens.
In addition, the task can end for reasons described earlier, or it can end due to an error condition. The full
list of possible end causes is summarized in
Condition
Transmitted packet (and potentially received ACK)
PRF_TASK_CONF.REPEAT
with
Transmitted packet (and potentially received ACK)
and observed TX FIFO with no available data
Transmitted packet (and potentially received ACK)
after having observed CMD_STOP or Timer 2 event 2 TASK_STOP
PRF_TASK_CONF.STOP_CONF
with
Did not get valid acknowledgment after having
retransmitted the number of times given by
PRF_RETRANS_CNT
Observed empty TX FIFO when packet transmission
is supposed to start, or TX FIFO is in an invalid state
RX FIFO went overfull while receiving an ACK that
was not otherwise to be discarded
Received command for starting new task or
CMD_SHUTDOWN or observed Timer 2 event 2 with
PRF_TASK_CONF.STOP_CONF
Received unknown command
SWRU191F – April 2009 – Revised April 2014
Submit Documentation Feedback
Table
25-20.
Table 25-20. End-of-Transmit Tasks
End-of-Task Cause
TASK_ENDOK
= 0
TASK_ENDOK
= 01
TASK_MAXRT
TASKERR_TXFIFO
TASKERR_RXFIFO
TASK_ABORT
= 10
TASKERR_CMD
Copyright © 2009–2014, Texas Instruments Incorporated
Link Layer Engine
Comment
LLEERR
RXTXABO
and
interrupts are
also raised.
RXFIFOFULL
interrupt is also raised.
RXTXABO
If transmitter was running, an
interrupt is also raised.
LLEERR
interrupt is also raised. If
transmitter or receiver was running and
had obtained sync, an
RXTXABO
interrupt is also raised.
CC2541 Proprietary Mode Radio
313

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents