Guesstimated max SD card throughput with Propeller?
Lord Steve
Posts: 206
What are some guesses or actual empirical data about the maximum bytes per second which can be read from a 170x SD card via SPI on the Propeller reading just raw sector data in 512-byte chunks (NO file format)?· I'm hoping at least·8 Megabits per second.
Thanks for any info.
·
Thanks for any info.
·
Comments
You may have to unroll a loop a bit, do a 32-bit read-at-a-time using two instructions per read bit and then a WRLONG.
You will have to ensure your overhead though is minimal.
J
Which driver are you using?· Do you know the speed rating of your particular card?
·
Additionally I'd guess the 8megabits rokicki is quoting is using more than the 2 I/O lines available on the micro SD - in which case you'd definatly improve that.
Say at 5ms per 1k thats 200k per second?
James
That is SPI comms. I was taking the CLK & CS as granted. What I mean is that on some cards you have 2 IO (cmd/dat) and some 4, and 8 - so with the parallisum you'd get more data back quicker
james
If anyone knows more about that method of interfacing to the SD cards, I would like to know more.· Thanks.
yeah it gets more interesting - but is a LOT faster as you say
J
block after block after block. Indeed, you may have to use multiblock reads. But I am fairly sure, on the prop, using
just SPI, you should be able to get a megabyte a second into hub RAM. The limiter here is the instruction rate on the
prop (to generate clock, read bits, and set the bits correctly in your output word, and get that data into the HUB.)
Has anyone implemented the SD protocol (as opposed to SPI) to read SD cards?
Thanks.
·
not implemented it yet.
I think you will find right now the bulk of time is in overhead, not data transfer, so improving the various overhead parts would
make more impact anyway. For instance, right now the low-level routines use WRBYTE/RDBYTE because they cannot be certain
the buffer is 32-bit aligned. And there are other sources of overhead as well.
And finally, that's pretty fast data transfer for an 20 MIPS box. What sort of application do you have in mind that can
profitably use that data?