Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
08.06.2009, 06:49
|
|
Частый гость
Регистрация: 03.02.2009
Сообщений: 31
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
|
Вечно спящий микроконтроллер
Существует ли микроконтроллер, который мог бы почти все время находиться в спящем режиме (стэнд-бай), без клока и с малым потреблением, но при изменении сигнала на одной (любой) из нескольких входных линий просыпался бы, обрабатывал изменение и вновь засыпал? Нужно обрабатывать изменения по примерно 12-15 линиям. То есть одной ножки выхода из stand-by недостаточно. А делать некие внешние схемы запоминания состояния и сравнения - слишком сложно. Хочется обойтись одним несложным чипом.
|
|
|
|
08.06.2009, 08:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
АТмега48,88,168 семейства AVR
Все 23 ножки через PCINT могут вызывать прерывания, PCINT на каждой ножке можно вкл/выкл
Прерывания по изменению уровня на ножке
|
|
|
|
08.06.2009, 08:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
|
Проще чем назвал niXto некуда.
Только есть 2 момента.
Возвращение по прерыванию возможно только в самом простом режиме энергосбережения (Idle mode). Так потребление от литиевой батарейки 3В для этих чипов в активном режиме на частоте 1 МГц составляет порядка 500мкА. В режиме Idle снижается до 80мкА (при отключении BOD, ADC и компаратора вручную).
В прерывании можно узнать какой из трех портов вызвал это прерывание, но какая именно ножка, вычисляется путем сравнения с предыдущим состоянием. Чтоб узнать какая сволочь стреляла , перед входом в энергосберегающий режим, нужно запоминать состояние портов.
|
|
|
|
08.06.2009, 09:46
|
|
Частый гость
Регистрация: 03.02.2009
Сообщений: 31
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
|
Сообщение от lsa
|
Возвращение по прерыванию возможно только в самом простом режиме энергосбережения (Idle mode).
|
Ага, посмотрел. Да, так можно сделать.
Тут только одно "но": хочется не столько экономить потребление (впрочем это тоже), сколько избавиться от клока вообще. Так как этот узел - небольшая добавка (управление, контроль) к чисто аналоговой измерительной схеме, работающей с малыми сигналами и потому весьма чувствительной к помехам. А требуется от нее особая точность и малошумность. При изменении режима (пользователь переключил кнопки управления) на короткое время могут быть помехи - не важно - но потом, уже в процессе измерения, хорошо бы, чтоб рядом с измерительным узлом было "тихо" - никаких цифровых сигналов.
Понимаю, что скорее всего от МК в режиме idle наводок заметных не будет, но все же - делаем не серию, а инструмент для себя. Переделывать (если что не так) - влом. Так что тут проще сделать с запасом во всех узлах (благо денег экономить по мелочам не надо ).
|
|
|
|
08.06.2009, 10:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
|
Сейчас хотел нарисовать схемку, как использовать для нескольких кнопок один запрос на прерывание (как делалось раньше, когда небыло PCINT), открываю даташит и вижу....
Неправильно я написал насчет только Idle.
На самом деле тут будет работать режим микропотребления с полностью стоячим генератором тактовых сигналов.
Смотрите POWER-DOWN MODE
Потребление тока ядром МК в таком режиме составит от 1мкА (без сторожевого таймера) до 5мкА (со сторожевым таймером).
|
|
|
|
08.06.2009, 10:51
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Посмотрите из серии PIC24F16KA102. От 17 до 23 трех линий прерывания по изменению состояния по входу, с выходом из SLEEP (такт. ген. выключен). Потребление в спящем режиме 0,105 микроА. Для батарейного питания то, что надо.
|
|
|
|
08.06.2009, 10:58
|
|
Частый гость
Регистрация: 03.02.2009
Сообщений: 31
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
|
Сообщение от lsa
|
Неправильно я написал насчет только Idle. На самом деле тут будет работать режим микропотребления с полностью стоячим генератором тактовых сигналов.
|
Я не сразу понял, что именно смотреть в дэйташите. Там табличка слип модов - я сначала смотрел последний столбец ("Other IO"), а надо было смотреть "Pin change". Таки да - это работает (будит проц) во всех режимах, в том числе в power-down. Отлично! Это ровно то, что надо. 24 пина - с большим запасом (впрочем, часть уйдет на выходы, но и на входы должно вроде хватить).
Спасибо! Теперь знаю, на чем это делать.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Спящий режим МЕГи8 . ПОМОГИТЕ ПЛЗ!!!
|
xerox2 |
Микроконтроллеры, АЦП, память и т.д |
8 |
25.10.2008 16:28 |
Микроконтроллер и интернет
|
elcreator |
Микроконтроллеры, АЦП, память и т.д |
1 |
03.05.2008 10:14 |
Микроконтроллер ST62T20C6
|
Meoteno |
Микроконтроллеры, АЦП, память и т.д |
1 |
26.11.2007 11:15 |
Спящий режим mega8
|
AndreyCo |
Микроконтроллеры, АЦП, память и т.д |
1 |
30.09.2007 22:58 |
Микроконтроллер Am186 Es
|
Ярослав |
Микроконтроллеры, АЦП, память и т.д |
1 |
27.10.2004 17:21 |
Часовой пояс GMT +4, время: 22:19.
|
|