Power consumption for microSD cards ?

Mar 29, 2007 13 Replies

Hi all,



I'm thinking of using a microSD card to store data in my next project at work (Microchip PIC18 or PIC24). I was looking at the specs from a mfr (I think it was Sandisk) for the regular SD card and it says that standby power was about 250uA. This is good. But the read and write cycle take a max of



100mA. This is a killer. I'll be running off a 3.6 C cell with about 7Ah storage. This sounds like a lot but the device has to work for several years on that battery and the 100mA will just kill it. I realize that it won't draw 100mA all the time but if I write every minute about 25 bytes to it... well... it will kill my battery way sooner than sales/marketing like.

Does anyone know the real power consuption for writting and reading a microSD card ?



Thanks


How long is a write cycle and how often do you need to repeat it? Perhaps a large low leakage capacitor would supply enough current.

Guessing some numbers. Lets say 100mA for 0.01s with 0.2V voltage drop being acceptable.

i=C(dv/dt) works out to 50,000uF An electrolytic that big can have 100uA leakage current, though it sounds like your device will have power all the time which helps.

If the write cycle is less than 0.01s or you can get a way with a bit more voltage drop you may be able to use a smaller cap.

I used 0.01s as that is standard for little EEPROM's. Flash may well be much shorter.

If you need multiple writes wihtout time for the battery to charge the cap you may need more.

I havn't looked up the leakage of current supercaps. Last time I looked I was amazed to see they available up to thousands of farads. I'm told the current kilofarad caps don't contain horribly toxic stuff like the early ones.

Bob

SD card has a controller, probably more powerful than a PIC. So, you have to pay for it in power. If you don't mind a few more pins (8 to 10), you can interface to NAND chip directly. They are 10 to 20 mA on average.

There are a bunch of question I have for you.

But where to start.

OK

Lets make some assumptions, for info you did not give.

An SD card has 512 byte sectors. So writing 25 bytes at a time would be writing the same sector 20 times in 20 minutes.

Most larger micros, let alone systems, have at least 512 bytes of battery backed RAM.

So writting a 512 byte sector every 20 minutes would extend your battery by 20 times, by your calculations.

You would write 3 times an hour, instead of 60 time an hour.

I hope this help you with your battery analysis.

donald

PS: All this goes out the window if you want FAT16/FAT32 compatability ! But using a battery backed RAM buffer and writing to the SD when enough data have been collected will extended your battery life by years.

PPS: Good Luck

A write cycle is a few 10us to a few ms for a sector. This current is easily supplied by a ceramic 10uF capacitor close to the pins. You should do some measurements on how the current averages under the assumed temporal writing density

Rene

Ing.Buero R.Tschaggelar - http://www.ibrtses.com & commercial newsgroups - http://www.talkto.net

Could you tell me why "All this goes out the window if you want FAT16/FAT32 compatability ! " ? I do need the data to be readable by inserting the card into a pc.

Thanks and thanks to everyone for the replies.

Oh boy, now I've done it.

Well, this is something you are going to have to learn on your own.

There are lots of discussions on the web about FAT16/32 directories, tables, Boot Sectors, and other things related to "DOS" formats.

Google will find tons out there, so spend the weekend studing and reading.

By Monday you will either understand it or you won't.

Hmmm,

In a nut shell, for every 512 byte data block you write , you will also have to write at least 2 FAT tables, read blocks of the directory structure from the begining to find an empty location. Read blocks from the FAT table from the begining till you find an empty location. Worst case is reading all the directdory/FAT table blocks ( as few as 128 blocks to 1024 blocks),( reading a block off an SD card is almost as much current as writing a block )

So, please do yourself a favor and truly understand what you are getting this project into. And you won't get this done in a months time, without really understanding all the little details of FAT file systems.

Good luck, its not magic, but it is work.

donald

because then everytime you extend the file you should update the directory entry and possibly the FAT too.

It's OK to write the FAT and directory only immediately before the card is removed, you'll have to provide a way to detect that.

Bye. Jasen

no, for every cluster, which can be upto 128 blocks, it's determined when the media is formatted.

you can cache these writes and only write each FAT sector when it's full, also, there's no requirement to have two FATs,

easiest way is to cheat and reformat each new card so that only a subset of FAT-FS needs to be implemented.

Bye. Jasen

Thank you Jason for extending my off-the-cuff description.

There are all kind of tricks to cheat FAT.

My point and yours is, understand the details of FAT before starting.

FAT is not as simple as so would think.

donald

PS: or google for FFS.

Don't you need a license and a health certificate for that job?

Service to my country? Been there, Done that, and I\'ve got my DD214 to prove it. Member of DAV #85. Michael A. Terrell Central Florida

Depends what you do on your weekends. ;-)

donald

"The Old Engineer's Stud Farm", where we work day and night to produce out next generation of Engineers! ;-)

Service to my country? Been there, Done that, and I\'ve got my DD214 to prove it. Member of DAV #85. Michael A. Terrell Central Florida

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required