Notes on the KL8JA Asynchronous Interface
Part of
the PDP-8/E Hardware Documentation
|
The M8655 KL8-JA OMNIBUS interface board supports asynchronous communications at a variety of baud rates, with either an RS232 or a current loop interface. Unlike the earlier KL8E, the board uses a UART chip, but most of the options that might be programmable in a more modern system are still selected by jumpers on the board.
In most respects, the M8655 board and the M8650 board are interchangable, but the M8655 can generate and detect parity, and it can support data widths from 5 to 8 bits, while the M8650 can support higher nonstandard baud rates and is thus more appropriate for high speed PDP-8 to PDP-8 links. There's also no way to send a break on an M8655, while this can be sent on an M8650 by jamming data into the transmit buffer while it is transmitting.
The following figure gives the General geography of the M8655 board:
\\____// \\____// \\____// \\____// ______||__||_____________||__||____________||__||_____________||__||_____ | o ____ _ o _o _ o _o _ _ o _ o _ _ _ _ _ o| | |_ | | | | | | | o : : | | | | ..| | | | || | | | | | | | | | FIL : : | | | | | | | | | CAN | | | | |_| |_| |_| o :_: |_| |_| ..|_| |_| _ _ _ _ || | | | _ _ _ _ _ _ _ _ _ ___ | | | B| | | | | | | | | | | | | | | | | | | | | | | | E| | | | | | | | | | | | | | | | | | | |OSC| | | | R| .o |_| |_| |_| |_| |_| |_| |_| |_| |_| |___| | | _| G| TTY _ _ _ _ _ _ _ _ _ _ | | |____| .o | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | . | | | | | | |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| | | . | | _ _ _ _ _ _ _ _ _ _ | | | | | | | | | | | | | | | | | | : : | | | | | | | | | | | | | | | | | | ____ | | : : | | | | |_| |_| |_| |_| |_| |_| |_| | | |_| :_: |_| | | _ _ _ _ _ _ _ | | _ ___ ___ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o o | | | | | | | | |_| |_| |_| |_| |_| |_| |_| | | NP SB|_| |___| |___| | | _ _ _ _ _ _ _ | | o o _ XMIT RCV | | | | o | | | | | | | | | | | | |____| o o o| | | | | | | | | |SWD| | | | | | | | | | | | EVN 1 2| | | | | | | | |_|.o |_| |_| |_| |_| |_| |_| o o o|_| |_| |_| | | W3 | |_ . __|| _|| __|| | | | | | | | | | |______________| |______________| |______________| |______________|Given an M8655 board, various optional jumpers and switch settings 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.
\\____// \\____// \\____// \\____// ______||__||_____________||__||____________||__||_____________||__||_____ | o ____ _ o _o _ o _o _ _ o _ o _ _ _ _ _ o| | |_ | | | | | | | o : : | | | | ..| | | | || | | | | | | | | | FIL : : | | | |W5W2 | | | | CAN | | | | |_| |_| |_| o :_: |_| |_| ..|_| |_| _ _ _ _ || | | | _ | | B| | | | | | | E|W1 | | Null after Max baud | | R| .o |_| line feed. rate | _| G| TTY | |____| .o --- 110 baudThe TTY jumper position (sometimes bridged by a zero-ohm resistor) is required for use at 110 baud with a current loop interface. At higher rates, this jumper (or zero-ohm resistor) should be removed.
The FIL jumper position, if jumpered, causes 4 nulls to be inserted after every linefeed transmitted. This provides the correct delay for the DEC VT05 terminal running at 2400 baud when powered from a 60 Hz line, and the wrong delay at almost any other baud rate or power environment for almost any terminal that requires a delay after linefeed.
A zero ohm resistor or wire jumper should be inserted at either W2 or W5, but not both. This selects the highest baud rate the board will support.
W5 (left) - 19200 baud W2 (right) - 9600 baudThe originl GI UART could only handle 9600 baud; the SMC COM 2017 UART used on later boards can handle either baud rate.
| _ _ | | | o | | | | |SWD| | | |_|.o |_| | W3 |_ . __| | | |______________|The split lugs marked SWD are in parallel with the jumper location W3. If no jumper is present in either location, the M8655 KL8-JA board will look, to software, exactly like an M8650 KL8E board.
If a jumper is present at this location, the board recognizes a new software option allowing reporting of the UART status word with each character read. The command to turn this option on and off is:
KIE (6xx5) -- Bit 11 of AC is the interrupt enable bit, as usual; Bit 10 of AC is the status word report reqest bit.If the status report request bit is set, the data returned in AC by the KRS (6xx4) and KRB (6xx6) commands is formatted as follows:
bit[0] -- error detected. bit[1] -- parity error detected in this character bit[2] -- framing error detected, this might not be a character bit[3] -- overrun error detected, previous character lost bits[4-11] -- the data read (as usual)
_ _ _ | | | | | | | | | | . | | | | | |_| W4 |_| |_| | . | _ _ _ | | | : : | | | ____ | | : : | | | | | |_| :_: |_| | | | _ ___ ___ | | | | | | | | | | | | o o | | | | | | | | | NP SB|_| |___| |___| | | | o o _ XMIT RCV | |____| o o o| | | | | | | EVN 1 2| | | | | | | o o o|_| |_| |_| | | __|| | | | | |______________| |______________|There are 5 pairs of split lugs and one zero ohm resistor or jumper wire in this group. In general, if none of these are jumpered, the board will behave like an M8650.
NB1,NB2 0 0 8 1 0 7 0 = jumper absent 0 1 6 1 = jumper present 1 1 5
___ ___ | | | | | | | | | | | |___| |___| | XMIT RCV | | | | | | | | | | | |_| |_| | | | | | | |______________|The two DIP switches are divided logically into 2 groups of switches to control the baud rate and device addresses. The bottom 6 switches on each DIP switch cluster set the device addresses. The left switches handle the transmit address, the right handles the receive address. Both switch groups have the same format:
| ==- | MD3 MSB of device address | ==- | MD4 | ==- | MD5 For all bits, | ==- | MD6 ON = 1, OFF = 0 | ==- | MD7 | ==- | MD8 LSB of device address |_______|The 3 baud rate bits, B1, B2, B3 give the baud rate:
_______ _______ | | | | | ==- |B3 | ==- |B1 | ==- |R=150 | ==- |B2 B1 B2 B3 0 0 0 = 110 baud 0 0 1 = 150 baud 0 1 0 = 300 baud On = 1, Off = 0 0 1 1 = 600 baud 1 0 0 = 1200 baud 1 0 1 = 2400 baud 1 1 0 = 4800 baud 1 1 1 = 9600 or 19200 baudJumpers W2 and W5 select which of the two highest baud rates is selected for by the final switch setting shown above. As a special case, if the R=150 switch is on, the receive baud rate is set to 150 baud; if this switch is off, the transmit and receive baud rates are the same.
\\____// ______||__||_____ o _ _ _ _ _ o| | | || | | | CAN | |_| _ _ _ _ || _ ___ | | | | | | | | |OSC| | |_| |___| | |As originally designed, the M8655 board used a large crystal can mounted over the large pad in the upper right corner of the board. This was not a satisfactory design, and DEC abandoned this can in later revisions of the board. Instead, the integrated circuit at position E4 (shown at OSC here) was replaced with a CTS 5.0688 MHZ oscillator (DigiKey part CTX110). This requires that the circuit traces connecting to pins 1 and 8 of E4 be cut (note that pins 7 and 14 were unused), and it requires that discrete components immediately above, below and to each side of E4 be removed (be careful not to remove the power supply decoupling capacitor below E4). 3 jumpers must then be installed:
The KL8-JA board contains two sockets that were apparently used in production line testing of the board. Nothing should be plugged into these sockets for normal operation.
\\____// \\____// _________||__||_____________||__||_____ o _o _ _ o _ o _ _ _ _ _ o| : : | | | | ..| | | | || : : | | | | | | | | | CAN | :_: |_| |_| ..|_| |_| _ _ _ _ || | _ ___ | unused! | | | | | | | |OSC| | |_| |___| | _ _ | | | | | | | | | | | |_| |_| | | _ _ | : : | | | unused!--: : | | | :_: |_| |
\\____// ______||__||______ | 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