Saturday, October 27, 2018

Building DSKY substitute


Building and testing the DSKY substitute

During a trip to Florida with my family, I snuck in enough time to write the code for the substitute DSKY. It will run in an Arduino Mega 2560, not only using every I/O pin on the controller but making use of eight boards connected via serial protocols to control displays and multiplex many signals over a small number of wires.

The 7 segment displays that will show the five digits of registers 1, 2 and 3, plus the two digits of the Verb, Noun and Program, make use of SPI protocol, while all the others hang off a single I2C serial chain. Two boards control the three 14 segment displays that provide the + and - signs on R1, R2 and R3.

Other boards drive the 11 LED indicators, representing the Computer Activity light plus the caution and warning lights. A final board will watch eight discrete signals from the AGC that provide some caution status but also control flashing of the Verb and Noun displays, the Operator Error light and the Key Release light.

Two 4x4 membrane keyboards will provide the 19 keys in approximately the shape and placement of the real DSKY keyboard. 555 timer circuits provide the 1.5Hz flashing rate and some relays provide the interruption to cathodes of the displays which must flash.

I had discovered that the signals coming to the DSKY from the AGC use 28V and 0V as the logic levels; my outputs must also conform to the 28V levels. This means I need some interface circuitry to deal with the voltage difference between Arduino and Apollo DC bus levels.

We chose to implement the exact circuits used in the DSKY as well as through the CM and LM spacecraft, to minimize the risk of damage to the precious AGC. My outputs to the AGC can be accomplished with a relay and resistors, the relay in place of the keyboard switches used in the real DSKY, but the inputs are more complex, involving transistors and other components.

I expect to design and fab out a board using surface mount parts to support the 23 signals coming from the AGC - hopefully I can get this done quickly.

I began testing today, working on the logic and the interfaces to the boards for the displays and keyboards. More tomorrow. 

No comments:

Post a Comment