[GreenKeys] Full duplex KSR interface board
John Nagle
nagle at animats.com
Mon Sep 16 14:48:09 EDT 2013
> From: Trammell Hudson <hudson at osresearch.net>
> To: <greenkeys at mailman.qth.net>
> Subject: [GreenKeys] Full duplex KSR interface board
>
> Thanks to Doug for two Model 15 KSRs, this weekend I was able to add
> support for 45 baud KSR models in my USB interface board so that they
> show up as full-duplex serial devices: https://vine.co/v/hnTuKpXtYlu
>
> I'm planning on laying out a PCB for folks who want to make their own
> versions. It's quite a bit easier to interface with modern hardware
> since all of the code conversion and non-standard serial rate handling
> is done in the dedicated real-time microcontroller.
>
> More details on the current loop interface and boost converter board:
> http://45baud.net/Boost_converter
That's great!
A few things to consider in designing a board for wider use:
- Keyboard contacts on older Teletypes were not designed for
low voltages. They get dust and oil in them, and running on
100V loops would burn through the dust and oil. If they're
run on 5V at very low current, they can be intermittent.
(This was a big headache when cars started having low level
signals at switches. It's even mentioned in a NSA publication,
because they tried using low voltages and currents to prevent
detectable RF emissions that could be intercepted.)
It's useful to have a higher voltage
at the keyboard, although it doesn't need a full 60mA
behind it. Or just get a contact burnishing tool and clean
up your contacts occasionally.
- The circuit could use some snubbing of the kickback from the
selector magnet. 100 ohms in series with a 1000pf 500V ceramic
across the selector magnet seems to work. Check that you're
not propagating spikes back into the +5 supply; if someone
runs this off a USB port, some USB devices won't like it.
- There are three code sets commonly found on Teletype machines:
USTTY, ITA2, and FRACTIONS. Here's a code chart:
http://www.aetherltd.com/ttyfonts.html
Bell System and military machines used USTTY, and Western Union
used ITA2. There's also a WEATHER code set, with weather symbols.
Supporting USTTY and ITA2 is probably sufficient.
- At end of line, when sending CR, send a few LTRS characters to
allow for carriage return time. Two is usually enough. Don't
send NUL; multiple NUL characters will trip the Send/Receive
lever to Receive on a Model 15.
- It's useful to provide an output which brings out Request To
Send as a 5V output. That allows connecting up a relay to
turn the motor on and off. Allow about 3 secs for motor power up
before sending, then send CR LTRS LTRS to get the machine into
a known state.
John Nagle
More information about the GreenKeys
mailing list