Which SD-MMC Card ?
Areal Person
Posts: 197
·
Ok,
I’m trying to figure out what SD-MMC Card solution(s) to use. Application is not important, I’m just trying to hook them up on a breadboard with·my Propeller chip. I’m thinking about the DosOnChip solution. It looks easy to use, and I like DOS.
·
I’m new to electronics. So I need a simple solution that a novice can do, However, I’m not sure if it would
be difficult to just hook this up…
·
http://www.sparkfun.com/commerce/product_info.php?products_id=204
·
What else would I need (besides the card) to make this solution go? Is it complicated
for a beginner ? This sayes it’s a breakout board, is that all I need ? What software object
do I need to use?
·
Starting out I will be using Mike’s Propeller OS.
·
I can’t use EEPROM, because they only last for 100,000 times or so.
·
I would like to use something that would in·support a FAT16/32 etc. file system.
·
What should I do ?
P.S. There out of the DosOnChip at Sparkfun···
Thanks,
·
-Areal Person
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Ok,
I’m trying to figure out what SD-MMC Card solution(s) to use. Application is not important, I’m just trying to hook them up on a breadboard with·my Propeller chip. I’m thinking about the DosOnChip solution. It looks easy to use, and I like DOS.
·
I’m new to electronics. So I need a simple solution that a novice can do, However, I’m not sure if it would
be difficult to just hook this up…
·
http://www.sparkfun.com/commerce/product_info.php?products_id=204
·
What else would I need (besides the card) to make this solution go? Is it complicated
for a beginner ? This sayes it’s a breakout board, is that all I need ? What software object
do I need to use?
·
Starting out I will be using Mike’s Propeller OS.
·
I can’t use EEPROM, because they only last for 100,000 times or so.
·
I would like to use something that would in·support a FAT16/32 etc. file system.
·
What should I do ?
P.S. There out of the DosOnChip at Sparkfun···
Thanks,
·
-Areal Person
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Comments
1) Rogue Robotics uMMC. I've used the similar uMP3 in one project with a Stamp1. It worked, but unreliably. This was a continuously running sound installation and there was some kind of problem with the firmware that would cause it to hang after a few hours. A reset would clear the problem, but this was not an acceptable solution. The problem with the uMP3 was never fixed to my knowledge.
2) GHI Electronics uALFAT and USBwiz. I have them, have gotten them to work with a Propeller and a Stamp2, but they need at least 4 pins for interfacing. I've used them in a demonstration mode only (interactive), not in any sustained program-driven way.
3) DOSonChip from Sparkfun. I have one, have gotten it to work interactively with a Propeller. The documentation is not very good at this point, certain not good enough to develop software to drive it without a lot of experimentation.
4) Vinculum vDRIVE or vDIP (same firmware). This is actually a USB host (like the USBwiz) and works with a "thumb drive" rather than an MMC/SD card. It will work with only 3 pins in SPI mode (if the reset pin is tied to the system reset) and has mostly adequate documentation. The commands and responses are mostly oriented towards interactive use and are not well designed for driving it with a program.
The summary is that none of these are great. They all have quirks and problems. GHI (uALFAT/USBwiz) and FTDI (Vinculum) have support people who do answer questions sent to them. DOSonChip doesn't have the basic documentation needed yet and may have some support, but not as available as GHI and FTDI's. For myself, I'm working currently with the Vinculum vDIP and the Propeller. We'll see if I can get it to work reliably with the Propeller OS.
I'll probably release it in early January.
QUESTION:
How hard would it be for me to implement this project on the propeller.
http://forums.parallax.com/forums/default.aspx?f=21&m=111885
It's a SX52 operating a 30 pin SIMM, It really looks like an advanced project to me [noparse]:([/noparse]
What do you think ? I would need help from the forum on doing this, is there any software already written ?
Should I tackle it ? or is it really hard to do ?
I did manage to hookup my Propeller chip and Video/TV w/EEPROM on my breadboard.
I just need some kind of RAM solution (besides EEPROM)
And I don't know what to do.
-Areal
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
random read/write access than a flash solution, but is volatile.
Essentially: Secure Digital flash solutions will be non-volatile but filesystem or sector-based access, with reasonable
bandwidth and large sizes (2M-2G) but slow random access.
EEPROMs will be nonvolatile faster random (byte or word) access, with good bandwidth but slow writes and moderate
sizes (32K-256K probably).
DRAMs will be volatile but fast random (byte or word) access, with good bandwidth and pretty big sizes (16M - 128M).
These are very different worlds. What are you trying to build?
I actually am looking forward to someone interfacing a 3.3V DRAM to the propeller. It should be doable, and quite
interesting to get maximum speed out of it. In my (very limited) experience DRAM is normally sold by the SIMM
these days, but you'd probably prefer to interface a single chip for simplicity and pin count, and I'm not sure what sort
of single-chip DRAMs are available. In particular, you'd probably want a moderately wide DRAM and I'm not sure
what's out there.
You could probably use neat counter tricks to handle the strobes so you don't need a separate instruction for every
strobe transition.
Yes, I understand they are different, I thought I might do the DRAM config while I waiting on a better SD/MMC solution. I would like to do something
However, I think the most difficult part for me would be getting a heartbeat out of the initial
configuration. I'm not sure about the wiring diagram for a Propeller setup using the SX52
project, simply because I'm green with the hardware, I'm ok with the software, I could probly
write a spin object, (in time) but, I'm not sure how to hook-up the DRAM module and get a 'Heartbeat" from it
as to verify the wiring setup, so I can begin working with the chip.
I would also like to do a RAM drive object for a DRAM, maybe I could offer it to Mike.
But before I can do that, I need to get the SIMM hooked up to the Propeller correctly.
Thats what I'm concerned about.
-Areal
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I have a tree growing out of my head, but
what do you expect ? I'm a programmer.
Post Edited (Areal Person) : 12/18/2006 10:35:00 PM GMT
Note: Ramtron now has a 64Kb I2C device as well. You can hook 4 of them on one I2C bus.
Post Edited (Mike Green) : 12/18/2006 10:49:15 PM GMT
I'm the guy who connected the dynamic RAM to the SX52. I've also made an SD interface (read-only) from a propeller, and made a 512K static RAM interface on an SX28 for GPS data logging. The code for all three of these projects is posted in various places on this forum.
All three projects were pretty hard, for me, anyway, but that just makes them all the more satisfying to get working. I'll help out if you wanted to try to make something I've gotten to work.
SD cards also have limited write capability; they basically are EEPROM.
Maybe you could check out the FRAM memory. I've never worked with that, but it's a non-volatile memory that is supposed to have many more write cycles than SD or EEPROM. I think others on this forum have FRAM experience.
When I was making the DRAM interface, it occurred to me that the SIMMs were basically just boards holding the individual DRAM chips, and that it may not be all that much harder to interface directly to the chips themselves, for someone who is comfortable working with tiny surface-mounted parts. The DRAM refresh turned out to be trivially easy. The propeller would make it even easier with the availability of the cog counters.
All in all, memory interfacing isn't all that hard once you get a handle on the basic "set address, toggle control pins, read or write data" procedure.
If you want to get started, my suggestion would be to get a chip datasheet for whatever RAM you think you want to get started with, and read it over and over, and get familiar with the specs, and the jargon, and the timing, and access requirements of the chip. Sketch out the address, data and control wires, and start to fit them to your cpu.
David
I think I'm also going to try the DosOnChip for a removable storage media.
Thanks again, I'll keep everyone posted on my progress.
I want to get some memmory devices going so I can start writing spin objects.
Now I think I can pull the chips off my old 30 pin RAM and put each one of them to good use
I have tons of them ! Thanks David ! Thats a cool idea.
-Areal
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I have a tree growing out of my head, but
what do you expect ? I'm a programmer.
Post Edited (Areal Person) : 12/18/2006 11:10:07 PM GMT
·I just used my credit card...
I bought this one...
http://chipdos.com/modules.htm
· Oh no.. I hope I can get to work.
I really just need to do the SD-MMC project for my hobby/learning
experance with my Propeller chip (which I love).
However·the Ramtron chip project will have greater RAMafications Ha.. Ha...
Get it ? RAMafications Ha.. Ha...
Well, what would you expect from Areal Person.
Haaaa. Haa, ha.
Get it !
Areal Person, Haaaa, ha
And don't forget !
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I have a tree growing out of my head, but
what do you expect ? I'm a programmer.
Post Edited (Areal Person) : 12/19/2006 2:51:25 AM GMT
I'm looking at the Ramtron site trying to find the correct part numbers...
http://www.ramtron.com/doc/Products/Nonvolatile/Nonvolatile_list.asp?ID=5
I'm looking at Serial Memory Products. Is that right ?
OK, I just found a 1meg Parallel FRAM chip that runs at 3.3v it's an
FM20L08-60-TGC TSOP32· big whopping $23.00. How do I hook it up ?
Question:
Why can I use only·4 of the 64k on the I2C bus ? Why not 8 ??
And is the PN# FM24CL64 correct for·a Propeller solution ?
Question:
Also under Serial SPI,
Why could I not hookup 4-8 of the FM25L512 ?
There 512k @ 3.0-3.6V
For that matter is it not possiable to use the FM24C512 (Serial Memory) 512k
I've looked through many posts, could you please explain this to me.
Is it because vdd is 5v, or because IDD is 1.5ma - 12ma, or what ?
Why and what are the limitations on EEPROM sizes with the Propeller? I know I2C has
no. of chip per pin limits, but what else limits the size of the EEPROM/amount of chips I can use
with the Propeller ?
I'm trying to learn something.
Thanks,
-Areal
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I have a tree growing out of my head, but
what do you expect ? I'm a programmer.
Post Edited (Areal Person) : 12/19/2006 5:22:30 AM GMT
The I2C memories (FM24C256 and FM24C512) operate only on 5V at present, so require a little interface circuitry (the Philips P82B96 does this nicely). Their advantage is that they can piggyback on the same I/O pins used for the boot EEPROM. The I2C addressing scheme provides for only 8 possible select codes for memory chips. Different manufacturers do this differently, but Ramtron uses the 8 address codes for 32Kb memories. the 64Kb memories use two address codes per chip which limits the total to 256Kb per I2C bus.
My current project is a high speed I2C assembly sequence to interface with 24FC515 EEPROMS. These are neat little buggers. You can push a 1Mhz (I2C or SPI)clock at them (versus 400kHz high speed I2C) at 3.3V. I'll be honest though, I haven't been able to reliably read/write to these chips using available techniques (Mike's OS or I2Cobject) without the address sequencing by 3 (meaning, I can only read every 3rd addresss?!? Any thoughts?).
You can chain 4 of these on one I2C bus, giving you 2Mb storage per bus. My concept is to use a 2 bus setup. This will allow me to buffer one page for one bus, while writing the other page to the other bus.
I have calculated that I can push 12,800 bytes per second into the eeproms, filling up all 8 eeproms (4Mb) in 40 seconds!
I am currently writing my object to use two 64byte page buffers. For now, I'm just trying to reliably write and read to the eeprom. Oh, BTW, the whole thing will be Assembly, including writing to each of the 64 byte buffers (the only way to get these speeds).
I hope to be done in January while my other half is gone for two weeks...
-Parsko
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"If you want more fiber, eat the package.· Not enough?· Eat the manual."········
using it from the propeller without even trying that hard. I'm still working on
writing. Some cards are faster than others, too.
I'm thinking maybe I should dedicate 1 of my propeller chips as a FRAM controller using I2C to start with. for experimentation.
Then hookup allot of FRAM chips and·also to leave a few pins open as so I can then
communicate to my propeller from another propeller chip [noparse]:)[/noparse]
I think I going with 4 FM24CL64's as a drop in replacment for the stock EEPROM for a total of
256k FRAM upgrade.· (I2C)
Then I think I'm going with 4 FM24C512's @ 5v with some kind of voltage circuit for a total of
2mb
From there the sky is the limit !
Ua... will this work, I can use mutipul i/o pins for I2C bus lines and different
configurations ? Right
Thanks -Areal
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I have a tree growing out of my head, but
what do you expect ? I'm a programmer.
Post Edited (Areal Person) : 12/19/2006 8:40:10 PM GMT
I was looking at the FM20L08-60-TGC 1 Mb Parallel 60ns Temp 0-70c 3.3V TSOP
is this just a simple Parallel hookup, is that what that means ?
WOW ! That chip's $23.00 bucks !
Would this type chip be a·good solution for the propeller, or is it a dumb way
to do it ?
-Areal
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I have a tree growing out of my head, but
what do you expect ? I'm a programmer.
Post Edited (Areal Person) : 12/19/2006 10:08:49 PM GMT
I was originally thinking about the DOSonChip, but after seeing some of the issues I am having second thoughts.· I don't really have a preference at the moment on which type of device I use (SD, CF, USB thumb drive), but I will need one of the above.· I'm going to try to write the routines to abstract the mass storage device so that I can easily replace the storage mechanism later.
One important criteria is that the storage device be easily read/written by a PC, so that disk images can be downloaded from the Internet and transferred directly onto the memory device.· SD, CF and USB all qualify, but FRAM or other EEPROM doesn't work well for this.
Hoping that a good solution will emerge, and/or willing to lend a hand to help build one if needed...
- Earl
etc. etc. etc.). So if you have a propeller, you might consider getting a SD socket wired up (the SparkFun breakout board works great,
but I've seen that some people just plug the SD card directly into an old floppy connector and that works for them) so the hardware is
ready to go.
One of the uses I plan for it is as a disk controller replacement for the TRS-80 Color Computer; I'll probably use the cassette port for an
interface.
Well, I just ordered a DosOnChip, so I'll let you know how it works for me as soon as it arives.
I can't wait !
@rokicki, I'm also interested in your project. I have a CoCo2, and I have one that's just parts
the ROM is just sitting in the socket waiting for me to do somthing with it.
Do you know how to work with any of the TRS-80 CoCo 2 chips ?
I'm also working with FreeDOS Kernal programming and the Bochs OS emulator.
I have not figured out how to run a modified DOS kernal on the Propeller chip yet [noparse]:)[/noparse] but
I'm looking forward to coding some spin objects that are based on some core functionalities
in the furture
Things like...
Virtual RAM Disk in FRAM memory
Shared Memory (FRAM) IPC abilities, maybe some custom pipes etc.. and just some OS stuff thats cool.
I'm not trying to make a PC, but there are just some memory features that would be cool !
I'm kinda behind the game right now, but when I get caught up, It's really going
to be fun !
-Areal
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I have a tree growing out of my head, but
what do you expect ? I'm a programmer.