perm filename SERIAL.DOC[KBD,ROB]2 blob sn#448062
filedate 1979-06-05 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00007 PAGES
C REC PAGE DESCRIPTION
C00002 00002 Writeup on the Micro Switch Keyboard Serialzers
C00003 00003 Functional description
C00005 00004 Physical characteristics
C00007 00005 Electrical characteristics
C00008 00006 Signal definitions
C00011 00007 prototype notes:
Writeup on the Micro Switch Keyboard Serialzers
**** WARNING ****
As of 27-May-79, the prototype is still being built, and the information
contained herein does not neccessarily reflect the way the Keyboard
Serializers will end up.
The Keyboard Serialzers take the 9 bits of parallel data from the Stanford
Micro Switch keyboards (10 bits if you count the keyboard strobe), and
transmits this data as two 8-bit bytes on a serial line. Whenever a key
is pressed that generates "KBDSTROBE", a sequence starts which transmits
first a byte containing the "Bucky bits" (Control, Meta, Shift, and Top
keys), followed by a byte that has the actual key data. This data goes
out over a two-wire, electrically floating, passive current loop.
In addition, the device can receive data from the host computer. Whenever
a chararacter (ANY character, in fact) is received, the serializer
transmits the state of the keyboard, just as if "KBDSTROBE" had been
generated. Thus, the computer can find out what keys are pressed at any
time (called "Spacewar Mode" for reasons which date back to the game of
the same name). Note that if more than one key is pressed, the logical OR
of the bits are read in.
The Keyboard Serializers are built on a printed circuit board and mounted
inside of the Micro Switch keyboards. They ride "piggyback" on the
existing circuit boards, and connect to them via a short edge-card
connector jumper cable. The serializer provides power to the Micro Switch
keyboard circtuitry through this jumper.
Another edge connector on the serializer board connects to the I/O cable.
This cable provides power (5 volts) and ground, and two pairs of current
loop signal (on transmit and one receive).
A serialzer consists of a PC board, 6 packages of SSI TTL, one UART, 2
opto-isolators, a handful of diodes and resistors, and a short jumper
cable to interconnect the existing Micro Switch keyboard circuitry and the
Here is a list of the signals used in the keyboard serializers:
BHI Logical HIGH signal used whenever a TTL signal needs to be tied to HIGH.
BYTESEL Low means first byte selected (bucky bits), high means second byte
selected (data bits).
CHRRCVD A character has been received from the host (send a character in
CLRCVA,B Current Loop ReCeiVe, lines A and B. These are floating (optically
isolated), and passive (need to be driven from an active driver).
CLXMTA,B Current Loop XMiT, lines A and B. These are floating (optically
isolated), and passice (need to talk to an active receiver).
CTRL "Control" key from keyboard.
DONE Come true when the second byte has been loaded in the UART for
GND Logical LOW.
KBO0-KBO5 Data bits direct from the keyboard.
KBSTROBE Comes high when any key is pressed, and valid data appears on KBO0-5.
META "Meta" key from keyboard.
MRCLOCK MasteR CLOCK, runs at 16 times the baud rate.
PWR Illogical HIGH, +5V, used to power the chips and current loop converter.
SHIFT "Shift" key from keyboard.
THREMPTY Transmitter Holding Register EMPTY, the UART is ready to have a character
loaded into it for transmission.
THRLOAD When true, data is latched into the Transmitter Holding Register. On
the transition from true to false, the data is strobed into the
Register (if no character is currently being transmitted).
TOP "Top" key from the keyboard.
WAITER When true, we have just loaded a character into the Transmitter
Holding Register, and better not switch the Byte Select or anything
silly like that.
XMTRQST Means that there is a request to transmit a character, either due
to a keyboard strobe or character received from the host.
This is where some signals are found
name PC board loc BURNDY loc Prototype
(note 1) (note 2) (note 3)
PWR 2 A AA1 (+5V, .9A)
GND 1 B,U AT1 ( 0 V)
STROBE 12 b AB1 (note 4)
META J N AC1 (note 5)
CTRL L M AD1 (note 5)
TOP K L AE1 (note 5)
SHIFT N K AF1 (note 5)
B5(msb) 9 J AH1 (note 6)
B4 10 H AJ1 (note 6)
B3 11 G AK1 (note 6)
B2 5 F AL1 (note 6)
B1 6 E AM1 (note 6)
B0(lsb) 7 D AN1 (note 6)
MRCLOCK - - AF2 (note 7)
CLXMTA - - AB2
CLXMTB - - AC2
CLRCVA - - AD2
CLRCVB - - AE2
note 1: The PC board loc refers to the PC edge connector inside the
Micro Switch keyboard AND the serializer. The serializer
board will be mounted inside the Micro Switch keyboard
enclosure, and a jumper cable will interconnect the two PC
boards. Fingers A:N are on the component side of the boards,
fingers 01:12 are on the solder side.
note 2: The BURNDY loc refers to the pin on the 38 pin Burndy
connectors currently in use (5-Jun-79). Their function will
be replaced by the serializer, and thus they will be replaced.
This info is really only for hooking up the prototype.
note 3: The Prototype loc refers to the location on the DEC-style
wire-wrap panel on which the prototype serializer is (was)
built. It will be flushed even sooner than the BURNDY
connectors (I hope).
note 4: Notice that I really mean lower-case "b" for STROBE on the
note 5: These signals need a 380 ohm pull-up resistor to +5. They
are LOW-TRUE signals as originally implemented, and will
probably remain that way (ie, META of 0V means the META key is
note 6: Throughout this documentation, the data bits are numbered B0
to B5 (B0 is the least-signigicant bit). The Micro Switch
documentation numbers them B1 through B6. Beware when looking
at their documentation.
note 7: This signal appears only on the prototype - it will eventually
be generated by the serializer.