I want to know how many kilobytes I can send per Second? In other words how fast is the chipset (DOSonCHIP FAT16 FAT32 Module) to interface a microcontroller to a SD-card.
Also i’am interesting in how long it takes the chipset to receive a command from a micorcontoller via UART/SPI?
I have already contact the manufacturer but they didn’t respont till now.
In my experience, I could only get it to do 480 bytes per second… that’s right… 480 Bytes per second.
I only had a 512byte buffer, and was sending (i think) in chunks of 256 which may have been suboptimally big, but it was an eye opener.
I recommend looking into a product called ‘uALFAT’. Unfortunately it’s not carried by sparkfun, but it can go up to some tens of k’s per second. (they say 80k/sec)
MMC/SD cards have built in support for SPI bus. If these chips are using SPI mode, it could account for the speed issue. Its easy to implement, but very slow compared to the native mode.
On the plus side, I am finding that interfacing directly to an MMC/SD card via SPI is not that difficult. There are is a very easy initialization sequence and a couple of commands to interrogate cards, write blocks, and read blocks … both single blocks and multiple blocks, depending on the complexity you seek.
To read a block, for example, is [CMD17] [32bit address] [CRC]. You get a short 1 byte response, and then the entire block in a packet after that. The write sequence is similar.
The cards default to 512 byte blocks, but most cards can operate in larger block modes.
Again, depending on what you are doing with the memory, you could almost get away without using much of a file system at all. FAT16 is easy if you need it. All this work has been done already if you look around. Microsoft also publishes the docs.
Looking at the time required to work with one of these finicky FAT chips vs. rolling your own FAT/homebrew FS, they are about the same for me.
MMC/SD cards have built in support for SPI bus. If these chips are using SPI mode, it could account for the speed issue. Its easy to implement, but very slow compared to the native mode.
The other chip i’ve used (uALFAT) also uses an SPI mode to get its ~60-80k write speeds, so the DosOnChip seemed to just be an immature product.
If you email the manufacturer they will never tell you what the max theoretical write speed is, and also state ‘increasing write performance’ as one of their firmware upgrade objectives.