![Texas Instruments CC2533 Скачать руководство пользователя страница 322](http://html.mh-extra.com/html/texas-instruments/cc2533/cc2533_user-manual_1094592322.webp)
Link Layer Engine
PRF_ADDR_ENTRYn.CONF.TXLEN
may be used regardless of the
VARLEN
setting in the peer device, as
the length field is ignored for fixed length. A value of 1 must only be used if the peer is configured to use
fixed length for the ACK payload, and should only be used with ACKs without payload. The sequence
number is set to the value of
PRF_ADDR_ENTRYn.SEQSTAT.ACKSEQ
, and NO_ACK is set to 0. If there is
payload, it is read from the buffer as described in
After the acknowledgement has been transmitted,
PRF_ADDR_ENTRYn.SEQSTAT.ACKSEQ
is incremented
modulo 4, the
PRF_N_TX
counter is incremented, and the next action is as described in
.
25.9.2.3.3 Continuation and Ending of Receive 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 received and potentially an acknowledgment has been transmitted, 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, reception restarts. If
PRF_TASK_CONF.START_CONF
is 1, the LLE
behaves as if the task was started again, with the LLE waiting for Timer 2 event 1; then starting to listen. If
PRF_TASK_CONF.START_CONF
is 0, the receiver restarts as soon as possible, as starting a new task
(except for the behavior of Timer 2 event 2 if
PRF_TASK_CONF.STOP_CONF
is 11). In both cases,
synthesizer recalibration is done if
PRF_TASK_CONF.REPEAT_CONF
is 0, otherwise not. Skipping
synthesizer recalibration reduces the time before listening is restarted.
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 receiver or transmitter was running, an
RXTXABO
interrupt is also raised.
If CMD_STOP is received while in sync search, the task ends immediately with TASK_RXTIMEOUT as
the end cause. If CMD_STOP is received while receiving or while transmitting an ACK or in the transition
between those, the task ends with TASK_STOP as the end cause after the packet is fully received and (if
ACK is to be sent) the ACK is sent. 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: If received while in sync search for the first packet after the task was started, or if
PRF_TASK_CONF.START_CONF
is 1 while in sync search for any packet, the task ends immediately
with TASK_RXTIMEOUT as the end cause. Otherwise, nothing happens.
In addition, the task can end due to an internal time-out as described in the beginning of
or it can end due to an error condition. The full list of possible end causes is summarized in
Table 25-18. End-of-Receive Tasks
Condition
End-of-Task Cause
Comment
Received packet (and potentially sent ACK) with
TASK_ENDOK
PRF_TASK_CONF.REPEAT
= 0
Received packet (and potentially sent ACK) with
PRF_TASK_CONF.REPEAT
= 1 after having
observed CMD_STOP or Timer 2 event 2 with
TASK_STOP
PRF_TASK_CONF.STOP_CONF
= 01 and
PRF_TASK_CONF.REPEAT
= 1
While in sync search, observed CMD_STOP or Timer 2
TASK_RXTIMEOUT
event 2 with
PRF_TASK_CONF.STOP_CONF
= 01
Observed Timer 2 event 2 while in sync search of the
TASK_RXTIMEOUT
first packet with
PRF_TASK_CONF.STOP_CONF
= 11
322 CC2541 Proprietary Mode Radio
SWRU191C
–
April 2009
–
Revised January 2012
Copyright
©
2009
–
2012, Texas Instruments Incorporated