Cores, light bulb goes on ...

From: Chuck McManis <cmcmanis_at_freegate.com>
Date: Mon Apr 26 16:51:16 1999

Core memory, the saga continues.

Ok after spending much of the weekend trying to get my core driver working,
and feeling really good about having all the parts I needed in my spares
box, I realized I had built half of an h-bridge. Since I had already
designed a really nice MOSFET based h-bridge that could switch 10 - 15 amps
for my robots I slapped my head and went "Doh!"

Anyway, so I wired up my #2 nut with sense wire to the h-bridge and start
slapping current back and forth through my nuts. :-) Seriously though when
viewed on 'scope it looks something like:

     +--+
     | |
Ch1 -+ +----+ +-----
             | |
             +--+
     +--+
Ch2 -+ +----+ +-----
             +--+

UNTIL you get to about 7.5 amps or so, and then it looks like:

     +--+
     | |
Ch1 -+ +----+ +-----
             | |
             +--+
       +--+
Ch2 ---+ +----+ +-----
               +--+

So I stared at it a bit and the little bulb went on between my ears.

The first pulse "writes" a zero to the core, if the core is either already
magnetized with a zero, or has nothing in it, then the sense line sees the
deta-B (change in magnetic field) and a current is induced in the wire.
When the second pulse comes along it "writes" a one into the core, same
effect on the sense wire. The clever part comes when your "write" a zero to
a core that has a one already written to it.

In this case the current in the wire induces its standard magnetic field,
but that field is _cancelled_ by the field already in the core, thus for a
period of time the sense line sees no change in magnetic flux, and so no
current is induced. Then however the core switches to 0 and the sense wire
sees that change in flux and out comes the induced pulse now delayed from
the initial point by a time controlled by how long it took to saturate the
core and switch it.

The gap between the pulse start and the sense pulse is used to tell whether
or not the core had a 1 in it. Now in the DEC design what happens after the
read pulse (which is really a "write zeros" pulse, is they take the data
they just read and re write with the write ones pulse. However this time
since the sense lines aren't needed to figure out what the cores had in
them, they use them for "inhibit" currents.

Remembering that the cores were all written to zero by the 'read' when the
write 'ones' pulse comes along you don't want it writing cores that you
want to keep zero (they had zero before). So a current that is in opposite
direction of the write current is sent down the sense lines where zeros
should be kept. The magnetic field generated by these "inhibit" currents
cancel the magnetic field created by the "write ones" current and thus
prevents those cores with a 'zero' in them from being written to '1'.

--------------------------
Cool stuff, now it raises some new questions:
        1) Do you want your pulses to be long enough to switch the
           core exactly, or longer? (eg does writing a zero just cancel
           a one or does it cancel the one and write a zero in its place?)

        2) Why not just gate the write one current pulse? That would save
           on the inhibit current stuff.

        3) What properties of a material make it easier to switch at lower
           currents? I don't want to build a core plane with nuts if I need
           8 amps to switch them.

--Chuck McManis
Received on Mon Apr 26 1999 - 16:51:16 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:31:46 BST