Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Процесс "работы" системы в StandBy
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
vvj
Вроде было всё понятно. Но подвернулась система бегающая на портированном Linux - имеются и flash и sdram и кроме всего прочего IR порт. С отключением понятно - поймали с пульта на IR порту power кнопку и поотключали периферию и сами пошли спать. А кто будет ловить нажатие кнопки power на пульте? Ну получу я прерывание выводящие из сна – ну а дальше? Успею ли проверить пришедшее на IR? А если sdram отключать? Тогда заново систему надо грузить. Получается «спать» нельзя – надо в «заторможенном» состоянии выполнять проверку приходящего с IR на предмет power-батона, а с отключенной sdram вся эта ботва в кэше должна выполняться?
Гемор какой-то получается…
Может у кого есть опыт со всякими «спящими» DVD-проигрывателями и прочими приставками? Что там у них происходит когда они спят и в тоже время моментально реагируют на пульт?
Vovik
Цитата(vvj @ Jan 8 2007, 15:26) *
Вроде было всё понятно. Но подвернулась система бегающая на портированном Linux - имеются и flash и sdram и кроме всего прочего IR порт. С отключением понятно - поймали с пульта на IR порту power кнопку и поотключали периферию и сами пошли спать. А кто будет ловить нажатие кнопки power на пульте? Ну получу я прерывание выводящие из сна – ну а дальше? Успею ли проверить пришедшее на IR? А если sdram отключать? Тогда заново систему надо грузить. Получается «спать» нельзя – надо в «заторможенном» состоянии выполнять проверку приходящего с IR на предмет power-батона, а с отключенной sdram вся эта ботва в кэше должна выполняться?
Гемор какой-то получается…
Может у кого есть опыт со всякими «спящими» DVD-проигрывателями и прочими приставками? Что там у них происходит когда они спят и в тоже время моментально реагируют на пульт?

Прерывание от UART или чем у Вас там IR порт называется... Я думаю, так. А что за система, подробнее можно чуточку? как IR-порт реализован?
Насколько я знаю, всякого рода измерительные приборы имеют два варианта включения по кнопочке - это либо прерывание, выводящее из глубокого сна, либо схема питания контроллера на преобразователе с "автоподхватом".
vvj
Цитата(Vovik @ Jan 8 2007, 19:29) *
Прерывание от UART или чем у Вас там IR порт называется... Я думаю, так.

Я тоже думал... Но кнопочки парсит то драйвер в Linuxе - и просыпаться система будет от любой кнопочки и пульта! Каким образом система в спящем режиме фильтрует кнопки - просыпается, проверяет и засыпает вновь? А проснётся(загрузится) то тоже не сразу... Одним словом что-то не верится...
Цитата(Vovik @ Jan 8 2007, 19:29) *
приборы имеют два варианта включения по кнопочке - это либо прерывание, выводящее из глубокого сна, либо схема питания контроллера на преобразователе с "автоподхватом".
А телевизор, DVD проигрыватель, SAT тюнер (в данном случае у меня на руках что-то подобное)? Однозначно все они сейчас с какой-либо embedded ОС. Понятно было бы если после IR сенсора стоял бы постоянно работающий микроконтроллер, который в случае обнаружения «своей» комбинации, выдавал системе тот самое прерывание. Но ведь это бред – везде IR подключен напрямую к RX ножке соотв. UARTа на чипе(системы на чипе).
Vovik
Цитата(vvj @ Jan 8 2007, 20:00) *
Цитата(Vovik @ Jan 8 2007, 19:29) *

Прерывание от UART или чем у Вас там IR порт называется... Я думаю, так.

Я тоже думал... Но кнопочки парсит то драйвер в Linuxе - и просыпаться система будет от любой кнопочки и пульта! Каким образом система в спящем режиме фильтрует кнопки - просыпается, проверяет и засыпает вновь? А проснётся(загрузится) то тоже не сразу... Одним словом что-то не верится...
Цитата(Vovik @ Jan 8 2007, 19:29) *
приборы имеют два варианта включения по кнопочке - это либо прерывание, выводящее из глубокого сна, либо схема питания контроллера на преобразователе с "автоподхватом".
А телевизор, DVD проигрыватель, SAT тюнер (в данном случае у меня на руках что-то подобное)? Однозначно все они сейчас с какой-либо embedded ОС. Понятно было бы если после IR сенсора стоял бы постоянно работающий микроконтроллер, который в случае обнаружения «своей» комбинации, выдавал системе тот самое прерывание. Но ведь это бред – везде IR подключен напрямую к RX ножке соотв. UARTа на чипе(системы на чипе).

А обязательно линуксу грузиться? и долго ли это? у нас, помнится, стоял "микроклинукс" на NIOS II - он грузился в доли секунды. А пульт повторяет комбинацию неоднократно...
Второй вариант - ближе к реальности. Как правило, Embedded-система в спящем состоянии со сниженным клоком жрёт смехотворно мало по сравнению с ЭЛТ или чем-то подобным. Поэтому её просто тупо оставляют влючённой.
Словом, не чудеса это. Мне так кажется.
Pyku_He_oTTyda
Цитата
Второй вариант - ближе к реальности. Как правило, Embedded-система в спящем состоянии со сниженным клоком жрёт смехотворно мало по сравнению с ЭЛТ или чем-то подобным. Поэтому её просто тупо оставляют влючённой.

именно так и есть, еще и опрос кнопок присуствует
vvj
Цитата(Pyku_He_oTTyda @ Jan 8 2007, 21:38) *
Цитата
Второй вариант - ближе к реальности. Как правило, Embedded-система в спящем состоянии со сниженным клоком жрёт смехотворно мало по сравнению с ЭЛТ или чем-то подобным. Поэтому её просто тупо оставляют влючённой.

именно так и есть, еще и опрос кнопок присуствует
Какой второй вариант - бегающий линукс на сниженном клоке? Тогда sdram придётся оставлять вкл. - система грузится больше шести секунд...
vmp
Читал когда-то на форуме ixbt описание потрохов dvd-проигрывателя bbk 967. Там на кристалле стоит два процессорных ядра. Одно на ARM занимается серьезными задачами, а второе на 51 - обслуживаением кнопочек-лампочек.
Так что для данной задачи проще всего поставить какой-нибудь простенький малопотребляющий микроконтроллер, который будет принимать IR-коды и будить основной процессор. Заодно он слегка разгрузит основной процессор от задач ввода-вывода (сканирование клавиш, прием и разбор ИК-кодов).
vvj
Цитата(vmp @ Jan 9 2007, 11:43) *
Так что для данной задачи проще всего поставить какой-нибудь простенький малопотребляющий микроконтроллер, который будет принимать IR-коды и будить основной процессор.
Логично. В данном случае железо, спректированное китайцами, изменять не собираются - да и кнопочек там кстати нету. Чип трёхядерный STx7100 - головной ST40(SH4 266MHz) плюс два ST231(400MHz) на видео и аудио стримы. Моя задача добавить туда режим спячки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.