home *** CD-ROM | disk | FTP | other *** search
/ Between Heaven & Hell 2 / BetweenHeavenHell.cdr / 500 / 419 / rtty.doc < prev    next >
Text File  |  1985-05-09  |  8KB  |  242 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. This document describes the use of the IBM Personal Computer
  9. with a Kantronics interface attached for RTTY operation.
  10. While I have designed around a specific Terminal Unit (TU),
  11. I have attempted to keep the program generalized such that
  12. any TU with an RS-232C interface could be adapted.  The
  13. general use of the RS-232C lines is as follows:
  14.  
  15.     Transmit Data        - Async data out
  16.     Receive Data        - Async data in
  17.     Carier Detect        - CW data in
  18.     Request to Send     - Key transmitter
  19.     Data Terminal Ready - CW ID control
  20.  
  21. The Kantronics interface does not provide an RS-232C level
  22. and also requires an external power supply.  Additionally,
  23. the RTTY transmit line requires a normal space condition
  24. for receive to operate correctly.  Based on these
  25. considerations, I designed a special RS-232C to Kantronics
  26. interface box.    The schematic is included below.  First,
  27. just a few words about the circuit.  The interface chips
  28. used are the same as those used in the IBM PC, namely,
  29. the 75150 line driver and the 75154 line receiver.
  30. The 74LS00 is used to gate the Tx data signal with the
  31. transmitter key and to invert the RTTY transmit signal.
  32. I used two regulators to get +/-12 volts, then I cheated
  33. (just a little).  The 75154 has a regulator built into the
  34. chip which will regulate the +12 volts down to approximately
  35. +5 volts.  In actual measurement, it's closer to +6 volts,
  36. but I figured that it was worth the risk (for me anyway).
  37. I used the new +5 volts from the 75154 to supply the voltage
  38. for the 74LS00.  The unused inputs of the 74LS00 are tied
  39. to ground to keep supply current requirements to a minimum.
  40. The recommended voltage regulators are the 7812 and the 7912
  41. or whichever regulator is your favorite.  Just be sure to
  42. have enough filter capacitance on the input and enough heat
  43. sink on the regulators.  There is nothing worse than
  44. intermittent problems.
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.         _____________________
  53.        |  __________     |
  54.        +-|1     |- +12v  |  ____________________________ CWID
  55.        +-|        |- +5v---' |
  56.        `-|        |-       |    ________________________ KEYIN
  57. DTR ---------|        |----------'   |   __________
  58. Tx data -----|        |-------,      +--|1         |- +5v
  59. RTS ---------|        |------- ------+--|         |---,
  60.         -|    75154    |-    |    ,-|         |---+
  61.     Gnd -|__________|--,    |    `-|         |-  |
  62.        ________________|    `---------|         |---+
  63.       |            ,---------|  74LS00  |---+
  64.       |            |    Gnd -|__________|-  |
  65.       |            |             `- Gnd
  66.       |            |
  67.       |            |_______________________________ RTTY
  68.       |
  69.        ___`_____________________________________________________ DECODE
  70.       |   ,
  71.       |   |
  72.       |   |   __________
  73.       |   `--|1     |- +12v
  74.       +------|        |------------,
  75.       `------|    75150    |--------,   |
  76.     Gnd -|__________|- -12v  |   |
  77.                  |   |
  78.                  |   |
  79. Rx data -------------------------'   |
  80. CD ----------------------------------'
  81.  
  82. Computer                            Kantronics
  83. Interface                            Interface
  84.  
  85.  
  86. Note: Intersections are indicated by "+"
  87.       Non-Intersections are indicated by " "
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.               Kantronics RS-232C Interface
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102. The RTTY program is written primarily in BASIC for the
  103. IBM Personal Computer.    There are two routines written
  104. in Assembly language to scroll half screens and to send
  105. the CW ID with accurate timing.  The program will run
  106. under interpreter BASIC but performance is marginal.
  107. The compiled BASIC version seems to perform adequately.
  108. The program supports both BAUDOT and ASCII RTTY modes
  109. at BAUD rates of 45.5, 50, 56.9, 74.2, and 110.  The
  110. received input can be directed to the printer or diskette
  111. as well as to the display.  During receiving operations,
  112. a 4000 character transmit buffer can be filled from the
  113. keyboard or diskette.  There are several predefined files
  114. which can be loaded into the transmit buffer with the stroke
  115. of a function key.  The transmit buffer can be edited
  116. minimally by using the backspace key.  Currently, only
  117. the last line entered is erased on the screen, however,
  118. pressing backspace will go further than the last line.
  119. Backspacing will not go further back than the last character
  120. sent to the Asynchronous communications code.  In the transmit
  121. mode, a date and time stamp can be sent over RTTY, as well as,
  122. a predifined RTTY ID field.  At any time during transmission
  123. a function key can be pressed which will stop sending
  124. characters to the Asynchronous communications routine, thus
  125. allowing a chance to send your CW ID by pressing another
  126. function key.  Transmission of RTTY resumes when the function
  127. key is pressed again.  The program is controlled by the use
  128. of the ten function keys on the keyboard.  They are
  129. defined as follows:
  130.  
  131.  
  132. General funtion keys
  133.  
  134.     F1 - KEYS = Changes the function of keys F5, F7, and F8 (toggle)
  135.  
  136.     F2 - PRTR ON/OFF = Directs received data to printer (toggle)
  137.  
  138.     F3 - RX FILE = Allows direction of received data to diskette
  139.                pressing a second time terminates file transfer
  140.  
  141.     F4 - TX FILE = Allows specifying diskette file to be placed in the
  142.                transmit buffer, pressing a second time terminates
  143.                file transfer
  144.  
  145.     F6 - RCV/XMIT = Places program in receive mode or transmit mode
  146.  
  147.  
  148.  
  149. Receive Mode function keys
  150.  
  151.     (KEYS mode 1)
  152.  
  153.     F5 - END = Terminate program
  154.  
  155.     F7 - BAUD RATE = Displays/selects current baud rate (toggle)
  156.  
  157.     F8 - BAUDOT/ASCII = Displays/selects current RTTY mode (toggle)
  158.  
  159.     F9 - NEWLINE = Forces a carriage return during RTTY reception
  160.  
  161.     F10 - CASE = Forces a shift to LETTERS during RTTY reception
  162.  
  163.     (KEYS mode 2)
  164.  
  165.     F5 - RESET = Restart the program
  166.  
  167.     F7 - TX CQ = Read the predefined CQ file from diskette and
  168.              place in the transmit buffer
  169.  
  170.     F8 - TX RY = Read the predefined RY file from diskette and
  171.              place in the transmit buffer
  172.  
  173.     F9 - NEWLINE = See above
  174.  
  175.     F10 - CASE = See above
  176.  
  177.  
  178. Transmit Mode function keys
  179.  
  180.     (KEYS mode 1)
  181.  
  182.     F5 - END = Terminate program
  183.  
  184.     F7 - PSE ON/OFF = Halts/starts RTTY transmission from transmit buffer
  185.  
  186.     F8 - TTYID = Places the predifined RTTY ID into the transmit buffer
  187.  
  188.     F9 - CW-ID = Sends the predefined CW ID in MORSE code
  189.  
  190.     F10 - DT&TM = Places the current time and date in the transmit buffer
  191.  
  192.     (KEYS mode 2)
  193.  
  194.     F5 - RESET = Restart the program
  195.  
  196.     F7 - TX CQ = Read the predefined CQ file from diskette and
  197.              place in the transmit buffer
  198.  
  199.     F8 - TX RY = Read the predefined RY file from diskette and
  200.              place in the transmit buffer
  201.  
  202.     F9 - CW-ID = See above
  203.  
  204.     F10 - DT&TM = See above
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212. The program is still in the development stage.    One of the
  213. limitations is that when morse code is sent, the system is
  214. placed in a tight timing loop.    In this tight loop interrupts
  215. can still be handled, but the overall function is impaired.
  216. For example, a character is taken from the keyboard only
  217. between morse characters and only one character is taken.
  218. Another limitation is the way the printer functions.
  219. Namely, the printer buffers a line and then ties up the
  220. system while the line is printed.  Ideally, the printer
  221. should be buffered a little better.  While not a severe
  222. limitation, the receive buffer is disabled during file name
  223. entry.    The backup feature of the transmit buffer needs to
  224. be improved to backup past the beginning of the line.
  225. There are probably others that time will display.
  226.  
  227. I would like to get the code written to receive morse code.
  228. I prefer to arrive at an algorithm which will accept a
  229. wide variety of code speeds and will allow for somewhat
  230. sloppy sending techniques.  Then the basic split screen
  231. approach could be applied to morse code as well as RTTY.
  232. The morse sending program should offer adjustable code
  233. speed both character speed and word speed.
  234.  
  235. If you have further comments or suggestions feel free to
  236. send them to
  237.  
  238.     Glenn Welman
  239.     2M2/203
  240.     Boca Raton, Fl
  241.  
  242.