Shop OBEX P1 Docs P2 Docs Learn Events
Adding more RAM to the Propellor — Parallax Forums

Adding more RAM to the Propellor

A.C. fishingA.C. fishing Posts: 262
edited 2009-05-09 07:08 in Propeller 1
Is there a way I could add a whole lot more RAM to the propellor chip?
thanks,
ACfishing

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

Somebody said...
-Never Underestimate the power of human stupidity.
·

Comments

  • Areal PersonAreal Person Posts: 197
    edited 2006-11-30 02:15
    You obvisouly can't add RAM to the chip itself.

    However,

    I was thinking it would be nice to be able to access SRAM etc.

    But dont SRAM memory cells generally require 6 transistors ? or is that fixed now ? How many do they take now?

    I don't think DRAM would be the best choice.

    SRAM's store bits (1's or 0's) in memory cells that are basically flip flops. In a logic diagram, an SRAM memory cell may look like two cross-connected NAND or NOR gates - that is, the output of each NAND or NOR gate is connected to one input of the other NAND or NOR gate.This is a "flip flop", which can store a 1 or a zero for as long as you apply power - but not very much power. Very little power consumption is experienced except during transitions – writing into the memory cell. Static power consumption (without transitions) is very low because the flip flop is based on CMOS NAND or NOR gates where either a P-channel or an N-channel transistor conducts, but not both – and the P and N channel transistors are connected in such a way that there is no conduction path from the power supply to ground so power is not consumed in the static state (except through leakage). The advantages of SRAM's are their very high speed and very low power consumption.

    DRAM’s store bits in memory cells that are basically capacitors under transistors. The transistor is used as a relay to the capacitor, and the capacitor stores a bit (a "1" or a "0") as either storing charge on the capacitor or not storing charge. However, the charge on a capacitor gradually leaks out over time – so, periodically (generally several thousand times per second), the contents of a DRAM need to read out and then rewritten back in – this is called a "refresh cycle", or a "refresh". As you might expect, the refresh consumes a lot of power. DRAM’s consume more power, and are slower than SRAM’s – but because a DRAM cell uses just one transistor (with a capacitor) compared to 6 transistors for an SRAM cell (I think).

    There has been some talk about SRAM in other threads.
    http://forums.parallax.com/showthread.php?p=592605

    Could someone please prototype a design ?
    I will get to it, but right now. I'm trying to get my finger out from under my propeller chip.

    -Areal

    Post Edited (Areal Person) : 11/30/2006 2:24:10 AM GMT
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2006-11-30 02:23
    Areal Person,

    The Internal RAM is SRAM, and yes it does require 6 transistors for each RAM bit.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • Areal PersonAreal Person Posts: 197
    edited 2006-11-30 02:31
    Ok, so why again (in simple big letter terms [noparse]:)[/noparse]) can't you virtulize a SRAM IC of a cog ?

    -Areal
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2006-11-30 02:38
    I'm not sure I understand your question. "...why can't you virtualized a SRAM IC of a cog?"

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • A.C. fishingA.C. fishing Posts: 262
    edited 2006-11-30 02:45
    Yes. I meant adding External RAM by adding more RAM. thanks for the link AReal Person.
    -ACfishing

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Somebody said...
    -Never Underestimate the power of human stupidity.
    ·
  • Areal PersonAreal Person Posts: 197
    edited 2006-11-30 02:49
    @Beau

    I was thinking in terms of an end-user solution. As a product user and a software programmer
    the first thing I want to do is buy an SRAM (or other) RAM chip. Plug it into my breadboard,
    and write a device driver for the prop that will see that extra SRAM chip and use it just like
    the real internal SRAM.

    Now, I know it would be an application, it would be slower in nano's (or whatever)

    But,·because you are an IC Layout Engineer, can't you do that kind of fancy footwork
    at the design level and make it better than a software driver ?

    So, I was asking if that stuff is possiable ?

    -Areal

    Post Edited (Areal Person) : 11/30/2006 3:05:18 AM GMT
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-11-30 03:10
    You mean something like this?



    It's something Ive been working on in my spare time, and yes it's a Propeller used as glue logic to enable another Propeller to access a 128kB SRAM requiring only·10 I/O of the host Propeller. Ive also been toying with throwing a micro-SD interface onto it as well. I don't know when I'll have time to complete the prototype. There is a little more circuitry (such as the write pulse generator, EEPROM·and crystal) I haven't added yet either.


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
    1517 x 1197 - 44K
  • Areal PersonAreal Person Posts: 197
    edited 2006-11-30 03:29
    That looks really good Paul ! I would like to wire up something like that.

    I just finnished up my testing board today, and It would be nice to be able to use
    an external RAM solution. I need the memory so I can move hi-res image data around.

    I need to move the image data from one memory bank to another.

    It's going to be one of my soon upcoming sub-projects, I've got to do that as well
    as design & build a proprietary memory storage circuit that will also be used during
    the image transfer. I need about a meg of accessable memory.

    -Areal

    Post Edited (Areal Person) : 11/30/2006 3:42:52 AM GMT
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-11-30 03:49
    A meg? To do that would require a latch to hold some signals since there is only one free pin. Depending on the specific application·you may want to consider using a·Flash card or DRAM should be used as shown in this thread: http://forums.parallax.com/showthread.php?p=573328

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.

    Post Edited (Paul Baker (Parallax)) : 11/30/2006 3:55:13 AM GMT
  • Areal PersonAreal Person Posts: 197
    edited 2006-11-30 04:08
    @Paul

    Well, I really should not have said "a meg"
    The memory size part is still in design, I'm not sure exactly how much I will need for
    everything yet, could be less. I do like your design, very nice!, and as it progresses, I'm sure
    I'll use it, but I'm at the level that I must use other's designs, I could not build my own
    stuff yet. As I'm not as advanced.

    I was thinking of the flash Card also, thats probly what I'll use at first for prototype + maybe forever.

    I heard people are using DOSonChip ? Is that the best and a easy solution, or should I just wire
    up a USB jump drive ?

    -Areal
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2006-11-30 05:01
    Are you for real areal? tongue.gif (couldn't resist saying that)

    Yes, you could just wire in a USB jump drive but have you seen the software complexity and layers required just to drive these things? freaked.gif

    I am a bit perplexed as to how you intend to use external RAM in such an inefficient and slow manner although using SD memory I can understand. Usually we don't try to make something fit that doesn't fit in the first place, it's usually a good idea to identify the requirements beforehand and from there apply a set of criteria to select the best components for the design. As much as I love the Propeller I wouldn't try to use it if I needed lot's of fast RAM.

    *Peter*
  • Cliff L. BiffleCliff L. Biffle Posts: 206
    edited 2006-11-30 07:37
    I'm using the DOSonCHIP, and if you want mass storage it's reasonably convenient (subject to the caveats I posted in my thread on the subject). You'll need a reliable serial driver, which you've got if you're working in SPIN.

    Interestingly, it doesn't need to be full-duplex.

    Several folks here (not me, unfortunately) have also played with the USBWiz chips, which allow you to hook up a USB mass storage device like a thumb drive. Mike may be able to tell more about that.
  • Jim CJim C Posts: 76
    edited 2006-11-30 15:14
    There is also the Vinculum USB host part from FTDI. I have one ordered, as part of their VDrive1 assembly which would be used for accessing a USB flash drive. From their documentation, though, it looks like there just getting things rolling with support, software, etc.

    Jim C
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-11-30 17:24
    We have a Vinculum module that we a evaluating presently, I'll convey the opinion of it afterwards.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • Mike GreenMike Green Posts: 23,101
    edited 2006-11-30 17:58
    I'm also working with the Vinculum VDIP module, currently trying to get it working with the Propeller OS, really just started with it. I have a DOSonChip and USBwiz module as well. I'm using them only in SPI mode (and the USBwiz in I2C mode - the others don't have that yet) for speed and simplicity. The Vinculum seems to be the easiest to use that way. The DOSonChip documentation is a bit too sketchy at present although I like that the power requirement is so modest and it has a clock built-in (although not with provisions for a back-up battery). The USBwiz seems to be the most versatile and well documented, but I've had a lot of problems with bugs in their firmware. They do respond to messages on their forum and do eventually fix bugs.
  • mahjonggmahjongg Posts: 141
    edited 2007-04-10 14:02
    As this message thread is now in the sticky "Good thread index (new and improved)" in the article "Adding more RAM to the Propellor", I thought it might be a good idea to give a few pointers to relevant message threads.

    A pointer to my 256K external memory expander is in the thread here:
    http://forums.parallax.com/showthread.php?p=629266

    Andre Lamothe has designed a superior 512KB Memory expander for his propeller based Hydra system, that can also be used with any other propeller based design. A thread about it can be found here:
    http://forums.parallax.com/showthread.php?p=638724

    Finally, some people are working on a "large memory model", a software solution that uses external memory, or the 32K base memory, to create a much larger code space for propeller assembly. More information can be found in this thread:
    http://forums.parallax.com/showthread.php?p=615022

    Mahjongg.
  • Matthew BurmeisterMatthew Burmeister Posts: 49
    edited 2009-05-09 07:08
    Idea for the PROP 2, External Data-bus
    the only reason i could see that it would not work is because it would use 32 pins for a duplex bus and 64 for a non-duplex bus. Maybe the PROP2 could use a 16 or 8 bit external data-bus for reduced bus pin count?

    Post Edited (Matthew Burmeister) : 5/9/2009 7:15:35 AM GMT
Sign In or Register to comment.