AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
13.10.2011, 23:25
|
|
Гражданин KAZUS.RU
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
|
Re: Режимы сна Атмега-8
llans, То же самое, 10 мА. Может быть сама схема конечно потребляет, но в ней кроме 78L05, конденсаторов и драйвера полевиков ничего нет, драйвер полевиков я выпаивал. Вытравлю в выходные новую платку, припаяю только мегу8 и попробую так.
|
|
|
|
14.10.2011, 08:51
|
|
Частый гость
Регистрация: 23.04.2011
Адрес: Санкт- Петербург
Сообщений: 42
Сказал спасибо: 0
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Re: Режимы сна Атмега-8
Скорее всего дело не в программе.
У меня на 8 меге потребление меньше 100 мка засыпаю так:
bye:
clr temp ;stop timer
out tccr1b,temp
out tccr0,temp
ldi temp,1‹‹int0
out gicr,temp
ldi temp,(1‹‹se)|(1‹‹sm1)
out mcucr,temp
sleep
rjmp pc
Попробуйте замкнуть reset и померить потребление. если потребляет, ищите в схеме.
Кстати, есть много линейных стабилизаторов с ничтожным Iq
Последний раз редактировалось llans; 14.10.2011 в 09:03.
|
|
|
|
14.10.2011, 08:56
|
|
Гражданин KAZUS.RU
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
|
Re: Режимы сна Атмега-8
llans, Большое спасибо!
А как вы конфигурируете порты ?
Так ?
Цитата:
|
di temp, 0b00000000
out DDRB, temp
out PORTB, temp
out DDRD, temp
out PORTD, temp
out DDRC, temp
out PORTC, temp
|
Последний раз редактировалось putmannn; 14.10.2011 в 10:12.
|
|
|
|
14.10.2011, 09:42
|
|
Частый гость
Регистрация: 23.04.2011
Адрес: Санкт- Петербург
Сообщений: 42
Сказал спасибо: 0
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Re: Режимы сна Атмега-8
Кстати, не помню, проц просыпается по прерыванию если прерывание разрешено, или в любом случае, у меня программа после wakeup что-то делает и сразу обратно. Стоит проверить. Возможно у Вас сразу после sleep происходит wakeup
|
|
|
|
14.10.2011, 12:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,983
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
|
Re: Режимы сна Атмега-8
putmannn,
если уверены, что все отключено и ничто не мешает сну/не будит, то простейшее решение для проверки - несколько команд (инициализация ноги порта и ловушка-бесконечный цикл после команды sleep) и светодиод на ногу порта. тогда, если все в норме, светодиод не горит, а если кто гремит перфоратором после 22-00, мешая сну - горит и из этого цикла МК не выходит ![Очень смешно](images/smilies/icon_veryhappy.gif)
такие ловушки давно применяю, можно даже тип ошибки выводить
|
|
|
|
17.10.2011, 13:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,996
Сказал спасибо: 3,015
Сказали Спасибо 3,191 раз(а) в 2,164 сообщении(ях)
|
Re: Режимы сна Атмега-8
Ну, поглядим "портяночку"... Начнём с того, что прерывания как-то сильно загружены кодом (например - сравнение таймера 2). Могут быть пропуски.
Цитата:
|
;-------------------------------------------------------------------------------
tok: rjmp tok1 ;не хватает длины перехода, перевалочная
key: rjmp key1 ;не хватает длины перехода, перевалочная
;-------------------------------------------------------------------------------
|
Тут как-то вообще смешно. Ставим в настройках проекта галочку "Wrap relative jump" и без проблем ходим по всей памяти команд ATmega8 (±2k команд при наличии 4k памяти).
Цитата:
|
reset:
;LDI TEMP, 0b10100000
;OUT MCUCR, TEMP
;SLEEP
|
Вот и ответ. Ставите сон сразу после старта не проинициализировав как следует аппаратуру (как минимум - надо отключить аналоговый компаратор и настроить порты).
З.Ы, Кстати, логика вообще непонятная. Сон должен быть, ИМХО, где-то в main'е, по нажатию какой-нть кнопочки...
|
|
|
|
17.10.2011, 21:45
|
|
Частый гость
Регистрация: 23.04.2011
Адрес: Санкт- Петербург
Сообщений: 42
Сказал спасибо: 0
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Re: Режимы сна Атмега-8
Никакой это не ответ, у него "это" закомментировано, а в сон входит значительно дальше.
А порты, putmannn, нулями инициализировать ненадо. Они и так в нуле после сброса. Только если используете rjmp reset.
|
|
|
|
17.10.2011, 23:34
|
|
Гражданин KAZUS.RU
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
|
Re: Режимы сна Атмега-8
Сообщение от ForcePoint
|
Тут как-то вообще смешно. Ставим в настройках проекта галочку "Wrap relative jump" и без проблем ходим по всей памяти команд ATmega8 (±2k команд при наличии 4k памяти).
|
Можно подробнее ? Я в АВР Студии работаю, где там такую галочку ставить ?
|
|
|
|
17.10.2011, 23:36
|
|
Гражданин KAZUS.RU
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
|
Re: Режимы сна Атмега-8
В общем внёс в код что тут прочитал
led1off:ldi temp, 0b00000000
out ADCSR, temp
ldi temp, 0b00000000 ;çàïóñê ïðåîáðàçîâàíèÿ ÀÖÏ-1 äëÿ òîêà íà äèîäàõ
out ADMUX, temp
ldi temp, 0b11111111 ; â DDRB 1,2,3 íà âûõîä, 0,4,5,6,7 íà âõîä
out DDRB, temp
ldi temp, 0b00000000 ;
out PORTB, temp
ldi temp, 0b11111111 ; â DDRD âñå íà âûõîä
out DDRD, temp
ldi temp, 0b00000000 ; äëÿ èíäèêàöèè
out PORTD, temp
ldi temp, 0b11111111 ; â DDRÑ íà âûõîä
out DDRC, temp
ldi temp, 0b00000000 ; äëÿ âûâîäà íà èíäèêàòîð
out PORTC, temp
ldi temp, 0b00000000
out TIMSK, temp
IN TEMP, MCUCR
ORI TEMP, 0b10100000
OUT MCUCR, TEMP
clr temp ;stop timer
out tccr1b,temp
out tccr0,temp
ldi temp,1‹‹int0
out gicr,temp
ldi temp,(1‹‹se)|(1‹‹sm1)
out mcucr,temp
sleep
Отключил всю схему, оставил только контроллер.
Потребление после всех этих усыплений 500-600 мкА. это нормально ?
Но вся схема 10 мА ест, так что думаю мне достаточно этого режима сна.
Последний раз редактировалось putmannn; 17.10.2011 в 23:39.
|
|
|
|
17.10.2011, 23:50
|
|
Гражданин KAZUS.RU
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
|
Re: Режимы сна Атмега-8
N TEMP, MCUCR
ORI TEMP, 0b10100000
OUT MCUCR, TEMP
и
ldi temp,(1‹‹se)|(1‹‹sm1)
out mcucr,temp
Это разве не одно и тоже?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:59.
|
|