wiki:OFDM/MIMO/Docs/AutoResponse

Version 3 (modified by murphpo, 15 years ago) (diff)

--

The OFDM core includes a subsystem which can automatically transmit a packet in response to a received packet. This behavior is ideal for implementing MAC protocols which require responses at fast time scales (like RTS-CTS or DATA-ACK exchanges). Both the conditions for responding and contents of the response packet are programmable at run-time.

The auto response hardware consists of three parts- match units, actors and the header translator.

Match Units

The auto response match units search for user-specified patterns in received headers. Each unit operates independently.

Actors

The actors are configured to trigger a transmission when a received packet meets programmed conditions, including any combination of match unit outputs.

Header Translator

The header translator is used to construct the header of an automatically transmitted packet using data from the header of the received packet which triggered the transmission.

Sample Code

C macros are provided in [src:/PlatformSupport/warpmac/warpphy.h warphphy.h] to help configure the match units, actors and header translator.

Actor condition requirements:

  • PHY_AUTORESPONSE_REQ_GOODHDR: Packet currently being received is decoded without header errors
  • PHY_AUTORESPONSE_REQ_BADPKT: Packet currently being received has errors in payload but not header
  • PHY_AUTORESPONSE_REQ_GOODPKT: Packet currently being received is decoded without errors in header and payload
  • PHY_AUTORESPONSE_REQ_FLAGA : Flag A is set (set during previous reception)
  • PHY_AUTORESPONSE_REQ_FLAGB: Flag A is set (set during previous reception)
  • PHY_AUTORESPONSE_REQ_MATCH0: Match unit 0 conditions are met by the current packet header
  • PHY_AUTORESPONSE_REQ_MATCH1: Match unit 1 conditions are met by the current packet header
  • PHY_AUTORESPONSE_REQ_MATCH2: Match unit 2 conditions are met by the current packet header
  • PHY_AUTORESPONSE_REQ_MATCH3: Match unit 3 conditions are met by the current packet header
  • PHY_AUTORESPONSE_REQ_MATCH4: Match unit 4 conditions are met by the current packet header
  • PHY_AUTORESPONSE_REQ_MATCH5: Match unit 5 conditions are met by the current packet header

Actor options:

  • PHY_AUTORESPONSE_ACT_TRANS_HDR: Use the header translator for the auto-triggered transmission

Actor actions:

  • PHY_AUTORESPONSE_ACTID_DISABLED: Disable the actor; this is the default action
  • PHY_AUTORESPONSE_ACTID_SETFLAGA: Assert Flag A
  • PHY_AUTORESPONSE_ACTID_SETFLAGB: Assert Flag B
  • PHY_AUTORESPONSE_ACTID_TXPKTBUF(pktBuf): Automatically transmit the packet from buffer pktBuf (pktBuf must by in [1,30]; values outside this range will disable the actor)