Friday, November 1, 2024

Card now passes tests on bench. Final tests to be done, then ready for installation in my machine

CARD MODIFIED AND RETESTED ON THE BENCH

With all the bodge wiring the card was ready for the full set of tests. I verified every aspect of the card, from the output to the 1627 through all the signal timings. The sense device bits are correctly generated, operation response, busy and plotter not ready. Injecting -24V turns on the plotter ready status.

The drum and carriage movement commands pull the output line, normally sitting at +12V while idle, down to ground for 1.9ms. The busy state continues for an additional 1.9ms, a total of 3.8ms. The pen up and pen down commands pull the normally 12V output lines down to ground for 50ms and keep busy status for an additional 50ms. The additional time covers mechanical movements in the plotter. 

Issuing any of the six movement commands turns on the outputs for the target duration and triggers an interrupt on level 3. When a Sense DSW is issued, if an interrupt is requested then it returns operation response (bit 0). If the reset bit 15 is set during the Sense DSW, the op response status is reset and the interrupt request is dropped. 

The timing of the pen movements was a bit long, at about 63ms instead of the ideal 50ms duration. I adjusted the resistor value for the two 122 chips that handle pen movement, making the duration match the specification. 

I carefully checked every one of the six movement commands and all of the DSW bits generated for a Sense Device. This card now produces the same results as the IBM 586223 card we are replacing. 


As a result, I transmitted the updated PCB design to JLCPCB. I also updated the bill of materials for the components to match the adjusted values and to drop the unnecessary 74LS04 chip then ordered another set of components.

HOOKING UP ELECTRONICS OF A 1627 TO VERIFY IT TRIGGERS FROM MY CARD

I have a disassembled 1627 plotter, because the drum is mangled. I can apply power and attach the new card to the device to see how the electronics behave. I should see movement of the servo motors based on setting up a value on the associated B register bit and raising XIO Write, Area 5 and T6 to trigger the card. I also should see the -24V coming from the plotter causing the card to report that the plotter is ready for use. Conversely, when -24V is detached it should report the plotter as not ready.

TO INSTALL THE CARD IN AN 1130, CABLING AND CONNECTORS WILL BE NEEED

A cable would plug into a socket in an 1130 card compartment and run over to the SMS card connector area of the machine. A female SMS socket would be needed in that area to allow the 1627 to plug in, via a male SMS card. I will work on these once the 1627 is restored to operation. Mainly it is waiting on a replacement for the drum, which I will need to have made. 

Bench testing the replacement 5806223 card for correct functionality - found error

SET UP THE CARD ON THE BENCH AND POWERED IT

The card has a number of input signals:

  • -DC Reset which is held low when the machine first starts
  • -B Bits 0, 1, 2, 3, 4 and 5 which indicate requested plotter movements
  • +XIO Write
  • +Area 5
  • +T6
  • +XIO Sense Device
  • +XIO Sense Device with Reset 15
  • -24V from the plotter

It produces six outputs where +12V will drop to 0V for short periods to command the 1627 plotter. It also generates a request for an interrupt on level 3 and outputs status bits 0, 14 and 15 when an XIO Sense Device is executed. 

I wired all the external connections with wire wrap (30 ga) wire, except for the +12V and ground lines which use 26 ga wire. These will be soldered onto the appropriate pads of the donor SLT card to connect the signal to the desired SLT connector pins. 


RESULTS OF TESTING

So much was working properly, but I stumbled on a problem where anytime the B register bits go on, it will trigger movement of the 1627, not just during an XIO Write to the device. This was the result of my misreading the datasheet and I didn't catch the error when I breadboarded everything.

THE ISSUE IN TRIGGERING THE 74LS122 SINGLE SHOT

I have 122 chips that should fire off a short pulse when the CPU is executing an XIO Write, for Area 5 (the plotter), during time step T6 and the B register bit is on for that requested movement. If the B register bit is not on, nothing should happen. Importantly, nothing should happen if we are not executin the write command. 

As I looked at the function table with its four inputs A1, A2, B1 and B2, I simply misinterpreted it. I had hooked up the B register bit to input B1 and input A1 would be high when the write command was executing. 


The third line in the table shows that when B1 is low, the outputs is off. I took this to mean that B1 was a gating input, when low nothing would happen. I should have looked carefully at the dagger symbol † because it is only true about retriggering, once some set of inputs fired off a pulse. 

Once a pulse is fired, if neither of the A inputs is high and neither of the B inputs is low, the chip will repeatedly fire off pulses until the inputs change. If an A is high and/or a B is low, this is a single shot, not repeating. 

If you look further down the table to the fifth line, you will see that even when A1 is low (not a write command), a rising edge on B1 will fire off a pulse. Thus any time the B register bit goes high, its leading edge causes this chip to fire off a pulse. Not at all what I intended.

MISSED DURING BREADBOARD TESTING BUT SPOTTED WHILE BENCH TESTING

Somehow the way that I set up the inputs to test the circuit while it was breadboarded didn't toggle the B register bits. I either set it up with the bit on, or the bit off, and activated the write command signals. It must have misbehaved but I wasn't watching carefully. I only verified that the pulse reliably set the flipflop for the 1627 movement comment and emitted the signal to that device for the desired time period based on another set of 122 chips. 

While bench testing, as I slide the switch up to turn on the B register bit, the pulse fired and turned on the flipflop, in spite of the A1 signal indicating that we were NOT in a write command. I set up a 122 chip back on the breadboard and exercised it to confirm to myself that the function is not what I had assumed. 

ALTERNATIVE WIRING WILL ACCOMPLISH THE SAME OBJECTIVE

Looking at the function table, I realized I could use the CLR input as well as some changes to the A and B inputs to accomplish my goal. Specifically, B1 is set high, as were B2 and A2 already, then when the CLR is released (rising edge) if A1 is low, the pulse will be emitted. 


The CLR pin is wired to the write command condition - it is low except when an XIO Write to Area 5 occurs during T6 when it goes high for the length of T6 (450 ns). If A1 is low at this time, I get a pulse. The input signal is actually -B Bit n so that it is low when the bit is on. The input is wired directly to A1 of the 122 chip. 

The prior implementation required me to invert all the -B Bit n signals since I believed I needed a logic high to fire off the pulse. I can therefore eliminate entirely the 74LS04 chip U4 from the design when corrected. 

BELIEVE I CAN BODGE THIS BOARD TO VERIFY OPERATION BEFORE I ORDER NEW PCBS

If I cut the traces to the CLR, B1 and A1 pins of the six 122 chips responsible for requesting the six 1627 movements, bodge wires could bring the intended signals to the chip. When I look at the PCB design, however, the connections for the CLR pin (pin 5) cause difficulties. A1 and B1 are routed out from the chip so that I could cut away the traces. CLR is routed underneath the chip and in a number of cases, is part of an integral path bring +5V to other pins on the chip so it can't simply be severed. 

What is possible is to lift pin 5 on those chips, so that the CLR pin does not contact the pad below that is at +5V. Tacking a wire to the lifted pin will give me the means of accomplishing my bodge. I will put an insulator (something like nail polish) on the pad to avoid accidental connection of the +5 to the CLR pin. 

WILL RESPIN THE PCB DESIGN, WAITING TO SUBMIT UNTIL REMAINING TESTS DONE

In addition to the removal of U4 and the wiring changes for the six 122 chips I detailed above, I found that one of the external signal pads was labeled incorrectly. It should read -DC Reset but is +S reset instead.