Shop OBEX P1 Docs P2 Docs Learn Events
Dram adding — Parallax Forums

Dram adding

sovsov Posts: 17
edited 2010-08-01 19:55 in Propeller 1
Is it possible to add dram to the the propeller in any way? Or any type of ram? Thank you in advance[noparse]:)[/noparse]

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
iPhone expert
«1

Comments

  • kwinnkwinn Posts: 8,697
    edited 2010-07-30 04:32
    Virtually any kind of ram can be addae to the prop. Serial static (simplest & fewest pins), parallel static (simple but requires more pins), parallel dram (more complex, requires refreshing, requires fewer pins than equivalent static ram but more than serial ram).
  • Mike GreenMike Green Posts: 23,101
    edited 2010-07-30 04:33
    You can add SRAM pretty easily. There are drivers in the Object Exchange for SPI SRAM like the 32K256 and several forum members sell boards with parallel SRAM (like Bill Henning's Morpheus and Cluso99's TriBlade). Parallel SRAM requires a lot of I/O pins and boards with SRAM usually have two Propellers, one that does the I/O and one that just handles the parallel SRAM. Morpheus uses the SRAM for a display buffer primarily, so the display Prop has the SRAM attached while the TriBlade has the SRAM attached to the "application" Prop so it can do Z80 and other emulations with the extra memory. Morpheus can also have SPI (serial) SRAM attached to the "application" Prop and Bill has a virtual memory driver for the Morpheus that can page in emulation code from the SPI SRAM pretty efficiently.

    I've seen mention several times on this forum of DRAM, but haven't seen any drivers posted to the Object Exchange.
  • heaterheater Posts: 3,370
    edited 2010-07-30 07:22
    Don't for get the DracBlade. Parallel SRAM. Not quite as fast as TriBlade/RamBlade but leaves a lot of free pins for normal use, like keyboard, video, SD card.

    I think the consensus here over the years has been that using DRAM with the Prop is more trouble than it is worth.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-07-30 10:12
    You are welcome to try DRAM but I do not know of anyone who has done this and I am certainly not going to try.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-07-30 11:55
    ...Or any type of ram? Thank you in advance[noparse]:)[/noparse]

    Sure - easy to add ram. http://www.smarthome.viviti.com/propeller

    It then becomes a simple mathematical tradeoff - pins vs speed. Cluso has the fastest board around that uses virtually all the prop pins talking to the ram chip (which results also in the record for the smallest CP/M computer ever - it fits in a matchbox).

    The dracblade is a compromise - a bit slower and uses some latches, but the advantage is you can run vga and sd card off the one propeller.

    And the slowest, but simplest option is serial ram. Only uses two pins.

    So there are lots of options on the menu.


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • Jorge PJorge P Posts: 385
    edited 2010-07-30 16:44
    from what I have gathered from the forums and Mike, heater, and other high post members is that SD media would be best, atleast for my purposes. I toyed with dram and it can be a pain, and like they say, more trouble than it is worth, unless you just want to learn how to do it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ---
    http://WhatsAvailable.org Software and Gadgets for Windows 7.
  • jmspaggijmspaggi Posts: 629
    edited 2010-07-30 17:35
    Hi all,

    Can we use serial ram or an SD card as "video memory"? Or will it be too slow?

    JM

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Linux? There is worst, but it's more expensive.
  • Mike GreenMike Green Posts: 23,101
    edited 2010-07-30 17:48
    Serial RAM and SD cards (which are similar) are too slow for "video memory". You need parallel SRAM for that.
  • David BDavid B Posts: 592
    edited 2010-07-30 20:59
    I've run DRAM from an SX48 protoboard. There's no mystery to it; it's much like static RAM, except that addresses are multiplexed and you have to manage refresh. The multiplexed addresses add a bit more complexity than simple parallel SRAM but it's not that big of a deal - you just apply the row address, drop the signal on the row control pin, apply the column address, drop the signal on the column address pin, then you read your data.

    The main problem with using the propeller to run them is the high pin count; it's easy to run out of pins for the rest of the project.

    But every project is a little different. If you have a project that needs more speed than you can get from an SD card and more capacity than hub memory provides, then DRAM might be worth it.
  • jazzedjazzed Posts: 11,803
    edited 2010-07-30 21:55
    I wrote an old style EDO DRAM driver long ago that has interface support with Bill's VMCOG. Some of the old DIP parts are available in surplus houses (or from ancient PCs).

    You can find the EDO driver in this package; the VMCOG is out of date, but the driver should be a drop-in replacement with the latest VMCOG. Performance is about 1MB/s read/write uncached.

    --Steve

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Pages: Propeller JVM
  • Ding-BattyDing-Batty Posts: 302
    edited 2010-07-30 21:56
    I am working on adding 8MB and 16MB EDO DRAM to a propeller for one of my projects -- I need fairly fast sustained read/write speeds, so just using SD will not work. (I need sustained 1 MB read/write speeds for "a lot" of memory.)

    I am using 8Mx8 and 16Mx4 DRAM chips removed from EDO DIMM memory sticks -- it's the easiest way to get small quantities (I am still waiting for the 16Mx4 chips to arrive).

    With no extra support chips, connections to one 8Mx8 or two 16Mx4 chips requires 24 I/O pins, which doesn't leave many I/O pins for other purposes. With two latches (to latch the 12-bit row/column address) you can cut the number of pins needed down to 14, but that very significantly slows down access, enough so that I will not be using it.

    With a few extra support chips, I believe I can use 15 I/O pins for access, and I can get 5+ MBytes/second (with an 80MHz clock) sustained read and write when using block I/O (64 or 128 byte blocks), and that includes the memory refresh overhead. All this using one dedicated cog for managing memory access.

    This is still theoretical, as I am still designing, testing, prototyping, etc. But when I get things working I will post here, and possibly submit the code to OBEX.
  • jazzedjazzed Posts: 11,803
    edited 2010-07-30 23:05
    Welcome to the I'll do anything for more Propeller memory club [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Pages: Propeller JVM
  • Ding-BattyDing-Batty Posts: 302
    edited 2010-07-31 03:27
    Thanks, jazzed!
  • hinvhinv Posts: 1,255
    edited 2010-07-31 04:34
    RamBlade by cluso , is the fastest, I think. How fast was that again?
    Does anybody know of Bill Hennig's parallel spi board is available yet? How many pins and what speed?

    Doug
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-07-31 08:31
    I will have to stop ducking all the difficulties and have another crack ar the EDO stuff.

    I knocked up this modified version of a DracBlade to get P0 - P19 free in a clear sweep. SD is now on P20 - P23, VGA is restricted to P24 - P27, the KBD and EEPROM are multiplexed on P28 - P29 and the serial is on the usual P30 - P31. After all that work I should follow the project through blush.gif

    The top board is the usual (64KB resricted) SRAM, to prove the othe bits were running properly

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Why did I think a new, more challenging, job was a good idea ??
    2304 x 1728 - 2M
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-07-31 16:51
    Hi!

    FlexMem is close to being available, I got side tracked with a rush consulting gig, family and building/testing the new boards.

    If you only want to use one FlexMem board, you only need six pins (P0-P5), however if you allocate P0-P7 to FlexMem's, you can have three boards stacked on those 8 pins.

    You MUST use P0-P3 for the four bit data bus, otherwise the driver will be MUCH slower. Theoretically, it is possible to move the CLK and /CS lines to any propeller pin.

    The current test driver gets just a hair over 2MB/sec using one cog (512 byte page transfers). The minimum read/write grain is four bytes.

    Once I get the counter-assisted code working, calculations show that 3.3MB/sec is attainable with one cog, and 6.6MB/sec with two cogs.

    It would be possible for me to make an eight bit version that was faster, however there are some significant problems:

    - minimum read/write grain would be eight bytes
    - it would require 10 pins (minimum), which no longer fits one of the standard 10-pin headers
    - the parts cost is too high (12x SPI ram's ~$9.44+s/h from DigiKey) to make it commercially viable
    hinv said...
    RamBlade by cluso , is the fastest, I think. How fast was that again?
    Does anybody know of Bill Hennig's parallel spi board is available yet? How many pins and what speed?

    Doug
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
    My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
    and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
    Las - Large model assembler Largos - upcoming nano operating system
  • sovsov Posts: 17
    edited 2010-07-31 18:52
    Well would something like ddr2 sdram work with propeller?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    iPhone expert
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-07-31 19:16
    The whole reason I got into the DRAM thoughts was that in the old days to drive the DRAMs you had to add delays to present the row and column addresses from a parallel thinking world. Then Dr_A came along with his latched interface on the DracBlade. So if the multiplexed data, and address 8 bit chunks were clocked into the internal latches then a bunch of chips could be saved. EDO DRAM looks more promising on that front, SDRAM, as far as I can tell, would make the full data and all addresses multiplexing a non starter. EDOs are all board removals now though.

    As I have pointed to before Jesper has done all this a long time back on AVRs

    http://www.myplace.nu/avr/dram/index.htm

    So some clues might be had.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Why did I think a new, more challenging, job was a good idea ??
  • sovsov Posts: 17
    edited 2010-07-31 20:07
    The reason why I am talking so much about dram and DDR sdram is because I want to build a robot that can be as powerful as today's modern computers. I have been doing robotics for around 8 years now. I like the propeller chip a lot but I wished it were to be around 1ghz. But I do love the 8-cores, I have never seen a robotics microcontroller that has 8-cores. But is there any microcontrller out there that is around 1ghz that is cheap and ok difficulty to use? I would like to use it with the propeller chip [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    iPhone expert
  • jazzedjazzed Posts: 11,803
    edited 2010-07-31 20:42
    Toby Seckshund said...
    SDRAM, as far as I can tell, would make the full data and all addresses multiplexing a non starter.
    It is difficult but potentially useful. We'll see sooner or later.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Pages: Propeller JVM
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-07-31 20:59
    Jazzed

    How I wish You just said "Yes Alan, I feel your pain and it is but a fools errand", then I could use it as the excuse for indolence, again.

    (The latest distraction is a "Bell" to indicate the start of half a dozen mutts, legging it)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Why did I think a new, more challenging, job was a good idea ??
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-08-01 08:22
    Re "The reason why I am talking so much about dram and DDR sdram is because I want to build a robot that can be as powerful as today's modern computers. I like the propeller chip a lot but I wished it were to be around 1ghz."

    By 'powerful', do you mean in in absolute CPU cycles per second?

    I doubt we are using modern CPUs in the most efficient way. My 1980s computer used to boot up and be ready for use in under 3 seconds. I have a modern 2.4Ghz computer that takes 20 minutes to start. The CPU's get faster each year, but the bloatware is getting slower.

    If you want true speed, nothing beats assembly language. I wonder if anyone codes in raw assembly on a modern computer? The tasks a robot needs to do (image processing, balancing, dealing with multiple objects to avoid, destroying nearby 'wetware' computers) are vastly different to the tasks we ask of a modern PC (browsing the web, waiting for a key to be pressed, running endless checks for viruses).

    You can do an awful lot of clever robotics in raw assembly running at 1Mhz. I sometimes wonder if it is more useful to deliberately code on the slowest processor around, then port the code to a faster processor. Certainly for me, it makes me think about coding more efficiently. Do you really need the overhead of an operating system like Windows, for instance?

    Some of the newer 'notebook' laptops with solid state drives might be light enough to fit on a robot. But I suspect the propeller is more than powerful enough for most robotics applications.

    Have you tried some coding in PASM?

    addit @Toby, keep us posted with the dram experiments. Even if it was fractionally slower, I think there is a place in the spectrum of speed vs pins of external ram solutions for something like the old-school 'columns then rows' dram address system.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller

    Post Edited (Dr_Acula) : 8/1/2010 8:27:30 AM GMT
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-08-01 09:19
    Dr_A

    Yeah, yeah, yeah ...

    I will have to get on with it, I have forgotten what I had found back then. My excuse is that I just changed jobs and so I do not get a chance to play every night.

    Digit extraction required blush.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Why did I think a new, more challenging, job was a good idea ??
  • heaterheater Posts: 3,370
    edited 2010-08-01 09:21
    [noparse][[/noparse]quote=sov]But is there any microcontrller out there that is around 1ghz that is cheap and ok difficulty to use?[noparse][[/noparse]/use]

    Yes there are. I'm planning on getting one of these beagleboard.org/ All the power of a lap top in a card the size of a cigarette box and only 150 dollars. Not quite up to 1GHz but there is a new version announced now that is.

    A similar ARM board is the IGEP www.igep.es/index.php?option=com_content&view=article&id=46&Itemid=55

    I have been dreaming about a marriage of such a board and a Prop or two for a long time.

    In a similar vein don't forget that modern smart phones are pretty good 1GHz systems in a size that suites mobile robotic applications and have all the communication goodies built in, WIFI, Bluetooth etc. Not to mention sensors like accelerometers and compass. I'm looking to get my Android phone hooked up to a Prop via USB.

    These phones are not cheap but in a year or so the world will be swimming in surplus Android phones. All they are lacking is the real world interaction capability a Prop can provide.

    As for ease of programming, that is rather up to your skills and what it is you want to do. On a Beagle or IGEP boards you have hundreds of languages to choose from.


    P.S. I would really forget wasting time on adding dynamic RAM to a Prop. It will be slow as hell. If you really need/want that kind of space or speed better to use something designed that way. Then use the Props for what they are good at, interfacing with real gadgets.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.

    Post Edited (heater) : 8/1/2010 9:28:17 AM GMT
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-08-01 09:29
    On the subject of "simple and fast" I recall an artical about how the militry were trying to emulate the sensors and computation (ie eyes and mind) of a fly, they are so good at collision avoidance.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Why did I think a new, more challenging, job was a good idea ??
  • RavenkallenRavenkallen Posts: 1,057
    edited 2010-08-01 14:52
    If you could find a DRAM with the refresher circuit built in, then it would not be that hard. Although you would still need quite a few I/O pins. I have used TI parallel NVSRAM and it has worked pretty well. It is kinda pricey though.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller + Picaxe = Romeo & Juliet
  • LeonLeon Posts: 7,620
    edited 2010-08-01 15:03
    sov said...
    The reason why I am talking so much about dram and DDR sdram is because I want to build a robot that can be as powerful as today's modern computers. I have been doing robotics for around 8 years now. I like the propeller chip a lot but I wished it were to be around 1ghz. But I do love the 8-cores, I have never seen a robotics microcontroller that has 8-cores. But is there any microcontrller out there that is around 1ghz that is cheap and ok difficulty to use? I would like to use it with the propeller chip [noparse]:)[/noparse]

    The XMOS chips are ideal for robotics and deliver 1.6 GHz from four 400 MIPS cores, with 32 100/50 MIPS hardware threads. I have a Propeller chip interfaced to one.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM
  • heaterheater Posts: 3,370
    edited 2010-08-01 16:32
    Still not enough RAM though Leon.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • LeonLeon Posts: 7,620
    edited 2010-08-01 16:42
    It's easy to add it to the XMOS chip.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM
  • heaterheater Posts: 3,370
    edited 2010-08-01 18:45
    Yes it is. But it's still a "bit banged" interface, all be it a parallel one, just like with the Prop. It's faster, as it should be because the XMOS is faster. It suffers from the same problems as ext RAM on the Propeller.

    1) Needs software to drive it.
    2) Much slower than a proper RAM bus interface.
    3) Does not exist in the memory map of the processor.
    4) Cannot execute code from it directly.

    I'm just suggesting that if one wants/needs a lot of RAM then it's likely one will want the speed to handle all that extra code and data.and that a chip that is built to handle the RAM properly may be a better solution.

    I'm not sure, but it's possible the Prop has some advantage over the XMOS here. With the Prop we have the possibility of the XMM technique to execute code from a RAM chip because of the fixed instruction size. This may not be so easy to do with the XMOS instruction set.

    Not to worry though, I'm looking forward to one day having my ZPU interpreter running on XMOS so that it can run C/C++ from ext RAM as Zog does on the Prop[noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
Sign In or Register to comment.