Changes between Version 15 and Version 16 of 802.11/MAC/Support_HW


Ignore:
Timestamp:
Dec 14, 2016, 3:38:22 PM (7 years ago)
Author:
murphpo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 802.11/MAC/Support_HW

    v15 v16  
    293293The Tx Controller B state machine is implemented as an m-code block in the {{{wlan_mac_hw}}} core. The m source code is in the repository at [browser:/ReferenceDesigns/w3_802.11/sysgen/wlan_mac_hw/mcode_blocks/mac_tx_ctrl_b_fsm.m mac_tx_ctrl_b_fsm.m]
    294294
    295 == MAC Tx Controller C ==
    296 
    297 Tx Controller C is a simpler state machine designed to support transmission of Beacon frames. Beacon transmissions are unique in that they can occur in between re-transmissions of other MPDUs. The reference DCF implementation uses Tx Controller A for MPDU transmissions, so a separate controller (Controller C) is required to support Beacon transmissions.
    298 
    299 The Tx Controller C logic includes a dedicated backoff counter, independet of the backoff counter implemented for Tx Controller A. This dedicated backoff counter is required to allow beacon transmissions which defer to medium activity without overriding the state of primary backoff counter. This behavior is especially important in ad hoc (IBSS) networks where very node transmits beacons after random delays, with each node canceling its own beacon Tx if it receives a beacon from a peer in the same beacon interval.
     295== MAC Tx Controllers C and D ==
     296
     297Tx Controllers C and D implement identical state machines. The C/D state machine is designed to support transmission of packets which do not require timeouts and re-transmissions. In our reference DCF implementation Tx C is used for Beacon frames and Tx D is used for multicast frames buffered between DTIM intervals. Beacon and DTIM multicast transmissions are unique in that they can occur in between re-transmissions of other MPDUs. The reference DCF implementation uses Tx Controller A for MPDU transmissions, so separate controllers (Controller C and D) are required to support Beacon and multicast DTIM transmissions.
     298
     299The logic for Tx Controllers C and D each include a dedicated backoff counter, independent of the backoff counter implemented for Tx Controller A. These dedicated backoff counters are required to allow beacon and DTIM multicast transmissions which defer to medium activity without overriding the state of primary backoff counter. This behavior is especially important in ad hoc (IBSS) networks where every node transmits beacons after random delays, with each node canceling its own beacon Tx if it receives a beacon from a peer in the same beacon interval.
    300300
    301301=== Implementation Details ===
    302 The Tx Controller C state machine is illustrated below. Each box is a state. Each arrow is a state transition, with the arrow's label specifying the input conditions that trigger the transition. The conditions for the color-coded arrows from the {{{IDLE}}} state are described in the table below.
     302The Tx Controller C/D state machine is illustrated below. Each box is a state. Each arrow is a state transition, with the arrow's label specifying the input conditions that trigger the transition. The conditions for the color-coded arrows from the {{{IDLE}}} state are described in the table below. The MAC core implements separate instances of this state machine for Tx Controllers C and D.
    303303
    304304[[Image(tx_fsm_c.png)]]
    305305
    306306{{{#!th colspan=2 align=center
    307 '''Tx Controller C FSM - Transitions from {{{IDLE}}}'''
     307'''Tx Controller C/D FSM - Transitions from {{{IDLE}}}'''
    308308}}}
    309309|-----------------------------------
     
    368368The lower MAC framework provides macros for configuring the software parameters above:
    369369{{{#!c
    370 // Configure Tx Controller C
     370// Configure Tx Controller C and D
    371371//  pktBuf: Tx packet buffer index (passed directly to PHY at TX_START)
    372372//  antMask: antenna selection mask  (passed directly to PHY at TX_START)
     
    374374//  phy_mode: Tx PHY mode (1 for NONHT, 2 for HTMF)
    375375//  num_slots: number of backoff slots, if this FSM starts the C backoff counter
     376
     377// Tx Controller C
    376378wlan_mac_tx_ctrl_C_params(pktBuf, antMask, req_backoff, phy_mode, num_slots);
    377 }}}
    378 
    379 The Tx Controller C state machine is started by toggling its enable bit in the MAC support core's register bank:
     379
     380// Tx Controller D
     381wlan_mac_tx_ctrl_D_params(pktBuf, antMask, req_backoff, phy_mode, num_slots);
     382}}}
     383
     384The Tx Controller C/D state machine is started by toggling its enable bit in the MAC support core's register bank:
    380385{{{#!c
    381386// Start Tx Controller C
    382387wlan_mac_tx_ctrl_C_start(1);
    383388wlan_mac_tx_ctrl_C_start(0);
    384 }}}
    385 
    386 The Tx Controller C state machine is implemented as an m-code block in the {{{wlan_mac_hw}}} core. The m source code is in the repository at [browser:/ReferenceDesigns/w3_802.11/sysgen/wlan_mac_hw/mcode_blocks/mac_tx_ctrl_c_fsm.m mac_tx_ctrl_c_fsm.m]
    387 
     389
     390// Start Tx Controller D
     391wlan_mac_tx_ctrl_D_start(1);
     392wlan_mac_tx_ctrl_D_start(0);
     393}}}
     394
     395The Tx Controller C/D state machine is implemented as an m-code block in the {{{wlan_mac_hw}}} core. The m source code is in the repository at [browser:/ReferenceDesigns/w3_802.11/sysgen/wlan_mac_hw/mcode_blocks/mac_tx_ctrl_cd_fsm.m mac_tx_ctrl_cd_fsm.m]
     396