| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
32768 кГц и режим Power Save
28.05.2011, 22:58
|
|
|
Частый гость
Регистрация: 11.03.2011
Сообщений: 14
Сказал спасибо: 8
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
32768 кГц и режим Power Save
Дано: atmega48 на RC 8МГц + кварц 32768 для таймера2 в асинхронном режиме.
В режиме Idle светодиод моргает так же, как и в активном.
А вот в режиме Power Save частота моргания увеличивается примерно раза в 3 !?
Не пойму где грабли  ....
После Reset очистили пямять, настроили стек, все порты на ввод
А дальше:
; Таймер 2 в асинхронном режиме с 32.768 кГц
OUTi TCNT2, 0
OUTi ASSR, 1‹‹AS2
OUTi TCCR2A, 0
OUTi TCCR2B, 0‹‹CS22 | 0‹‹CS21 | 1‹‹CS20 ; делитель отсуствует
SETB TIMSK2, TOIE2 ; прерывание по переполнению
SBI DDRB, PB1 ; светодиод
sei MainLoop: SBIC PINC, PC4 ; Кнопка
rjmp MainLoop ; SE=1: Sleep Mode Enable, SM2=0 SM1=0 SM0=0: Sleep Mode = Idle
; OUTi SMCR, 1‹‹SE | 0‹‹SM2 | 0‹‹SM1 | 0‹‹SM0
; SE=1: Sleep Mode Enable, SM2=0 SM1=1 SM0=1: Sleep Mode = Power Save OUTi SMCR, 1‹‹SE | 0‹‹SM2 | 1‹‹SM1 | 1‹‹SM0
sleep
lds TMP, TCNT2
mov TMP1, TMP XXX_00:lds TMP, TCNT2
cp TMP1, TMP
breq XXX_00
rjmp MainLoop
Прерывание
Timer2_OVF: PUSH_F_R16
; Апдейт счётчика
lds R16, Timer2Counter
dec R16
brne TO_00
ldi R16, 64 TO_00: sts Timer2Counter, R16
; Помигаем светодиодом пол периода
cpi R16, 32
ldi R16, 1
brlo TO_01
clr R16 TO_01: SBRC R16, 0 SBI PortB, PB1
SBRS R16, 0
CBI PortB, PB1
POP_F_R16
reti
Последний раз редактировалось airsoft; 28.05.2011 в 23:40.
|
|
|
|
28.05.2011, 23:11
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: 32768 кГц и режим Power Save
После прерывания от таймера нужно дождаться минимум 1 такт 32768 генератора и только после этого падать в новый слип. Обычно после обработки прерывания пишут что-нибудь в любой из регистров таймер2, ждут в идле или бесконечном цикле установки бита от этого регистра и только после этого падают в слип.
|
|
|
|
Эти 2 пользователя(ей) сказали Спасибо niXto за это сообщение:
|
|
|
28.05.2011, 23:43
|
|
|
Частый гость
Регистрация: 11.03.2011
Сообщений: 14
Сказал спасибо: 8
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: 32768 кГц и режим Power Save
niXto, Спасибо! Красная вставка решила вопрос! 
Ктоб знал ...
И в даташите не нашёл намёка ...
Наверно не там искал ....
|
|
|
|
29.05.2011, 00:12
|
|
|
Гражданин KAZUS.RUN
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
|
Re: 32768 кГц и режим Power Save
Сообщение от airsoft
|
niXto, Спасибо! Красная вставка решила вопрос! 
Ктоб знал ...
И в даташите не нашёл намёка ...
Наверно не там искал ....
|
Вот тут пдробненько http://easyelectronics.ru/avr-uchebn...m-tajmera.html
|
|
|
|
29.05.2011, 07:33
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: 32768 кГц и режим Power Save
В красненьком необязательно постоянно читать регистр. Достаточно дождаться, когда обнулится бит TCN2UB (аппаратно устанавливается сразу после записи в TCNT2, аппаратно сбрасывается после физической записи). Регистр ASSR, раздел Asynchronous Operation of Timer/Counter2
|
|
|
|
29.05.2011, 07:49
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: 32768 кГц и режим Power Save
А нельзя ли к ATMEGA8 приделать два кварца, один на 16 мгц для работы а второй на 32768 кгц для спящего режима.
|
|
|
|
29.05.2011, 23:13
|
|
|
Частый гость
Регистрация: 11.03.2011
Сообщений: 14
Сказал спасибо: 8
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: 32768 кГц и режим Power Save
sdsrem, Нельзя
Генераторы используют одни и теже ноги
XTAL1/TOSC1
XTAL2/TOSC2
|
|
|
|
30.05.2011, 03:47
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: 32768 кГц и режим Power Save
Сообщение от airsoft
|
sdsrem, Нельзя
Генераторы используют одни и теже ноги
XTAL1/TOSC1
XTAL2/TOSC2
|
В том то и дело, но я думал может варианты есть какие.
Например переключать сам кварц, или ещё что.
|
|
|
|
30.05.2011, 06:26
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: 32768 кГц и режим Power Save
Можно взять любую мегу в 44...100-ногом корпусе. У них выделенные ноги под кварц 32к
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:07.
|
|