Changes between Version 16 and Version 17 of 802.11/PacketFlow


Ignore:
Timestamp:
Oct 15, 2014, 8:09:51 PM (10 years ago)
Author:
murphpo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 802.11/PacketFlow

    v16 v17  
    133133The lower-level MAC and PHY process a single Tx packet at any given time. While a packet is being transmitted the upper-level MAC prepares the next packet for transmission. Two buffers from the Tx packet buffer RAM are used for this ping-pong approach.
    134134
    135 The handshake between the upper and lower level MACs to initiate new packet transmissions is illustrated below. The handshake uses three IPC messages:
     135The handshake between the upper and lower level MACs to initiate new packet transmissions is illustrated below. The handshake uses two IPC messages:
    136136 * {{{IPC_MBOX_TX_MPDU_READY(pkt_buf_index)}}}: indication from CPU High that the packet in {{{pkt_buf_index}}} is ready for transmission
    137  * {{{IPC_MBOX_TX_MPDU_ACCEPT(pkt_buf_index)}}}: indication from CPU Low that the packet in {{{pkt_buf_index}}} is currently being transmitted by the lower-level MAC and PHY. This message always follows the corresponding {{{IPC_MBOX_TX_MPDU_READY}}} and precedes the corresponding {{{IPC_MBOX_TX_MPDU_DONE}}}. The upper-level MAC may safely ignore this message if desired.
    138137 * {{{IPC_MBOX_TX_MPDU_DONE(pkt_buf_index)}}}: indication from CPU Low that transmission of the packet in {{{pkt_buf_index}}} is complete.
    139138
     
    142141[[Image(wiki:802.11/files:wlan_tx_ping_pong_msgs.png)]]
    143142
    144 The upper-level MAC framework calls application-specific callback functions upon receipt of {{{IPC_MBOX_TX_MPDU_ACCEPT}}} and {{{IPC_MBOX_TX_MPDU_DONE}}} messages. The MAC application can use these callbacks to manage internal state, create log entries, update statistics, etc.
     143The upper-level MAC framework calls an application-specific callback function upon receipt of the {{{IPC_MBOX_TX_MPDU_DONE}}} message. The MAC application can use this callback to manage internal state, create log entries, update statistics, etc.