radio
modem :
For a differential GPS project at University I developed a radio modem. The goal was to transmit GPS- and other data between a ground station and an aircraft. The aim was that an aircraft in the proximity of a airport would log into the ground stations network and transmitts it's position on request. The ground station would provide GPS correction data for the DGPS (differential global positioning system). In addition it would provide GPS and aircraft data of close by vehicles. The planned system was a cost effective and precise solution for a collision avoidance system for civil aircraft as we know it today (ADSB, Flarm, Mode-S, ect. ...).
To test this we had to build an airborne wireless network. Each station (ground or airborn) would have to have at least 20 km range. At the time there was no hardware on the market which would have fulfilled our requirements. In addition there was no to very little budget, so we decided in the team that I would develop and build the needed radio modems.
As radios we chose ham radio for the first tests. Back then two of the channels allowed data transmission. The plan was to apply for an official frequency once the system proofed functional and promised commercial success.
During
my search for suitable radio modems I found devices like the “CB-COM pocket
radio”. Unfortunately I had to realize that these "modems" weren't real
modems at all. They were only a modulator and the PC had to care for
the data processing and error handling. This principle wasn't suitable for the planed application.
My
MR_TNC1 was a real radio modem. The PC gave the data via the parallel port to
the modem and the MR_TNC1 was doing the data transmission inclusive error
handling.
The main components of the MR_TNC1 were a microcontroller (PIC16F876) and a FX614 from CML. I used the free "Eagle light" for the PCB design.
Mechanically the modem was design to directly plug into the parallel printer port of a PC or Laptop. For the younger generation: Back than (before USB) computers had a dedicated communication port especially designed for printer. A Western connector was used to hook up the modem to the radio and power.
The MR_TNC1 firmware source code can be downloaded from this website and contains the entire protocol as well as all hardware routines. The Code was written in “C” and well commented, so it should be easy to read.
The PC test program was written for DOS (Disc Operation System, google for it or read up on Wikipedia). The reason for this was simply that we had several old laptops but only a few "modern" notebooks. Keeping the system requirements low was the best choice since we wanted as many mobile stations as possible. For my own tests I used a very old 8086 laptop, which had not even a hard disk. The file “definitions.c” contains all the MR_TNC1 commands. The File “LPT_pin_connection.c” handels the parallel port hardware. Inside of “PIC_communication.c” are the reading and writing routines defined. The program demonstrates how to control the MR_TNC1. The code was written in “C” (commented of cause).
Of cause
not everybody wants to build a GPS based anti collision system for aircrafts.
But if you want to build a radio modem for non-commercial purposes feel free to
use my circuits, firm- and software. Because all low the level
routines are written and debugged, you really can concentrate on
implementing your application.
It is allowed to use my schematic, PCB, firmware, PC program or documentation for non-commercial purposes. If you want to publish my files or parts of it on a other place then you can do so by referring the source. Commercial use is prohibited, hobbyists are welcome!
Finally I want remind you to follow your countries regulations for radio transmission! These regulations are different from country to country. I do not take any responsibility for events or damage caused by the user of this website. This website is purely information about my bobby and how I did things and is not to be seen as a building instruction! Whatever you do: It's your responsibility!
Impressum, Disclaimer & Datenschutz