Dick Cappels' project pages

HOME

 

DATA FORMAT for

low cost RF data link and remote control

Wireless for the bench top. Control instruments, collect data, turn that LED on and off by remote control!

Overview of the data format

 

 

Wireless data transmissions imposes some requirements on the data format that don't exist in wired or fiber optic systems since the signal can be interrupted and then restored at any time. Being based on electromagnetic radiation, it is also susceptible to interference from many sources, so the signaling method needs so be robust. Since the signal will be AC coupled inside the receiver, it helps the detection circuitry if the average DC level of the signal is independent of its content.

To meet the first need, that of being able to distinguish the start of a message because the receiver doesn't really know for sure whether its picking up the whole transmission or something that starts further into the code because the transmitter just came into range, there is a run-in code. In this format, it is a string of zeroes. It gives the receiver's circuitry a chance to settle after the onset of the radio signal. The string of zeroes could be used for the receiver to calibrate itself against the timing of the incoming signal, but in my implementation, crystal oscillators are used for the decoder timing (micro controller clocks) so it isn't necessary, but it can be used for that if you want to try and get by without the crystal oscillator.

The data format requires a run in code of at least 9 zeros followed by a start bit. Succeeding data can not have more than 8 zeros in sequence uninterrupted by a 1. The reasons for all this is to allow the run in code to be distinguished from rest of the message. For this reason, data following the run in code is arranged as bytes with a 1 as a start bit between bytes. While a two byte message is shown here, there is no reason why longer messages can't be used. I would specify a long message in the message type filed to do this.

The toggle bit can be used to cause an auto repeat type action at the receiver. If the receiver sees this signal, and occasionally sees the toggle bit toggle, then it can see that...well...someone is holding the button down and wants an action repeated. Otherwise, for some data types, such as key codes from keyboards or buttons, the receiver might mistake the retransmitted message as just being a copy of a message its already seen for redundancy.

The toggle bit can also be used as a parity bit for some data types.

 HOME

Use of information presented on this page is for personal, nonprofit educational
and noncommercial use only. This material (including object files) is copyrighted
by Richard Cappels and may not be republished or used directly for commercial
purposes without explicit permission For commercial license,
click HERE.

Please see the liability disclaimer on the HOME page.

 Contents ©2002 Richard Cappels All Rights Reserved. http://projects.cappels.org/