Introduction

Network programing is required at several levels beginning by

  • hardware programming of communication devices like transceivers ethernet chips etc.,
  • software programming of medium access control-, data link-, network- and transport-protocol
  • up to application programming by accessing the network via the socket-interface or similar interfaces like pipes or the RPC interface (rpc.pdf) 1).

Course Outline

In this course we concentrate on programing of hardware communication devices, especially for wireless radio devices attached to a embedded system - a Beagle Bone Black fromTexas Instruments, equipped with the Debian Linux operating system. As a communication device we choose the CC1200, a SimpleLink Low Power, High Performance RF Transceiver, also manufactured by Texas Instruments.

  • First, we are installing Debian Linux operating system on BeagleBone Black with the necessary development tools like compilers and linking tools and
  • using them to write s small C program, that will control LEDs on the Beagle Bone Black.
  • In the next step, we get familiar with the CC1200 device by studying the main components und functionality of the chip.
  • Then we concentrate connecting the CC1200 with the Beagle Bone Black via the SPI Bus and we analyze the operation of the SPI Bus using an oscilloscope.
  • Following, we finalize our programing development environment and get ready to start programming.
  • Our first steps for programming will be reading and writing registers of CC1200 and also controlling the operation modes of the chip.
  • After that, we will program CC1200 to report the current activity of the wireless link by measuring the Receives Received Signal Strength Indication (RSSI) a measure related to the field intensity of the electromagnetic field at the receiver.
  • The previous steps ensures that we are able to communicate with the sender and receiver. But so far, we have not transmitted any useful data. Now, we will receive user data transmitted by the sender. At the receiver, data will be stored in the on-chip FIFO. The Beagle Bone Black has to transfer the data from the FIFO for further processing.
  • At this point, we can start modifying communication parameters like frequency, symbol rate and modulation.
  • So far, we have concentrated on the receiver. Now, it is time to implement the transmitter. The Transmitter is similar to the receiver, except, that the transmitter needs to tune the transmitting power.

In the remaining time, we will prototype a communication protocol, that will implement a slow hopping system, meaning the sender will change its frequency after transmitting a packet. Thus the next packet will be transmitted on a different frequency. We habe to solve two major problems:

  1. the next frequency to chose has to be determined.
    Both the sender and receiver must have knowledge about the sequence of frequencies. Are the sequences are predefined or should they be chosen by an algorithm ? In has also to be taken into account, that there might be more than one receiver and transmitter in the system.
  2. the receiver and the transmitter need to be synchronized after changing the frequency.
    Unfotunately, the sender and receiver need different times to change the frequency resulting to a time gap. The challenge will be to make this time gap small and to ensure that both the receiver has changed its frequency before the sender.
1)
The original article can be found at ACM Didital Library
network_protocol_programming_lab/1_introduction.txt · Last modified: 2020/03/18 13:14 by rathke
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0