Sunday, October 28, 2018

Continuing to construct and test the substitute DSKY for the Apollo Guidance Computer restoration


DSKY simulator construction and testing

I tested out my three I/O pin expander boards, used to read 8 input signals from the AGC and to drive 11 LEDs on the display. There are two variants of the chip used on the expander module, TI and NXP, with different addressing. I found the correct addresses and checked out the operation of the circuits.

Next up is some challenging construction - removing the 14 segment alphanumeric display units from the driver board so that I can remotely mount these as signs in front of the three register rows. I built one of the drivers with header pins rather than mounting the two dual-display modules on it, but the other driver had its segments already soldered on.

I used my desoldering gun carefully and hoped to get at least one dual-display module workable with the board using headers and wiring.  I eventually had the dual display modules off but the board holes were just too snug to put in the headers as I did on the other board. For this board, I had to solder on 18 discrete wires which will be routed to the third sign digit. I was successful and tested all three sections proving I had working signs on the three registers.

I had wanted to use large 7 segment displays for the DSKY simulator, but when I bought the combined MAX7219 driver board and displays, the board used quad display modules not individual modules. I think I can figure out how to adjust the wiring to make these work with individual display modules,as I don't want to be stuck with the small displays.

I moved on to the 7 segment driver boards, removing the quad display modules and installing header strips. I was able to successfully test all of these using individual 7 segment display modules.

At this point, I stuck the driver boards for  both 7 segment and 14 segment displays onto my breadboard, then began to install point to point wiring from headers to the individual display segments.

This was a very long involved process, very tedious. Every 7 segment display had to have its 8 segment anodes daisy chained to the others in its group, then the cathode lines were routed to each display. Since the Verb, Noun and Program display digits are electronically hosted on the 7th and 8th digits of the Register 1, Register 2 and Register 3 driver boards, but are not adjacent physically, this meant more ugly wires routed between sections of the breadboard.

I decided to solder wires to the headers rather than use separate connectors, which cleaned up the mess of wires on the breadboard but made it harder to maintain. Too, I figured out some optimizations that allowed me to skip some pins on the headers because they are not active. For example, the sixth display of each register driver board is not implemented - registers have five digits and the associated verb/noun/program display is two digits.

Further, I realized that the headers on the driver board have 24 pins but only 16 are needed. The other eight are duplicates of the segment anode lines. I then turned to the sign driver boards to make a similar optimization but realized I only save two wires over the naive connections so it wasn't a high value effort.

I had Register 3 and its associated Program display wired up by the end of the day, but have some wiring errors to discover and correct. Tomorrow, when I get this working, I can move on to wiring the other two registers and their related displays.

I have not yet begun to build the LED panel (the location of the caution and warning lights on the DSKY. These include Gimbal Lock, Temp, Operator Error, Key Release, and Program alarms. These are driven by two 8 channel expander modules on the I2C serial chain; the boards are tested and work. Still, they need an LED and a resistor for each of the lights they will drive.

One signal on the expander is actually a control signal to cause the Verb and Noun digits to flash, something I will cause by interrupting the common cathodes of those four 7 segment displays with a relay. The relay in turn will be activated by the timer board that is triggered by this control signal.

Two other timer boards are triggered by the OprErr light and the KeyRel lights, thus these will piggy-back off the wiring to those LEDs.  The timer boards and extra relay module have not yet arrived so this is deferred for a few days.

No comments:

Post a Comment