Shop OBEX P1 Docs P2 Docs Learn Events
Adding 512Kx8 or 128Kx8 external SRAM to the Prop (for emulations, etc) - Page 2 — Parallax Forums

Adding 512Kx8 or 128Kx8 external SRAM to the Prop (for emulations, etc)

2»

Comments

  • heaterheater Posts: 3,370
    edited 2009-01-23 09:40
    @Dr_A:
    Re: The N8VEM board, lets wait a while and see what turns up.
    Re: DIP. I haven't checked this recently but I seem to remember that the pin outs for different sized DIP RAMS and EPPROMS used to be laid out such that you could make boards with a large package foot but it would take a smaller package device, leaving some address pads empty. So different sized RAMs could be accommodated in the same board space.

    @ImageCraft:
    Wonderful idea! Haven't you thought of doing this for the Hydra and its memory module?

    @Phil.
    Do you mean the Hydra RAM expansion? It is a truly wonderful thing but I pass on it for a number of reasons:
    1. For emulators and such tasks fast random access is required. The Hydra card is great for "streaming" but unless I missed a point RANDOM access is going to be slow.
    2. The code required to drive is big. It's not going to fit in my one cog emulator. I could have a memory controller COG but I need all the others already.
    3. Price seems a bit steep.

    Proposal:
    Lets say you want to go ape (expletive) and create the fastest possible Z80, 8086, whatever emulator in a Prop.
    1. Use as many pins as you need to get the fastest access to RAM (May need a 16 bit data bus for x86 etc). As Dr_A says.
    2. Use as many COGs as required to get the emulation up to speed.
    3. Use serial links to a second prop for your slow peripherals.
    4. Include in your address/data bus an IO/memory select signal. Wire 8 bits of the data bus to the second Prop along with RD,WR, IO/M.

    With 4) the second Prop becomes a high speed peripheral device to the first.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-01-23 11:37
    To answer a few points:

    The 128Kx8 and 512Kx8 pinouts are identical, except A18 is nc and A17 is CS2. So no problems, either smt or dip. Unfortunately, the FRAM uses a different footprint :-(

    I want random access and fast as possible. Multiplexing and autoincrementers are out for my design. The I/O (VGA, keyboard, etc) will use a seperate Prop and I have planned to communicate via fast serial (separate cog). This prop will be probably be loaded (booted) by another Prop ad there may be no eeprom on this Prop.

    It was the IBM clones which introduced the 640K, so early IBMs had much less ram, but they also had a ROM (64KB?)

    I like the Imagecraft C option. Remember though, another Prop is required for I/O.

    Another find - SPI Flash 64Mb (8Mx8) 75Mhz W35X64 from Digikey about $9 and they have dual bit read (outputs 2 bits of data on both DO and DIO).

    Contemplating more than 1 Propeller on the board, using a common crystal oscillator (so the serial is in sync for ultra high speed comms - maybe able to shift out/in a bit every 2nd instruction = 10Mbs). smile.gif

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

    · Prop Tools under Development or Completed (Index)
    · Emulators (Micros eg Altair, and Terminals eg VT100) - index
    · Search the Propeller forums (via Google)

    My cruising website is: ·www.bluemagic.biz
  • lynchajlynchaj Posts: 87
    edited 2009-01-23 12:01
    heater said...
    @Dr_A:
    Re: The N8VEM board, lets wait a while and see what turns up.
    Re: DIP. I haven't checked this recently but I seem to remember that the pin outs for different sized DIP RAMS and EPPROMS used to be laid out such that you could make boards with a large package foot but it would take a smaller package device, leaving some address pads empty. So different sized RAMs could be accommodated in the same board space.

    Hi!· You and all the Propeller crew are welcome to join us on the N8VEM mailing list.· I just got a whole batch of the SBC PCBs and there are four other PCBs available.· James has the mini-N8VEM which is excellent solution so there is no shortage of great tools to pick from.· There are a couple of·active Propeller vintage computer related developments on going and the parts are relatively cheap.· You are certainly welcome and I think you would have fun too.

    Thanks and have a nice day!

    Andrew Lynch
  • AleAle Posts: 2,363
    edited 2009-01-23 12:31
    I did some boards based on this circuit for a RAM expansion for a HP-71B. The baords are ready smile.gif. The circuit I used is this one.
    1680 x 974 - 40K
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-01-23 13:08
    Nice one Ale smile.gif
    Shouldn't the I2C have a pullup on SCL also?
    The booter does drives this line high and low, but the spec says it should be open drain. My I2C routine will just drive the dira pins for both the SCL and SDA.

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

    · Prop Tools under Development or Completed (Index)
    · Emulators (Micros eg Altair, and Terminals eg VT100) - index
    · Search the Propeller forums (via Google)

    My cruising website is: ·www.bluemagic.biz
  • heaterheater Posts: 3,370
    edited 2009-01-23 13:25
    Cluso: I think we are on the same "bus" here [noparse]:)[/noparse] Two Props, big RAM (DIP preferably) on one of them , serial links between the two. The non RAM prop surrounded by a Prop Demo Board like circuit for compatibility. Who's going to make this board for us ?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • TonyDTonyD Posts: 210
    edited 2009-01-23 13:44
    Has anyone considered LPC (Low Pin Count) memory chips?

    Every modern PC has a LPC Flash chip (typically up to but does any one know of any LPC RAM chips? The LPC inferface consists of a 4-bit wide data / address bus and 3 control lines.

    - TonyD
  • kwinnkwinn Posts: 8,697
    edited 2009-01-23 15:26
    Ale, that board is very close to what I was thinking of initially. If you are planning on selling them, how much and where do I send my money.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-01-23 16:10
    Ok, here is a block diagram. I have started the layout, but expect it may take a while cry.gif

    The PCB should be 3.0" x 6" (The Prop Proto Board is 3.05" x 4"). Currently planning on using t/hole where possible.
    • Up to 3 Propellers.
    • Up to 2 128Kx8 or 512Kx8 SRAMS (If both are connected to Prop #2, then microSD and Eeprom/Flash cannot be fitted)
    • A shared 20Mhz Crystal Oscillator
    • 1 USB 2.0 using the FT232RQ
    • 1 microSD slot
    • 1 or two I2C 24C512 (512Kb Eeprom) or SPI W25X08-W25X64 (8Mb-64Mb Flash) (only 1 if microSD is fitted)
    • 1 extra I2C 24C512 (512Kb Eeprom) for booting Prop #3
    • VGA or TV (shared pins)
    • PS2 connector (for Keyboard)
    • PS2 connector (for mouse)
    • 32 pin I/O connector plus Reset to Prop #1 (shared)

    Propeller #1 can have:
    • 32 pin I/O connector plus Reset·(shared with options below)
    • I2C 24C512 (512Kb Eeprom) or SPI W25X08-W25X64 (8Mb-64Mb Flash)
    • SRAM #1 128Kx8 or 512Kx8 (shared with Prop #2 -MUST be isolated by cutting tracks)

    Propeller #2 can have:
    • SRAM #2 128Kx8 or 512Kx8
    • SRAM #1 128Kx8 or 512Kx8 (shared with Prop #1 -MUST be isolated by cutting tracks)
    • microSD or I2C 24C512 (512Kb Eeprom) or SPI W25X08-W25X64 (8Mb-64Mb Flash)
    • NOTE: The microSD/Eeprom/Flash CANNOT be fitted if both SRAM #1 & SRAM #2 are connected to Prop #2

    Propeller #3 can have:
    • USB 2.0 using the FT232RQ
    • PS2 connector (for Keyboard)
    • PS2 connector (for mouse)
    • VGA or TV (shared pins)
    • I2C 24C512 (512Kb Eeprom) for booting
    • Prop #3 can load and boot Props #1 & #2

    This sounds complex, but is being designed to be as flexible as possible.cool.gif

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

    · Prop Tools under Development or Completed (Index)
    · Emulators (Micros eg Altair, and Terminals eg VT100) - index
    · Search the Propeller forums (via Google)

    My cruising website is: ·www.bluemagic.biz
    1018 x 474 - 66K
  • AleAle Posts: 2,363
    edited 2009-01-23 16:46
    The boards are tiny, just propeller, 573, memory (TSOPII) and few level shifters and of course a couple caps and regulator. I wanted to do the memory expansion with them but I did not have the time. I can send someone a couple (I may have paid 3 or 4 € for each, I made only 10). Let me post a pic.

    If someone makes a board with a RAM and 2 porps as proposed (with VGA, miniDin(s), etc, etc). Please let me know, I'd like one or two

    Post Edited (Ale) : 1/23/2009 4:53:54 PM GMT
    1098 x 907 - 53K
  • heaterheater Posts: 3,370
    edited 2009-01-23 16:50
    Cluso: That triple Prop board idea sounds just fabulous. However it turns out, if you are going to have a batch made please sign me up for a couple. If you are really going to do this you should think of a wizzy name for it (TriPrAM, blechh) and start up a new thread for discussion.

    You have a lot of options there, will take a little time to digest. In away its a shame to have so many options and have to hack the board around to get them as its nice to have a "standard" which you can expect people to have when pushing software projects out into the world.

    Suggest you reverse the numbering of the Props so that Prop 1 is first in line to the USB loader.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • AleAle Posts: 2,363
    edited 2009-01-23 17:23
    Why cutting tracks ? a dip-switch may be used instead or not ?
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-01-23 17:42
    I am going to link them, if required. A dip sw takes too much space. Could use pin stakes and links. Alternately, there is a method to solder bridge them. I will renumber the chips.

    Should I use the combined VGA & 2 x PS2 connectors as used on the Proto Boards (I don't really like them)?
    Does the design need sound?
    Does the design need game ports?

    Note I have left a Data/Address bus running between all the props.
    Not that I have much room left.

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

    · Prop Tools under Development or Completed (Index)
    · Emulators (Micros eg Altair, and Terminals eg VT100) - index
    · Search the Propeller forums (via Google)

    My cruising website is: ·www.bluemagic.biz
  • heaterheater Posts: 3,370
    edited 2009-01-23 19:04
    VGA/PS2: Whatever is commonly available would be nice. I don't like the combined ones much.

    Sound: Oh yeah. PropComm VT100 needs a BELL (BEEP) in stereo.

    Game ports: Not me.

    What about a the thread ? This might be a long discussion....Specially when we get to actually use the thing.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • AleAle Posts: 2,363
    edited 2009-01-23 19:46
    Designing it and building it is half the fun.
    A header for extra ports (game ports) or something like that may be better.
  • dMajodMajo Posts: 855
    edited 2009-01-23 19:52
    kwinn said...
    dMajo, true up to a point and possibly better for database applications/sorting but you still have to update the address or chip select latch to read the next memory location, and on average both latches have to be updated every 8 accesses. Also the 16 address/data pins have to be changed between inputs and outputs frequently.

    I must admit I like the cleaner more orthogonal design it gives, but for emulating an 8 bit micro I feel it is not a good choice. It would be interesting to compare the two choices for the range of applications possible. Perhaps we could agree on some specific tests to run, write the code, and compare the results.
    Updating the chip select is to change the target chip (eg going from first 1MB ram to the second 1MB ram or eeprom; the address strobe latch is directly driven by the prop) but yes each cycle needs to update first the address then the data of the currently selected chip: BUT THIS IS DETERMINISTIC.
    Phil Pilgrim (PhiPi) said...
    Andr
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2009-01-23 20:49
    dMajo said...
    Usually you do not need a pullup on SCL (can be high driven) exept for one case: in the multimaster environment.
    There's also a case in single-master systems where this is necessary. Some slow slave devices implement a clock-hold feature, which holds the clock low during a transfer to slow the pace. The master is supposed to release the clock instead of driving it high, then wait for the clock line to go high before issuing the next clock.

    -Phil
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-01-23 23:52
    See Chip's thread: http://forums.parallax.com/forums/default.aspx?f=25&m=121344[noparse][[/noparse]url]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH - Electronics: Engineer - Programming: Professional
  • jazzedjazzed Posts: 11,803
    edited 2009-01-23 23:59
    Thanks for posting that Quantum. I've been looking for it all day! Now for some proof if possible.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-01-24 02:38
    @dMajo: I have written an I2C in pasm (read only but not much to add for writing). It is pretty tight code, but needs debugging (problem initialising so not getting past first base). Uses SCL and SDA as open drain (only controls dira). I have been distracted (again!). You are welcome to debug the code and use it.

    Post Boot PASM COG Loader? http://forums.parallax.com/forums/default.aspx?f=25&m=320151&p=3&ord=d

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

    · Prop Tools under Development or Completed (Index)
    · Emulators (Micros eg Altair, and Terminals eg VT100) - index
    · Search the Propeller forums (via Google)

    My cruising website is: ·www.bluemagic.biz
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-01-24 12:20
    Looking sweet, Cluso99. One thing I've found with getting boards made is there is a big setup cost and a big shipping cost but the boards are usually only $2-$3 each. So making the board a bit bigger, and keeping it flexible, and leaving out components is actually quite a good way to go. heater has the cp/m board now so can test instruction behaviour with real chips. If you can do it in 3 props, down the track some cunning person will fit it into 2. And if a system can emulate a Z80 there will be other chips it can emulate too, once the proof of concept has been done. Any chance of a draft schematic?

    James Moxham Adelaide, Australia

    Addit: re "cut tracks", nothing wrong with a 40 pin header package and solder bridges. Not quite kosher. But it works. And/or use bits of left over wire. Dunno. This might evolve anyway. heater might have some insights soon on whether this can be done with two props. Or even one??

    Post Edited (Dr_Acula (James Moxham)) : 1/24/2009 12:26:48 PM GMT
  • AleAle Posts: 2,363
    edited 2009-01-24 12:55
    Dr. Acula is right.
    The thing is we are, well around the world smile.gif, so shipping would have to be for 2 or 3 boards for each one of us. A 10x16 cm board, some 4"x6" will be a good target size without cramming everything too much. I can do a schematic adding what was spoken so far.
  • hippyhippy Posts: 1,981
    edited 2009-01-24 18:38
    Cluso99 said...
    Should I use the combined VGA & 2 x PS2 connectors as used on the Proto Boards (I don't really like them)?
    Does the design need sound?
    Does the design need game ports?
    It's your baby so feel free to ignore me but I think there's a danger of feature bloat coming in here. More importantly, in order to be all things to all men, it is perhaps becoming less flexible as things get added and thus become pre-defined. Configuration, links and cutting tracks make for a less attractive and less aesthetic product overall IMO.

    From a simple Prop with large RAM it's steadily migrating to more of a Demo Board, more a 'solution' than an 'add-on peripheral'. I personally prefer the idea of a simple but functional building block as originally described. Add what you need to make it usable as you envisage it being used, but keep it as a simple unit and allow the end user to decide how they are going to use it is the way I'd go.

    You'll never second guess what any individual wants and invariably will provide too much or too little if you go that route. From a note I read about *nix commands; do one thing and do it well. That's the philosophy which I think should apply here.

    Good luck with it no matter what you decide.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-01-24 21:36
    @Hippy:Thanks and nice to see you around again smile.gif

    @Ale: I have the schematics in scribble form. Thanks for the offer. Still having thoughts but expect to firm up this week.

    There are a few PCB manufacturers around with layout packages, so will ask about this on a new thread. (My professional software is interstate and I want to get started). Just on the way out, so if someone would like to start the thread for me it would be appreciated smile.gif

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

    · Prop Tools under Development or Completed (Index)
    · Emulators (Micros eg Altair, and Terminals eg VT100) - index
    · Search the Propeller forums (via Google)

    My cruising website is: ·www.bluemagic.biz
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-01-27 12:00
    I have announced a SixBladeProp (TM) board which uses the static rams discussed here.

    See...
    SixBladeProp - A new 6 propeller pcb
    http://forums.parallax.com/showthread.php?p=780033

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

    · Prop Tools under Development or Completed (Index)
    · Emulators (Micros eg Altair, and Terminals eg VT100) - index
    · Search the Propeller forums (via Google)

    My cruising website is: ·www.bluemagic.biz
Sign In or Register to comment.