реклама на сайте
подробности

 
 
> USART и режим сна "Power-save", как настроить USART перед сном?
James D.
сообщение Jan 4 2011, 13:19
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 315
Регистрация: 10-10-05
Пользователь №: 9 466



Подскажите, пожалуйста, как правильно сконфигурировать USART (ATmega16) перед переводом МК в режим сна "Power-save"?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
James D.
сообщение Jan 5 2011, 10:57
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 315
Регистрация: 10-10-05
Пользователь №: 9 466



Проверил - USART мешает уходить в сон.
Если делаю в программе, в начале ее работы, инициализацию USART, контроллер не засыпает, и потребляет от батареи ток ~90 мА.
Если USART в программе не задействовать, контроллер нормально засыпает, и потребляет 10-15 мкА.

Ну как же его отключить перед уходом в сон?

Код
;Инициализация USART:

;Установить скорость передачи данных
ldi        temp,$00    ;9600 бит/с
out     UBRRH, temp
ldi        temp,$40
out     UBRRL, temp

;Включить приемник и передатчик
ldi     temp, (1<<RXEN)|(1<<TXEN)|(1<<RXCIE)
out     UCSRB,temp

;Установить формат кадра: 8 битов данных, 1 стоп-бит
ldi     temp, (1<<URSEL)|(0<<USBS)|(3<<UCSZ0)
out     UCSRC,temp


Вот этот код перед засыпанием не помогает:
Код
ldi     temp, (0<<RXEN)|(0<<TXEN)|(0<<RXCIE)
out     UCSRB,temp
sleep


Порты перевожу в третье состояние, тогда потребляемый ток уменьшается до 10-15 мкА (если USART отключен), а то через них тоже как-то ток утекает:
Код
ldi        temp,$00
out        PORTD,temp ;инициализация PORTD
ldi        temp,$00
out        DDRD,temp  ;установка направления PORTD


Сообщение отредактировал James D. - Jan 5 2011, 11:00
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Jan 5 2011, 11:55
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(James D. @ Jan 5 2011, 16:57) *
Проверил - USART мешает уходить в сон.
Если делаю в программе, в начале ее работы, инициализацию USART, контроллер не засыпает, и потребляет от батареи ток ~90 мА.

mA или uA ? Если именно миллиампер - это что-то совершенно дикое, даже активный микроконтроллер не может столько потреблять. Если микроампер - скорее, какое-то потребление через выход или pull-up резистор.
Цитата
Если USART в программе не задействовать, контроллер нормально засыпает, и потребляет 10-15 мкА.

Если активно что-то типа таймера в асинхронном режиме или WDT - похоже. Если нет - то неприлично много.
Цитата
Ну как же его отключить перед уходом в сон?

Еще раз: включенный USART сам по себе на потребление фактически не влияет.
Цитата
Вот этот код перед засыпанием не помогает:
Код
ldi     temp, (0<<RXEN)|(0<<TXEN)|(0<<RXCIE)
out     UCSRB,temp
sleep

Потому и не помогает - не USART виноват.
Цитата
Порты перевожу в третье состояние, тогда потребляемый ток уменьшается до 10-15 мкА (если USART отключен), а то через них тоже как-то ток утекает:

Вот и надо разбираться, что куда утекает. А заодно и на остальную периферию посмотреть - не остался ли включенным аналоговый компаратор, нет ли включенных pull-up там, где не надо, не болтаются ли неподключенные входы в третьем состоянии...

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- James D.   USART и режим сна "Power-save"   Jan 4 2011, 13:19
- - rx3apf   Цитата(James D. @ Jan 4 2011, 19:19) Подс...   Jan 4 2011, 14:28
- - James D.   Вообще ничего делать не надо? Может, хотя бы так: ...   Jan 4 2011, 15:35
|- - rx3apf   Цитата(James D. @ Jan 4 2011, 21:35) Вооб...   Jan 4 2011, 16:55
- - James D.   Спасибо, буду разбираться дальше.   Jan 5 2011, 01:47
- - James D.   Цитата(rx3apf @ Jan 5 2011, 17:55) mA или...   Jan 5 2011, 13:04
- - rx3apf   Цитата(James D. @ Jan 5 2011, 19:04) Это ...   Jan 5 2011, 14:01
- - James D.   Цитата(rx3apf @ Jan 5 2011, 20:01) Исправ...   Jan 5 2011, 16:17
- - rx3apf   Цитата(James D. @ Jan 5 2011, 22:17) Мне ...   Jan 5 2011, 16:54
- - James D.   Цитата(rx3apf @ Jan 5 2011, 22:54) Еще из...   Jan 6 2011, 02:02
|- - rx3apf   Цитата(James D. @ Jan 6 2011, 08:02) До ч...   Jan 6 2011, 06:18
|- - James D.   Насчет USART - я провода, которые от ATmega16 к ST...   Jan 6 2011, 12:46
|- - aesok   Если Вас устроит халтурное решение, то перечитайте...   Jan 7 2011, 08:56
- - zombi   Цитата(rx3apf @ Jan 5 2011, 22:54) Никаки...   Jan 7 2011, 13:04
- - rx3apf   Цитата(zombi @ Jan 7 2011, 19:04) Я так п...   Jan 7 2011, 13:09
- - zombi   Цитата(rx3apf @ Jan 7 2011, 19:09) Болтаю...   Jan 8 2011, 07:20
- - rx3apf   Цитата(zombi @ Jan 8 2011, 13:20) Болтающ...   Jan 8 2011, 09:23
- - zombi   Цитата(rx3apf @ Jan 8 2011, 15:23) Желате...   Jan 8 2011, 09:34
- - demiurg_spb   Цитата(zombi @ Jan 8 2011, 15:34) А все п...   Jan 9 2011, 14:09


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01386 секунд с 7
ELECTRONIX ©2004-2016