Карта памяти micro-SD с низким энергопотреблением


18

Мы строим регистратор данных с низким энергопотреблением на базе ATmega328P, чтобы использовать загрузчик Arduino, IDE и т. Д. В идеале потребляемая мощность должна составлять менее 0,3 мА при 3,3 В, чтобы срок службы одного устройства составлял около 4 месяцев. Батарея АА. Данные датчика будут храниться со скоростью не более 76 байт / с в течение 4 месяцев, что дает около 750 МБ данных. Поэтому нам нужно большое запоминающее устройство, которое все еще потребляет мало энергии.

Из того, что я могу сказать, единственное практическое решение для хранения такого количества данных - это использование SD-карты. Однако SD-карты, похоже, потребляют немного больше энергии, чем мы можем себе позволить, ток простоя 0,2 мА для карт, которые у нас сейчас есть, и больше, когда они пишут.

Итак, некоторые вопросы:

  • Является ли переключатель верхней стороны единственным практичным способом управления энергопотреблением SD-карты?
  • Есть ли какие-то предупреждения, о которых мы должны знать при переключении питания на карту? Например, выравнивание износа - это процесс, который будет выполняться после записи блока, или это может произойти в любое время.
  • Есть ли другие альтернативы, которые мы должны рассмотреть?

1
solarduino.net/?p=58 - это статья, которая может вас заинтересовать
vicatcu

Попробуйте добавить внешнюю память, например 23LC1024. Затем вы можете буферизовать больше и держать SD-карту выключенной. Microchip также делает версию с батарейным питанием, если вас беспокоит идея хранения данных в энергозависимой памяти.
markrages

Ответы:


19

Если вы планируете в среднем 0,3 мА, то учитывается каждый мкА. Не такая большая проблема для микроконтроллера, но SD-карта будет потреблять десятки мАс. Вы хотите включить его как можно меньше. Но ATmega328P имеет только 2 КБ ОЗУ, поэтому ваш буфер сэмплов будет заполнен менее чем за полминуты, а затем пришло время для записи на SD-карту. Два раза в минуту

Я бы рассмотрел TI MSP430 вместо AVR. Это по-прежнему самый распространенный контроллер с самой низкой мощностью. Это сэкономит вам мкА, которые вам понадобятся при записи на SD-карту. MSP430F5418A также имеет 16 Кб оперативной памяти, так что у вас есть власть на SD карту только один раз каждые три с половиной минуты.

Вы можете запустить MSP430 на его низкочастотном генераторе и переключиться на высокочастотный DCO (генератор с цифровым управлением) для записи на SD-карту, чтобы это заняло как можно меньше времени.

Для питания SD-карты я бы действительно использовал верхний переключатель. BSS215P представляет собой подходящий логический уровень Р-МОП - транзистор.

править
Если вы не возражаете пакет BGA NAND флэш - устройство может быть альтернативой SD - карты. Этот может работать в режиме MMC или SPI. Он потребляет меньше, чем SD-карта, но все равно потребляет 200 мкА в режиме ожидания, поэтому вам все равно придется отключить его с помощью полевого транзистора. Обязательно сделайте I / O для микросхемы низким перед отключением питания. Это касается и SD-карты.


Спасибо за информацию. К сожалению, в настоящее время мы ограничены MCU с доступными загрузчиками Arduino, но рассматриваем Atmega644PA из-за увеличения оперативной памяти. MCU будет разбужен прерыванием RTC для выполнения измерений и в другое время отключен. Есть ли альтернативы SD-карте? Ваше предложение получить MCU с большим количеством оперативной памяти для большого буфера - хорошее, о котором я не подумал. :)
геометрикал

@stevenvh Какие характеристики полевого МОП-транзистора BSS215P делают его пригодным для этого применения?
ElecEnthusiast

AVR может даже быть в состоянии поставить SD-карту с контакта GPIO (должно быть 20 мА).
JimmyB

14

(Отвечая на свой пост с полезной информацией)

Я провел несколько экспериментов с ограниченным набором SD-карт, чтобы проверить их энергопотребление. Похоже, они сильно различаются между производителями и типами, некоторые карты потребляют в 10 раз больше сна, чем другие.

Ниже приведены два результата. Первый - это приблизительное потребление тока в спящем режиме, а второй - среднее потребление тока примерно для 1 сектора записи каждые 5 секунд для моей платы .

Card                     Sleep (mA)         Cyclic write (mA)   Number of cards tested

Sandisk 4GB Class 4      0.34-0.95 (0.69)   0.64-1.25 (1.05)    5
Verbatim 4GB Class 4     0.06-0.12 (0.09)   0.12-0.17 (0.16)    6
Kingston 4GB Class 4     1.34-1.34 (1.34)   1.47-1.47 (1.47)    1
Lexar 4GB Class 4        0.09-0.09 (0.09)   0.11-0.12 (0.12)    2

Lexar 8GB Class 6        0.06-0.09 (0.08)   0.09-0.12 (0.10)    4 (best so far)

Toshiba 16GB Class 10    0.12-0.12 (0.12)   0.18-0.18 (0.18)    1

Я не включил пиковый ток, потому что это кажется не надежным измерением с моим мультиметром. Вероятно, потому что карта записывается только в течение нескольких мс. Но я заметил, что все карты дали пик измерения 5-6 мА (сглаженный), в то время как Lexar дал 2 - 3 мА (сглаженный). Обратите внимание, что реальный максимальный ток на порядок больше этого значения, но он указывает на то, что у карты Lexar низкий ток записи, а также режим сна.

Текущий победитель

Lexar 8GB Class 6

Я буду обновлять этот список по мере проведения дополнительных испытаний. (Последнее обновление: 2014-08-14)


Вам понадобится uCurrent ( eevblog.com/projects/ucurrent ) для ваших экспериментов. Подключенный к осциллографу, он может дать вам хорошее представление о потреблении энергии с течением времени во время различных последовательностей в вашей программе.
RJR

2

Хорошие тесты. Ознакомьтесь с нашим руководством по использованию регистратора данных с низким энергопотреблением с использованием карт Arduino Pro Mini и SD: http://www.osbss.com/tutorials/tempera-relative-humidity/

Он, вероятно, содержит именно то, что вам нужно (прерывание RTC пробуждает его, около года работы от батареи и т. Д.). Потребляемая нами «основная» мощность составляет около 0,195 мА при 3,3 В, и это может снизиться до 0,11 мА или намного ниже, если вы используете другие платы или сам чип ATmega328P.

Как сказал @stevenvh, вам понадобится транзистор для управления питанием устройства чтения карт SD, когда процессор находится в режиме ожидания.


0

Самые низкие токи сна, которые я видел для SD-карт, составляют около 0,05 мА для старых Sandisk 256 МБ, и, как и люди из OSBSS, я редко получаю свой регистратор данных ниже 0,1 мА, потому что типичные SD-карты, кажется, потребляют около 0,07 мА. Тем не менее, когда вы достигнете этой территории, вы легко сможете получить 3-4 месяца от АА, если ваш регулятор загрузки достаточно эффективен.

Убедитесь, что вы подтягиваете неиспользуемые соединения на адаптере SD-карты, иначе токи отключения могут быть намного выше. Также изучите библиотеку с низким энергопотреблением от Rocket Screem, поскольку она позволяет легко переходить в различные режимы ожидания 328P.

Что касается переключения: сотрудник, который написал SD-библиотеки для Arduino, предостерегает от отключения питания SD-карт на игровой площадке Arduino, поэтому я не придерживался этого подхода. Мне было бы интересно услышать, как это сработало для ребят из OSBSS (?)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.