6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Tue Sep 24, 2024 11:19 am

All times are UTC




Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: RAM, without the RAM
PostPosted: Wed Nov 24, 2010 5:12 am 
Offline

Joined: Mon Mar 08, 2010 1:01 am
Posts: 142
So I was doing Pneumatics at my college, and we were discussing relays, (have been actually since the start of the term). And I got to thinking I could make relays work as memory modules in a computer system the last 3-4 weeks.

After all they are on-off, and although we can use relays that have stay on features after the power goes out on it, I couldn't find anything small enough, but I found these little relays that fit in a 14-DIP socket so I decided to use them.

My first design showing 2 rows (ie 2 bytes) of data:

Image

Close up of the system:

Image

As you can see, I used 2 transistors to allow easier power up of the relays, although they do not require much power to turn on, I figured if I had assembled these onto boards, such as in a STD Bus computer, I may have issues with the ability of the processor to switch on the relay, hence the transistor shifting done in the above pictures.

For simplicity's sake I decided not to show the relay's switch that actually produces a data value when being read. Which consists of a transistor and the switch in series, when the CPU is reading one byte of data, all the transistors would turn on, and with the relay switch being active, it would feed the CPU the values stored in the relays.

If that turned out to not be a problem, then I could go with a simplified system set up:

Image

So only the relay, one transistor, and one NC switch is required.

Although probably only useful for very slow computer systems (1Mhz tops most likely if not in the Khz range. :? ), I've always wondered how to make a macro version of memory and I think this is it, add a bunch of LED's to the Data out lines of the relays, and you can amaze people as they quickly switch on and off.

However due to the nature of the units, it would "eat up" quite a bit of PCB space to get the system holding any decent amount of Data. When I get some time I'll model it on some PCB software to see how much data I could possibly fit into a STD card size. Might make for a good "demo" system, to show people physically what a computer does with its 1's and 0's on memory media.

PS. If you noticed I didn't spec out the transistors, not sure which ones would be best for this application.

Dimitri


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Nov 24, 2010 6:15 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8514
Location: Southern California
I've designed these Takamisawa SY-12-K relays (SY-5-K would be the 5V version which you would probably want) into many products, for routing an audio signal:

Image

(I use the relay because the normally-closed position must be able to work without power and without introducing any distortion.) In the picture, they show up approximately actual size on my monitor. The two rows of pins are .2" apart and the relay is less than 1/2" long. Another manufacturer's version is .100" shorter. It's 1 form-C. I've seen ones in TO-5 cans from Teledyne but the cost was astronomical. We use the high-sensitivity version for lower coil power, but switching speed is not an issue in our application.

For reducing power requirements, you can put a capacitor and resistor and diode in the coil circuit so the full coil current is only applied for the instant it takes to pull the armature in. The current needed to keep it pulled in after that is much lower. In your case you probably don't want all the extra parts though. Regardless, do put a diode across the coil with the cathode on the positive side to cut the voltage spike to the driver when you cut the coil current.

YouTube has a lot of videos of relay computers. They are huge, do very little, make a lot of noise, and take a long, long time to do a very simple calculation job.

If you had to do things the hard way for the sport of it, or the historical attention, you could do it much, much cheaper with transistors in a TO-92 package, like the 2N4400 which will cost 1%-2% as much as the relays. Even tubes would be a lot faster than the relays but the cost and availability of the tubes and sockets will be even more of a problem!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Nov 24, 2010 10:11 am 
Offline
User avatar

Joined: Mon Dec 08, 2008 6:32 pm
Posts: 143
Location: Brighton, England
GARTHWILSON wrote:
If you had to do things the hard way for the sport of it, or the historical attention, you could do it much, much cheaper with transistors in a TO-92 package, like the 2N4400 which will cost 1%-2% as much as the relays. Even tubes would be a lot faster than the relays but the cost and availability of the tubes and sockets will be even more of a problem!


If you ever get the chance, visit the re-built Collossus computer at Bletchley Park. It's been built using period (1940's) components. It generates 5kW of heat and to preserve the valve heaters, it uses a motor-driven variac to bring the heater power up slowly over 1 hour - so it still boots up faster than Windohs!

_________________
Shift to the left,
Shift to the right,
Mask in, Mask Out,
BYTE! BYTE! BYTE!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Nov 24, 2010 4:41 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
I remember building a relay-based memory cell with my old 200-in-1 kit from Radio Shack years ago.

I would suspect the operating speed would fall in the kHz range, due to RL time constants (we normally think of RC time constants, but RL exists too!).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Nov 24, 2010 11:29 pm 
Offline

Joined: Mon Mar 08, 2010 1:01 am
Posts: 142
Garth,

Never did think of using transistors alone as storage devices, cause really I've seen schematics of computers doing them with floating gate PN, but I've got no idea how to accomplish that using NPN or PNP transistors. I've only ever used transistors as switches not much more so sometimes I am stumped about using them other ways.

I was really just thinking of a storage device, not the whole computer, with maybe enough memory to make lights flash with some address space on the relays and using a 6502 or 65816 for the computer itself.

kc5tja,

Still I am thinking, only write times might be effected due to the delays. You'd need to clear the relays by applying power to the QB104Z Normally Closed switches, which cancels out the relay feeding itself power. Then you'd have to keep the I/O lines active long enough the relays can switch.

The relays themselves list a "on" time of .5ms which is not too bad. As that includes a 40% over drive to make sure the relay is on and will reliably switch on. Giving me a speed of up to 2 Khz (I think since it would be 1 / .0005).

So in theory, since I made them dominating on, I could do the reset line to the I/O lines that work off the QB104Z as the power to the data lines go on, and then as long as the I/O lines last longer then the reset line data will be written.

Once data is written to the system however, the data's availability for reading is only based on how fast a bunch of 74'244 (I think they would be best anyways) can activate the lines feeding the data back into the data bus. Based on its address being decoded then fed to the appropriate '244 to allow the data from one set of relays to be outputted. As once the relays are set to On or off, reading is just passing current from the one switch (these relays have 2 that will turn on when the relay is activated) to the '244 and to the CPU. With no "switching" of the relays being required.

Dimitri


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 25, 2010 1:39 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8514
Location: Southern California
Quote:
The relays themselves list a "on" time of .5ms which is not too bad. As that includes a 40% over drive to make sure the relay is on and will reliably switch on. Giving me a speed of up to 2 Khz (I think since it would be 1 / .0005).

You need some time to turn it off too, so after you add that plus some set-up and hold time for relays in the driven circuits, a few hundred kHz might be tops.


Top
 Profile  
Reply with quote  
 Post subject: Click-Clack
PostPosted: Thu Nov 25, 2010 1:46 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8392
Location: Midwestern USA
Way back in 1959, as a high school science project, I built a simple relay "computer" that could add two numbers and display the results as binary using some panel indicators. You had to mentally translate the result to decimal. Later on, I devised a relay flip-flop that was essentially a single input S-R circuit, and always powered up into the reset state. I have a U.S. patent on that circuit (now expired), which was used in some commercial applications in the early 1970s.

Use Potter & Brumfield R10 type relays, the average actuation time was around 10-12 milliseconds. A ripple counter with a number of stages had a noticeable lag from end to end. I wouldn't want to have to manage the company books with a computer built with relay flip-flops for core—it would take all day to calculate one paycheck. :)

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 25, 2010 3:18 am 
Offline

Joined: Mon Mar 08, 2010 1:01 am
Posts: 142
GARTHWILSON wrote:
You need some time to turn it off too, so after you add that plus some set-up and hold time for relays in the driven circuits, a few hundred kHz might be tops.


Your being generous considering I figured due to the ON time of the relay's I'd have to go down to the 2Khz range to get them working, never mind 100Khz or more. :shock:

BigDumbDinosaur,

It appears Tyco bought out P&B. But I am looking at the catalog right now. Seems to have multiple relays built into one unit, up to 4 poles on the R10S sensitive relays.

Dimitri


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 25, 2010 4:22 am 
Offline

Joined: Mon Mar 08, 2010 1:01 am
Posts: 142
I was looking transistor based RAM only, such as DRAM and SRAM.

SRAM requires 6 MOSFETS per bit of data its storing, so a package of 2,000 TO-92-3 cased MOSFETS at Digikey is 138$, at a very low price each, which is only goo for 41 bytes of data! Looking at the STD boards from Vector, with approximately 1,750 holes in the board, I still only have enough space for 12 Bytes of Data, assuming I only use each and every hole as mounting locations for the MOSFETS! :shock:

So looking at it, DRAM seems attractive, one transistor and one capacitor, however it requires fancy memory management modules to keep it going, which is why as I understand it most of you use SRAM in your computers.

However even with DRAM, again assuming only space for transistors and capacitors, no memory management what so ever, I can get 42 bytes of data on one of the Vector Electronics boards.

So I think I will just throw something together, of say 4 bytes of information, and use a diodes to visually show the data as its cycling from "storage space" as the 65C816 computer will end up seeing the array. Cause it will still be in a way RAM even if I add the diodes.

Dimitri


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 25, 2010 7:35 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
You could also use magnetic core memory.Core memories pack a decent amount of bits in a small space, much more efficient than transistors.

You can buy old boards on Ebay.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 25, 2010 8:04 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8514
Location: Southern California
Quote:
You could also use magnetic core memory. Core memories pack a decent amount of bits in a small space, much more efficient than transistors.

Ah yes, surprisingly space-efficient for the tiniest cores. I had a technician in the mid-1980's who had, years earlier, worked on core memories, and said they could get 64KB in a 6" or 8" cube. The cores retain their state without power, but a read is destructive, so after reading, you have to write the data to it again.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 25, 2010 1:22 pm 
Offline

Joined: Mon Mar 08, 2010 1:01 am
Posts: 142
I've always been interested in Core memory, as its the precourser to current magnetic memory technology.

However, as you said Garth the read is distructive, which means a memory control unit is required.

There is time to time of OEM tin cans of the little magnetic disks that come up on Ebay. However I did not purchase some the last time it got onto the site. And I have not seen any for a while.

Dimitri


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 25, 2010 1:51 pm 
Offline

Joined: Fri Jun 27, 2003 8:12 am
Posts: 618
Location: Meadowbrook
If you get back to relays as memory, I would expect a speed of 3 -5 Hz, due to relay contact cycling time. Thankfully, the 65C02 can run to much slower speeds, playing around with single stepping mode. Would make a great proof of concept gig for education, perhaps?

_________________
"My biggest dream in life? Building black plywood Habitrails"


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 25, 2010 5:05 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
One memory technology I've wanted to play with is the use of little see-saws. A binary 1 would, for example, have the see-saw leaning left, while a 0 would lean it to the right. I'd probably use an electrostatic activation force, instead of electromagnetic, to keep the physical size down.

Core memory has always interested me as well.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 25, 2010 5:36 pm 
Offline

Joined: Tue Nov 18, 2003 8:41 pm
Posts: 250
GARTHWILSON wrote:
For reducing power requirements, you can put a capacitor and resistor and diode in the coil circuit so the full coil current is only applied for the instant it takes to pull the armature in. The current needed to keep it pulled in after that is much lower.


Haven't you guys ever heard of latching relays? :)


The first digital circuit I ever built was a 4 bit binary adder made from
reed relays.
Radio Shack used to sell reed relays that were just magnetic reed
switches (without any coil) They'd obviously been clipped out of
something, the leads were 1/4"-1/2" or so. I think about half of
them didn't work at all.
We had to wind our own coils and felt very clever about the XOR
gates (two windings driven in opposition)
I don't remember the circuit. My recollection is that there were
eight relays per bit, but I can't think why that would be


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 123 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: