home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 603.PACKET.TUT < prev    next >
Text File  |  1986-04-02  |  22KB  |  411 lines

  1.  
  2.                  HamNet Packet Radio Tutorial - Part One
  3.                  ---------------------------------------
  4.  
  5.                         by Scott Loftesness W3VS
  6.                            CompuServe 76703,407
  7.  
  8. Now that your SYSOP has begun experimenting in the exciting new world of
  9. Packet Radio, I thought it might be interesting to others here on HamNet
  10. to begin sharing a bit more of this new technology.
  11. .
  12. .   Recently, I've uploaded a couple of news items which have highlighted
  13. commercial applications of packet radio techniques: the Genstar system
  14. being developed by Gerard O'Neil of Princeton University and the recently
  15. announced Motorola Portable Communications Terminal. I believe these
  16. to be just the first of many announcements we will see in the coming years
  17. as the packet radio form of digital communications finds even more
  18. commercial applications.
  19. .
  20. .   In the meantime, we amateurs are blazing many new trails in this
  21. technology - from the simple TNC idea to the elegant PACSAT orbiting
  22. bulletin board system. Most of the success of the amateur radio packet
  23. efforts is due to a group of true enthusiasts scattered across the
  24. United States. Leading the way were our Canadian friends to the north who
  25. developed the original "Terminal Node Controller". Doug Lockhart and his
  26. friends in Vancouver developed an 8085-based TNC in the late '70's and
  27. its popularity spread quickly as they made available the PC board and
  28. parts kits.
  29. .
  30. .   Pockets of packet interest rapidly developed in the Washington, DC,
  31. Tucson, AZ, and San Francisco Bay Area - to be quickly followed by
  32. new groups in St. Louis, New Jersey, and Southern California. The first
  33. ARRL Packet Radio Conference was held in October, 1981 in Gaithersburg,
  34. Maryland - and provided the first truly international amateur packet
  35. get together. Plans were reviewed - and ideas shared. One of the
  36. attendees, Den Connors, KD2S, moved off to Tucson to join a rapidly
  37. growing group of friends and formed Tucson Amateur Packet Radio. This
  38. energetic group began the creation of a completely new, "second generation"
  39. TNC - building on the best of the original work done in Vancouver.
  40. .
  41. .   While the Tucson group was developing the hardware for a TNC, a group
  42. led by Tom Clark, W3IWI, became concerned about the lack of any kind
  43. of amateur standard as far as packet radio protocols were concerned.
  44. The original Vancouver protocol worked fine for a small group in a
  45. single geographic area - but clearly would not support the kind of
  46. growth in packet radio enthusiasts that was expected. In addition, the
  47. onset of the Phase IIIB amateur satellite and its packet radio repeater
  48. possibilites added impetus to the need to develop a new standard.
  49. .
  50. .   Meeting in October, 1982, this group developed a new amateur standard
  51. called AX.25. The standard was completed just in time - it was incorporated
  52. into the original version of the Tucson (TAPR) TNC board in late 1982.
  53. Approximately 200 of the TAPR boards have been distributed nationwide -
  54. for extensive field testing of the hardware/software combination. This
  55. board has become a real hit - it worked beyond anyone's expectations and
  56. has created a tremendous additional interest in packet radio. The test
  57. phase is nearly complete - and will be followed by availability of a
  58. parts kit later this year for general distribution through the amateur
  59. community. By this time in 1984, amateur packet activities will have
  60. grown dramatically from the several hundred current experimenters to
  61. many more amateurs - and with exciting implications for new applications
  62. using the new technology.
  63. .
  64. .   The TAPR TNC is a remarkable piece of equipment - and a truly elegant
  65. hardware/software design. We'll spend some time describing some of the
  66. details of this TNC. Much of this material is directly from the
  67. excellent manual which accompanied the beta test boards - and which is
  68. available from TAPR for $15 (PO Box 22888, Tucson, AZ 85734).
  69. .
  70. .   The TAPR TNC is the result of a tremendous design effort by many
  71. people including Mark Baker, Marc Chamberlin WA7PXW, Pete Eaton WB9FLW,
  72. Chuck Green N0ADI, Dave Henderson KD4NL, Lyle Johnson WA7GXD, Dave
  73. McClain N7AIG, Dan Morrison KV7B, Margaret Morrison KV7D, and Harold
  74. Price NK6K, along with Den Connors.
  75. .
  76. .   Very few terminals or home computers contain the hardware and
  77. software necessary to attach to, and control, an amateur radio.
  78. Compatibility between such systems could obviously be a problem.
  79. Because of this, extensive testing and use of packet radio without some
  80. additional tool would be very difficult, if not impossible.
  81. .
  82. .   The TNC is that tool. It is connected between your terminal (or
  83. computer) and your amateur radio. Just what is it that the TAPR TNC
  84. provides? Between the interfaces to your terminal or computer and
  85. your radio is a complete microcomputer with memory and input/output
  86. devices. This microcomputer with appropriate software is used to
  87. implement the packet radio protocols. Thus any computer can be interfaced
  88. to any other computer via amateur radio using the TNC.
  89. .
  90. .   The TAPR TNC connects to an RS-232-C interface, found on most terminals
  91. and home computers. A parallel interface is also provided, although not
  92. supported for terminal interfacing in the initial software release. The
  93. necessary connections exist to interface the TNC to your amateur radio
  94. equipment. These connections include lines to your external speaker
  95. (or earphone) jack and the microphone jack (both for microphone audio
  96. and for push-to-talk control).
  97. .
  98. .   Also included is a complete modem used to convert the digital
  99. information coming from the computer or terminal into an analog
  100. signal (a set of audio tones) which your radio can transmit. It
  101. also performs the reverse function, converting analog signals from
  102. your receiver to digital data. Because of the bandpass characteristics
  103. of many amateur radios, an active audio filter is also included in the
  104. TNC. Passive filters proved inadequate to support transmission rates
  105. of 1200 baud - a design objective.
  106. .
  107. .   Power for the electronics on the board required four different
  108. voltages: +5, -5, +12, and -12 volts. The TNC includes on board power
  109. supplies for these voltages and uses a custom wound power transformer
  110. designed specifically for TAPR and included with the board.
  111. .
  112. .   But hardware is only part of the TNC. Software is equally (if not
  113. more) important, for it's the software which makes this hardware useful
  114. in handling packet radio protocols.
  115. .
  116. .   The TAPR software was designed to support two interfacing requirements.
  117. The first interface is to the computer or terminal and involves
  118. processing commands and assembling data into packets. Also, packets
  119. received must be processed and formatted for display back to the
  120. computer or terminal. The second interface is the radio interface
  121. which provides two different packet communications protocols (AX.25
  122. and the original Vancouver protocols), keying the radio, and sending
  123. proper Morse code identification using your call sign. The protocol
  124. involves accessing the shared radio channel, formatting and sending
  125. packets, receiving and deciphering packets, and filtering out packets
  126. not intended for your station.
  127. .
  128. .   The software is implemented on the TAPR board in read only ¡emories
  129. (ROM's). 24K of ROM is provided on the board for this purpose, along
  130. with 6K of on-board random access memory (RAM).
  131. .
  132. .   The TAPR TNC beta test version sold for $200 - a very low price
  133. for such an incredibly well-designed and engineered unit! As mentioned
  134. earlier, the initial tests using this board have been most impressive.
  135. I'll provide a more detailed description of both the hardware and
  136. software components in forthcoming tutorial messages.
  137.  
  138.  
  139.  
  140.                  HamNet Packet Radio Tutorial - Part Two
  141.                  ---------------------------------------
  142.  
  143.                         by Scott Loftesness W3VS
  144.                            CompuServe 76703,407
  145.  
  146. .
  147. .   We'll continue our tutorial on packet radio by reviewing in more
  148. detail the hardware and software implemented on the Tucson Amateur
  149. Packet Radio (TAPR) Terminal Node Controller (TNC).
  150. .
  151. .   The TAPR TNC is a self-contained, microprocessor-based device intended
  152. to act as an intelligent interface between a user's ASCII communcations
  153. system (terminal or computer) and radio-based packet communications.
  154. .
  155. .   A 6809 microprocessor acts as the system CPU in the TAPR TNC. The
  156. 6809 is readily available and widely accepted for application in
  157. dedicated function controllers as well as general purpose low-end
  158. computers. It executes the software stored in the system's EPROM's.
  159. .
  160. .   The 6809 has an internal 2-phase clock generator and provides
  161. control, address, and data bus input/output for family peripheral
  162. devices. It has capabilities for position-independent code and is
  163. designed to support multiple stacks, making it very efficient for
  164. executing block structured high level languages such as Pascal and
  165. Forth. Information on the 6809 architecture is available in Motorola,
  166. Hitachi, and AMI literature - and in several books which are widely
  167. available in the computer sections of most bookstores.
  168. .
  169. .   The serial port is designed to provide a full-duplex RS-232-C
  170. interface for the user's terminal or personal computer. Full baud
  171. rate selection from 50 baud to 19.2 kilobaud is supported by the
  172. port. EIA RS-232-C levels and transition rates are implemented as
  173. well. The serial port is controlled by a 6551 LSI UART which contains
  174. an internal, software-controlled baud-rate generator. The transmitter
  175. and receiver are double-buffered and capable of interrupt-driven
  176. operation. The 6551 supports hardware flow control - allowing the
  177. terminal or computer to pace input and output from the TNC. 1488 and
  178. 1489A devices are used to translate the TTL levels from the 6551 to
  179. RS-232-C levels for the port itself.
  180. .
  181. .   A parallel port is also included on the TAPR board. Although not
  182. used for terminal support in the initial releases of the supporting
  183. software, it is used for certain status indications. A 6820 is used
  184. to provide two 8-bit TTL-level handshaking ports.
  185. .
  186. .  The system port interfaces to other devices on the TNC itself.
  187. These include a non-volatile RAM chip used to store certain of the
  188. system parameters across power-downs, DIP switches used for certain
  189. reset options, the HDLC controller chip, and an indicator driver
  190. interface for a variety of LED-monitored system functions. Implemented
  191. using a 6522, the system port also includes timing functions used
  192. for HDLC baud rate generation, software timing functions, the CW
  193. identification, and on-board calibration of the modem frequencies.
  194. The 6522 is a very powerful LSI chip which incorporates a pair of 8-bit
  195. programmable I/O ports, four control lines (for handshaking), two
  196. 16-bit programmable timers/counters, and an 8-bit shift register.
  197. The non-volatile RAM is used to store system parameters that are not
  198. normally changed such as call sign, terminal attributes, and timing
  199. parameters, but which remain user alterable. This allows configuration
  200. changes for a given session only, or on a "permanent" basis. The system
  201. port also handles the interface to the radio push-to-talk circuitry.
  202. .
  203. .  A Western Digital WD1933B HDLC controller is used to implement
  204. the HDLC standard bit oriented protocol including CRC check sum and
  205. zero bit insertion. The HDLC controller interfaces to an on-board
  206. 1200 baud modem providing phase-coherent AFSK modulation (with Bell
  207. 202 compatibility) using the EXAR 2206/2211 chips. Also included
  208. is the necessary impedance matching circuitry for interface to
  209. most popular amateur radio equipment. A 14-second hardware "watchdog"
  210. timer is inserted in series with the transmitter push-to-talk line
  211. to prevent accidental RF channel lockout which might be caused by
  212. a software error.
  213. .
  214. .  A unique feature of the TNC is the capability for on-board
  215. calibration of the modem tone frequencies. This is accomplished
  216. using jumpers which allow for the modem to be disconnected from
  217. the HDLC chip.
  218. .
  219. .  The on-board memory bank consists of six JEDEC-standard 28-pin
  220. "byte-wide" sockets. Three of these sockets are mapped for 2K
  221. static RAM's. The other three sockets are mapped as 8K EPROM or
  222. static RAM sites. The configuration supports 2716, 2732 and
  223. 2764-type EPROM's. A custom memory map PROM is included which
  224. provides the address decode for the ROM and RAM chips.
  225. .
  226. .  Also included on the TAPR TNC board is a user wire-wrap area -
  227. primarily to allow custom interfaces to be developed to support
  228. unusual radio interface requirements. Power busses are included
  229. in the area so that active devices may be added directly onto the
  230. TNC board itself as may be required by the user.
  231. .
  232. .  This completes the hardware description of the TAPR TNC. As you
  233. can see, it's a very complete design using the latest in LSI
  234. chip technology.
  235.  
  236.  
  237.  
  238.                  HamNet Packet Radio Tutorial - Part Three
  239.                  -----------------------------------------
  240.  
  241.                         by Scott Loftesness W3VS
  242.                            CompuServe 76703,407
  243.  
  244. I'm going to continue this series by describing the operation of the
  245. Tucson Amateur Packet Radio (TAPR) Terminal Node Controller (TNC) -
  246. and the tremendous function which has been implemented in the TNC
  247. software will become readily apparent!
  248. .
  249. .       The TAPR TNC operates in one of three modes:
  250. .               Command Mode
  251. .               Converse Mode
  252. .               Transparent Mode
  253. .
  254. .       Command mode is used to modify various software operating
  255. parameters. Converse mode and Transparent mode are both data transfer
  256. modes - supporting transmission and reception of packets across the
  257. radio link.
  258. .
  259. .       Command mode is automatically entered upon power-up or reset of
  260. the TNC. It can also be entered from one of the other modes by sending
  261. an appropriate control sequence from the terminal to the TNC. For
  262. example, if I'm running in Converse mode, I can get to command mode by
  263. simply entering a control-C. I can they make any operating mode
  264. parameter changes I need to, and return to Converse mode by using the
  265. CONVERS command. The flexibility the TNC provides in this regard is
  266. really outstanding. You can switch into and out of Command mode very
  267. easily - and not lose any data coming across the link.
  268. .
  269. .       Many of the parameters which can be altered in Command mode
  270. are saved in the NOVRAM chip mentioned earlier in this series. This
  271. chip is an electrically erasable read-only memory - and permits me,
  272. for example, to save away my call-sign (which becomes my address
  273. in the AX.25 protocol) so that I need not reset it every time I power
  274. up. The NOVRAM really helps make the TNC startup procedure extremely
  275. simple - since most all of the parameters I have tailored have been
  276. tucked away into the NOVRAM.
  277. .
  278. .       In addition to the NOVRAM, the ROM contains a set of default
  279. operating parameters which can be invoked to completely reset the
  280. NOVRAM values. This is helpful after experimenting with a number
  281. of parameters - and deciding to start over from the ground up!
  282. .
  283. .       To give an example of how simple it is to get the TNC "on-the-air",
  284. the following sequence of commands will take the TNC from power-up to
  285. Converse mode:
  286. .               MYCALL W3VS   - Sets my callsign into the address field.
  287. .                               (Only necessary once!)
  288. .               PERM       - Save my callsign into the NOVRAM.
  289. .
  290. .               CONVERS       - Enter Converse mode.
  291. .
  292. .               Hello Test    - Sends an unaddressed packet with the text
  293. .                               "Hello Test".
  294. .
  295. .               Ctrl-C        - Returns to command mode.
  296. .
  297. .               CONNECT K8MMO - Requests that I be connected to K8MMO.
  298. .                               Automatically enters Converse mode if
  299. .                               K8MMO acknowledges my CONNECT request.
  300. .
  301. .               Hello Dave    - Sends an addressed packet to K8MMO with
  302. .                               the text "Hello Dave".
  303. .
  304. .               Ctrl-C       - Returns to command mode.
  305. .
  306. .               DISCONNECT    - Disconnect from K8MMO.
  307. .
  308. .       As you can see, operating the TNC is really a breeze. In fact,
  309. from power-up to being on the air is typically a matter of a few seconds.
  310. .
  311. .       Among the parameters which can be altered in Command mode are
  312. several which determine how the TNC responds to what it hears on the
  313. radio link. For example, I can tell the TNC to monitor all packets it
  314. hears - including those not specifically addressed to me. This is obviously
  315. useful for "reading the mail" on the channel! In fact, I can tell it to
  316. monitor all activity, or just activity either TO or FROM a specific
  317. station. In addition, I can tell the TNC whether I want it to become a
  318. digipeater - a digital repeater which repeats what packets addressed
  319. to another station but containing my callsign as a repeater address.
  320. (It's interesting to note that the default is digipeat on - it's so
  321. automatic that I really don't know (other than by hearing my radio
  322. got on and off) that I'm being used as a digipeater!
  323. .
  324. .       I can also define the specific operating parameters for the
  325. link. Items such as the length of a packet (default of 128 bytes),
  326. whether it should send a packet when it sees a specific character
  327. (default is carriage return) or send a packet after so many seconds
  328. of inactivity from my terminal. I can also cause the TNC to automatically
  329. send a beacon every so many seconds or send it after so many seconds of
  330. no activity on the packet channel.
  331. .
  332. .       I've just shown a few of the features available in Command
  333. mode on the TAPR TNC. The software is extremely well done - and using
  334. the TNC is a pleasure! You immediately sense that this box was put
  335. together by folks who really understand both the hardware and the
  336. software aspects of microcomputing and communications!
  337. .
  338. .       Let's talk now about Converse mode. As shown in my example, I
  339. can cause the TNC to enter Converse mode by entering the CONVERS
  340. command and also by connecting with another station. The TNC will
  341. also automatically enter Converse mode whenever another station
  342. requests a connect with me! In this case, it prints out a message
  343. saying:
  344. .
  345. .       Connected to K8MMO
  346. .
  347. .and enters Converse mode. From that point on, whatever I type is
  348. sent to the other station.
  349. .
  350. .       If I'm not connected to another station but enter Converse
  351. mode using the CONVERS command, my packets will be "unaddressed" and
  352. only can be copied by other stations which are monitoring all
  353. packets on the channel. This is the technique used to say "CQ" on a
  354. packet channel. For example, on my TRS-80 Model 100, I have created
  355. a CQ file which I transmit containing my name, address, callsign,
  356. station equipment, phase of the moon, etc.! To say CQ, I simply send
  357. this packet. If others are around, typically one will connect with
  358. me and our QSO has begun!
  359. .
  360. .       Earlier, I mentioned the digipeating mode. I can cause my
  361. packets to automatically be sent via a repeater. I simply say:
  362. .
  363. .       CONNECT K8MMO VIA WB4JFI-1
  364. .
  365. .WB4JFI-1 is a local AMRAD repeater run by Terry Fox which is available
  366. 24 hours per day. In this case, my station sends its packets to WB4JFI-1
  367. which verifies that they are valid packets (i.e. frame check sequence
  368. is valid) and then retransmits them to K8MMO. Neat!
  369. .
  370. .       Well, we've covered Command and Converse modes pretty thoroughly.
  371. Let's now talk about Transparent mode. Transparent mode allows you to
  372. effectively turn the TNC into a modem - i.e. it will not locally echo
  373. characters, will ignore command/control character sequences, etc. The
  374. advantage of this mode is in transferring files which might contain
  375. any of those characters. In Transparent mode, it's possible to transmit
  376. a binary file to another station. With the built-in error detection and
  377. correction of the AX.25 protocol, error-free transmission is guaranteed!
  378. It's possible to exit from Transparent mode to Command mode by sending a
  379. very specific sequence of characters (default is three control-C's sent
  380. with no other data for one second before and after). Obviously, the odds
  381. of this sequence occuring in normal transmission is very, very low - which
  382. is just what's wanted in Transparent mode.
  383. .
  384. .       Another use of transparent mode is in running a computer system
  385. at the other guy's station. For example, I have run the CP/M system at
  386. K1HTV in this manner - and run BASIC programs, CP/M commands such as
  387. DIR to get a file directory listing, etc. It's just like sitting at the
  388. console of that other system - with the addition of a time delay
  389. required for transmission of the packets at 1200 baud!
  390. .
  391. .       Well, we've pretty well covered the operational aspects of the
  392. TAPR TNC. As you've seen, it's an extremely versatile device - and
  393. provides nearly all of the functions you'd want!
  394. .
  395. .       You are probably a bit curious (I know I was) about the
  396. software package used in the TAPR TNC. This excellent package was
  397. written in a combination of Pascal and 6809 assembler by Harold Price
  398. NK6K, Dave Henderson KD4NL, and Margaret Morrison KV7D. The bulk of
  399. the code was written in Pascal while assembler was used for the
  400. interrupt handling and data buffering routines. The Pascal code
  401. effectively relies on the assembler code as device drivers for the
  402. hardware interfaces present on the TNC. The combined package is over
  403. 20K of code - stored in the ROM of the TNC.
  404. .
  405. .       This concludes this section of the packet radio tutorial.
  406. Next, we'll describe some of the activites underway in the Washington,
  407. DC area with packet radio - and some of our plans for the future.
  408.  
  409.  
  410.  
  411.