SIG/Access: TYP PACKET.INT 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 converst 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Ā 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.