home *** CD-ROM | disk | FTP | other *** search
-
- HamNet Packet Radio Tutorial - Part One
- ---------------------------------------
-
- by Scott Loftesness W3VS
- CompuServe 76703,407
-
- Now that your SYSOP has begun experimenting in the exciting new world of
- Packet Radio, I thought it might be interesting to others here on HamNet
- to begin sharing a bit more of this new technology.
- .
- . Recently, I've uploaded a couple of news items which have highlighted
- commercial applications of packet radio techniques: the Genstar system
- being developed by Gerard O'Neil of Princeton University and the recently
- announced Motorola Portable Communications Terminal. I believe these
- to be just the first of many announcements we will see in the coming years
- as the packet radio form of digital communications finds even more
- commercial applications.
- .
- . In the meantime, we amateurs are blazing many new trails in this
- technology - from the simple TNC idea to the elegant PACSAT orbiting
- bulletin board system. Most of the success of the amateur radio packet
- efforts is due to a group of true enthusiasts scattered across the
- United States. Leading the way were our Canadian friends to the north who
- developed the original "Terminal Node Controller". Doug Lockhart and his
- friends in Vancouver developed an 8085-based TNC in the late '70's and
- its popularity spread quickly as they made available the PC board and
- parts kits.
- .
- . Pockets of packet interest rapidly developed in the Washington, DC,
- Tucson, AZ, and San Francisco Bay Area - to be quickly followed by
- new groups in St. Louis, New Jersey, and Southern California. The first
- ARRL Packet Radio Conference was held in October, 1981 in Gaithersburg,
- Maryland - and provided the first truly international amateur packet
- get together. Plans were reviewed - and ideas shared. One of the
- attendees, Den Connors, KD2S, moved off to Tucson to join a rapidly
- growing group of friends and formed Tucson Amateur Packet Radio. This
- energetic group began the creation of a completely new, "second generation"
- TNC - building on the best of the original work done in Vancouver.
- .
- . While the Tucson group was developing the hardware for a TNC, a group
- led by Tom Clark, W3IWI, became concerned about the lack of any kind
- of amateur standard as far as packet radio protocols were concerned.
- The original Vancouver protocol worked fine for a small group in a
- single geographic area - but clearly would not support the kind of
- growth in packet radio enthusiasts that was expected. In addition, the
- onset of the Phase IIIB amateur satellite and its packet radio repeater
- possibilites added impetus to the need to develop a new standard.
- .
- . Meeting in October, 1982, this group developed a new amateur standard
- called AX.25. The standard was completed just in time - it was incorporated
- into the original version of the Tucson (TAPR) TNC board in late 1982.
- Approximately 200 of the TAPR boards have been distributed nationwide -
- for extensive field testing of the hardware/software combination. This
- board has become a real hit - it worked beyond anyone's expectations and
- has created a tremendous additional interest in packet radio. The test
- phase is nearly complete - and will be followed by availability of a
- parts kit later this year for general distribution through the amateur
- community. By this time in 1984, amateur packet activities will have
- grown dramatically from the several hundred current experimenters to
- many more amateurs - and with exciting implications for new applications
- using the new technology.
- .
- . The TAPR TNC is a remarkable piece of equipment - and a truly elegant
- hardware/software design. We'll spend some time describing some of the
- details of this TNC. Much of this material is directly from the
- excellent manual which accompanied the beta test boards - and which is
- available from TAPR for $15 (PO Box 22888, Tucson, AZ 85734).
- .
- . The TAPR TNC is the result of a tremendous design effort by many
- people including Mark Baker, Marc Chamberlin WA7PXW, Pete Eaton WB9FLW,
- Chuck Green N0ADI, Dave Henderson KD4NL, Lyle Johnson WA7GXD, Dave
- McClain N7AIG, Dan Morrison KV7B, Margaret Morrison KV7D, and Harold
- Price NK6K, along with Den Connors.
- .
- . Very few terminals or home computers contain the hardware and
- software necessary to attach to, and control, an amateur radio.
- Compatibility between such systems could obviously be a problem.
- Because of this, extensive testing and use of packet radio without some
- additional tool would be very difficult, if not impossible.
- .
- . The TNC is that tool. It is connected between your terminal (or
- computer) and your amateur radio. Just what is it that the TAPR TNC
- provides? Between the interfaces to your terminal or computer and
- your radio is a complete microcomputer with memory and input/output
- devices. This microcomputer with appropriate software is used to
- implement the packet radio protocols. Thus any computer can be interfaced
- to any other computer via amateur radio using the TNC.
- .
- . The TAPR TNC connects to an RS-232-C interface, found on most terminals
- and home computers. A parallel interface is also provided, although not
- supported for terminal interfacing in the initial software release. The
- necessary connections exist to interface the TNC to your amateur radio
- equipment. These connections include lines to your external speaker
- (or earphone) jack and the microphone jack (both for microphone audio
- and for push-to-talk control).
- .
- . Also included is a complete modem used to convert the digital
- information coming from the computer or terminal into an analog
- signal (a set of audio tones) which your radio can transmit. It
- also performs the reverse function, converting analog signals from
- your receiver to digital data. Because of the bandpass characteristics
- of many amateur radios, an active audio filter is also included in the
- TNC. Passive filters proved inadequate to support transmission rates
- of 1200 baud - a design objective.
- .
- . Power for the electronics on the board required four different
- voltages: +5, -5, +12, and -12 volts. The TNC includes on board power
- supplies for these voltages and uses a custom wound power transformer
- designed specifically for TAPR and included with the board.
- .
- . But hardware is only part of the TNC. Software is equally (if not
- more) important, for it's the software which makes this hardware useful
- in handling packet radio protocols.
- .
- . The TAPR software was designed to support two interfacing requirements.
- The first interface is to the computer or terminal and involves
- processing commands and assembling data into packets. Also, packets
- received must be processed and formatted for display back to the
- computer or terminal. The second interface is the radio interface
- which provides two different packet communications protocols (AX.25
- and the original Vancouver protocols), keying the radio, and sending
- proper Morse code identification using your call sign. The protocol
- involves accessing the shared radio channel, formatting and sending
- packets, receiving and deciphering packets, and filtering out packets
- not intended for your station.
- .
- . The software is implemented on the TAPR board in read only ¡emories
- (ROM's). 24K of ROM is provided on the board for this purpose, along
- with 6K of on-board random access memory (RAM).
- .
- . The TAPR TNC beta test version sold for $200 - a very low price
- for such an incredibly well-designed and engineered unit! As mentioned
- earlier, the initial tests using this board have been most impressive.
- I'll provide a more detailed description of both the hardware and
- software components in forthcoming tutorial messages.
-
-
-
- HamNet Packet Radio Tutorial - Part Two
- ---------------------------------------
-
- by Scott Loftesness W3VS
- CompuServe 76703,407
-
- .
- . We'll continue our tutorial on packet radio by reviewing in more
- detail the hardware and software implemented on the Tucson Amateur
- Packet Radio (TAPR) Terminal Node Controller (TNC).
- .
- . The TAPR TNC is a self-contained, microprocessor-based device intended
- to act as an intelligent interface between a user's ASCII communcations
- system (terminal or computer) and radio-based packet communications.
- .
- . A 6809 microprocessor acts as the system CPU in the TAPR TNC. The
- 6809 is readily available and widely accepted for application in
- dedicated function controllers as well as general purpose low-end
- computers. It executes the software stored in the system's EPROM's.
- .
- . The 6809 has an internal 2-phase clock generator and provides
- control, address, and data bus input/output for family peripheral
- devices. It has capabilities for position-independent code and is
- designed to support multiple stacks, making it very efficient for
- executing block structured high level languages such as Pascal and
- Forth. Information on the 6809 architecture is available in Motorola,
- Hitachi, and AMI literature - and in several books which are widely
- available in the computer sections of most bookstores.
- .
- . The serial port is designed to provide a full-duplex RS-232-C
- interface for the user's terminal or personal computer. Full baud
- rate selection from 50 baud to 19.2 kilobaud is supported by the
- port. EIA RS-232-C levels and transition rates are implemented as
- well. The serial port is controlled by a 6551 LSI UART which contains
- an internal, software-controlled baud-rate generator. The transmitter
- and receiver are double-buffered and capable of interrupt-driven
- operation. The 6551 supports hardware flow control - allowing the
- terminal or computer to pace input and output from the TNC. 1488 and
- 1489A devices are used to translate the TTL levels from the 6551 to
- RS-232-C levels for the port itself.
- .
- . A parallel port is also included on the TAPR board. Although not
- used for terminal support in the initial releases of the supporting
- software, it is used for certain status indications. A 6820 is used
- to provide two 8-bit TTL-level handshaking ports.
- .
- . The system port interfaces to other devices on the TNC itself.
- These include a non-volatile RAM chip used to store certain of the
- system parameters across power-downs, DIP switches used for certain
- reset options, the HDLC controller chip, and an indicator driver
- interface for a variety of LED-monitored system functions. Implemented
- using a 6522, the system port also includes timing functions used
- for HDLC baud rate generation, software timing functions, the CW
- identification, and on-board calibration of the modem frequencies.
- The 6522 is a very powerful LSI chip which incorporates a pair of 8-bit
- programmable I/O ports, four control lines (for handshaking), two
- 16-bit programmable timers/counters, and an 8-bit shift register.
- The non-volatile RAM is used to store system parameters that are not
- normally changed such as call sign, terminal attributes, and timing
- parameters, but which remain user alterable. This allows configuration
- changes for a given session only, or on a "permanent" basis. The system
- port also handles the interface to the radio push-to-talk circuitry.
- .
- . A Western Digital WD1933B HDLC controller is used to implement
- the HDLC standard bit oriented protocol including CRC check sum and
- zero bit insertion. The HDLC controller interfaces to an on-board
- 1200 baud modem providing phase-coherent AFSK modulation (with Bell
- 202 compatibility) using the EXAR 2206/2211 chips. Also included
- is the necessary impedance matching circuitry for interface to
- most popular amateur radio equipment. A 14-second hardware "watchdog"
- timer is inserted in series with the transmitter push-to-talk line
- to prevent accidental RF channel lockout which might be caused by
- a software error.
- .
- . A unique feature of the TNC is the capability for on-board
- calibration of the modem tone frequencies. This is accomplished
- using jumpers which allow for the modem to be disconnected from
- the HDLC chip.
- .
- . The on-board memory bank consists of six JEDEC-standard 28-pin
- "byte-wide" sockets. Three of these sockets are mapped for 2K
- static RAM's. The other three sockets are mapped as 8K EPROM or
- static RAM sites. The configuration supports 2716, 2732 and
- 2764-type EPROM's. A custom memory map PROM is included which
- provides the address decode for the ROM and RAM chips.
- .
- . Also included on the TAPR TNC board is a user wire-wrap area -
- primarily to allow custom interfaces to be developed to support
- unusual radio interface requirements. Power busses are included
- in the area so that active devices may be added directly onto the
- TNC board itself as may be required by the user.
- .
- . This completes the hardware description of the TAPR TNC. As you
- can see, it's a very complete design using the latest in LSI
- chip technology.
-
-
-
- HamNet Packet Radio Tutorial - Part Three
- -----------------------------------------
-
- by Scott Loftesness W3VS
- CompuServe 76703,407
-
- I'm going to continue this series by describing the operation of the
- Tucson Amateur Packet Radio (TAPR) Terminal Node Controller (TNC) -
- and the tremendous function which has been implemented in the TNC
- software will become readily apparent!
- .
- . The TAPR TNC operates in one of three modes:
- . Command Mode
- . Converse Mode
- . Transparent Mode
- .
- . Command mode is used to modify various software operating
- parameters. Converse mode and Transparent mode are both data transfer
- modes - supporting transmission and reception of packets across the
- radio link.
- .
- . Command mode is automatically entered upon power-up or reset of
- the TNC. It can also be entered from one of the other modes by sending
- an appropriate control sequence from the terminal to the TNC. For
- example, if I'm running in Converse mode, I can get to command mode by
- simply entering a control-C. I can they make any operating mode
- parameter changes I need to, and return to Converse mode by using the
- CONVERS command. The flexibility the TNC provides in this regard is
- really outstanding. You can switch into and out of Command mode very
- easily - and not lose any data coming across the link.
- .
- . Many of the parameters which can be altered in Command mode
- are saved in the NOVRAM chip mentioned earlier in this series. This
- chip is an electrically erasable read-only memory - and permits me,
- for example, to save away my call-sign (which becomes my address
- in the AX.25 protocol) so that I need not reset it every time I power
- up. The NOVRAM really helps make the TNC startup procedure extremely
- simple - since most all of the parameters I have tailored have been
- tucked away into the NOVRAM.
- .
- . In addition to the NOVRAM, the ROM contains a set of default
- operating parameters which can be invoked to completely reset the
- NOVRAM values. This is helpful after experimenting with a number
- of parameters - and deciding to start over from the ground up!
- .
- . To give an example of how simple it is to get the TNC "on-the-air",
- the following sequence of commands will take the TNC from power-up to
- Converse mode:
- . MYCALL W3VS - Sets my callsign into the address field.
- . (Only necessary once!)
- . PERM - Save my callsign into the NOVRAM.
- .
- . CONVERS - Enter Converse mode.
- .
- . Hello Test - Sends an unaddressed packet with the text
- . "Hello Test".
- .
- . Ctrl-C - Returns to command mode.
- .
- . CONNECT K8MMO - Requests that I be connected to K8MMO.
- . Automatically enters Converse mode if
- . K8MMO acknowledges my CONNECT request.
- .
- . Hello Dave - Sends an addressed packet to K8MMO with
- . the text "Hello Dave".
- .
- . Ctrl-C - Returns to command mode.
- .
- . DISCONNECT - Disconnect from K8MMO.
- .
- . As you can see, operating the TNC is really a breeze. In fact,
- from power-up to being on the air is typically a matter of a few seconds.
- .
- . Among the parameters which can be altered in Command mode are
- several which determine how the TNC responds to what it hears on the
- radio link. For example, I can tell the TNC to monitor all packets it
- hears - including those not specifically addressed to me. This is obviously
- useful for "reading the mail" on the channel! In fact, I can tell it to
- monitor all activity, or just activity either TO or FROM a specific
- station. In addition, I can tell the TNC whether I want it to become a
- digipeater - a digital repeater which repeats what packets addressed
- to another station but containing my callsign as a repeater address.
- (It's interesting to note that the default is digipeat on - it's so
- automatic that I really don't know (other than by hearing my radio
- got on and off) that I'm being used as a digipeater!
- .
- . I can also define the specific operating parameters for the
- link. Items such as the length of a packet (default of 128 bytes),
- whether it should send a packet when it sees a specific character
- (default is carriage return) or send a packet after so many seconds
- of inactivity from my terminal. I can also cause the TNC to automatically
- send a beacon every so many seconds or send it after so many seconds of
- no activity on the packet channel.
- .
- . I've just shown a few of the features available in Command
- mode on the TAPR TNC. The software is extremely well done - and using
- the TNC is a pleasure! You immediately sense that this box was put
- together by folks who really understand both the hardware and the
- software aspects of microcomputing and communications!
- .
- . Let's talk now about Converse mode. As shown in my example, I
- can cause the TNC to enter Converse mode by entering the CONVERS
- command and also by connecting with another station. The TNC will
- also automatically enter Converse mode whenever another station
- requests a connect with me! In this case, it prints out a message
- saying:
- .
- . Connected to K8MMO
- .
- .and enters Converse mode. From that point on, whatever I type is
- sent to the other station.
- .
- . If I'm not connected to another station but enter Converse
- mode using the CONVERS command, my packets will be "unaddressed" and
- only can be copied by other stations which are monitoring all
- packets on the channel. This is the technique used to say "CQ" on a
- packet channel. For example, on my TRS-80 Model 100, I have created
- a CQ file which I transmit containing my name, address, callsign,
- station equipment, phase of the moon, etc.! To say CQ, I simply send
- this packet. If others are around, typically one will connect with
- me and our QSO has begun!
- .
- . Earlier, I mentioned the digipeating mode. I can cause my
- packets to automatically be sent via a repeater. I simply say:
- .
- . CONNECT K8MMO VIA WB4JFI-1
- .
- .WB4JFI-1 is a local AMRAD repeater run by Terry Fox which is available
- 24 hours per day. In this case, my station sends its packets to WB4JFI-1
- which verifies that they are valid packets (i.e. frame check sequence
- is valid) and then retransmits them to K8MMO. Neat!
- .
- . Well, we've covered Command and Converse modes pretty thoroughly.
- Let's now talk about Transparent mode. Transparent mode allows you to
- effectively turn the TNC into a modem - i.e. it will not locally echo
- characters, will ignore command/control character sequences, etc. The
- advantage of this mode is in transferring files which might contain
- any of those characters. In Transparent mode, it's possible to transmit
- a binary file to another station. With the built-in error detection and
- correction of the AX.25 protocol, error-free transmission is guaranteed!
- It's possible to exit from Transparent mode to Command mode by sending a
- very specific sequence of characters (default is three control-C's sent
- with no other data for one second before and after). Obviously, the odds
- of this sequence occuring in normal transmission is very, very low - which
- is just what's wanted in Transparent mode.
- .
- . Another use of transparent mode is in running a computer system
- at the other guy's station. For example, I have run the CP/M system at
- K1HTV in this manner - and run BASIC programs, CP/M commands such as
- DIR to get a file directory listing, etc. It's just like sitting at the
- console of that other system - with the addition of a time delay
- required for transmission of the packets at 1200 baud!
- .
- . Well, we've pretty well covered the operational aspects of the
- TAPR TNC. As you've seen, it's an extremely versatile device - and
- provides nearly all of the functions you'd want!
- .
- . You are probably a bit curious (I know I was) about the
- software package used in the TAPR TNC. This excellent package was
- written in a combination of Pascal and 6809 assembler by Harold Price
- NK6K, Dave Henderson KD4NL, and Margaret Morrison KV7D. The bulk of
- the code was written in Pascal while assembler was used for the
- interrupt handling and data buffering routines. The Pascal code
- effectively relies on the assembler code as device drivers for the
- hardware interfaces present on the TNC. The combined package is over
- 20K of code - stored in the ROM of the TNC.
- .
- . This concludes this section of the packet radio tutorial.
- Next, we'll describe some of the activites underway in the Washington,
- DC area with packet radio - and some of our plans for the future.
-
-
-