(none)
  

Notes on the KL8E Asynchronous Interface

Part of the PDP-8/E Hardware Documentation
by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

The M8650 board supports asynchronous communications at a variety of baud rates, with either an RS232 or a current loop interface. The board is, effectively, equivalent to a UART chip, but it is made with SSI and MSI chips. Most of the options that might be programmable in a modern UART chip are available, but they are selected by jumpers or part changes on the board.

The following diagram gives the general geography of the M8650 board:


      \\____//           \\____//          \\____//           \\____//
 ______||__||_____________||__||____________||__||_____________||__||_____
| o  ____        o   o              o  o    _         o   o   9 7531     o|
|   |_   |                         |_|     | |   _    _  o1_  o oooo  _   |
|     |  | |||||||| ||             [_]     | |  | |  | |Ho2 |   G 42 | |  |
|     |  |  O|||O|H H|                     |_|  | |  | | o| | o oooo | |  |
|     |  |  |   | H H             o1            |_|  |_| 3|_|10 86   |_|  |
|     | B|      + | |             2 _                                     |
|     | E|                _       o| |      _    _    _    _    _     _   |
|     | R|               | |      J| |     | |  | |  | |  | |  | |   | |  |
|    _| G|               | |      o|_|     | |  | |  | |  | |  | |   | |  |
|   |____|               |_|      3        |_|  |_|  |_|  |_|  |_|   |_|  |
|                                                                         |
|    _    _    _    _     _     _     _     _    _    _    _    _     _   |
|   | |  | |  | |  | |   | |   | |   | |   | |  | |  | |  | |  | |   | |  |
|   | |  | |  | |  | |   | |   | |   | |   | |  | |  | |  | |  | |   | |  |
|   |_|  |_|  |_|  |_|   |_|   |_|   |_|   |_|  |_|  |_|  |_|  |_|   |_|  |
|                                                                         |
|    _    _    _    _     _     _     _     _    _    _    _    _     _   |
|   | |  | |  | |  | |   | |   | |   | |   | |  | |  | |  | |  | |   | |  |
|   | |  | |  | |  | |   | |   | |   | |   | |  | |  | |  | |  | |   | |  |
|   |_|  |_|  |_|  |_|   |_|   |_|   |_|   |_|  |_|  |_|  |_|  |_|   |_|  |
|                                                                         |
|    _    _    _    _     _     _     _     _  oooooo _    _  oooooo  _   |
|   | |  | |  | |  | |   | |   | |   | |   | |       | |  | |        | |  |
|   | |  | |  | |  | |   | |   | |   | |   | | F E D | |  | | C B A  | |  |
|   |_|  |_|  |_|  |_|   |_|   |_|   |_|   |_|       |_|  |_|        |_|  |
|                                              oooooo         oooooo      |
|_                __||               _||               __||              |
  |              |   |              |  |              |   |              |
  |______________|   |______________|  |______________|   |______________|
Given an M8650 board, various optional parts and jumpers must be inspected and possibly changed prior to any use of the board. The following sections treat the primary options that limit the range of baud rates supported, that select a particular rate, and that select the I/O device addresses used for the board.

General Baud Rate Considerations

      \\____//           \\____//
 ______||__||_____________||__||___________
| o  ____        o   o              o  o
|   |_   |                         |_|
|     |  | |||||||| ||             [_] -- Crystal
|     |  |  O|||O|H H|                   14.418 MHz or
|     |  |  |   | H H                    19.6608 MHz.
|     | B|      + | |
|     | E|      ^
|     | R|      |
|    _| G|    0.047 µf capacitor
|   |____|
Two versions of the M8650 were made, the plain M8650, with a 14.418 MHz crystal, and the M8650YA, with a 19.6608 MHz crystal. The former supports only 110 baud, while the latter supports the multiples of 300 baud, including 1200, 2400, and 9600 baud. The CTS MP196 19.6608 MHz crystal, sold by DigiKey as part CTX090 works here.

If the board is used at 110 baud, the 0.047 microfarad capacitor should be soldered in. If it is to be used at higher data rates, the capacitance should be halved for every doubling in the data rate. Most users simply remove this capacitor for use at higher data rates.

Jumpering for data format

                                  \\____//           \\____//
                          _________||__||_____________||__||_____
                           o  o    _         o   o   9 7531     o|
                          |_|     | |   _    _  o1_  o oooo  _   |
                          [_]     | |  | |  | |Ho2 |   G 42 | |  |
                                  |_|  | |  | | o| | o oooo | |  |
                         o1            |_|  |_| 3|_|10 86   |_|  |
                         2 _                    |
      Jumper group J --  o| |             Jumper group H
                         J| |
                         o|_|
                         3
Two groups of jumpers control the data format used by the M8650. Jumper group J controls the number of stop bits. The factory configuration uses a zero ohm resistor between lugs 2 and 3 to give 2 stop bits, necessary for 110 baud transmission to the electromechanical receiver mechanism in a a teletype. Removing this factory installed jumper and adding a jumper between lugs 1 and 2 configures the board for one stop bit; this should work with all asynchronous receivers that operate at higher baud rates.

The factory installed jumper (zero ohm resistor) between lugs 1 and 2 of jumper group H configures the board to use the same baud rate for transmit and receive. Some early systems used 1200 baud from computer to terminal and only 300 baud for terminal to computer transmission. Consult DEC's drawings for information on how to jumper the board for such odd combinations.

Selecting A Specific Baud Rate

                            \\____//           \\____//
                          ___||__||_____________||__||_____
                                       o   o   9 7531     o|
                                  _    _  o1_  o oooo  _   |
                                 |E|  | |Ho2 |   G 42 |E|  |
                                 |2|  | | o| | o oooo |0|  |
                                 |2|  |_| 3|_|10 86   |5|  |

The 10 lugs in jumper group G give the baud rate. Only one jumper should be present in this group! The following jumperings were commonly configured on this board, as originally sold:
       7 to 8  --  110 baud or 150 baud (depending on crystal)
       5 to 6  --  300 baud
       3 to 4  --  600 baud
       1 to 2  -- 1200 baud
       9 to 10 -- 2400 baud
Note that lugs 9 and 10 are absent on early revisions of this board (Rev B, for example). On these earlier boards, it is necessary to solder a jumper to pin 11 of chip E05 to get 2400 baud, following the instructions below.

In addition, the board can be jumpered using the following "unofficial" jumperings between pins of E05 (the IC in the upper right corner of the board) and the adjacent trace to extend the range of baud rates supported. Electrically, these additional jumperings are part of jumper group G:

                          \\ -- jumper pins to this trace
                    __ __  \\
                  =|1  14|= ||  38400 baud
                  =|     |= ||
                  =| E 12|= ||  19200 baud
                  =| 0 11|= ||  2400 baud
                  =| 5   |= ||
                  =|    9|= ||  9600 baud
                  =|____8|= ||  4800 baud
                            ||
In addition, long jumpers from pins of E22 to lug number 9 of jumper group G can be used for even higher nonstandard rates. With these high rates, special short cables may be required! The 307200 baud rate is pushing the limits of the frequency divider circuitry by cutting out most of the synchronous counter in E22 and shunting a 9.8 MHz signal directly into asynchronous circuitry rated at 10 MHz.
                  _---------------__________             9   7 5
                 /    __ __                 -------------o   o o
                |   =|     |=     __ __       __ __
       153600 baud  =|2    |=    |     |     |     |         G
       307200 baud  =|3    |=    |     |     |     |
                    =| E22 |=    |     |     |     |     o   o o
                    =|     |=    |     |     |     |    10   8 6
        76800 baud  =|6    |=    |     |     |     |
                    =|     |=    |     |     |     |
                    =|_____|=    |_____|     |_____|

Selecting A Device Address

                        _  oooooo _    _  oooooo  _   |
                       | |       | |  | |        | |  |
                       | | F E D | |  | | C B A  | |  |
                       |_|       |_|  |_|        |_|  |
                           oooooo         oooooo      |
                 _||               __||              |
                   |              |   |              |
                   |______________|   |______________|
Jumper groups F, E, D, C, B and A give the device addresses for the input and output ports. Each jumper group is physically set up as follows:
   2  1
   o  o

   |  |
   O  O  -- factory installed zero ohm resistors.
   |  |

   o  o
   4  3
The factory installed zero ohm resistors look like they connect lugs 2 and 4 and lugs 1 and 3, but they do not! If all factory installed jumpers are in place, the interface is configured as devices 03 and 04, the default system console. The layout of the lugs in each jumper group and the assignment of address bits to jumper groups appears almost random:
      - r  - t  r -      r -  r -  t -    r = receive address bit
       F    E    D        C    B    A     t = transmit address bit
      MD5  MD6  MD7      MD8  MD3  MD4    - = set bit to zero
      t +  r +  + t      + t  + t  + r    + = set bit to one
The following diagrams show the most popular device address jumperings, assuming that all default jumpers (zero ohm resistors) have been removed:
03/04       o-o  o o  o o      o o  o-o  o-o
  console   |    | |  | |      | |    |    |
  default!  |    | |  | |      | |    |    |
            o o  o o  o o      o o  o o  o o

40/41       o-o  o-o  o-o      o-o  o o  o-o
  usual     |    |      |           |      |
  second    |    |      |           |      |
  TTY       o o  o o  o o      o-o  o-o  o o

65/66       o-o  o o  o-o      o o  o o  o o
  usual     |      |           | |  |    |
  serial    |      |           | |  |    |
  printer   o o  o-o  o-o      o o  o-o  o-o
The KL8E board allows arbitrary addresses for transmit and receive, but by convention, the receive address should always be one less than the transmit address.

Cables

      \\____//
 ______||__||______
| o  ____        o
|   |_   |
|     |  |
|     |  |
|     |  |
|     | B|
|     | E|
|     | R|
|    _| G|
|   |____|
For an RS232 interface, you need the equivalent of DEC's BC01V cable. This mates with the Berg connector at one end and has a male DB25 connector at the other end, in conformance with the RS232 specification. For a current loop interface, you need a 7008360 cable with a Mate-N-Lock connector at the far end.

The following connector hardware will mate with the Berg connector on the board (DigiKey part numbers for AMP parts):

                  ASC40G-ND  40 pin gold socket connector
                  ASSR40-ND  strain relief for above
                  ASPT40-ND  pull tab to make it easy to unplug