Packet Overview: What is Packet?
Packet is one of several
data
communications modes used by
amateur radio operators (hams) to send text and data files. This web page attempts to explain the
basic concepts and mechanics of packet without too much radio jargon.
Its primary objective is to build a foundation for a later
explanation of the role of the AGWPE
program in packet exchanges.
Disclaimer:
For explanation purposes, this page contains
oversimplifications and generalities that a more advanced
operator might consider inaccurate. Keeping in mind the
author's objective of promoting a basic understanding of packet
without getting bogged down in details, he welcomes corrections
and suggestions for
improvement.
|
Traditional Packet Station
AX.25 Protocol
Role of the TNC
Role of the Computer
Terminal Program
Inside the TNC
On To the Radio
Receiving Packet
The name "packet" comes from the technique of
sending small packages
of information -- packets -- in bursts. It takes one or more packets to convey a
single typed sentence and many, many packets to send a paragraph, page,
or large file. One of the advantages of packet is that it includes a
provision for the receiving station to request a re-sending of any packets
it thinks it has not received accurately. This "automatic repeat
request" feature, abbreviated "ARQ" by hams, makes packet an excellent data mode when 100% accuracy
is desired.
Note: You will also find the term "packet"
being used to describe elements of computer
networks and digital telecommunications systems, since they too use the
transmission of short sentences of data.
Let's talk about sending packet on the VHF
frequencies. Later we'll talk about some differences for "slow"
packet on the HF frequencies and "fast" packet on the UHF frequencies.
Historically, a packet station has included:
- a
computer with monitor and keyboard for
entering and receiving messages
- an intermediate smart device called an
Terminal Node Controller or TNC
- a
radio for sending and receiving packet
signals
Let's follow the process for sending a single
packet. Let's assume you want to send a simple sentence, "Hi Don!"
to your friend, Don. You have your computer, TNC and radio running, and
he has
his computer, TNC and radio running. What next?
First, we need a guide to help us
through the process: a packet rule book. In the
1980s, this set of rules, or protocol, was first set down in a document
called the AX.25 protocol. Last revised in 1998, it is the definitive
reference on the packet "language" and transmission procedures.
At this point, you don't need to know any of the
rules, just that there are some and they help packet stations exchange
packets effectively. We will explain some
of those rules as we go along.
Now, let's look at the role the TNC (Terminal Node
Controller) is going to play
in the process. The TNC is going to take the sentence you type on the
computer and convert it into a series of two tones that the radio will
transmit. At our friend Don's station, his TNC is going to convert those
tones from your radio signal back into the characters Don will see on his computer
monitor. The TNC also has a computer chip that has been embedded with
some of the AX.25 protocol rules. As we go along, we will try to explain a bit more about what
the TNC is doing. On a later page, we'll try to explain how AGWPE (in its sound
card mode) compares to the TNC.
TNCs could have been built with a keyboard and
monitor and been an all-in-one device, but that would have been
expensive and bulky. Why not just use a computer's keyboard and monitor?
That's exactly what the developers decided to do. But for this scheme to
work, we need two things:
- A physical connection between the computer and
the TNC.
The developers decided to use
RS-232-compatible connections, specifically
serial cables. The cables connect a serial/COM port on the
computer to another serial/COM port on the TNC.
- A software program to facilitate the transfer
of data back and forth between the computer and the TNC -- a
terminal program. In simple
terms, the terminal program converts text from the computer keyboard
and sends it to the TNC for transmission as tones by the radio. The
program
does the reverse for any received signals -- it converts data
received from the radio and TNC and sends it to the monitor for
display.
Let's look at the terminal program and
what it does to send and receive text from the TNC.
First, a terminal program must be configured to
communicate with the TNC. It must set to use
serial port settings
that include:
- the data transfer rate (baud rate)
between the two devices,
- parity rate (none, odd or even)
- number of data bits (7 or 8)
- number of stop bits (1 or 2)
It's not important to know more about those
settings for this discussion, just that the terminal program must match
the settings in the TNC. (Note: TNC's come with default serial settings.
After the terminal program and TNC connect successfully, it is possible
to change the TNCs default serial settings using the terminal program.)
Now, with the program "talking" to the TNC, the terminal program must collect any text
that is typed on the keyboard, and seen on the monitor, and send it to
the TNC in a form the TNC can use.
According to the AX.25 protocol (above), the
TNC needs to receive any letters, numbers or punctuation marks
translated into into series of eight zeros (0) and ones (1) that
represent an ASCII
character.
For example, an
uppercase "A" is ASCII character number 65 and 65 is represented by these 8
digits in binary code:
01000001.
(The series of eight zeros and ones is called a
byte.)
So "Hi Don!" is converted
into to binary code as follows::
Character
|
ASCII #
|
Binary code
|
H
|
72
|
01001000
|
i
|
105
|
01101001
|
(space)
|
32
|
01000000
|
D
|
68
|
01000100
|
o
|
111
|
01101111
|
n
|
110
|
01101110
|
!
|
33
|
01000001
|
The complete sentence to Don would look like
this in binary code:
01001000011010010100000001000100011011110110111001000001
Next, the terminal program must be configured
with addressing information for the packets you want to send:
- your callsign (often entered and
stored when the terminal program is first configured)
- the callsign of the target station
for this packet, in this case Don's callsign
- the callsigns of any digipeater
stations that you want to relay the packet to Don, if any.
These callsigns will also be converted to
binary codes representing ASCII
character numbers.
With the addressing information and data (Hi
Don!) converted, the terminal program forwards the binary code to
the TNC.
The TNC has three primary parts which are used to
send and receive packets.
1. The Packet Assembler and
Disassembler or PAD
In simple terms, the PAD takes the addressing
information and the data from the terminal program and combines them into a packet, also called a
frame. It also adds
in some processing characters (from the
AX.25 protocol), such as flags to mark the beginning and end of a frame.
A complete
frame might contain a string of up to 2048 digits (zeros and ones),
which equals 256 characters/bytes. Usually, the frame is limited to 128
characters or less, since shorter frames have a better chance of making
it through the radio transmission process accurately.
2. The
Modem
To send a packet, the TNC uses a device called a
modem
to convert the zeros and ones into tones that are fed to the radio's
audio input circuit and thus change (modulate) the radio's signal.
Typically with 1200 baud (baud=bits/tones
per second) packet, the tones are 1200 Hz and 2200 Hz (Bell 202
Standard).
The modem uses changes between
the tones to
indicate a zero and no change to indicate a one. So a low tone followed
by a low tone would be no a zero, but so too would a high tone followed
by a high tone. Source:
http://n1vg.net/packet/index.php
(The TNC
also has a clock to determine when one tone has ended and another has
begun.)
At the receiving station, another modem must detect the radio signal changes/tones
(demodulate) and convert them back to zeros and ones. The name
"modem" is short for modulate-demodulate,
since the same device can be used to send (modulate) or receive
(demodulate) tones.
3.
Logic Chip
Also in the TNC is an EPROM logic chip. The chip has been
programmed with the
AX.25 protocol transmission rules. These rules provide for efficient
exchange of packets by:
- establishing an exchange process with a target
station
- making sure packet frames are received
in the correct order and without errors
- asking for a retransmission of a packet
frame that has been lost or damaged
In addition the chip logic provides:
- a way for the user to 'talk' to the TNC
and set various timing settings to improve
the efficient flow of packets, for example, how long to wait before
sending a reply packet
- a way to
beacon a general announcement
at specific intervals
- digipeater services,
to automatically relay
packets for others
- optional services such as a
personal bulletin board system to
receive and store messages while the operator is away from the keyboard
From the TNC, the packet frame is then sent to your
radio for transmission. A cable between the TNC and radio carries:
- audio
output,
i.e. the stream of tones representing the packet frame
- a signal to trigger the PTT (push to
talk)/transmit circuitry of the radio
- audio
input,
i.e. the stream of tones being sent to you
On some radios, the cable from TNC is connected at
the the microphone, the microphone being removed temporarily (and on some
radios, the audio input may have to come from
the radio's speaker jack instead of the microphone jack). On newer radios, the
TNC connection can be made
at a special data port/jack on the front or back of the radio.
Because the TNC can
initiate the radio's transmit circuitry, there is nothing the operator needs to do
to facilitate the packet transmission, other than tune the radio to the
appropriate frequency.
The audio tones from the TNC will modulate (change)
the radio signal by shifting the sending frequency ever so slightly.
Since the TNC tones that create this modulation are input to the
radio's audio circuit, this type of
modulation is known as Audio Frequency Shift
Keying or
AFSK.
Listen to
packets sent at 1200 baud
Note: AFSK is the
modulation method used for common 1200 baud packet on the VHF
frequencies. Different baud rates and modulation methods are used for "fast"
UHF packet. You can read more about this on the
Operating Modes page on this website.
On the receiving end, the process is reversed. Your
friend's radio will convert your received signal back into tones that
are fed to his TNC. The TNC's modem will convert the tones to a binary
bit stream that represents the packet frame. The TNC's PAD will then
extract the data from the packet frame, in the form of zeros and ones,
and send it to the computer's terminal program. There they will be
converted back to text, numbers and punctuation symbols and then
displayed on your friend's monitor:
Recap
This page has offered a simplified overview of the
packet process -- from typed text to ASCII character numbers to binary
code to audio tones to radio signal modulation -- and back again. It has
glossed over the some of the functions of the TNC and the AX.25 rules, but they will be covered a bit more on the
follow-up page,
Packet Modes.
|