Shop OBEX P1 Docs P2 Docs Learn Events
Another Memory Board? — Parallax Forums

Another Memory Board?

blittledblittled Posts: 681
edited 2010-09-24 04:12 in Propeller 1
Since I have one friend that has a milling machine since the UPNE and wants to try out some PCB milling and another friend that wants XMM to run Catalina I was thinking of doing another memory board. I know there are excellent ram boards such as Morpheus, Ramblade and DracBlade but I need one that will be fairly simple and work with a one sided milled PCB.

After some thought I will base it after the DracBlade but remove the LCD interface, replace the RS232 circuitry with a 4 pin header and replace the switching regulators with standard 3.3 and 5V regulators. The biggest change is using a 8255 to replace the 3 latches since the 3 ports in the 8255 can be set up so the ports are latches. The RD line of the 8255 can be tied to high since there is no need for reading from the 8255. This will lower the parts requirements. I don't think it'll be faster or use less I/O than the DracBlade but it still will work with a little code modification with Dr Acula's code.

I posted this so I can get suggestions and ideas on if this is doable. Thanks in advance.

Comments

  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-09-11 19:22
    This sounds a brilliant idea. An 8255 sounds intriguing. The first question that pops into my head (I haven't looked it up yet) is whether an 8255 can run on 3V.

    I've got some 8255 driver code in Z80 assembly and it is a fairly easy chip to drive.

    There have been suggestions in the past to replace the RS232 with the prop download header and I think that is a very good idea.

    Regulators can be anything you like and certainly linear regulators are simpler to work with and probably won't get all that warm, especially if you don't load them up with external things like a LCD display and a keyboard.

    Addit: the 82C55 has a supply voltage of 3V to 6V. Hmm - 82C55, memory, propeller, eeprom. That isn't too complicated.
  • blittledblittled Posts: 681
    edited 2010-09-11 20:06
    All the versions of the 8255 work with 5V. That may complicate things a little since you would have to use 5V SRam. Would that mean the data lines on the SRAM would have to have resistors to protect the Propeller?

    Addit: I didn't see the reference to the 82C55. My question is still valid since I'm first breadboarding the idea with 5V memory and 8255 that are in my junkbox.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-09-11 20:20
    http://www.datasheetcatalog.org/datasheet/oki/82C55.pdf

    Says 3 to 6V for the cmos version.

    I think this could mean the "blittled blade" is possible without resistors. The dracblade uses 12 propeller pins, but looking at the 8255, I think you tie RD high like you say, and CS would always be on, so is that just A0, A1 and WR? This could be a very simple looking circuit.

    The dracblade uses a ram chip that can run at 3V and this saves a lot of hassle with voltage conversion. If your memory is 5V, then you would need 1k resistors on the D0 to D7 data lines, but not on the address lines. Just check the threshold for a High is >3.3V. Hmm - if it isn't on the ram chip, it might be on the 82C55.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-09-12 02:31
    When I started to look into a way of bolting a real Z80 onto a Prop, I took a chance and put the VCC rail at half way of 4.2 Volts. Nothing horrible happened but it is obviously well inside "You're on your own, Boy" teritory.

    I seem to remember that the 8255 clan has a nasty habit of reseting pins if any of the ports are retasked.
  • Heater.Heater. Posts: 21,230
    edited 2010-09-12 02:47
    blittled,

    Interesting approach to the RAM problem.

    How much RAM do you have in mind for this?

    Don't forget, when it is finished, to add your RAM driver code to Bill Henning's virtual memory system, VMCog. That way any application that uses external RAM via the VMCog API should run on your board without having to be adapted for it.

    Currently the only app that I know that uses VMCog is the Zog emulator for running C/C++/FORTRAN from external RAM. But I believe Jazzed is looking to get Catalina working with VMCog as well. Perhaps Bill also has some goodies up his sleeve.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-09-12 03:11
    This is what I was thinking about, just in case it affects the way the 8255 gets used.

    http://www.pjrc.com/tech/8051/ide/wesley.html

    (In the Hardware decription section)
  • Heater.Heater. Posts: 21,230
    edited 2010-09-12 03:15
    Toby,

    Your link: "How to connect an IDE disk to a [PIC] microcontroller using an 8255"

    Some people really know how to torture themselves:)
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-09-12 03:22
    Slightly better than a baseball bat (with a nail in it)
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-09-12 06:09
    Re "...since I'm first breadboarding the idea with 5V memory"

    Do you have a spec for the speed of the ram chip? The AS6C4008 is 55ns and needs one NOP. I looked at some 6264 chips and some are 55ns and some are 70ns. Which chips are you using?

    (As an aside, heater and I discussed this a few months back - we both have drawers full of legacy memory chips. I'd love to use mine but 512k for $3.25 is just too tempting)
  • Jim FouchJim Fouch Posts: 395
    edited 2010-09-12 06:16
    Brian,

    Just to let you know I can do double sided boards with my machine with no trouble.
    Dr_Acula wrote: »
    Re "...since I'm first breadboarding the idea with 5V memory"

    Do you have a spec for the speed of the ram chip? The AS6C4008 is 55ns and needs one NOP. I looked at some 6264 chips and some are 55ns and some are 70ns. Which chips are you using?

    (As an aside, heater and I discussed this a few months back - we both have drawers full of legacy memory chips. I'd love to use mine but 512k for $3.25 is just too tempting)
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-09-12 07:31
    I too hold onto 2KB, 8KB, and 32KB chips, even though they are 5V types. These were such milestones in my past projects that it seems sacrilege to chuck them out.

    512KB at 3.3V, or 5V, in one package saves a lot of layout area and costs about the same as 256 bytes did back in the old days of Nascom.
  • blittledblittled Posts: 681
    edited 2010-09-13 09:32
    Well, I was looking at various manufacturer's datasheets on the 82C55 and they all have different voltage ranges. Some are 3-6 V and some are 4.5-5.5V. To keep the board as geneic as possible I'll run the 8255 with 5 V since I already need 5 V for a keyboard interface. I'll just put resistors on the memory data lines.

    I currently have some 32K Ram I've pulled off of 486 Motherboards but I saw the AS6C4008 512K from Alliance that looks promising and can run at either 3.3V or 5V. I wonder if it would be 5V tolerant on the address lines if I run it with 3.3V?
  • blittledblittled Posts: 681
    edited 2010-09-23 18:52
    I'm breadboarding the circuit right now with a legacy 32K Ram chip. After much thought and rereading the posts I have developed a circuit. It has the 8 data bus lines and 2 lines for A0 and A1.

    The chip select is on another line that when low enables the 8255 and when high it goes through a 7404 inverter to enable the chip select of the memory. This is done since if the chip select of the 8255 is always low it will read in the data in the read/write to ram and can inadvertently change the addressing.

    The last line is tied to the write enable of the ram so that when low it is in write mode and when high it is in read high.

    The remaining lines of the 8255 are Reset which is tied through the 7404 to the Propeller's Reset since it is active when high, RD which is tied high to disable reading and WR which is tied low to always enable writing.

    The ram has Output Enable which is tied high so the data bus is always active when enabled.

    If this proves to be a viable layout I'll design a PCB to handle 512K Ram. I'm toying with the idea of using a 74138 to add up to 8 512K rams for 4MB of memory.

    Dr.Acula: Where do you get your 512K Ram chips? I looked at Jameco and they are $5.95 each.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-09-23 19:04
    Dr.Acula: Where do you get your 512K Ram chips? I looked at Jameco and they are $5.95 each.
    http://www.futureelectronics.com/en/Pages/index.aspx

    Check the package DIP/surface mount when you order, but they have been as low as $3.20.
  • ericballericball Posts: 774
    edited 2010-09-24 04:12
    blittled wrote: »
    The ram has Output Enable which is tied high so the data bus is always active when enabled.
    I don't know about current SRAM chips, but I've seen specs where CS enable to output is much longer than OE to output since CS puts the chip in a lower power state.
Sign In or Register to comment.