The Wireless MAC Processor (WMP)


The Wireless MAC Processor is an architecture platform devised to run a MAC program defined in terms of a state machine. Rather than executing a specific MAC protocol, the WMP is able to run a generic state machine. Starting from an initial (default) state, the WMP waits for events which trigger state transitions. The actual transition can be enabled or disenabled by the verification of a boolean condition, while an action on the hardware system (i.e. on the transreceiver) is performed before completing the transition to a new state.

Indeed, it has been shown that MAC protocols can be effectively described in terms of state machines built on the basis of three types of elementary blocks: actions, events and conditions. Actions are commands acting on the radio hardware, such as transmit a frame, set a timer, build an header field, switch to a different frequency channel, etc. Events include hardware interrupts such as channel up/down signals, indication of reception of specific frame types, expiration of timers, signals conveyed from the higher layers such as a queued packet, and so on. Conditions are boolean expressions evaluated on internal configuration registers. These registers are either explicitly updated by actions, or implicitly updated by events. Some registers are dedicated to store general MAC layer information (such as channel used, power level, queue length), frame related information (source or destination address, frame size, etc), or more specific MAC parameters (contention window, backoff parame- ters, etc - used to achieve a more compact protocol description in case of specific MAC designs such as CSMA- based ones).

On the basis of a pre-defined (hardware-dependent) set of actions, events and conditions, which represent the platform API, very different channel operation operations can be easily composed by a MAC programmer and executed by the WMP.

The WMP is an architecture composed of a set of elements that allow to synergistically working perform a MAC protocol, this protocol is to be described and opportunely inserted in the architecture to allow its interpretation. So in the next chapter when we discuss the WMP will be considered the entire device comprising:

  • MAC-Engine
    • It is the engine that is responsible for interpreting and executing the MAC protocol
  • Memory
    • It contains two binary-byte, each of which represents the binary description of a MAC, the MACengine interprets and executes one of two binary-byte code into the memory.
  • Physical layer

Finally, with the name ByteCode shall understand a text file with an appropriate structure containing a binary-bytecode and other information, used for sending and loading a binary-bytecode in a specific local or remote WMP, both sending and loading are obtained by a specific tool that called bytecode-manager, the bytecode-manager extracts from ByteCode the binary-bytecode and writes it the memory on WMP. While the ByteCode is obtained through another tool, a graphical tool, which allows to draw through blocks and arrows the state machine of MAC protocol that you want to accomplish and then obtain the equivalent textual description through the generation of a ByteCode.


Additional information