Scanning a cortron Diablo keyboard
Posted: 16 Jul 2019, 01:12
I'm working on restoring and converting a Xerox Diablo 1660 keyboard.
it has ITW/Cortron ferrite core switches.
The board is well documented in manuals and patents.
Upon initial power-up one of the caps smoked, and took out several 74 series ICs on the board.
After desoldering several chips and soldering in sockets I got the board to start scanning the matrix.
Next problem is the MCU (and possibly sense amplifier?) requires -12V supply to work.
1640/1640 variant of the keyboard omits the -12 line to MCU and amp, not sure if this was a process change or an error, but my MCU definitely requires it.
My plan is to remove the MCU, add a socket, and use a CY8C-059 to read the matrix.
I've implemented the timing generator as described in the patents below in PSOC Creator, and attached a link to a test of the state machine below.
Plans for the future:
1. Be able to scan the matrix w/ psoc5
2a. remove all non essential logic and self power over usb
2b. remove non-essential FSM states for matrix scanning (current impl uses 33% of UDBs)
3. Increase scan freq (currently is ~100 scans /sec)
4. Remove sense amp and pulse stretcher, and use ADC to read analog value
5. Make Actuation depth configurable
6. Export PSOC Creator project as Makefile, build on linux, port QMK
Simulating the timing generator:
https://www.edaplayground.com/x/6A8t
maintenance manual/ schematics:
http://bitsavers.org/pdf/diablo/printer ... _Jul78.pdf
Some photos:
https://photos.app.goo.gl/nQNQgrNcEEAYXFCp7
Relevant Patents:
https://patents.google.com/patent/US3978474A/en
https://patents.google.com/patent/US4227163
it has ITW/Cortron ferrite core switches.
The board is well documented in manuals and patents.
Upon initial power-up one of the caps smoked, and took out several 74 series ICs on the board.
After desoldering several chips and soldering in sockets I got the board to start scanning the matrix.
Next problem is the MCU (and possibly sense amplifier?) requires -12V supply to work.
1640/1640 variant of the keyboard omits the -12 line to MCU and amp, not sure if this was a process change or an error, but my MCU definitely requires it.
My plan is to remove the MCU, add a socket, and use a CY8C-059 to read the matrix.
I've implemented the timing generator as described in the patents below in PSOC Creator, and attached a link to a test of the state machine below.
Plans for the future:
1. Be able to scan the matrix w/ psoc5
2a. remove all non essential logic and self power over usb
2b. remove non-essential FSM states for matrix scanning (current impl uses 33% of UDBs)
3. Increase scan freq (currently is ~100 scans /sec)
4. Remove sense amp and pulse stretcher, and use ADC to read analog value
5. Make Actuation depth configurable
6. Export PSOC Creator project as Makefile, build on linux, port QMK
Simulating the timing generator:
https://www.edaplayground.com/x/6A8t
maintenance manual/ schematics:
http://bitsavers.org/pdf/diablo/printer ... _Jul78.pdf
Some photos:
https://photos.app.goo.gl/nQNQgrNcEEAYXFCp7
Relevant Patents:
https://patents.google.com/patent/US3978474A/en
https://patents.google.com/patent/US4227163