| 1 | = Description = |
| 2 | The ACKMAC is a modified ALOHA MAC that serves as the framework for all other MACs. In this scheme, nodes have no knowledge of any other nodes; there is no carrier sensing (CSMA/CA), and there is no request-to-send/clear-to-send (RTS/CTS). Instead, nodes transmit whenever they have information to transmit, and only move on to the next packet once the original transmit is acknowledged (ACKed). If no ACK is received, a collision is inferred and the packet is re-transmitted. |
| 3 | |
| 4 | This behavioral description can be transformed to a state-machine, which in turn can be transformed to C-code. |
| 5 | |
| 6 | [[Image(ALOHAflowchart.jpg, align=center, 600)]] |
| 7 | |
| 8 | We bridge that state machine to a source and a sink (ethernet and OFDM physical layer respectively for a transmitter, and vice versa for a receiver). In that way, we have a project that creates a virtual wire between two WARP nodes. Any ethernet and higher layer traffic will be forwarded across the wireless medium. |
| 9 | |
| 10 | Note: Further detail regarding the interrupt system can be found in [http://direct.xilinx.com/bvdocs/appnotes/xapp778.pdf XAPP778] |
| 11 | |
| 12 | = Code = |
| 13 | |
| 14 | Latest Revision: [source:/ResearchApps/MAC/ACKMAC/ackmac.c@L ackmac.c], [source:/PlatformSupport/WARPMAC/warpmac.c@L warpmac.c], [source:/PlatformSupport/WARPMAC/warpmac.h@L warpmac.h] |
| 15 | |
| 16 | Note: This code relies on many external dependencies and will not compile on traditional architectures. |
| 17 | |
| 18 | = Documentation = |
| 19 | |
| 20 | To be released soon. |