First my configuration: I am running a Hyper V failover cluster with two physical hosts (node01 and node02).The hosts are both running Windows Server 2008 R2 Hyper V server (the free one) with SP1.Follwing are the Hyper Terminal windows showing card detection (One window shows baudrate as 38400, that was while testing for higher clock speeds, current code still uses 19200 baud and 8MHz internal clock of Mega32). 'create File' function replaced with write File, which looks for the filename first, if the given file name doesn't exist then it creates new file and writes data, but if the file already exists, then it opens it and appends the entered data. - A bug removed which was giving error related to use of 'LONG' - : 1 raw data block (512 bytes) takes 4.15ms for reading or writing (123.37 KBytes/s) at current 4 MHz SPI clock rate. These transfer rates can be further increased by using a 16MHz crystal (8 MHz SPI clock). : - A bug removed which stopped creating new files after 32*8 files in the root directory - The root directory was unnecessarily getting expanded by one cluster whenever a file was created.
If you use option 0, 1 or 3, you may have to reformat the card before using the FAT32 routines.
Following figures show the SD card pin-out & the bread-board adapter design by soldering 7-pins of a breakout header on the micro SD adapter (Click on images for larger view).
I had started this project with 1GB micro SD card from San Disk (later on tested with transcend cards also).
It is compatible with SPI bus, so the interfacing is easy.
SD card adapters are also easily available in market, one can easily make a bread-board adapter by soldering few pins on it.