Снова карты памяти. И думаю не в последний раз они становятся героями очередной статьи.

Суть проблемы. Есть девайс, который должен жить от батарейки. И как всегда, если от батарейки, то это космический корабль с кучей фич и нулевым потреблением 🙂 Вот тут и была загвоздка. Причина выявилась сразу — SD карта, жрала она куда больше расчетно-задуманного.

Дабы уточнить некоторые детали — все ресурсы под завязку, поэтому копить большой буфер не было возможности. Записывать нужно было через большие рандомные интервалы, но отклик карты должен был быть максимально быстрым. Поэтому вариант тупо рубить питание полевиком не подходил.

Ток измеряется специальной микросхемой ina216 схема включения из даташита.
ina216

Резистор 0.5 Ом, коэффициент усиления микросхемы 50. Итого если ток потребления будет 10мА, то на измерительном выходе будет I*R*Ku = 0.01*0.5*50 = 0.25В

Пояснения приведу на примере первого поциента:
DSC_0140

Суть измерения была в том, чтобы выкинуть все лишние элементы, которые бы могли как то повлиять, поэтому все мерилось осциллографом, на измерительном выходе ina216. В предыдущей статье я уже рассказывал как измерить время записи карты памяти — запускаем таймер до операции, останавливаем после, тики переводим в миллисекунды. Данные записывались одним сектором 512байт, на частоте 4МГц через SDIO. На данной скорости сектор улетает на карту в среднем за 1-2мс. А вот что происходит с потреблением карты?

Мне всегда думалось что карта жрет только в моменты, когда пишет. Судя по simplified layer, после записи данных идет Programming State, про потребление которого ничего явно не сказано.
sd_layer

Итак не буду томить. Исходная карта, потребление которой отличалось от ожидаемого.
AKIP982_1

Желтый канал это обычный GPIO он включался до начала записи блока и выключался через 200мс. Синий канал это по сути ток потребления карты. Видно что в начале записи небольшой выброс, это как раз то, что жрет карта в момент записи в течение 1мс, а вот дальнейшее потребление и было то, что «не входило в планы». Сколько бы раз не тестировалось, на разных скоростях, стабильно карта прекращала жрать ток не сразу после выполнения операции записи, а через ~140мс. Средний ток = 500мВ/0.5/50 ~ 20мА

Следующая SD.
DSC_0141

Признаки все те же самые.
AKIP982_2

Средний ток такой же, поведение абсолютно идентичное. После этих двух экспериментов, было решено затестить более модные фирмовые карты памяти. Каково же было удивление…

Первой на очереди была Toshiba
DSC_0142

И совсем другой результат! Запись + то что «не входило в планы» ~ 10мс.
toshiba

Так же протестили Sandisk
DSC_0143

И снова результат в корне отличается в лучшую сторону
AKIP983_1

Kingston
DSC_0144

AKIP984_4

Лучший результат Zifro
DSC_0141

zifro

На всякий случай затестил старые карты формата SD. Хотя результат не впечатлил.

Transcend
DSC_0144

AKIP983_2

MicroSD
DSC_0147

AKIP983_3

Выводы делайте сами, или не делайте. Мне данный эксперимент помог влезть в планируемое потребление. Возможно ваш девайс сможет прожить несколько дольше от батареи, поэтому стоит задуматься о приобретении нормальной карты.

6 комментариев: Тест токопотребления карт памяти

  • Хороший тест, хотелось бы ещё, для сравнения увидеть тесты карт MMC 🙂 Хотя их уже не найдёшь на рынке, sd-шки их давно вытеснили. Но у меня осталось штучки 2.

  • И из за твоих 2 штучек человеку нужно будет заморачиваться? Не расстроишься, если он найдет карточки других фирм? :mrgreen:

  • ZIFRO microSDHC Class 10 32GB — ОЧЕНЬ ПЛОХИЕ
    https://www.youtube.com/watch?v=K6eIjL66geA

  • Да, как оказалось одинаковые внешне карты показывают разные результаты. У меня отлично работали 8Гб сандисковские карты, убивали их просто по жосткому. Купили такие же карты и работают просто отвратительно, по токопотреблению не проходят, да еще и сектора убиваются за пару дней. Т.е. «левые» партии это не миф, я не вижу другого способа как прям перед тем как взять несколько карточек, взять одну и потестить. В случае покупки одной карты это лотерея.

  • Очень интересный тест. Я даже не предполагал что карта карте рознь. Тоже занимаюсь разработкой устройства работающего от батареек. Хочу прикрутить туда карту памяти, но удивился, что карточка жрет не мало. Пробовал рубить питание транзистором, но столкнулся с тем, что после повторного включения питания карточки она не отвечает. Скорее всего нужно проделать повторно процедуру инициализации, но как не могу понять.

  • Очень полезная работа, спасибо человеческое!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Последние комментарии
  • Загрузка...
Счетчик
Яндекс.Метрика