Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Sleep. Возможны ли глюки?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Diusha
Проектируется девайс на ATmega168. Схемотехнически удобнее всего сделать мегу всегда запитанной от батареи и при выключении усыплять ее (режим Power Down). Включение – кнопка –> прерывание. Пойдет «на конвейер». Раньше так не делал, посему опасаюсь подводных камней наподобие каких-нибудь зависаний, в результате чего придется разбирать прибор и отрывать питание или ресетить пинцетом. Wctchdog придется отключить для экономии потребления.
Поэтому вопрос к тем, кто подобное делал «массово»: как насчет надежности такого подхода?
kovigor
Если постоянное (даже в спящем режиме) потребление" тока от батереи не смущает, то почему бы и нет ? Только придется продумать схему и ПО, чтобы не было паразитной подпитки о установленных в "1" и/или настроенных на ввод портов спящей Меги других блоков вашего прибора ...
_Pasha
Там с BOD проблема, кушает ведь. Придется или супервизоры подбирать или даже не знаю чего.
Diusha
Постоянное потребление 0.1 мкА Typical (2мкА Maximum) не смущает. Схему и ПО продумать сумею. Вопрос в другом: какова вероятность сбоев. Хотелось бы услышать не предположения, а статистику.
rx3apf
Цитата(_Pasha @ Jan 27 2012, 19:05) *
Там с BOD проблема, кушает ведь. Придется или супервизоры подбирать или даже не знаю чего.

Нужна экономичность - отключать BOD. Супервизор или внешняя "собака" - опционально. В остальном никаких проблем.
Если все подсистемы усыплены, потребление меньше, чем саморазряд батареи.
Diusha
Цитата(_Pasha @ Jan 27 2012, 18:05) *
Там с BOD проблема, кушает ведь. Придется или супервизоры подбирать или даже не знаю чего.

Да, BOD придестя отключить, к сожалению.
_Pasha
Цитата(Diusha @ Jan 27 2012, 18:09) *
Да, BOD придестя отключить, к сожалению.

Вот, отсюда и плясать придется. Это ведь не только защита от пониженного питания, но и от бросков. Сразу же про запись в еепром придется забыть, например. В общем, Вам бы "самоотключение" какое-нить придумать бы. Кстати, где-то видел ключики, специально заточенные под такие вещи. Но подробностей - увы, не помню. Может, дорогие были, оттого и не запомнились...
Diusha
Цитата(_Pasha @ Jan 27 2012, 18:23) *
Это ведь не только защита от пониженного питания, но и от бросков.

Вообще-то, встроенный BOD как раз только от пониженного.

Цитата(_Pasha @ Jan 27 2012, 18:23) *
В общем, Вам бы "самоотключение" какое-нить придумать бы.

Поясните, пожалуйста, что подразумеваете под "самоотключением"?

Цитата(rx3apf @ Jan 27 2012, 18:09) *
В остальном никаких проблем.

А у Вас есть статистика?
_Pasha
Цитата(Diusha @ Jan 27 2012, 18:39) *
Вообще-то, встроенный BOD как раз только от пониженного.


Поясните, пожалуйста, что подразумеваете под "самоотключением"?


1. Провалов, я имел в виду.
2. Некий пин на МК отключил полевик и снял питание с самого себя. Включение - кнопкой она включила питание, нажатие определенной длительности - это уже вопрос МК, после чего он включил обратно тот же полевик и всё работает. И BOD не надо отключать.
Diusha
Цитата(_Pasha @ Jan 27 2012, 18:44) *
2. Некий пин на МК отключил полевик и снял питание с самого себя.

Место на плате дорого стоит. Не факт, кто под полевик найдется. Кроме того, при таком варианте схема заметно усложнится (долго объяснять). А раньше так и было.
Юрий_СВ
Делал такое на Mega64, xMega32A4, STM32F100RB. Единичные экземпляры (статистики нет). На последних двух - как по нотам. На Mega64 истрахался вдоль и поперёк. При "нечётком" нажатии на кнопку контроллер подвисает при попытке проснуться.

Ничего не утверждаю.

Mega64 использовался только для отладки, так, что не старался разобраться любой ценой, но думаю причин может быть 2:
1) лишние 20-30 мм дорожки выхода кварцевого генератора (под питание второго контроллера)
2) излишняя критичность обычной Меги к длительности сигнала просыпания + отсутствие RC цепочки на клавиши

Осюда совет:
1) ставьте RC цепь
2) не поленитесь отмакетировать

хМега чётко работала без RC цепи, но там я специально разводил на асинхронный (2-й) бит порта.
Diusha
Цитата(Юрий_СВ @ Jan 28 2012, 03:58) *
При "нечётком" нажатии на кнопку контроллер подвисает при попытке проснуться.

А будили каким прерыванием (INT0/1/2, PCINT, ...)?
Юрий_СВ
Цитата(Diusha @ Jan 28 2012, 05:02) *
А будили каким прерыванием (INT0/1/2, PCINT, ...)?

И Mega64 и xMega32A4 по INT0. ПО одинаковое. Клавиша к общему, подвеска вверх.
Diusha
Cпасибо.
Буду лучше тесниться и делать с выключением питания.
Всем спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.