Saturday, June 2, 2012

TC5514APL-3 SRAM tester

Ok, this may seem a bit silly...
I recently purchased a tube with 20 pieces of TC5514APL-3 1024x4bit SRAM.
That's 4kbit, or 512 bytes if you will... Access time 300ns.
It's an 18-pin DIP chip.
Why would anybody want an old crappy memory like that?
Well because it's used in some old synthesizers of course!

As far as I know, it's used in the Korg Polysix (that I own) and the Korg MonoPoly.
Probably more machines than that. Or at least it might be possible to use it as replacement for other similar memory chips in other synthesizers.

Aaanyway... How do I make sure they work?
I don't want to open my Polysix, remove my chip, put a socket in its place and use the Polysix as a testbed for them. Also, that's not a fun way to test them.
Now I have an excuse to start yet another project: The TC5514APL-3 tester! :)


How?

Yeah, how? I've never tried programming Atmel AVR microcontrollers such as the ATTiny and ATMega series.
On the other hand, I didn't feel like spending money on buying a new programmer.
I already have a programmer for Microchip PIC microcontrollers and I also have a few of their microcontrollers. Cheaper solution for me at the moment. So.. That's what it'll be. Atmel will have to wait.

I was thinking of using a PIC16F685, since it's the one with the most I/O pins (18 of them) I have at home at the moment.
How should the tester work. Well, I am just going to fill the SRAM with 1's and read them all back, repeat with 0's, repeat with some patterns, and that'll be enough.
I thought I could just tie the ChipSelect (CS) pin of the memory to ground and forget about it.
After working on the schematics a bit and checking the datasheet for the SRAM, I realized I need control over both CS and R/W as well as needing as some I/O pins for status LEDs and a start button.
Apparently, you use both R/W and CS as part of the write sequence (There's no "latch" or "strobe" pin).


I need more I/O !

My (as usual) dormant Step 4x16 sequencer project actually uses a PIC16F886. It has 25 I/O pins!
I'm not working on that project right now (Ahem...) so I can borrow that PIC and get a new one for it later!
Said and done, I started drawing a new layout for the tester using the 886 instead.
The higher number of I/O pins allowed me to have dedicated ICSP pins (Vpp,Clk,Dat) so I don't have to mess around with dual functionality in the design. Now I could also have 3 LEDs and a start button.

Here's the design I came up with:





The memory IC is just placed as a "dummy" to aid during the design. I will put two connector strips (marked in green) instead and then put a ZIF socket (represented by the big black DIP socket) in the strips. That way I don't have to solder the expensive ZIF socket in and I won't have to worry about occupying parts of the board with it since it will be hovering above it instead.
The PIC will be mounted in a socket but I didn't bother adding it in the layout.
I want to be able to program the PIC while it's in the board so I also have an ICSP connector with some appropriate components added to try and isolate it from the rest of the circuit.

Some tech babble about the design

I'm not sure about that orange diode I put at the top... The reason I put it there is that I don't want the ICSP programmer to have to power the entire board. So, I will let the PIC get its regular +5V via a diode during normal operation. When using the programmer, it will also provide +5V and I'll disconnect the regular power supply. The diode should prevent the programmer from supplying the rest of the board. I don't know how well that will work. We'll see... I may have to use +5.5V as power supply instead of +5V due to the voltage drop in the diode. The memory IC will handle up to +7V Vdd according to the datasheet so it should be fine.

Build

Last night I took a stripboard and marked where the components should be and soldered them in place.
Today I soldered all the wires. I use AWG30 wire-wrap wires as they are much thinner than the other usual clumsy thick cables I have. Also the insulation on the wire-wrapping wires is much more heat-resistant, meaning it won't shrink and crawl back when you solder. That's a big plus!

Here are a couple of photos from what I have so far:
One of my cats inspects some components before assembly.
Everything soldered in place (not exactly like the drawing but almost)

ZIF-socket with memory IC and PIC uC in place.

All I have to do now is to see if my design works and then I have to program the PIC to run the tests.
I have a feeling that last part might ... be delayed.. by various laziness and .. excuses...

A good thing about this build is that I actually only used parts I already had at home, except the ZIF socket which I bought for this purpose but it only cost me like 6 Euros for two sockets.

I guess my stash of "spare parts and other things that might come in handy" is getting quite large...

No comments:

Post a Comment