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

 
 
> Покритикуйте алгоритм включения и выключения устройства на AVR
zheka
сообщение Mar 29 2011, 09:21
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Господа, есть некое устройство на АТМега, управляющее TFT-дисплеем с тачпанелью и небольшим набором периферии. Подключено к автомобильному аккумулятору постоянно. А значит нужно предусмотреть включение и выкючение устройства. При всем изяществе конструкции, наличии тачпанели слишком жалко будет смотреться механический переключатель для коммутации. Хочется выключать устройство нажав виртуальную кнопку на тачпанели, а включать простым прикосновением к экрану. А посему возникла такая идея:
Контроллер управляет дисплеем через специальную плату (если кому интересно TFT-компаньон) Эта плата умеет выходить в режим пониженного потребления и понимает в нем только две команды - выход из режима пониженного энергопотребления и опрос тачпанели.
Я планирую по нажатии на виртуальную кнопку на экране переводить его в PowerDown. Затем переводть в PowerDown (именно в этот режим) и сам AVR. Как включать? Предварительно - настроить WatchDog на 1 сек и на генерацию прерывания по переполнению. В прерывании опрашивать тачпанель и если было прикосновение - можно просыпаться. Однако получается следующее - при выключении всего устройства мы его на самом деле не выключаем, а переводим в спящий режим, и при включении оказываемся на том же месте. Хотелось бы перезагрузить и контроллер. А для этого хочу попробовать следующее - если при обработке прерывания от сорожевого таймера выяснится что к тачпанели прикасались - перенастраивать таймер на сброс контроллера и более короткий период (самый короткий 16 мс). После чего ждать следующего переполнения таймера.

Пока не пробовал, идею сочинял на работе, попробую только дома.

Вопросы:
1. Довольно странный алгоритм получился - при выключении устройство на самом деле просто останавливается, а истинная его перезагрузка происходит только при включении. Хотя на самом деле ввсе выглядит благористойно (забыл сказать - в режиме PowerDown TFT компаньон не только меньше жрет, но и подсветку отключает). Может есть какие-то более адекватные истрически сложившиеся алгоритмы?
2. Есть ли какой-то иной способ программного сброса AVR? Цеплять какой-нибудь выход на RESET не предлагайте, плата сделана и детали напаяны.
3. Не происходит ли чего нехорошего с портами ввода вывода в режиме PowerDown АВР? Нужно чтобы пины оставались в том же состоянии.
Спасибо.

Сообщение отредактировал zheka - Mar 29 2011, 09:22
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zheka   Покритикуйте алгоритм включения и выключения устройства на AVR   Mar 29 2011, 09:21
- - forever_student   Цитата(zheka @ Mar 29 2011, 13:21) ... 2....   Mar 29 2011, 09:53
- - zheka   Извните, ассемблера не знаю. Пишу на С. Но даже гл...   Mar 29 2011, 10:38
|- - forever_student   Цитата(zheka @ Mar 29 2011, 14:38) Извнит...   Mar 29 2011, 10:45
|- - ILYAUL   Цитата(zheka @ Mar 29 2011, 14:38) Но даж...   Mar 29 2011, 18:27
|- - aaarrr   Цитата(ILYAUL @ Mar 29 2011, 22:27) Интер...   Mar 29 2011, 20:05
|- - ILYAUL   Цитата(aaarrr @ Mar 30 2011, 00:05) Помим...   Mar 29 2011, 20:34
|- - aaarrr   Цитата(ILYAUL @ Mar 30 2011, 00:34) Как б...   Mar 29 2011, 20:44
|- - ILYAUL   Цитата(aaarrr @ Mar 30 2011, 00:44) Скажи...   Mar 30 2011, 09:57
- - zheka   Спасибо за совет, но я все же предпочту для переза...   Mar 29 2011, 10:49
- - _Pasha   Дык все тривиально, не о чем переживать. Первый по...   Mar 29 2011, 11:28
- - SysRq   Теоретически, можно перезагрузить МК тоже. На стар...   Mar 29 2011, 15:55
- - Marian   Цитата(zheka @ Mar 29 2011, 11:21) Однако...   Mar 29 2011, 17:22
- - coolbassnik   Есть идея заставить МК ресетить самого себя железн...   Mar 29 2011, 17:30
|- - _Pasha   Цитата(coolbassnik @ Mar 29 2011, 20:30) ...   Mar 29 2011, 17:33
|- - IgorKossak   Цитата(coolbassnik @ Mar 29 2011, 20:30) ...   Mar 29 2011, 17:39
- - zombi   Цитата(zheka @ Mar 29 2011, 13:21) Предва...   Mar 29 2011, 20:24
- - Atridies   Я не сильно знаю Атмегу, но на MSP430 я делал сбро...   Mar 29 2011, 20:56
- - aaarrr   Вот и попались. Логика USART'а сброшена не буд...   Mar 30 2011, 10:45
|- - forever_student   Цитата(aaarrr @ Mar 30 2011, 14:45) ...Ло...   Mar 30 2011, 11:04
||- - aaarrr   Цитата(forever_student @ Mar 30 2011, 15...   Mar 30 2011, 12:32
||- - forever_student   Цитата(aaarrr @ Mar 30 2011, 16:32) ...Вы...   Mar 30 2011, 13:22
||- - aaarrr   Цитата(forever_student @ Mar 30 2011, 17...   Mar 30 2011, 13:33
||- - forever_student   Цитата(aaarrr @ Mar 30 2011, 17:33) Возмо...   Mar 30 2011, 13:45
|- - defunct   Цитата(aaarrr @ Mar 30 2011, 12:45) Тоже ...   Mar 30 2011, 13:51
|- - ILYAUL   Цитата(aaarrr @ Mar 30 2011, 14:45) Логик...   Mar 31 2011, 11:38
|- - aaarrr   Цитата(ILYAUL @ Mar 31 2011, 15:38) Не по...   Mar 31 2011, 11:54
|- - ILYAUL   Цитата(aaarrr @ Mar 31 2011, 15:54) Тольк...   Mar 31 2011, 12:11
- - zheka   Господа, необходимость железного сброса продиктова...   Mar 30 2011, 15:04
- - aaarrr   Ну а собственно sleep где?   Mar 30 2011, 16:08
- - zheka   КодНу а собственно sleep где? Да уже исправил. Вс...   Mar 30 2011, 16:48
- - zheka   Так... работаю со сторожевым таймером... Господа о...   Mar 30 2011, 19:05
|- - forever_student   Цитата(zheka @ Mar 30 2011, 23:05) ...Сут...   Mar 30 2011, 20:02
- - zheka   Хм.. я обошелся вообще без флажка для WDT. В смысл...   Mar 31 2011, 12:56
|- - ILYAUL   Цитата(zheka @ Mar 31 2011, 16:56) КРоме ...   Mar 31 2011, 13:02
||- - defunct   Цитата(ILYAUL @ Mar 31 2011, 16:02) Это к...   Mar 31 2011, 16:36
||- - ILYAUL   Цитата(defunct @ Mar 31 2011, 20:36) Наве...   Mar 31 2011, 17:51
|- - zombi   Цитата(zheka @ Mar 31 2011, 16:56) КРоме ...   Mar 31 2011, 22:12
- - zheka   defunct, именно так. Дело в том, что питание будет...   Mar 31 2011, 18:04
- - ILYAUL   Может 0,5 сек опрос   Mar 31 2011, 19:30
- - zheka   Так ведь он разрешен или я чего-то не понимаю... В...   Apr 1 2011, 06:02
- - zombi   Цитата(zheka @ Apr 1 2011, 10:02) Так вед...   Apr 1 2011, 08:18


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

 


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


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