реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Режим энергосбережения
TarasG
сообщение Feb 27 2008, 12:30
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 72
Регистрация: 25-02-08
Пользователь №: 35 378



Нужно, чтоб контроллер можно было вывести из режима энергосбережения с пульта ДУ. Из режима Idle выходит нормально, а вот из Power Down и Power Save не получается. Сигнал с ИК приёмника (спад) вызывает прерывание INT0, в котором расшифровуется RC-5 код. Но в связи с тем, что код жестко завязан на время (длительность импульсов), из-за задержки при выходе из режимов Power Down и Power Save код расшифроваться не может и контроллер не просыпается. Отсюда вопрос: на сколько отличается потребление тока в режимах Idle и Power Down (Power Save)?
И ещё одно. Я читал, что при подключении внешнего генератора доступен режим Standby и тогда задержки не будет. Это имеется ввиду подключение внешнего генератора или просто кварца к ногам XTAL? И как это отражается на потреблении тока?
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Feb 27 2008, 13:41
Сообщение #2


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



В режиме Power Down отключаются все внутренние тактовые
сигналы, соответственно прекращается функционирование всех
систем микроконтроллера, работающих в синхронном режиме.
Единственными узлами, продолжающими работать в этом режиме,
являются асинхронные модули микроконтроллера:
- сторожевой таймер (если он включен),
- подсистема обработки внешних прерываний и
- блок сравнения адреса модуля ТWI.

Соответственно выход из peжима Power Down возможен либо в результате сброса (аппаратноrо,
от сторожевorо таймера, от схемы BOD) или в результате rенерации
прерываний:
- прерывания по совпадению адреса от интерфейса ТWI;
- внешнею прерывания (обнаруживаемою асинхронно).
Поскольку тактовый reнepaтop микроконтроллера в режиме Power
Down останавливается, между наступлением события, приводящего к «пробуждению» микроконтроллера и началом ero работы проходит некоторое время, в течение котороro тактовый генератор микроконтроллера выходит на рабочий режим. Эта задержка определяется теми же конфиrypauионными ячейками, которые определяют задержку сброса микроконтроллера

Также следует помнить, что для выхода микроконтроллера из режима
Power Down в результате внешнеro прерывания, гeнерируемоro по
НИЗКОМУ уровню
на входе, длитeльность активноro сигнала должна быть
не меньше двух периодов сиrнала тaктoвoro reHepaтopa сторожевоro таймера
(более 2 мкс при V cc = 5 В). Причем, если сиrнал, вызвавший «пробуждение»
микроконтроллера, исчезнет раньше, чем микроконтроллер перейдет в paбочий режим, обработчик соответствующеro прерывания вызван не будет!

Power Save (экономичный режим)
Этот режим идентичен режиму Power Down, за одним исключением:
если таймер/счетчик микроконтроллера, поддерживающий работу в асинхронном режиме, сконфиrypирован для работы в этом режиме, то он будет работать во время «сна» микроконтроллера. Поэтому выход из режима Power Save возможен не только в результате событий, перечисленных при pacсмотрении режима Power Down, но и по прерываниям от таймера/счетчика. Разумеется, эти прерывания должны быть разрешены.


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
GDI
сообщение Feb 27 2008, 15:05
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Генератор - это генератор, а кварц - это кварц
Генератор в таком включении постоянно включен - соответственно всегда потребляет, а сколько - это зависит от генератора.
Быстрое пробуждение возможно и от внутреннего RC генератора, только подойдет ли вам его стабильность и макс. частота 8 МГц(для АтМега).
Пробуждение контроллера никак не связано с декодированием - он пробуждается от прерывания, а не от того что он там что то надекодировал - он ничего не может декодировать в спящем режиме.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
TarasG
сообщение Feb 27 2008, 15:27
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 72
Регистрация: 25-02-08
Пользователь №: 35 378



Цитата(GDI @ Feb 27 2008, 18:05) *
Генератор - это генератор, а кварц - это кварц
Генератор в таком включении постоянно включен - соответственно всегда потребляет, а сколько - это зависит от генератора.

Это понятно. Но возможно ли использование режима Standby с кварцем?
Цитата(GDI @ Feb 27 2008, 18:05) *
Быстрое пробуждение возможно и от внутреннего RC генератора, только подойдет ли вам его стабильность и макс. частота 8 МГц(для АтМега).

Я планирую поставить кварц хотя бы для стабилизации работы ДУ. Возможно ли быстрое пробуждение в таком случае?
Цитата(GDI @ Feb 27 2008, 18:05) *
Пробуждение контроллера никак не связано с декодированием - он пробуждается от прерывания, а не от того что он там что то надекодировал - он ничего не может декодировать в спящем режиме.

Это верно, но устройство должно включаться только по команде от кнопки Power, а не от любого сигнала. Поэтому алгоритм организован следующим образом: при появлении ИК сигнала вызывается прерывание, расшифровывающее этот код и если коменда не соответствует кнопке Power, то устройство вновь засыпает и ждёт следующего прерывания (или Reset smile.gif ). Так вот в режиме Idle всё прекрасно работает. А в режимах Power Down и Power Save видимо с момента подачи сигнала от ДУ и до начала обработки прерывания проходит значитальное время и часть кода теряется. Естественно, что расшифровке неполный код не поддаётся и устройство вновь засыпает.
Go to the top of the page
 
+Quote Post
muravei
сообщение Feb 27 2008, 15:43
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(TarasG @ Feb 27 2008, 15:30) *
просто кварца к ногам XTAL? И как это отражается на потреблении тока?

Просто кварца.
Естественно, будет больше на пару порядков. Зависит от частоты , смотрите в эл. характеристиках даташита.
Go to the top of the page
 
+Quote Post
TarasG
сообщение Feb 27 2008, 16:22
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 72
Регистрация: 25-02-08
Пользователь №: 35 378



Цитата(muravei @ Feb 27 2008, 18:43) *
Просто кварца.
Естественно, будет больше на пару порядков. Зависит от частоты , смотрите в эл. характеристиках даташита.

На пару порядков? Это что, в 100 раз, что ли? Или я не правильно понимаю выражение "на пару порядков"? Сейчас в рабочем режиме он потребляет 13мА, это что, станет 1.3А? Это ж невозможно, т.к. макс. допустимый ток 200мА...
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Feb 27 2008, 18:27
Сообщение #7


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(TarasG @ Feb 27 2008, 18:27) *
А в режимах Power Down и Power Save видимо с момента подачи сигнала от ДУ и до начала обработки прерывания проходит значитальное время

А с чего ты взял, что прерывание вообще происходит? Насколько мне известно из Power Down "разбудить" контроллер прерыванием "по фронту/спаду" не возможно. Можно только асинхронно обнаруживаемым прерыванием по НИЗКОМУ уровню


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
muravei
сообщение Feb 27 2008, 19:24
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(TarasG @ Feb 27 2008, 19:22) *
Сейчас в рабочем режиме он потребляет 13мА, это что, станет 1.3А? Это ж невозможно, т.к. макс. допустимый ток 200мА...

"Ну вы, блин, даете"
Я не про рабочий режим , а про полный даун , там , типа, 1мкА , а будет 100 мкА. А на работу как оно может повлиять? cranky.gif
Go to the top of the page
 
+Quote Post
TarasG
сообщение Feb 27 2008, 19:46
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 72
Регистрация: 25-02-08
Пользователь №: 35 378



Цитата(muravei @ Feb 27 2008, 22:24) *
"Ну вы, блин, даете"
Я не про рабочий режим , а про полный даун , там , типа, 1мкА , а будет 100 мкА. А на работу как оно может повлиять? cranky.gif

О, это всё обьясняет wink.gif А сильно отличается потребление в режимах Idle и Power Down? И будет ли быстрое пробуждение (до 1 мс) с кварцем?
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 27 2008, 21:56
Сообщение #10


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Может быть учитывая долгую раскачку сделать так:

Сигнал с ПДУ подавать на reset контроллера, чтобы вывести МК из режима PowerDown. Включившись МК первым делом должен будет заблокировать сброс (своим GPIO) и ждать следующей команды от ПДУ. Получив уже сл. команду - декодировать и выполнить ее, либо уйти обратно в Power Down по истечению определенного таймаута.

ПДУ обычно повторяет одну и ту же команду многократно, пока удерживают кнопку.. Так что должно быть все Ок.

Idle и PowerDown по потреблению отличаются как уже отмечали "порядка на 2", от себя добавлю с кварцем это будет уже не 2, а 3 порядка. PowerDown ~1mka, Idle - 0.5-4ma. Если предполлжить что устройство будет питаться от литиевой батарейки - в PowerDown девайс будет жить несколько лет, в Idle - несколько дней. Определитесь, что вам больше подходит.
Go to the top of the page
 
+Quote Post
Artak
сообщение Feb 28 2008, 23:11
Сообщение #11


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 17-01-08
Пользователь №: 34 178



Зачем Reset использовать?
можно просто "просыпаться" от прерывания и искать старт импульс следующего RC5
пакета, предварително изменив тип прерывания чтобы срабатывал по фронту
И если команда не "Power" поставить прерывание по уровю и опять "засыпать"
Go to the top of the page
 
+Quote Post
muravei
сообщение Feb 29 2008, 08:13
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(TarasG @ Feb 27 2008, 22:46) *
А сильно отличается потребление в режимах Idle и Power Down? И будет ли быстрое пробуждение (до 1 мс) с кварцем?

Дался Вам этот идол. Чем стендбай не подходит? Тот же даун , только генератор включенным остается.
Жрет около 100мкА. Просыпается, где-то за 6 тактов (уточните в ДШ)
Go to the top of the page
 
+Quote Post
TarasG
сообщение Feb 29 2008, 10:21
Сообщение #13


Участник
*

Группа: Новичок
Сообщений: 72
Регистрация: 25-02-08
Пользователь №: 35 378



Цитата(muravei @ Feb 29 2008, 11:13) *
Дался Вам этот идол. Чем стендбай не подходит? Тот же даун , только генератор включенным остается.
Жрет около 100мкА. Просыпается, где-то за 6 тактов (уточните в ДШ)

Собственно, это я изначально и спрашивал. Будет ли быстрый выход из этого режима. Только там кажется кварц обязательно нужен?
Go to the top of the page
 
+Quote Post
muravei
сообщение Feb 29 2008, 12:12
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



[quote name='TarasG' date='Feb 29 2008, 13:21' post='372232']
Будет ли быстрый выход из этого режима.
[/quote]
[quote name='muravei' date='Feb 29 2008, 11:13' post='372150']
Просыпается, где-то за 6 тактов (уточните в ДШ)
[/quote
Это Вам решать - 6 тактов быстро или нет.
[quote]
Только там кажется кварц обязательно нужен?
[/quote]
Думаю , кварц нужен для правильного распознавания кода
Go to the top of the page
 
+Quote Post
algidim
сообщение Mar 1 2008, 02:18
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 160
Регистрация: 5-04-06
Из: Москва
Пользователь №: 15 847



Да всё там нормально получается, при адекватном коде, ну подумайте сами - при нажатии кнопки на ПДУ он генерит посылки нажатой клавиши постоянно с перерывами несколько мс, так почему Вы не можете распознать хотя бы вторую посылку ? Хотя у меня получалось, сразу после выхода из режима Power Save распознать первую же посылку, причем без проблем и писал я на Си. Так что дело явно не во времени выхода из режима Power Save. Ищите косяки в проге.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01512 секунд с 7
ELECTRONIX ©2004-2016