Зберігання мікро-SD карт малої потужності


18

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

Як я можу сказати, єдине практичне рішення для зберігання такої кількості даних - це використання SD-карти. Однак SD-карти, здається, використовують трохи більше енергії, ніж ми можемо собі дозволити, струм холостого ходу в 0,2 мА для карт, які ми маємо зараз, і більше, коли вони пишуть.

Отже, кілька питань:

  • Чи є перемикач на високій стороні єдиний практичний спосіб контролю енергоспоживання SD-карти?
  • Чи є якісь застереження, про які слід пам’ятати, перемикаючи живлення на карту? Наприклад, це вирівнювання зносу - процес, який буде виконуватися після запису блоку, чи це може статися в будь-який час.
  • Чи є інші альтернативи, які ми повинні розглянути?

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

Подумайте про додавання зовнішньої оперативної пам’яті на зразок 23LC1024. Потім ви можете зберігати більше і зберігати SD-карту. Microchip також робить версію, що підтримується батареєю, якщо думка про дані, що сидять навколо, у мінливій пам'яті вас заважає.
відбитки

Відповіді:


19

Якщо ви бюджетуєте в середньому 0,3 мА, кожен мкА рахується. Не так вже й багато проблем для мікроконтролера, але SD-карта буде споживати десятки ма. Ви хочете, щоб він був включений як можна менше. Але ATmega328P має лише 2 кБ оперативної пам’яті, тобто це означає, що ваш буфер зразка буде заповнений менше ніж за півхвилини, і тоді настав час написати на SD-карту. Два рази на хвилину.

Я б розглядав TI MSP430 замість AVR. Це як і раніше найпоширеніший за потужністю контролер. Це заощадить вам µA, який вам знадобиться під час запису на SD-карту. MSP430F5418A також має 16 Кб оперативної пам'яті, так що у вас є влада на SD карту тільки один раз кожні три з половиною хвилини.

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

Для живлення SD-карти я б дійсно використовував вимикач високої сторони. BSS215P є відповідний логічний рівень Р-МОП - транзистор.

редагувати
Якщо ви не заперечуєте проти пакету BGA, пристрій NAND Flash може стати альтернативою SD-картці. Цей може працювати в режимі MMC або SPI. Вона споживає менше, ніж SD-карта, але все ще споживає 200 мкА в режимі очікування, тому ви все одно захочете її вимкнути за допомогою високого FET. Обов’язково зробіть низький рівень введення / виводу мікросхеми перед відключенням живлення. Це стосується і SD-карти.


Дякуємо за інформацію. На жаль, в даний час ми обмежені MCU з завантажувальними завантажувачами Arduino, але ми розглядаємо Atmega644PA через збільшення оперативної пам’яті. MCU буде пробуджено переривкою RTC, щоб здійснити вимірювання, а в інший час вимкнеться живлення. Чи є альтернативи SD-картці? Ваша пропозиція отримати MCU з великою кількістю оперативної пам’яті для великого буфера - це добре, про що я не думав. :)
geometrikal

@stevenvh Які характеристики BSS215P MOSFET роблять його придатним для цього додатка?
ElecEnthusiast

AVR може навіть мати можливість поставити SD-карту зі штифта GPIO (має бути можливим 20mA).
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 6 клас

Я оновлю цей список, коли будуть зроблені інші тести. (Остання зміна: 2014-08-14)


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

2

Приємні випробування. Перегляньте наш підручник з обробкою даних з низькою потужністю за допомогою Arduino Pro Mini та SD-карт: http://www.osbss.com/tutorials/temperature-relative-humidity/

Він, ймовірно, містить саме те, що вам потрібно (переривання RTC пробуджує його, близько одного року роботи батареї тощо). Наше "основне" споживання енергії становить приблизно 0,195 мА при 3,3 В, і це може знизитися до 0,11 мА або набагато нижче, якщо ви використовуєте інші дошки або сам голий чіп ATmega328P.

Так, як сказав @stevenvh, вам знадобиться транзистор для управління живленням зчитувача SD-карт, коли процесор знаходиться в сплячому режимі.


0

Найнижчі струми сну, які я бачив на SD-картах, становлять близько 0,05 мА для старого Sandisk 256Mb, і, як у OSBSS, я рідко отримую, що мої реєстратори збираються нижче 0,1 мА, оскільки типові SD-карти здаються приблизно 0,07 мА. Тим не менш, коли ви досягнете цієї території, ви можете легко отримати 3-4 місяці виходу з АА, якщо ваш регулятор завантаження достатньо ефективний.

Обов’язково переконайтеся, що ви піднімаєте невикористані з'єднання на адаптері SD-карти, або струми сну можуть бути набагато вищими. Також вивчіть бібліотеку низької потужності від Rocket Screem, оскільки це дозволяє легко вводити різні режими сну 328P.

Щодо перемикання: той, хто написав бібліотеки SD для ардуїно, застерігає від знеструмлення SD-карт на майданчику Arduino, тому я не дотримувався такого підходу. Мені буде цікаво почути, як це вийшло для хлопців з ОСБСС (?)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.