Полная версия этой страницы:
Энергосбережение для AT91sam7
glebka
Jul 26 2006, 15:32
Устройство будет работать от батареи, если кто сталкивался как лучше реализовать режим энергосбережения.
У avr делал через sleep &watchdog.
beer_warrior
Jul 26 2006, 15:52
В даташите же вполне ясно это описано.
Первый и самый деревянный способ - отключать периферию путем запрета клоков.
aaarrr
Jul 26 2006, 16:19
Цитата(beer_warrior @ Jul 26 2006, 19:52)

Первый и самый деревянный способ - отключать периферию путем запрета клоков.
Это делать необходимо, но далеко не достаточно - потребление всей отключаемой периферии составляет примерно 30% от общего. В ДШ есть хорошая табличка на стр. 493.
Еще стоит максимально уронить частоту ядра, внедрить low-power режим и почитать errat'у.
Насколько я понял, внутри sam7 есть внутренний часовой кварц. Если включить работу контроллера от него, то он будет значительно меньше кушать энергии? Поправьте, если ошибаюсь
SpiritDance
Jul 26 2006, 19:06
Только не часовой кварц (он не поместится

), а Slow Clock RC Oscillator, т.е. обычная RC-цепочка.
glebka
Jul 28 2006, 10:52
Спасибо за консультацию,сейчас придет платка- буду пробовать.
Может ещё посоветуете как лучше сделать "подъём" от внешнего изменения уровня на пине.В теории: При засыпании выставляем в PMC_IER от кого "правильное" прерывание, затем читаем PMC_IMR и возвращаем частоту MCK "взад'.
Если можно подскажите где можно подсмотреть пример кода.
glebka
Jul 28 2006, 12:02
Цитата(glebka @ Jul 28 2006, 14:52)

Спасибо за консультацию,сейчас придет платка- буду пробовать.
Может ещё посоветуете как лучше сделать "подъём" от внешнего изменения уровня на пине.В теории:
процессор будет просыпатся как только придёт внешнее прерывание: AIC игнорирует режим энергосбережения.После возращаем нашу "родную" частоту-устанавливаем заново.
Если можно подскажите где можно подсмотреть пример кода.
SlavaCh
Dec 19 2006, 19:03
Подскажите, у вас есть результаты по микропотреблению SAM7S?
Я делаю устройство с батарейным питанием, и проц должен проснуться от прихода внешнего сигнала.
Насколько можно максимально усыпить SAM7S, то есть какое мин потребление будет?
Насколько я понял, можно проц ввести в idle mode(отключить PCK), оставив тактиороваться только PIO, и включить прерывание от изменения уровня на входе. И еще максимально понизить частоту тактирования, до сотен герц. При приходе сигнала прой просыпается, входит в прерывание, и там я включаю нормальную частоту - процессор продолжает работать с того места, в котором "заснул".
Поправьте плиз если что не так.
_4afc_
Dec 21 2006, 11:40
Цитата(glebka @ Jul 28 2006, 10:52)

Если можно подскажите где можно подсмотреть пример кода.
Поишите в этой ветке поглубже. Был пример рабочиий с максимумом, минимумом и микро потреблением в ожидании прерывания.
Там были и токи указаны.
PS: Не забудте выключить передатчик USB (шаманством), а также повесить на USB внешние PU&PD. А также заземлить ADC&JTAGinput, а вообще всё в мануале.
Возможно Вам больше подойдет AT91SAM7A3. У него есть дополнительный блок Shutdown Controller. С помощью этого блока можно отключать питание всего кристалла, оставляя питание батареи только на ноге Vddbu. При этом остается запитаным только RTT и Shutdown Controller. Вся остальная периферия и ядро автоматом обестачиваются. Потребление в этом режиме составляет 8.2мкА. Просыпание возможно
провести от внешней кнопки (подключенной к входу WKUP0 или WKUP1) или от сигнала ALARM (блок RTT)
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.