How to "push down" voltage - old keyboard

Thread Starter

voidstar

Joined May 7, 2022
15
The application is an old keyboard from mid-1970's.

The setup is such that from the PSU, it is providing 9-pins of 4.8V to the keyboard, and 1-pin with 8.33V (that's underload, nominal is 5V/8.5V).

I have a working keyboard and used an oscope to monitor behavior. So I'm trying to understand how it is working...

For simplicity, say it just has 4-lines @ 5V and a P (parity) line also at 5V. Then has normal 8.5V, 5V and a ground pin.

When a key is pressed, suppose pins 2, 4, and the P-line (parity) get "push down" to 0.2V (essentially 0, but while under load 0.2V is what I measured).

Also, there is a KBD STROBE line with a similar behavior - only difference is, the "pushed down" voltage stays as long as the key is pressed (e.g. key A), but the probe pulses for about 60ms only once, and won't strobe again until the key pressed is released.

1653895217293.png

So, how does that work? The pressing of the key is setup to induce that much resistance to those lines? Doesn't that mean a lot of lines and a lot of resistors? Is there an easier way? And what modern device could replicate this, i.e. to dynamically apply resistance to a set of parallel voltage inputs?

Thanks!
 

MrChips

Joined Oct 2, 2009
30,720
This is going to take a lot to explain. You need to read up on how digital electronics work. We don’t "push down" voltages. Digital circuits output signals that are either a ”0”or “1” represented by two different voltages. Transistors are used to switch between these two voltages.
 

Thread Starter

voidstar

Joined May 7, 2022
15
Exactly, that's why I put "push down" in quotes since that can't actually be how it goes. I'd understand if the keypress was inline and interrupting the voltage, but then each pin would need its own ground pine also (sort of like a parallel port has). But in this case, the main system is pushing/providing the power over to the keyboard. The pins to the keyboard connector (internal to the system) are exposed at the backside of the mainboard, making it easy to monitor on a scope.


Actually, the 5v from the connector and the system side was observed without the keyboard connected. I'll need to double check that with at least the ground pin connected (tomorrow).
 

MrChips

Joined Oct 2, 2009
30,720
Computer keyboards are not just mechanical push-buttons. They use electronic circuits that convert from switch contact closures to electrical signals.
Furthermore, the keys are encoded into a binary pattern in order to reduce the number of wires in the connection to the computer. Otherwise it would take a ridiculous number of wires to connect 80 keys to the computer.
 

bassbindevil

Joined Jan 23, 2014
824
There were only a limited number of popular keyboard encoder chips out there, and they mostly generated parallel ASCII codes. In the early '80s I adapted a surplus keyboard to work with an Apple ][+ clone using a magazine article which happened to describe that particular encoder chip. But really old keyboards would have generated the codes using logic chips, maybe with an EPROM or PROM as a shortcut.
 

Thread Starter

voidstar

Joined May 7, 2022
15
An MCU like the STM32 with open-drain pin mode support is what I was looking for. I read about them years ago, but couldn't recall the term.

Here is an animation of the concept (made by a friend):
https://tinyurl.com/2nhofp8e

This'll replace a keyboard from an old 70's system (parallel pins, non-ASCII).
 

panic mode

Joined Oct 10, 2011
2,715
not likely. that would require tons of wires. keyboards are generally using keys arranged in matrix with some chip or circuit detecting what key is pressed and communicating via some serial interface scan codes to actual computer. and the mere presence of STROBE is dead giveaway that serial transmission is taking place. also 4-bits are not enough to encode 63 scan codes.

btw. have not looked at things this ancient but the older hardware was well documented and repairable. did you consider looking for actual schematics and user documentation? fir example :
http://www.bitsavers.org/pdf/ibm/5100/
 

Thread Starter

voidstar

Joined May 7, 2022
15
A STROBE doesn't necessarily mean serial transmission. In this case, a data register is set to the desired output state (key scan code), and the STROBE pin is used to signal to the system that the data register has been set and its contents ready to be gated over.

The "4-pin" diagram was just a simplified notional example, where if you have a system that is setting a group of parallel pins (2, 4, 8, however many) high as the nominal state, how does an external device shut any of those pins down? One answer is a type of transistor.

And in this case, the data is sent across a parallel set of 9 pins (8 + parity). And sure, each key has at least 3 modifier values, so 8-pins are needed.

Pin outs and logical block diagrams are well described, but not actual component level schematics.
 
Top