314 lines
16 KiB
Plaintext
314 lines
16 KiB
Plaintext
|
||
|
||
INTRODUCTION to PACKET RADIO
|
||
------------ -- ------ -----
|
||
|
||
Radio amateurs in Canada, Sweden, and the United States have
|
||
been experimenting with packet radio, a system of computer-based
|
||
communications. This new mode can provide high-speed communication
|
||
with efficient use of the spectrum, and is resistant to inter-
|
||
ference due to other stations and to signal degradation due to
|
||
adverse band conditions. Not only can packet radio be used for
|
||
informal amateur QSO's and traffic handling, but it has additional
|
||
possibilities for exchange of data between hams with computers,
|
||
"bulletin boards" and message systems, and remote computer
|
||
programming.
|
||
|
||
WHAT IS PACKET RADIO?
|
||
Packet radio is a communication system in which information is
|
||
digitally encoded. In this respect it is similar to RTTY or ASCII,
|
||
but with important differences. These differences are the key to
|
||
insuring error-free reception and at the same time allowing max-
|
||
imum use of the spectrum through shared frequency use.
|
||
Data integrity is provided by packet radio through a "hand-
|
||
shaking" technique and error detection. Along with each trans-
|
||
mission, a computed value called a "frame check sequence" (FCS)
|
||
is sent, which allows the receiving station to check for errors.
|
||
The receiving station acknowledges an error-free packet with a
|
||
special acknowledgement (ACK) signal. If the sending station does
|
||
not receive such a signal within a certain period of time, it
|
||
automatically retransmits the packet.
|
||
A packet also contains identification of the destination
|
||
station, permitting several QSO's to take place on the same
|
||
frequency. A packet radio station can automatically ignore any
|
||
packets which are not addressed to it. Due to the fact that the
|
||
duration of most packet transmissions is very short, a user does
|
||
not need the channel most of the time. The time between trans-
|
||
missions is available to other users on frequency. This system is
|
||
called time-domain multiplexing. On a very busy channel, the user
|
||
will notice an increased delay time before getting replies to
|
||
transmissions, but the packet radio equipment will take care of
|
||
automatic retransmissions and sorting out the replies meant for
|
||
the station. The user never "hears" the QRM.
|
||
|
||
WHAT IS A PACKET RADIO STATION?
|
||
|
||
Packet radio requires the use of a microprocessor-based con-
|
||
troller at each station, and it will obviously appeal to the
|
||
ham who already has a computer in his shack. However, it does
|
||
not require that the operator be a programmer, or even that the
|
||
station have a personal computer. All that is really nec-
|
||
essary is a terminal, a terminal node controller (TNC), and an
|
||
amateur radio transceiver.
|
||
The terminal can be a simple display (CRT) or typewriter
|
||
terminal that produces ASCII characters, a personal computer,
|
||
or even a commercial mainframe computer. What you need is a
|
||
terminal with a keyboad to allow you to talk and a screen or
|
||
a printer to allow you to read incoming information. You can
|
||
even get an inexpensive terminal that uses a TV set for the
|
||
display.
|
||
The way in which most terminals encode ASCII characters is
|
||
in "asynchronous" format. SInce characters are encoded as they
|
||
are typed, there is a flag consisting of one or more "mark"
|
||
(binary 1) values to mark the beginning and end of each char-
|
||
acter. The device decoding the characters expects a specific
|
||
"baud rate", or number of transitions from "mark" to "space"
|
||
(binary 0) per second during the character, but no particular
|
||
time interval between characters themselves.
|
||
The terminal node controller is the heart of the packet
|
||
radio system. It has one port that is connected to the term-
|
||
inal or computer, and communicates through it by asynchronous
|
||
ASCII format at the baud rate required by the terminal. The
|
||
TNC converts the data stream from the terminal to a packet
|
||
by attaching a "header" showing the destination of the packet
|
||
and control information for the network, a "tail" containing
|
||
the result of the FCS calculation for error detection, and
|
||
flags to mark the beginning and end of the packet.
|
||
The second port of the TNC connects it to the trans-
|
||
ceiver microphone and speaker audio lines, and the PTT line.
|
||
Ordinarily, the TNC will produce AFSK modulation by putting
|
||
one of two tones into the microphone input, corresponding
|
||
to a "mark" or "space". In this fashion, the packet is sent
|
||
out on the air at the packet channel baud rate, which is
|
||
unrelated to the terminal baud rate at the other port of
|
||
the TNC.
|
||
The receiving TNC reverses this procedure, decoding the
|
||
audio tones from the speaker audio line of the radio, re-
|
||
moving and reading the header and tail information, and
|
||
passing a successfully received packet to the terminal at
|
||
the terminal baud rate.
|
||
The part of the TNC that does the translation between the
|
||
sequence of tone levels and the characters is called a
|
||
"modem", short for MOdulator-DEModulator. This device may or
|
||
may not be built into the TNC board. Most packet radio
|
||
modems operate at 1200 baud, which corresponds to about 1200
|
||
wpm, although the FCC now authorizes much higher baud rates
|
||
on some amateur bands. The audio tones used are 1200 hz and
|
||
2200 hz. This choice of frequencies is that of the Bell 202
|
||
modem, which is available as surplus.
|
||
The final component of a packet radio station is an
|
||
amateur radio transceiver. Most packet radio activity so far
|
||
has been in the 2-meter band. The only important requirement
|
||
of the radio is that its audio frequency response at 2200
|
||
hz be adequate. In other words, the 2-meter FM rig you
|
||
already have is probably just fine.
|
||
|
||
WHAT THE TNC DOES
|
||
|
||
The TNC consists of a special purpose microcomputer, con-
|
||
taining all the necessary software and hardware to communicate
|
||
with your terminal, assemble a packet, operate your trans-
|
||
mitter and receiver to send and receive a packet, and decode
|
||
a packet. The special functions of the TNC which would be
|
||
difficult to implement with an ordinary personal computer are
|
||
the use of protocol to communicate with other TNC's and
|
||
real-time control.
|
||
The encoding and decoding of packets involves a carefully
|
||
standardized set of procedures called "protocol". The proto-
|
||
col basically determines the exact form of the header and tail
|
||
parts of the packet. The header allows receiving TNCs to auto-
|
||
matically determine the purpose of the packet, e.g., net
|
||
check-in, part of a QSO, or ACK to a previous transmission. The
|
||
tail contains the FCS which allows the TNC to automatically
|
||
determine whether the packet was received correctly, and if so,
|
||
to automatically acknowledge it. Since the protocol is pro-
|
||
grammed into the TNC, the operator does not need to know exactly
|
||
what his packet looks like. In particular, he does not need to
|
||
know how the destination of his packet is indicated. The oper-
|
||
ator communicates with other amateurs by call sign, and the
|
||
TNC translates the call sign into the identification required
|
||
by the protocol.
|
||
The TNC is required to perform a number of tasks simultan-
|
||
eously, including responding to events such as the receipt of
|
||
a packet or instructions from the operator in "real time", in
|
||
other words, as they happen. This makes programming in BASIC,
|
||
the common language of personal computers, undesirable. This
|
||
is because BASIC use<73> an "interpreter" which reads each line
|
||
of the program and translates it into machine-type instructions
|
||
every time the line is executed. The time required for the
|
||
translation would prevent a program from responding rapidly
|
||
enough in a packet radio environment. In order to meet the
|
||
speed requirement, an assembly-language program or equivalent
|
||
is required. While BASIC looks pretty much the same on any
|
||
computer, assembly language is different for every machine.
|
||
If the TNC were replaced by personal computers, program dev-
|
||
elopment would have to be redone for each variety of com-
|
||
puter. In addition to maintaining the right pace, the TNC also
|
||
must be constantly "listening" at both ports simultaneously
|
||
while putting packets together or taking them apart. The
|
||
hardware of personal computers may not even be capable of this
|
||
sort of multi-task application.
|
||
Programming of individual TNC's must be as easy as possible,
|
||
since there will inevitably be unforseen problems in the
|
||
initial software. In addition, hardware changes may necessitate
|
||
software changes. For this reason, TNCs are designed around
|
||
erasable programmable read-only memories (EPROM's), which
|
||
normally function like the ROM of a personal computer, where
|
||
the vital software is storaed in an indestructible form.
|
||
However, if the need arises, they can be reprogrammed by
|
||
"burning in" the new program using special equipment.
|
||
|
||
WHAT IS A PACKET?
|
||
|
||
A packet is the basic message unit in packet radio. It ord-
|
||
inarily consists of a text message typed in by the operator,
|
||
sandwiched between the header and tail information required by
|
||
the protocol. In a typical QSO, a packet would be encoded and sent
|
||
out by the TNC when the operator ends a line of typing by hitting
|
||
the RETURN or ENTER key. In any event, the length of a packet is
|
||
limited, usually to 128 characters. This helps to prevent a single
|
||
user from "hogging" the channel, as well as making sure that the
|
||
sending and receiving TNC's don't get swapmed with information.
|
||
|
||
A packet need not consist of ASCII or Baudot character strings,
|
||
however. It could contain information in other coding systems, such
|
||
as BCD or EBCDIC, or even binary data such as a compiled computer
|
||
program. The TNC, which uses a "bit oriented protocol" based on a
|
||
standard called High Level Data Link Control (HDLC), can encode
|
||
any of these equally easily. An advantage to this choice of proto-
|
||
col is that the functions it requires are available on a single
|
||
large-scale integration (LSI) chip, which simplifies the TNC hard-
|
||
ware and software. A second advantage of HDLC protocol is that the
|
||
beginning and end of the entire message are flagged, making the
|
||
"start" and "stop" bits for each character unnecessary when the
|
||
packet is transmitted in "synchronous" format.
|
||
|
||
The "frame" of an HDLC packet is represented below. Each field
|
||
of the packet is encoded as a sequence of 1's and 0's (bits) to
|
||
be transmitted as "mark" and "space" tones. With the exception of
|
||
the DATA field, all these fields are generated by the TNC as it
|
||
assembles the packet for transmission. The operator is concerned
|
||
only with the contents of the DATA field.
|
||
|
||
------------------------------------------------------------
|
||
| Flag | Address | Control | Data | FCS | Flag |
|
||
------------------------------------------------------------
|
||
|
||
The FLAG is a unique bit sequence which identifies the begin-
|
||
ning of a packet to the HDLC controller. This pattern corresponds
|
||
to no sequence which would be encountered in any of the other
|
||
fields, except possibly in the transmission of binary data. Even
|
||
in this case, there are provisions for distinguishing data from
|
||
the flag sequence.
|
||
|
||
The ADDRESS field contains routing information for the packet.
|
||
This information may include the destination station, the origin-
|
||
ating station, and possibly intermediate routing information if
|
||
the packet will be relayed to the destination. The destination
|
||
and originating stations mights be identified by a network address
|
||
number of by amateur call sign, depending on the exact form of the
|
||
protocol being used.
|
||
|
||
The CONTROL field describes the purpose of the packet to the
|
||
network. It identifies packets with such functions as network
|
||
check-in or check-out request, packet acknowledgements, or
|
||
request for information from net control. It may also contain a
|
||
sequence number for a multi-packet message which must be received
|
||
in the correct order.
|
||
|
||
The DATA field contains the message being sent, which will
|
||
ordinarily be the text typed in by the user, converted into an
|
||
ASCII data string. In the case of a packet identified in the
|
||
control field as performing a control function, the DATA field
|
||
may be absent.
|
||
|
||
The FCS allows the receiving station to verify that the packet
|
||
has been received correctly. If the FCS calculated by the
|
||
receiving TNC matches the FCS of the packet, an acknowledgement
|
||
is sent; otherwise the packet is ignored.
|
||
|
||
WHAT IS A PACKET NETWORK?
|
||
|
||
A local area packet radio network (LAN) consists of a net
|
||
control station and a number of individual operators. The net
|
||
control station is sometimes referred to as the "station node"
|
||
and the individual stations as "terminal nodes". The net may also
|
||
contain a digital repeater or "digipeater", which may be the net
|
||
control station or a separate repeater station. The repeater
|
||
station may be a single-frequency simplex repeater which re-
|
||
transmits any correctly received packets, or it can be "normal"
|
||
split frequency repeater.
|
||
|
||
As operators sign on to the net, they are recognized by the
|
||
net control and given net address codes. An operator desiring to
|
||
start a QSO with another net station will subsequently have his
|
||
transmissions addressed to that station. Any operator may choose
|
||
to have his TNC receive all transmissions, rather than just those
|
||
addressed to his station. Of course, the TNC will only acknowledge
|
||
those transmissions intended for that station. The operator whose
|
||
station is functioning as net control participates in exactly the
|
||
same way as other operators. The net control functions are taked
|
||
care of automatically by his TNC.
|
||
|
||
As more packet radio LAN's become active, there will be the
|
||
possibility of link stations with access to two distinct LAN's.
|
||
These stations can be members of both nets and serve as communic-
|
||
ations links thorugh which packets originating in one net can be
|
||
funneled to an addressee in the other net.
|
||
|
||
A more sophisticated possibility is that of a "gateway"
|
||
station, which will be a specialized station having access to some
|
||
long-distance mode of communications. The gateway station will
|
||
reformat packets with another layer of protocol containing inter-
|
||
network linking information and transmit it to another gateway
|
||
station in a distant LAN. Three possibilities are being explored
|
||
for long-distance links.
|
||
|
||
TERRACON will be a high-speed ground-based linking system
|
||
utilizing UHF and/or microwave relays. It could potentially
|
||
handle most long-distance packet radio communications in the
|
||
United States and Canada. It will probably be a few years before
|
||
TERRACON is implemented as a useful system, and somewhat longer
|
||
before the continent is linked.
|
||
|
||
AMICON will be a satellite-based network utilizing one of the
|
||
special-services channels on the AMSAT Phase III-B satellite.
|
||
AMICON will allow intercontinental linking and contact with
|
||
isolated areas not accessible to TERRACON. High data rate exper-
|
||
iments are being planned for the 23cm uplink/70cm downlink (mode
|
||
L) translator. There are also plans for a packet radio digital
|
||
repeater aboard the AMSAT Phase III-C satellite.
|
||
|
||
SKIPCON is AMRAD's projected HF network of LAN gateway
|
||
stations. The nature of HF propagation will require slower data
|
||
rates (75 to 600 baud) and error correction as well as error
|
||
detection protocol. SKIPCON experiments have been conducted
|
||
since the end of 1981.
|
||
|
||
HOW TO GET IN ON PACKET RADIO
|
||
|
||
There are currently two TNC designs available. The first
|
||
packet radio TNC was designed by the Vancouver Amateur Digital
|
||
Communications Group (VADCG). The Vancouver TNC is available
|
||
as a bare board, and requires a power supply, and external
|
||
modem, and parts. It comes with instructions and notes on the
|
||
power supply. A modem kit is also available from VADCG. The TNC
|
||
design is based on the Intel 8085 CPU and 8273 HDLC controller
|
||
and includes 4K bytes of 2114 RAM and 4 K bytes of 2708 EPROM.
|
||
The TNC requires an 8250 (serial ports) or an 8255 (parallel
|
||
ports) for interface to the terminal, as well as an interface
|
||
to the radio.
|
||
|
||
The Tucson Amateur Packet Ra<52>io group (TAPR) is currently
|
||
testing a second TNC design. This TNC has the modem, radio
|
||
interface, serial and parallet terminal interfaces, and power
|
||
supply circuitry (exclusive of the transformer) on a single
|
||
board. It is based on the 6502 microprocessor (Editor's note:
|
||
the board will now use the Motorola 6809E microprocessor),
|
||
and can hold a total of 48K bytes of RAM and ROM on the board.
|
||
the 1933 HDLC chip it uses is compatible with the 8273 chip
|
||
used on the VADCG board, and the TAPR TNC will be capable of
|
||
VADCG-compatible protocol.
|
||
Additional information on TAPR activites is available from
|
||
Tucson Amateur Packet Radio, PO Box 22888, Tucson, AZ 85734.
|
||
|