-
15.09.2004, 21:15 #1
- Регистрация
- 30.04.2002
- Адрес
- Липецк, Россия
- Возраст
- 55
- Сообщений
- 935
- Записей в дневнике
- 16
- Поблагодарили
- 64
- Поблагодарил
- 4
Режим "Sleep"
Господа , простите за детский вопрос , но любопытно...
Режим "слип" в PIC контроллерах это что???
То что энергопотребление минимальное это понятно...
Любопытно узнать , а что вообще происходит с контроллером?
Т.е. он перестает вообще РАБОТАТЬ ? Т.е . даже тактовый генератор замирает ? Или нет?
Короче , что продолжает работать в контролере , а что перестает???
-
15.09.2004, 22:11 #2
- Регистрация
- 11.07.2003
- Адрес
- г.Заозерск Мурманская обл.
- Возраст
- 59
- Сообщений
- 215
- Поблагодарили
- 3
- Поблагодарил
- 0
По описанию (к примеру PIC16C84) работает сторожевой таймер WDT (без каких-либо внешних компонентов и pаботает на встpоенном RC генеpатоpе, пpичем генеpация не пpекpащается даже в случае отсутствия тактовой частоты пpоцессоpа). Одной из функций стоpожевого таймеpа служит включение пpоцессоpа из pежима пониженного энеpгопотpебления, в котоpый пpоцессоp пеpеводится командой SLEEP.
Почитайте: http://www.akyv.narod.ru/PICglawn.ht...%20PIC%20?....
-
15.09.2004, 22:25 #3
- Регистрация
- 30.04.2002
- Адрес
- Липецк, Россия
- Возраст
- 55
- Сообщений
- 935
- Записей в дневнике
- 16
- Поблагодарили
- 64
- Поблагодарил
- 4
Это понятно , однако если сторожевой таймер по определению отключен, то любопытен сам процесс ---
во-первых , что продолжает работать в режиме "слип", а
во-вторых , что запускается при переходе из режима слип в режим run
-
15.09.2004, 22:57 #4
- Регистрация
- 09.07.2003
- Адрес
- Москва
- Возраст
- 55
- Сообщений
- 375
- Поблагодарили
- 13
- Поблагодарил
- 2
Нужно говорить о конкретном микроконтроллере и конкретном режиме SLEEP (их может быть несколько). Бывает, что и тактовый генератор останавливается. "Будить" микроконтроллер может не только WDT, но и, например, таймер, внешнее прерывание, срабатывание компаратора и проч., не говоря уж о сигнале сброса. Читайте datasheet-ы. Там подробно расписано, что выключается, что продолжает работать, что может разбудить и как определить причину "побудки".
А PIC16C84 - не показатель. Он давным-давно устарел.
-
15.09.2004, 23:03 #5
- Регистрация
- 11.07.2003
- Адрес
- г.Заозерск Мурманская обл.
- Возраст
- 59
- Сообщений
- 215
- Поблагодарили
- 3
- Поблагодарил
- 0
Я не писал, что PIC16C84 показатель. Это был только пример...
-
16.09.2004, 00:19 #6
При вызове инструкции "SLEEP" процессор переходит в режим "Power-down Mode (SLEEP)", при этом отключается внешний таймер и никакие инструкции не выполняются. Процессор в прямом смысле "засыпает".
Выход из спячки в зависимости от начальной конфигурации произойдёт:
- по аппаратному сбросу (MCLR).
- Watchdog Timer.
- по прерыванию.
Для разных процессоров источники прерываний могут быть разными (изменение состояния на порту RB - INT pin, завершение операци записи в EEPROM, завершение такта оцифовки в каналах АЦП, USART и т.д.).
Подробности по конкретным процессорам можно посмотреть по datasheet'ам.
|
Социальные закладки