Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/54: Рейтинг темы: голосов - 54, средняя оценка - 5.00
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
1

AVR в микропотреблении

21.02.2011, 08:50. Просмотров 9803. Ответов 17
Метки нет (Все метки)

По сути, вопрос можно отнести к детским. Но хочу, чтобы его увидели и те, кто на детский форум не ходит.

Дальше идет поток сознания, поэтому для тех, кто любит поконкретнее, я жирным выделю вопросы.

Разрабатываю девайс на Атмеге168. Хочу добавить в него фичу сохранения важных оперативных данных при выключенном питании. Имеется в виду, что данные во время работы изменяются часто, раз в несколько секунд, поэтому никакого ресурса флешки для решения задачи "в лоб" не хватит (речь идет о работе в течение 8-12 лет). Ведь в 10 годах примерно 315 млн секунд.
Динных немного, 4-8 байт, но можно сохранять и несколько сотен байт, если будет шара.

Думаю. Если флешка, то можно упражняться в "размазывании" по всему объему, чтобы увеличить эквивалентный ресурс. Но запись идет страницами? Значит реально вся флешка АТмеги16 может быть разбита всего на 128 кусков. (315/5...10) млн делим на 128 = порядка 200 тысяч. Много, не надеюсь я на такой ресурс. Или я ошибаюсь в оценке ресурса флешки АТмеги?

Если батарейка и ОЗУ. Вроде как при 2 мкА (сон АТмеги при выключенном вотчдоге) обычной BR2032 с ее 190 мА-часами хватает на 9 лет. Так пишет Панасоник. И, в принципе, не в падло заменить батарейку, если через 4 или 6 лет она сдохнет. Т.е. по цифрам запас есть.
Более того, в другом изделии мы юзали такие батарейки с DS1307, результаты положительные.
Поэтому один из вариантов - поставить микросхемку RTC (ну, выбрать там что-нить с SPI, чтобы ближе к АТмеге) и забыть про проблемму. Да еще и часики как бонус :)

Ну а если часики нах? Реально все же питать саму АТмегу и ее ОЗУ использовать именно для хранения быстроменяющихся данных? Делают ли так уважаемые форумчане? Есть ли опыт, проверенный годами? И как правильно подключить батарейку? Неужто просто через диод Шоттки? Или есть нУансы?
И что нужно учесть (не очевидное) в программном обеспечении? Например, какой из режимов оказывается наиболее предпочтительным в данной задаче - когда речь идет исключительно о сохранении ОЗУ и никаких периферий, все в сад. Я так понял, что Power Down Mode - это верно? Как мониторить Vcc, чтобы уснуть вовремя? Желательно обойтись внутренними ресурсами, ноги уже на исходе... Как просыпаться? Как чистить зубы? Знаете, что отвечает первой строкой Гугль на слово "как"?
Как Жрать Суши

Только прошу в ответах не говорить о PIC. Я их очень уважаю, даже верю, что они меньше жрут во сне, равно как и STM8. Но у меня девайс готов. Я могу переразвести и добавить батарейку или даже еще и микруху RTC. Но это максимум, на что я готов.

Спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2011, 08:50
Ответы с готовыми решениями:

AVR AVRISP STK500 V3.0 USB ISP Programmer for AVR IC
Люди помогите плз. не могу разобраться. приобрел этот чудный девайс (AVR AVRISP STK500 V3.0 USB...

AVR Atmega324PU не прошивается AVR ISP Mk2
Добрый день. На плату впаян данный микроконтроллер в корпусе tqfp. При подключении программатора...

Анализ стека AVR / AVR stack analysis
Привет! Уперся я в стек, и решил понять что почем. Нашел вот такой вот скриптик:...

AVR Studio 6 и AVR Toolchain вопросы!
Всем доброго времени суток. Решил я написать софтинку в новой студии от Атмела AVR Studyo 6. Все...

Как подружить AVR+AVR?
Приветствую Вас уважаемые форумчане! Требуется связать 2 AVR-ки, по классической схеме Master ->...

17
ptoop
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
21.02.2011, 09:02 2
А что мешает писать только при отключении питания?
0
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
21.02.2011, 09:31 3
Цитата Сообщение от ptoop
А что мешает писать только при отключении питания?
Имеешь в виду во флешку?

Давай уточню, как я понял твой вопрос. Работаем с ОЗУ, а когда пропадает питание - быстрячком запихиваем во флешку. Так?

А я успею? Это будет надежно?
0
ptoop
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
21.02.2011, 09:55 4
Вполне. Заводите питание на один из входов, а сам МК питаете от кондёра и через диод. При пропадании питания на входе срабатывает прерываение, в котором пишите, а МК питается от кондёра.
Конденсатор на 220-470мкФ по питанию протянет МК достаточное время, чтоб переписать "Войну и мир"
0
21.02.2011, 09:55
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
21.02.2011, 10:01 5
То есть, это реально проверено? Вы так делали или по даташиту только?

А я думал мониторить иначе: поставить сброс от BOD (вроде как он грамотно ловит это дело), а в ресете определять, что это ресет от него - и уходить на сохранение. Но мои предыдущие эксперименты с регистром MCUSR показывали какие-то странные результаты, поэтому и побаиваюсь на него полагаться.

Насчет "Войны и мира" - я посчитаю по токам. Спасибо!
0
MostirOtixiy
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 804
21.02.2011, 10:08 6
Еще можно периодически скидывать, раз в час, например, чтобы уж совсем быть уверенным.

По поводу режима, насколько я помню, в совсем ПоверДауне (в котором самое минимальное потребление) проц просыпается не от таймера а от внешнего прерывания. Можно RTC для этого использовать и просыпаться раз в секунду (у некоторых вроде есть такой выход).
Если просыпаться от внутреннего таймера, то потребление будет малость больше. Так как для таймера кварц (или внутренний осциллятор) должен работать.

Еще - флешь при записи потребляет много больше, чем при чтении, и само напряжение должно быть не меньше определенного порога, причем для чтения этот порог ниже.

Надо это тоже учитывать.

Все зависит от объема данных, но запись во флешь довольно долгая, можно и не успеть => вешайте GoldCap. Который типа 5 милифарад или что-то около этого.

Мы в реальном проекте таким не заморачивались, так как там система довольно жоркая до электричества, поэтому согласились на потерю данных последнего часа, зато все остальное будет записано. Т.е. раз в час. Но там и данных было поболее, чем одна страница флешки.
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
21.02.2011, 10:19 7
SPI FROM в помощь - ресурса хватит (FM25xx)
0
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
21.02.2011, 11:16 8
Цитата Сообщение от THI BIOST
SPI FROM в помощь - ресурса хватит (FM25xx)
Я смотрел FV24cхх, там те же 100 тысяч. А у этих миллион... Да, неплохо. Спасибо за расширение кругозора!

Однако,

1) Слышал не раз, что от Атмеловских 100 тысяч ЭПРОМ и 10 тысяч ПЗУ в жизни получается много меньше (вплоть до цифр на порядок. Самому проверить трудно. Если таки есть данное явление, то не так ли у ФРАМок?

2) Те же танцы с "размазыванием" по всем страницам все же нужны. Конечно, теперь веселее, ибо 200 тысяч явно меньше 1 млн. Но изощряться все же нужно.

3) В момент записи флешка никак не защищена. И, если записи идут каждые 5 секунд, то ситуация с совпадением записи и провалом питания будет встречаться довольно часто.
Т.е., следить за питанием нужно.
Или комбинировать, ясное дело - ОЗУ, ОЗУ, а иногда ФРАМка. Муторно, но можно. Все же без контроля питания вероятность велика.

И все же, неужто с батарейкой никто не игрался? Ведь что привлекает: простота решения! Есть ОЗУ, которое можно в течение всей жизни батарейки трактовать как энергонезависимое. Главное вовремя ловить пропадание питания и засыпать. Заманчиво...
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
21.02.2011, 11:22 9
Цитата Сообщение от drvtos
Я смотрел FV24cхх, там те же 100 тысяч. А у этих миллион... Да, неплохо. Спасибо за расширение кругозора!
Какой миллион?

Цитата Сообщение от datasheet
High Endurance 1 Tryttyon (10^12) Read/Writes
А насчёт пропадания во время записи - два экземпляра данных и контрольная сумма к каждому экземпляру. Писать по очереди.

То есть ФРАМ - просто энергонезависимое ОЗУ (по скорости - тоже).
0
OmikymForti
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,116
21.02.2011, 11:47 10
EEPROM атмег показывал отказы уже после 1000-1100 циклов записи. Увы статистика одного коллеги. Камень был mega128. Решили проблему использованием внешней flash.
0
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
21.02.2011, 11:50 11
Цитата Сообщение от THI BIOST
Цитата Сообщение от datasheet
High Endurance 1 Tryttyon (10^12) Read/Writes
Скажи, какая же это именно? Я вижу миллион...

Нашел и High Endurance 1 Tryttyon (10^12) Read/Writes - по Гуглю. Но... Неужели? АБАЛДЕТЬ!

И про скорость записи чудеса. беру таймаут ознакомиться. Спасибо!

А сам-то пробовал ее пользовать?
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
21.02.2011, 11:57 12
Самая мелкая
Самая крупная - и того больше.

С миллионом - ни одной не знаю.

А вообще - все здесь
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
21.02.2011, 12:04 13
Цитата Сообщение от drvtos
А сам-то пробовал ее пользовать?
В работе:

FM31256 - I2C RTC+32 кбайта ФРАМ - 6 штук
FM33256 - SPI RTC+32 кбайта ФРАМ - 2 штуки
FM24V10-G - I2C 128 кбайт - 2 (логи ежесекундно)
FM1808 - parallel 32 кбайта - подключил как внешнюю память к ATmega162 поиграться.

Сейчас на все платы ставлю либо I2C либо SPI FROM - ну что б было. внутренним EEPROM пользоваться перестал (писать медленно).

После того, как нашёл ФРАМ+RTC - DS13хх и прочие - забросил совсем. (также как и всякие EEPROMы).
0
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
21.02.2011, 12:15 14
Цитата Сообщение от THI BIOST
С миллионом - ни одной не знаю.
Ну, здеся миллион

Да хрен с ним! Я просто вне себя от счастья! Спасибо огромное!

И, скажи, зачем вообще еще о чем-то думать, если ТАКОЕ есть? Разве что о том, чтобы его на кристалл АВР влепили :)

И что, никаких подвохов? Мож ее не производят-не возят-не продают беспартийным... Ну, какой-то tradeoff должон быть!
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
21.02.2011, 12:22 15
Цитата Сообщение от drvtos
Ну, здеся миллион
Это не FROM, а обычный EEPROM. Просто совпали обозначения. Я чуть на это не купился. FROM делает только ramtron.

Цитата Сообщение от drvtos
И что, никаких подвохов? Мож ее не производят-не возят-не продают беспартийным... Ну, какой-то tradeoff должон быть!
Подвохов два - цена и маленькая ёмкость (SPI flash не заменить).
0
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
21.02.2011, 12:52 16
Цитата Сообщение от THI BIOST
Подвохов два - цена и маленькая ёмкость (SPI flash не заменить).
То есть вот это подвох номер 1?
ТИПА доллар з штуку. Я верно понял?

Если да, то я остаюсь в обкуренном состоянии. Для моего девайса это не деньги. А объем - тоже катит.

Да здравствует обмен информацией на самом лучшем в мире форуме!

Это мои последние слова. Все. Я умер от ЩАСТЯ.
0
THI BIOST
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
21.02.2011, 13:04 17
Цитата Сообщение от drvtos
То есть вот это подвох номер 1?
ТИПА доллар з штуку. Я верно понял?
Да. Они ощутимо (в разы) дороже EEPROM такой же ёмкости.
0
Krymko_55
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 12
21.02.2011, 19:46 18
Использовал FROM типа FM1808. При разработке также рассматривал вариант использования MROM. Посмотри практически аналогичные характеристики, разница в технологиях.

При использовании FM1808 после чтения из определенной ячейки производил перезапись (типа регенерацию). Но это скорее всего относится к памяти параллельного типа + специфика работы прибора.
0
21.02.2011, 19:46
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2011, 19:46

AVR Studio 6 Avr simulator
Подскажите каким образом стартануть прогу в avr symulator с адреса boottooder (atmega8a, 0x0F80)....

CAVR против AVR Studio, что не так в программе под AVR Studio
Проблема такая, есть исходник, если его компилировать в CAVR заливаю в МК все работает, если этот...

Ошибка в CodeVisionAVR по #include<avr/io.h> #include<avr/interrupt.h>
Библиотеки #include&lt;avr/io.h&gt; и #include&lt;avr/interrupt.h&gt; - они вообще из какой IDE? Нашел код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru