Saturday, August 9, 2025

More testing of the 1130 MRAM memory replacement board - part 1

BOUGHT SMALL 3.3V REGULATOR AND HOOKED UP TO CONTINUE TESTING

I discovered that I had downloaded a footprint for the inductor from a third party that did NOT match the inductor part I bought. I searched and found an accurate footprint, which matched the real world inability for the part to be soldered onto the board. I would have to relocate nearby components and make other adjustments to be able to fit the inductor onto the board. 

Rather than trying to desolder the chip, with all the nearby components being disturbed as well, then go through the attempts again, I went a different direction. While I tried to be ultra efficient with the power supply for this board, it is peripheral to the real functionality of the board. It isn't worth battling this when the extra heat and power consumption of a linear regulator is insignificant in the larger picture of the 1130 system. 

I cleared all the parts off the board from the power supply in preparation for moving forward with the next section of the board's construction and testing. As soon as Amazon delivers the regulator I can wire it into the board and test what I have installed. 

CONTROL CIRCUITRY INSTALLED AND PARTLY TESTED

The heart of the functionality is the control logic. This consists of two chains of timers, each with two SN74LVC1G123 timer chips. These are interconnected with a number of logic gates to produce the gating and control inputs to the memory chip and buffers. 

The timer chips are also extremely teeny, an 8-VSSOP package. This has the same pad width and pad spacing as the ultra annoying LFQN power supply chip footprint, but this has leads sticking out from the side whereas the power LFQN part has no leads so the solder must flow underneath to bond. It was much easier to get this wee little part soldered correctly. 

Due to the small size of the pads - .25mm width - no Weller soldering iron tip is narrow enough to fit on these; it would take a tip that was about .15mm to .20mm wide to properly fit, but those don't exist. Equally, my probes on the meter are gargantuan in comparison and don't fit down in the angle between chip and lead. At least for the leads I used thin wire as an extender for the probing. Hot air reflow of solder paste did the job for the soldering task.

Since the timer chains trigger on the rising edge of the Storage Read and Storage Write signals, I tested the timing first with a debounced button on a prototyping tool I own. The timer waits 620 ns then emits a 115 ns pulse. During the pulse, on a read, the -Sense Bit x line is pulled to ground if the bit read from memory was a 1, otherwise it stays high. During the pulse, on a write, the memory chip is told to write the data that was incoming from the -B Bit x signals at the address set up by the Storage Address Register bits 3 to 15. 

The intent was to achieve an 800 ns delay then emit a pulse that is only 80 ns wide, so I have some tweaking to do with the resistor and capacitor values in the timing chain. I will experiment with this until I get close to the target values. Note that the board would work properly with the values I observed, but I would prefer to achieve my design times. 

The board receives three control signals from the 1130 CPU. Storage Read and Storage Write alternate each lasting 1.8 microseconds. A memory cycle on the 1130 is a storage read followed by a write, thus the cycle lasts 3.6 uS. Each cycle either has Storage Use on or off for the 3.6 uS - when it is off, we should be ignoring any data or addresses from the CPU and should not be driving any signals on the sense lines back to the CPU. 

We want to see the appropriate state for the memory chip E (enable), G (drive output with contents of memory) and W (write input data to memory). We also want to see that the output buffers to the sense lines are activated at the appropriate time, and that the input buffers to put data onto the memory chip pins are activated at their appropriate time. 

CODING THE TEST DRIVER TONIGHT TO CONTINUE THE TESTING

I have an Arduino Due which uses 3.3V signals, compatible with my board. I will write code to generate the exact pattern of alternating 1.8 microsecond Storage Read and Storage Write assertions. It will run with Storage Use turned off for several cycles and then turn on Storage Use for the remaining test time. 

No comments:

Post a Comment