Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9260-SIMXXX
Спящий режим
link29
Добавлено 26.01.2010 01:13
0
Сообщение: 1
link29
0

Пункты: 380
Регистрация: 21.01.2010
Доброго всем времени суток. Имееется плата SK-MAT91SAM9260, необходимо чтобы устройство уходило в спящий( возможно другой) режим при мизерном энергопотрнблении и по сигналу с внешнего контроллера просыпалось, причем крайне желателен(чуть ли не обязательно) быстрый запуск. Нашёл в схеме платы перемычку J11 - соединенную с WKUP контроллера и J16 -для батарейки.

1) Как подключить батарейку( по документации 3В).
2) Как будить устройство по сигналу внешнего контроллера.
3) Как в Linux отправить устройство в нужный (спящий) режим.

backup mode в спецификации идеально подходит, но вопрос как быстро из него выходит Linux.

Заранее благодарен.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.01.2010 03:30 Сообщение: 2
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Цитата
крайне желателен(чуть ли не обязательно) быстрый запуск
.

Имхо тут только suspend to ram - он для at91sam926x поддерживается. Я никогда не пользовался, так что даже не знаю как можно вывести из спящего режима. Других методов я больше не слышал.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 26.01.2010 09:21 Сообщение: 3
Pavel Ivanchenko
Admin
4.39

Пункты: 91534
Регистрация: 24.03.2009
Пол: Мужчина
WKUP управляет выходом SHDN в "выключенном" состоянии (т.е. когда подано только VDDBU), он позволяет реализовать "кнопочное" включение/выключение питания без вспомогательной логики/контроллера, если стабилизатор поддерживает управление своим выходом (причем активный - 1.8В) ...
Не знаю, поможет ли он Вам в реализации малого энергопотребления, но если что откапаете, отпишитесь плиз, думаю многим будет интересно.
Спуститься к концу Подняться к началу
Персональная информация
link29
Добавлено 26.01.2010 19:16 Сообщение: 4
link29
0

Пункты: 380
Регистрация: 21.01.2010
Нашёл интересный документ по этой теме: http://www.atmel-grenoble.com/dyn/resources/prod_documents/doc6217.pdf . Там есть схема подключения батарейки и описание режимов. К сожалению мой английский страдает, поэтому я не всё там понял, если кто мне поможет буду очень признателен.
Там еще есть примеры в виде отрывков программ, в которых все действия осуществляются манипуляциями регистров, как эти манипуляции можно проводить в программах для linux, и есть ли какие нибудь библиотеки для этого?
Спуститься к концу Подняться к началу
Персональная информация
link29
Добавлено 26.01.2010 19:26 Сообщение: 5
link29
0

Пункты: 380
Регистрация: 21.01.2010
Цитата
WKUP управляет выходом SHDN в "выключенном" состоянии (т.е. когда подано только VDDBU), он позволяет реализовать "кнопочное" включение/выключение питания без вспомогательной логики/контроллера, если стабилизатор поддерживает управление своим выходом (причем активный - 1.8В) ...
Не знаю, поможет ли он Вам в реализации малого энергопотребления, но если что откапаете, отпишитесь плиз, думаю многим будет интересно.


Насколько я понял выход SHDN нуден для управление DC/DC преобразователем со входом управления, как например http://www.mean-well.ru/mw/asd10h-s-spec.pdf , а вход WKUP - программируемый через Shutdown Controller
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.01.2010 21:06 Редактировалось 26.01.2010 21:12 Сообщение: 6
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Цитата
Там есть схема подключения батарейки и описание режимов.


Я вообще то о linux говорил :) В buckup mode снимается питание полностью с периферии и памяти - для linux это равнозначно reset (как собственно для любой другой ос) - так что о быстром старте можно забыть. Единственный метод при котором будет быстрый старт - suspend to ram, причем драйверами atmel этот режим поддерживается. Генератор переключается на пониженную частоту 32 кГц, процессор останавливается в ожидании прерывания, вся периферия с питанием и соответственно содержимое регистров не теряется, в том числе ram. linux еще поддерживает suspend to disk - но это уже должна быть поддержка типа bios или внутреннего загрузчика для быстрой инициализации периферии и загрузки снапшота ram.
Спуститься к концу Подняться к началу
Персональная информация
link29
Добавлено 26.01.2010 22:24 Сообщение: 7
link29
0

Пункты: 380
Регистрация: 21.01.2010
А сколько длится полная загрузка линукса на данном устройстве?
И хотелось бы узнать как suspend to ram организовать и как из него выйти.

И ешё такой вопрос: какое примерно потребление платы в активном и suspend to ram режимах, питание устройства предполагается осуществлять от бортовой сети автомобиля и соответственно с выключенным двигателем аккумулятор не должен быстро садится, а с другой стороны при запуске автомобиля устройство должно быть быстро готово к работе. Идея такая: на плате SK-MAT91SAM9260 центральное устройство, которое входит в режим suspend to ram когда автомобиль не используется и так называемый sleep-контроллер на какой-нибудь ATmega, который работает постоянно и при запуске автомобиля(возможно дистанционном) будит центральный блок ну и еще выполняет пару функций. Вот и получается некоторая оптимизационная задача относительно [время разряда аккумулятора/время старта системы]
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.01.2010 22:58 Сообщение: 8
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Цитата
А сколько длится полная загрузка линукса на данном устройстве?


Конкрено на этом не знаю но на подобной плате меньше 3 сек врядли получится.

Цитата
И хотелось бы узнать как suspend to ram организовать и как из него выйти.


"Все уже своровано до нас " С :) Достаточно в конфиге включить и собрать ядро с поддержкой suspend to ram, войти очень просто, помоему достаточно будет вот этого

#echo mem > /sys/power/state

а вот проснуться я не интересовался как :) надо поискать на буржуйских форумах, я думаю через внешние прерывания, может быть от какой-то периферии умеет просыпаться - надо искать, исходники смотреть.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.01.2010 23:34 Редактировалось 26.01.2010 23:39 Сообщение: 9
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Судя по исходникам самое подходящее для вас просыпаться от gpio и если я правильно понял вот это, такое возможно
static struct gpio_keys_button yl9200_buttons[] = {
{
.gpio = AT91_PIN_PA24,
.code = BTN_2,
.desc = "SW2",
.active_low = 1,
>>> .wakeup = 1, <<<
},

похоже где-то в драйверах для устройств тоже ставятся метки - может ли irq этого устройства быть источником wakeup. И еще похоже некоторые периферийные устройства засыпают намертво и их нужно переинициализировать.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 27.01.2010 03:50 Сообщение: 10
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Не удержался - попробовал, оставил одну кнопку в board-файле, включил s2ram в ядре, собрал:

# echo mem > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.00 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
Suspending console(s) (use no_console_suspend to debug)

уснул :) попинговал, в консоли потыкал - не откликается, замкнул проводком пин землю:

mmc0: card 0001 removed
AT91: PM - no slow clock mode enabled ...
usb usb1: root hub lost power or was reset
mmc0: new MMC card at address 0001
mmc mmc0:0001: parent mmc0 should not be sleeping
mmcblk0: mmc0:0001 AF HMB 495 MiB
mmcblk0: p1
Restarting tasks ... done.
# eth0: link up (100/Full)

#

я даже не заметил как он очнулся - очень быстро. Сколько потребляет в этом режиме затрудняюсь сказать - у меня с usb запитано, не померять.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9260-SIMXXX