From: mscand1 on 4 Mar 2010 08:04 Hi Everybody, my first thread in this forum. Has anyone experience of measuring microSDHC read power consumption in a real implementation (SPI mode)? Specifically I need to know: Average current drain of a microSD given average read Stream in Kbps, MCU RAM, and given nominal current supply "Iread" and max read Speed from the card datasheet. I am tempted to simply multiply Iread * (Stream/Speed), but I am not sure how to account for the RAM and block size. My target is to read a stream of 300 to 700 kbps at a card power consumption <1mW. I intend to use a dsp with fairly large RAM (300 KB, TMS320C5505). Do you think this is achievable? Any help would be greatly appreciated. Marco --------------------------------------- Posted through http://www.EmbeddedRelated.com
From: Mark Borgerson on 4 Mar 2010 14:05 In article <sO6dnfkE-9JQMhLWnZ2dnUVZ_jGdnZ2d(a)giganews.com>, marco.scandurra(a)gmail.com says... > Hi Everybody, my first thread in this forum. > > Has anyone experience of measuring microSDHC read power consumption in a > real implementation (SPI mode)? > > Specifically I need to know: > Average current drain of a microSD given average read Stream in Kbps, MCU > RAM, and given nominal current supply "Iread" and max read Speed from the > card datasheet. > > I am tempted to simply multiply Iread * (Stream/Speed), but I am not sure > how to account for the RAM and block size. > > My target is to read a stream of 300 to 700 kbps at a card power > consumption <1mW. I intend to use a dsp with fairly large RAM (300 KB, > TMS320C5505). > Do you think this is achievable? > > Any help would be greatly appreciated. > > Marco > I've tested current on a number of SDHC cards, and I find that the faster cards have higher read and write currents. That makes sense, since they need faster internal processors. If you're counting the milliWatts, make sure that you specifically send the Idle command, otherwise the card may keep its processor cranked up for about 250mSec. If you're doing intermittent reads, that extra time at higher power can be a significant power drain. The max read speed from the data sheet won't be much help, as it isn't the speed you get in SPI mode. You need to figure your SPI transfer rate and get an estimate on overhead. Then you can figure out the Read/Idle duty cycle and work out a power estimate. A rough estimate might be: 25MBITS SPI = 20MBITS data rate for 700kbps, your duty cycle will be 0.7/20 0.7/20 * 20mA = 0.7mA average current 0.7mA * 3.3V = 2.3mW. You'll probably need a fast current sensor and a scope to find the actual power consumption. At least reading is better than writing----where you get a longer burst of high current while the card erases the next 32KB block of flash. Mark Borgerson
From: mscand1 on 4 Mar 2010 22:23 >In article <sO6dnfkE-9JQMhLWnZ2dnUVZ_jGdnZ2d(a)giganews.com>, >marco.scandurra(a)gmail.com says... >> Hi Everybody, my first thread in this forum. >> >> Has anyone experience of measuring microSDHC read power consumption in a >> real implementation (SPI mode)? >> >> Specifically I need to know: >> Average current drain of a microSD given average read Stream in Kbps, MCU >> RAM, and given nominal current supply "Iread" and max read Speed from the >> card datasheet. >> >> I am tempted to simply multiply Iread * (Stream/Speed), but I am not sure >> how to account for the RAM and block size. >> >> My target is to read a stream of 300 to 700 kbps at a card power >> consumption <1mW. I intend to use a dsp with fairly large RAM (300 KB, >> TMS320C5505). >> Do you think this is achievable? >> >> Any help would be greatly appreciated. >> >> Marco >> >I've tested current on a number of SDHC cards, and I find that the >faster cards have higher read and write currents. That makes sense, >since they need faster internal processors. > >If you're counting the milliWatts, make sure that you specifically >send the Idle command, otherwise the card may keep its processor >cranked up for about 250mSec. If you're doing intermittent reads, >that extra time at higher power can be a significant power drain. > >The max read speed from the data sheet won't be much help, as it >isn't the speed you get in SPI mode. You need to figure your >SPI transfer rate and get an estimate on overhead. Then you >can figure out the Read/Idle duty cycle and work out a power >estimate. > >A rough estimate might be: 25MBITS SPI = 20MBITS data rate > >for 700kbps, your duty cycle will be 0.7/20 > > 0.7/20 * 20mA = 0.7mA average current > >0.7mA * 3.3V = 2.3mW. > >You'll probably need a fast current sensor and a scope to >find the actual power consumption. At least reading is >better than writing----where you get a longer burst of >high current while the card erases the next 32KB block >of flash. > > >Mark Borgerson > > Mark, Thank you for the feedback. I have read your interesting posts about microSD consumption in write mode. Would you have any recommendation for the MCU RAM buffer size I should use in my application? I have just obtained a datasheet from SanDisk and it quotes a typical read Access Time of 1.5ms. From the signal timing diagrams published in the physical layer specifications I understand the card needs to go through 1x Access Time before sending any 512B data block even in multiple block read. So this would translate to 512B / 1.5ms = 341KB/sec. This sounds very slow. Marco --------------------------------------- Posted through http://www.EmbeddedRelated.com
From: whygee on 5 Mar 2010 07:34 mscand1 wrote: > I have just obtained a datasheet from SanDisk and it quotes a typical read > Access Time of 1.5ms. From the signal timing diagrams published in the > physical layer specifications I understand the card needs to go through 1x > Access Time before sending any 512B data block even in multiple block read. > So this would translate to 512B / 1.5ms = 341KB/sec. This sounds very > slow. not that slow, 341KBps = 2728Kbps (1 byte = 8 bits) or more than 3x your target of 700Kpbs. hope this helps, > Marco yg -- http://ygdes.com / http://yasep.org
From: mscand1 on 5 Mar 2010 09:19 >mscand1 wrote: >> I have just obtained a datasheet from SanDisk and it quotes a typical read >> Access Time of 1.5ms. From the signal timing diagrams published in the >> physical layer specifications I understand the card needs to go through 1x >> Access Time before sending any 512B data block even in multiple block read. >> So this would translate to 512B / 1.5ms = 341KB/sec. This sounds very >> slow. >not that slow, 341KBps = 2728Kbps (1 byte = 8 bits) >or more than 3x your target of 700Kpbs. > >hope this helps, >> Marco >yg >-- >http://ygdes.com / http://yasep.org > Yg thanks. I agree that's about 3x my data stream target, but it is too slow for low power applications. Every second the card will be in read mode for 1/3 sec and in idle state for the remaining 2/3 sec. Under this duty cycle a 30mA card will need about 30mW at 3V. This is too much power for my application. Marco --------------------------------------- Posted through http://www.EmbeddedRelated.com
|
Pages: 1 Prev: usb device cable is unrecognized by pc Next: rad-hard MCUs? |