I'm working on a low-power logger to continuously log data at fairly low rates (2-3KB/s) for months. I've successfully used SD and SD micro cards at lower rates, but I'm seeing a power dissipation problem with the KB rates. When the card is really idle, the current draw is well under 1mA. During and after writes it is about 20mA. (With a 2G Transcend micro SD).
The simple approach is to buffer up a sector (512 bytes) and write it as needed. However, when I monitor the power, I find that it takes only a few milliseconds to write the data, but the power dissipation in the SD card stays high for ~250mS after the end of data transfer. This 250mS is, suspiciously, the same as the write timeout interval for SD cards. My working hypothesis is that the card is keeping the internal charge pump and other electronics turned on until the end of this interval.
Is there a way to command the card to shut down the power hogs ASAP? I'm using the normal Idle command without result (or at least a long-delayed result).
I've gotten the average current under 5mA by buffering up about 16KB before writing---but that requires an expensive SPI FRAM buffer to supplement my MSP430 controller. It's either that or switch to an ARM variant with 32KB or more of RAM---and face a whole different set of power and cost issues.
Mark Borgerson