Shop OBEX P1 Docs P2 Docs Learn Events
Anyone know how to use DRAM (30 pin SIMMs)? — Parallax Forums

Anyone know how to use DRAM (30 pin SIMMs)?

Dennis FerronDennis Ferron Posts: 480
edited 2007-01-22 03:20 in General Discussion
Despite all advice to the contrary, I've decided to go ahead and use DRAM rather than SRAM for my Propeller-XT project, at least initially. After this I may decide to go with SRAM instead anyway, but at least then I would know better why not to use DRAM. (I'm trying to make the Propeller emulate a PC-XT using a real 8088 and real RAM, with the Propeller emulating every other chip on an XT motherboard, hence "Propeller XT".) A local electronics surplus store was selling SIMMs for $2 each and 8086 processors for 79 cents (unfortunately no 8088s), so I figured it's worth a try.

They are 1MB (1 million words by nine (parity)) I.B.M. modules. I soldered pins to them so that I can breadboard them. I got the pinout from the internet but so far have been unable to locate the actual procedure for operating them. Do I do the column select first, or the row select first? How much time is required for it? What do I actually have to do to refresh? Do I have to read and rewrite every byte, or is it enough just to select an entire row or column? Is there an example circuit for turning the 20 address lines of the 8086 into 10 bit row and column addresses?

It's difficult to Google for information on using SIMMs in a circuit because there's so much information about installing & using SIMMs in PC motherboards and computer mods projects that I don't have a favorable signal-to-noise ratio for getting hits on actually using SIMMs in an electronics project.

Comments

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2007-01-21 16:45
    Look at the chips installed on the SIMMS and Google their part numbers. The datasheets for those chips will give you the info you need.

    -Phil
  • Dennis FerronDennis Ferron Posts: 480
    edited 2007-01-21 17:04
    Now why didn't I think of that? Thanks Phil.
  • Dennis FerronDennis Ferron Posts: 480
    edited 2007-01-21 17:17
    Nevermind - the chip number is some IBM specific gobbledygook, "TPA14B2AJ2C - 70" and I can't seem to find any info on it. Sometimes you can find info on a chip by searching for the number without the prefix or suffix letters, but as you can see, this chip number is almost all letters and I can't make heads or tails of it.
  • Robert KubichekRobert Kubichek Posts: 343
    edited 2007-01-21 17:26
    Dennis Ferron said...
    Despite all advice to the contrary, I've decided to go ahead and use DRAM rather than SRAM for my Propeller-XT project, at least initially. After this I may decide to go with SRAM instead anyway, but at least then I would know better why not to use DRAM. (I'm trying to make the Propeller emulate a PC-XT using a real 8088 and real RAM, with the Propeller emulating every other chip on an XT motherboard, hence "Propeller XT".) A local electronics surplus store was selling SIMMs for $2 each and 8086 processors for 79 cents (unfortunately no 8088s), so I figured it's worth a try.

    They are 1MB (1 million words by nine (parity)) I.B.M. modules. I soldered pins to them so that I can breadboard them. I got the pinout from the internet but so far have been unable to locate the actual procedure for operating them. Do I do the column select first, or the row select first? How much time is required for it? What do I actually have to do to refresh? Do I have to read and rewrite every byte, or is it enough just to select an entire row or column? Is there an example circuit for turning the 20 address lines of the 8086 into 10 bit row and column addresses?

    It's difficult to Google for information on using SIMMs in a circuit because there's so much information about installing & using SIMMs in PC motherboards and computer mods projects that I don't have a favorable signal-to-noise ratio for getting hits on actually using SIMMs in an electronics project.

    It is possible, but to keep the data on the ram, you have to do several things all at once...
    1) It has to have a steady power source with a well regulated voltage..
    2) The ram HAS to be refreshed to keep the data from being degraded..
    3) Use good circuit design, as the ram chips are easily damaged by static/ voltage spikes ect..

    Even though the ram is low cost, it will cost to design the support ciruitry.
    It is better to use NvRam that doesn't have to be refreshed...


    Bob scool.gif
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2007-01-21 18:46
    Maybe this will help.

    -Phil
  • David BDavid B Posts: 592
    edited 2007-01-22 03:20
    Check out my project - I got an sx52 to operate a 30 pin SIMM.

    http://forums.parallax.com/forums/default.aspx?f=21&m=111885

    Or use the forum search for "SIMM".

    It was much easier than I'd anticipated. All that was needed for refresh was to raise one, then the other, then drop the two address multiplex pins in the opposite order than for when actually latching an address, and it didn't need to be done all that frequently. You don't have to address any location specifically; the SIMM itself keeps internal counters that do that. All you have to do is toggle the lines often enough.

    I don't know exactly how the 8088 addresses map to the SIMM; I just took an address and split it into low and high parts.

    I learned how to operate the SIMM by pretty much the same method as what you're doing - by scouring the web for actual datasheets, and look at how others have done it. The hardest part was that every data sheet seemed to focus on some exotic addressing scheme that made that particular manufacturer's memory chip stand out, and so didn't say much about the standard addressing supported by every PC out there. But the standard SIMM memory access and refresh was quite straightforward, when you get down to details - apply the low address, latch it, apply the high address, latch it, then read or write your data.


    David
Sign In or Register to comment.