From: mscand1 on
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
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
>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
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
>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