CSE 466 - Wireless Blimp Control

UART and Wireless Communication

Relay Network

Figure 2. Overview of communication relays

The communication system is built across a network of intermediate devices used to forward data along a path. Packets start at one of the endpoint devices (either the base station or the blimp’s MSP430F5510). Packets that originate at the base station are sent through over a virtual serial port (on top of USB) and received by a MSP-eZ430U (a USB debugging device). Once on the device, the packet is forwarded to the attached wireless controller (a MSP430F2274 with an onboard CC2500 wireless chip) through UART. The wireless controller is designed to be protocol agnostic and will simply relay all bytes it receives. Specifically, the controller stores all bytes it receives over UART in a circular buffer which is then emptied by a process that forwards all bytes in the buffer over the air to the paired wireless controller using SimpliciTi wireless communication library. Communications received in the opposite direction (i.e. from the wireless) are handled in a similar matter, but are sent over UART to the connected device. Both wireless controllers preform the same duties and thus use identical firmware. The only difference is that the device’s address and its target addresses are swapped. In a similar fashion, the blimp handles received messages in processing loop and sends responses back to the wireless controller over UART.

Protocol/Packet Structure

Each packet begins with a magic number of 0xF0 to identify the start of a packet and to assist with realignment after a malformed packet is received. The second byte of the packet is the command code that identifies the packet type and any possible arguments it may contain. The meaning of a command may depend on the receiving device (i.e. whether the blimp or the base station received the packet) – see figure 4 for additional details.

Figure 3. Overview of packet structure

Figure 4. Table of command codes