VeeTailHome
Section 3: Generating the Pulse Stream
* 3 Generating the Pulse Stream
* 3.1 The Low Frequency Oscillator Circuit
* 3.2 The One-Shot Circuit
* 3.3 The Digital NOT Term
* 3.4 Putting It All Together

How R/C Works -
Thinking Inside the R/C Box

3 Generating the Pulse Stream:
How is it possible to gather up several channels of servo information, send it all out on a single carrier signal, and then reassemble the whole mess at the receiver? How are the different channels separated? How are they reassembled? How does the information avoid getting scrambled? Well, the answer is surprisingly simple when the system is dissected and examined as several similar circuits rather than one big problem.

Until now, I have always referred to servo command signals in the context of a single channel. I must now draw a distinction between the servo command and the signal that it is derived from. There are a couple differences, but the main distinction is that the transmitter generates a single signal that encompasses position or command information for all of the channels in the entire system. I will refer to the all-encompassing signal as the pulse stream for reasons that will become clear shortly. The pulse stream is initially generated by the transmitter circuitry and is used as the baseboand signal that will modulate the carrier. This same signal will be reconstructed in the receiver, decoded, and distributed to all channels as individual servo commands. The key element in generating R/C servo commands is time - the time that elapses between two electrical pulses.

Figure 8: Constructing a Single Frame
In the context of a R/C transmitter pulse stream, an electrical pulse lasts only a very short time. If a signal transitions from low to high, stays high for 100 microseconds, then transitions back low again, how many transitions were there? There were two transitions; the first transition is low to high and the second is high to low. If the signal stays at a particular state for any length of time then it is not transitioning. If we are to examine the pulse stream as the time that elapses between two electrical pulses, what do we use as a timing mark? Do we use the first transition, or the second transition that occurred 100 microseconds afterwards? The timing mark is somewhat arbitrary and can theoretically be either transition as long as it is always consistent. The remainder of this discussion will always assume that the significant timing mark to be the first one: the low to high transition.

Now let's start constructing the pulse stream in the transmitter circuitry. First, we need to establish initial conditions so let's assume the pulse stream signal starts out low. Start at an arbitrary point in time and call that point T0. At point T0, our pulse stream will transition from low to high. Fine, now we have a high level on the pulse stream, so what? Well, this initial low to high transition marks a significant point in time where the first channel servo command starts. So, are we done with the first pulse yet? No, it's still high. Actually, it needs to stay high for some finite period of time in order to be recognized as a pulse at all in our non-ideal world, so wait about 100 microseconds then transition the pulse stream signal back low. We have just completed the first of several pulses in the pulse stream.

Figure 9: Inter-Frame Timing
The point in time when the first pulse transitioned from low to high is used as the initial timing mark for the channel 1 command. The beginning of the second pulse marks the end of the channel 1 command and the beginning of the channel 2 command. For now, we will assume that the start of the second pulse occurs exactly 1.5 milliseconds after the start of the first pulse. Call this point in time T1. Terminate the second pulse in the same manner as the first one by waiting 100 microseconds after the high to low transition.

We have now completed channel 1, and are in process of generating the channel 2 timing mark. Now create a third pulse exactly 1.0 millisecond from the start of the second channel, T1. Call this point in time T2. Get the picture? We have now completed the timing mark for channel 2 and began the mark for channel 3. Create another pulse exactly 2.0 milliseconds from T2 and call this point in time T3. Create another pulse 1.5 milliseconds later at point T4.

We have created 5 pulses representing 4 channels of information. You might ask yourself "what information, all we have is 5 pulses". Well, it was no accident that the pulses are spaced 1.0, 1.5, and 2.0 milliseconds apart in this example. This is the timing between pulses that I was referring to that will be used to generate the servo command signals, but first we have to finish what we started with the initial 5 pulses. Each group of pulses, in this case 5 of them, are repeated every 20 milliseconds. In the example described above, we have the first pulse starting at T0, and the last pulse ending at T4. If we add up all of the time between pulses, we get 7.0 milliseconds. This means that the pulse stream signal will remain low for the duration of the 13.0 milliseconds (ignoring the extra 100 microseconds where the final pulse stays high). This means that after the final 13.0 milliseconds have elapsed, we will start over again from T0 with a new "frame" of pulses.

The transmitter has controls on it that the user can manipulate such as joysticks, switches, or knobs. These controls are used to set the time between pulses for each individual channel. Let's assume that the right-hand joystick side to side motion controls channel 1 (it usually does). Moving the joystick to the far left will set the time between T0 and T1 to 1.0 milliseconds. Releasing the stick and letting it naturally center itself will set the time between T0 and T1 to 1.5 milliseconds. Moving the stick all the way to the right will set the time between pulses to 2.0 milliseconds. Moving the stick anywhere between these points will set the time between pulses in a linear relationship. The stick position is monitored each and every frame period, and the time between T0 and T1 is set accordingly. The stick position and the time between pulses are measured and set to a high degree of accuracy - much higher than the servos can respond to as I will discuss later.

Now let's look a little closer at what happens to the entire frame as the channel 1 joystick is moved back and forth. First of all, the T0 mark never changes. From the T0 mark of one frame to the T0 mark of the next is always 20 milliseconds. An important thing to keep in mind is that moving the channel 1 joystick position only alters the time between T0 and T1, and has no effect whatsoever on the time between T1 and T2, T2 and T3, or T3 and T4. As a result, the time between T1 and T2, T2 and T3, and T3 and T4 stay the same, but their times relative to the T0 mark slide back and forth as a function of channel 1. The same rules apply to channels 2, 3 and 4. When the right hand joystick is moved up and down, that action will influence channel 2 and will alter the time between T1 and T2. Altering the timing between T1 and T2 will have no effect whatsoever upon the time between T0 and T1, T2 and T3, or T3 and T4. See how this works? Each individual channels control mechanism, be it a joystick, switch, knob, whatever, only effects the time between pulses for its respective timing marks and has no influence upon the time between any other pulses within a given frame. With each and every frame period, the transmitter controls are measured and their respective timing marks are accordingly set.

This technique allows many channels to be stacked one right after the other because the end of one pulse also marks the beginning of the next and so on. There is a practical limit to how many channels can be monitored and controlled because the frame rate is only 20 milliseconds long. Keeping in mind the 20-millisecond frame rate is a constant value that does not move, what would happen if we had a 10-channel system and all of the channels are set to 2 milliseconds? Where will the last pulse be placed relative to the T0 mark? In such a case, there is no room to fit the frame because the last pulse of the current frame would spill over into the next frame. This, obviously, does not work. The practical limit for R/C systems of this type is 7 channels because there needs to be much more than 2 milliseconds between the last pulse of any given frame and the first pulse of the next (Different rules apply for PCM radios, which can have many more channels).

As mentioned earlier, the pulse stream that is generated by the transmitter circuitry is the baseband signal that will modulate the transmitter carrier. The receiver will pick up the carrier where the pulse stream will be demodulated and reproduced just as it was in created in the transmitter. How is the baseband signal generated in the transmitter? To answer that question we must examine two types of circuits including the mono-stable multivibrator (otherwise known as the "One-Shot"), and the low frequency oscillator that starts each and every frame. While reading this, please keep in mind that this is just one way, but certainly not the only way to generate frame pulses. Small microcomputers are often used to generate these pulses but that kind of discussion is clearly out of scope for this tutorial (I might write another tutorial on microcomputers later - stay tuned!).

3.1 The Low Frequency Oscillator Circuit:
The low frequency oscillator is a circuit that generates a periodic and repeatable electrical waveform. The waveform is free-running at some low frequency and never stops until power is removed. A low frequency oscillator can be used to "kick start" each frame of pules that are generated for the baseband signal. Such a device would oscillate at approximately 50 cycles/second and would produce signals that are consistent with digital logic high and low levels.

3.2 The One-Shot Circuit:
The digital one-shot logic circuit has, at a minimum, a CLOCK input, a "Q" output, and some means of adjusting the time duration of the Q output pulse. The one-shot circuit is in a "stable" state when its Q output is low. The one-shot can actually be seen as an interval timer whereby the Q output is high only for a predetermined amount of time after a "trigger" event. The trigger event, for this example, is defined as a low to high transition of the CLOCK signal. Several different types of one-shot circuits are used in digital electronics, but for this example we will concentrate on a "retriggerable" one-shot which means that the time interval is retriggered, or restarted after each and every low to high transition of the CLOCK input. High to low CLOCK transitions will be ignored.

For R/C transmitters, the time-out period for the one-shot circuit is controlled by the stick position. A variable resistor, or "potentiometer" is mechanically connected to the transmitter joystick such that the potentiometer resistance changes as a function of the stick position. One potentiometer is used for each axis of a transmitter joystick. When the joystick is at neutral or center, the associated one-shot time-out period is 1.5 milliseconds. Moving the stick position to one extreme will change the time-out period to 1.0 milliseconds. Likewise, moving the stick to the other extreme position will change the time-out period to 2.0 milliseconds.

3.3 The Digital NOT Term:
The digital (or Boolean) "NOT" signal, in digital logic terms, describes a signal that is always the opposite logic level of its counterpart. For example, if the Q output of the one-shot circuit described above is low, then the Q-NOT or Q! signal is high. Likewise, if Q is low then Q! will be high. The NOT signal is the most basic of digital logic terms and is used quite extensively.

3.4 Putting It All Together:
You might be able to see where all of this is going. A pulse stream can be created by using the low frequency oscillator to start a chain reaction of successive one-shot circuits to generate the pulses within each frame. The oscillator generates the timing mark for T0. The first one-shot generates the timing mark for T1. The second one-shot generates the timing mark for T2 and so on. The diagram shown below illustrates this chain of events:
Figure 10: Transmitter Pulse Stream Generation

General Table
of Contents
Sections
Introduction - A Brief Radio Synopsis - The Pulse Stream - Decoding the Pulse Stream - The Servo - 
How R/C Works - Thinking Inside the R/C Box...

This site created and maintained by - David Coombs - VeeTail Product Designer.
Copyright 2002, 2003 VeeTail, L.L.C. All rights reserved