Monday, August 8, 2016

2114 Ram Chip

I always had an itch to mess around with some memory both RAM and ROM. I really wanted to just be able to read/write from the memory really fast. Thankfully I had these old, early '80s, ceramic ram chips in my garage electronics cabinet. I quickly grabbed one and pulled up the datasheet.
ADDRESSING:
I read over it and looked at the pinout to see if it was manageable for my ability to work with electronics. I saw it was a parallel addressable I/O with 8 address pins and 4 I/O pins. The I/O pins are 3 state pins. I looked at the block diagram and had a little trouble understanding it. I scrolled down to the bottom of the datasheet and saw a interesting memory diagram. Pictured below. I was very confused. I was thrown off at the A0 A1 A2 A9 being at the bottom of the memory and the rest of the addresses at the top. I scratched my head for a while. Then figured I'd look at the datasheet. Still confused I then noticed the 4 column addresses A9A2A1A0. So
A9A2A1A0 could hold 4 bits. 0-15 in decimal. And 64 high in the column. I don't exactly still know why each column is a separate I/0 because the data is not serialized, only paralleled meaning each I/O can only represent a 1 or 0 at a time. That made me a little weary but I decided to press on.



  

Timing:

Next up was timing, how was I going to read and write into the chip and tell it to respond to my every command? The chip is pretty simple, there's 2 latches. One labeled W and one labeled S. To read,
W had to be logic high and S just had to go low. As long as there was a crossover between them you could read. To write was a bit more complicated with a few added steps. First, S and W need to be high. Then input the logic high/low onto each corresponding address bit. REMEMBER: A8-A3 were column addresses. So that allowed us 64 columns high. A9,A2,A1,A0 allowed us 16 memory locations of 4 bit words. So the chip was capable of 1024 four bit words or 4096 bits!



I figured I'd wire up the chip to a breadboard and put in some dip switches! Here was the result:

It worked to an extent. It was noisy but I could certainly read and write from various memory banks. I then figured I'd write a little code on my STM32 microcontroller and really get this puppy going. I'll save that for the next post!

Intro

Hello reader,

This is my blog on my electronics projects both successful and unsuccessful! I will try to document every aspect of my various projects and post photos.