I had work some weeks on a SD Card interface module for PSoC 3, the module is not stable yet, i get read and write operations, read operation work always fine, but write operation sometimes corrupt the file system. In this post you can find a binary hex file to program the PSoC 3 module in the CY8CKIT-001. The firmware contains a test program for any sd card capacity, the test program list the directories and files on the root directory, no write operation is implemented in the test program to avoid cases where any sd card could be damaged. All the information is transmited using the serial port in the development kit, working at 115200bps.
To get the test program working and dont damage the SD Card the development kit MUST be working at 3.3v. The SD Card pins can be conected directly to the pins of the PSoC. The pin conection im using looks like this:
SDCard DO pin to P0(1)
SDCard SCK pin to P0(3)
SDCard DI pin to P0(4)
SDCard CS pin to P0(6)
RX to P1(6)
TX to P1(7)
Get the program running is easy, you only have to program the PSoC 3 device, plug the RS232 port to the PC open a terminal, push the reset button and the directory listing will start.
Im sorry that source code is not avaliable because a commercial project is being developed using the module im creating, i hope psoc creator comes soon with the SD Card module by default, will be nice to have a customizer for easy configuration.
I second this feature request. An library for communicating with an SD card over an SPI bus (preferably and existing one in use for other peripherals), supporting one of the FAT file systems, would be immensely useful. A bootloader example to go with it would also be very useful.
I am working PSoC Creator about reading data from SD card. But i can't data with command "SPIM_ReadRxData". Can you tell for me problem or send to me your code? My email is firstname.lastname@example.org. Thank you very much.
Interested in data acquisition with SD card.
Looked at SD card specs: seems like the highest speed version "Class 10" - does 10MB / sec - which is adequate for my needs (on 2nd thought - maybe that was "Read" speed not "Write" speed.
However - reading the .ppt presentation "Secure Digital (SD) Card Module Solution" from Cypress website shows limit like 2.2KB / sec.
Am I seeing this correct?
Why the limit?
How can it be increased?
The presentation you are looking at is from an old attempt at doing
an SD Card desifgn. There was a kit, PSOC 1, yanked off market,
because there issues with implemenation.
I suspect the speed quoted in the presentation was in fact correct, given it
was on a 4 MIPS PSOC 1 implementation.
Thank you for your response. I understand the .ppt was old with with a slow processor.
Is there an update on whether PSOC n (I'm using PSOC 5) can "keep up with" the class 10 SD card? (on SPI? other?)
Capability to write data acquisition to class 10 SD card would be amazing!
OK - so now back to my first question (after reading the emFile datasheet) - which shows (for one point) 282 KBytes / sec write speed with a 48Mhz CPU clock, 12Mhz SPI clock on PSOC 5 (for 8KB blocks). This 0.28MB / sec write speed is appx 40X lower than the class 10 SD card should handle (10MB / sec).
What is the limit?
Can the limit be removed?
This table in datasheet pretty much seems to say no to 10 Mbit.
You can always post a case at (and ask what they are doing regarding the faster standard) -
“Create a Case”