wiki:WARPnet1/Architecture

Version 9 (modified by murphpo, 10 years ago) (diff)

--

This page describes WARPnet v1.0, which supports the OFDM Reference Design. For experiments with the 802.11 Reference Design please refer to WARPnet 2.0

Architecture of WARPnet 1.0 Testing Framework

The Framework is built around a server-client architecture. The full system is built in Python including user scripts. The WARPnet server is at the heart of all interactions and responsible for all data transfer between the server and the clients.

No image "Architecture.jpg" attached to WARPnetFramework/Files

Note: An FPGA Board in the system will be referred to as a Node, the WARPnet Server will be referred to as the Server and any script or visualizer connected to the node will be referred to as Client.

Server <-> Client Communication

All data between the server and the client is currently handled as pickled Python dictionaries. The most important field is pktType which determines how the server will deal with the data.

The server itself does not understand the nature of the data from the clients to the nodes nor does it need to.

The basic data transfer blocks is a packed byte structures that are understood by both nodes and controllers. Each structure has a predefined structID. Each controller must register structIDs that is interested in hearing with the server. The server is responsible for filtering data it receives from all the nodes and pass it to controllers to all the controllers that are registered for those structIDs. The server itself does not understand the nature of the data but just that the first byte of transfer is the structID and the second byte of transfer is the nodeID that is destined to.