Tuesday, October 22, 2024

Continued breadboard testing of the logic for the replacement controller card for the 1627 plotter connected to an IBM 1130

ADJUSTED COMPONENTS TO ACHIEVE EXACT TIMING REQUIRED

The 1627 plotter requires that the signal lines to command movement of the carriage and the drum be pulled low for specific lengths of time and that the controller maintain the busy state until the plotter is (probably) done with its motion(s). The duration is 1.9ms for the trigger and another 1.9ms until the busy condition goes away. 

The commands to put the pen down on the paper or to raise the pen above the paper surface require a longer trigger and take more time to complete. These two signals need 50ms for trigger and another 50ms to cover the rest of the  mechanical motion. 

I tweaked the capacitor and resistor values until I could see the durations I wanted on my oscilloscope. The shorter duration is achieved on a 74ls122 with a 330 nF capacitor and 18K resistor. The long duration for pen movement requires a 10 uF capacitor and 22K resistor. 

DISCOVERED A MISTAKE IN MY UNDERSTANDING OF THE 74LS122 CHIP BEHAVIOR

The pins for attaching the external timing components are labeled R/Cext, Rint and C so I incorrectly assumed that the resistors go between R/Cext and Rint. That is not correct, Rint is only connected if using the internal resistance rather than an external resistor. Instead, the resistor is attached between R/Cext and the VCC pins. 

WHAT IS VALIDATED AND WHAT REMAINS TO TEST

Pulses are produced reliably and for correct durations. The flipflop that is set when the pulses start is reset at the end of the first duration (1.9 or 50ms), just as with the IBM designed controller card. The triggering only occurs if the bit for that signal is on in the B register when the machines sees an XIO Write for Area 5 and it is clock stage T6. 

I need to put together the logic with a flipflop that is set for Operation Response, to request an interrupt on level 3 and to be reset only when the CPU issues an XIO Sense DSW with B register bit 15 set. 

Also, whenever an XIO Sense DSW is executed, I need to gate the various conditions properly onto the IO Bus so they are visible to the programmer. The busy condition should be passed to bit 14, the operation complete status should be passed to bit 0 and bit 15 should be raised anytime the plotter is not turned on.

The detection of when the plotter is turned on involves receiving the -24V supply voltage from the 1627, which goes through a resistor divider network up to a +12V supply inside the 1130. Thus, when the plotter is not turned on, the circuit sees 12V but drops to a negative voltage when the plotter outputs its -24V. I worked out circuitry to convert this to safe voltages, either near zero or somewhere a bit under 5V when the plotter is not turned on. I have to verify this to be certain that my logic chips won't be damaged by voltages outside of safe ranges. 


No comments:

Post a Comment