0
\$\begingroup\$

I am accessing my SD card using SPI. But I've found this to be slow and I am also sad that when there is a faster protocol already supported by my SD card I am using a slower version.

Is there a C library that can be integrated to my C compiler which can be used to access my Sd much faster than SPI?

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Is this a question about electronics design? Or a software and libraries based question, which is specifically for your microcontroller? wrong place mate.. \$\endgroup\$
    – KyranF
    Commented Oct 6, 2014 at 18:33
  • 1
    \$\begingroup\$ also, larger pin-count microcontrollers (especially the ARM ones) have dedicated memory interfaces which can probably access faster than SPI protocol (which btw can go very very fast, at something like 80Mhz or more in some cases, for some devices.. try doing that) \$\endgroup\$
    – KyranF
    Commented Oct 6, 2014 at 18:35
  • 1
    \$\begingroup\$ Possible duplicate of electronics.stackexchange.com/questions/10675/… \$\endgroup\$
    – David
    Commented Oct 6, 2014 at 18:59
  • 2
    \$\begingroup\$ Which micro, which compiler, which library? my powers of the mind have left me..... \$\endgroup\$
    – Spoon
    Commented Oct 6, 2014 at 19:14

1 Answer 1

6
\$\begingroup\$

One way to access an SD card faster (up to 4x) than using the 1-bit serial SPI mode is to use the 4-bit parallel mode.

Unfortunately, this faster mode is proprietary to the SD Card Association. Just Google: "sd card 4-bit proprietary" and you will see a number of web sites that confirm this.

The SD Card Association has 1) not released the specifications for it (although some of it may have leaked), and 2) to legally use it in a product you must pay a hefty fee (a few thousand dollars). So even if you want to use it just for yourself, it is unlikely you will find a C library anywhere that supports this mode. But you can always look.

The SD Card Association has made the SPI protocol officially available which is way it is readily available, which you obviously are aware of.

\$\endgroup\$
5
  • \$\begingroup\$ that clears my doubts. Isnt there an open source alternative for me? If SD is proprietary, then someone can build an open source alternative. If that day comes, I am willing to change my hardware and use it. 1000$ is difficult for a hobbyist for storage. Isnt there any other method I can store my record files in my portable embedded application? I need about 250Mb. \$\endgroup\$
    – Denis
    Commented Oct 7, 2014 at 1:49
  • 1
    \$\begingroup\$ I don't think anyone could open-source it without having a copy of the spec, and then that would be illegal. You either need to run your SPI bus as fast as you can (I use 20-25 MHz, some will run 40-50 MHz), the other would be to use a standalone chip like this 256 MB one which costs only $3 and should run an order of magnitude faster than a fast SPI interface; the downside is it needs lots of I/O lines between it and the microcontroller, and it is a SMD. \$\endgroup\$
    – tcrosley
    Commented Oct 7, 2014 at 7:16
  • 1
    \$\begingroup\$ @QwertyCoolGuy That looks like a really nice dev board. I have no experience interfacing directly with external Flash RAM so I can't offer any suggestions. Good luck with your project. \$\endgroup\$
    – tcrosley
    Commented Oct 8, 2014 at 7:56
  • \$\begingroup\$ I purchased a TI TIVA129 dev board. That included a Flash Chip in it connected to the MCU I am familiar with. Im going to try that. I guess I now have to learn all about using NAND Flash and accessing modes, formatting etc. From basics/scratch. There is plenty of tutorials on the internet though, If you can recommend a series of tutorials/ material off your head kindly do so. \$\endgroup\$
    – Denis
    Commented Oct 8, 2014 at 9:26
  • \$\begingroup\$ I have noticed a lot of support for SD cards. e.g. FatFS file system etc. Hopefully this too will have. Thank you for you time. \$\endgroup\$
    – Denis
    Commented Oct 8, 2014 at 9:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.