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

 
 
> PIC18F6722 + sleep mode
Arxi
сообщение Jun 28 2011, 04:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 16-09-10
Пользователь №: 59 523



Приветствую! Возникла проблема...никак не могу понять в чем ошибка. Есть некоторая система на данном МК. ЕЕ задачи: сбор данных по UART, их обработка, вывод данных на TFT дисплей и так далее. В том числе присутствует задача часов реального времени. Питания внешнее и батарейка. При пропадании внешнего питания устройство должно уходить в режим Sleep. Таймер 1 тактируется от внешнего кварца 32КГц... раз в 1 сек по прерыванию он должен будить МК, считать время, проверять появилось ли питания и, если нет, снова уходить в спячку. Так вот какой минимум операции нужно сделать чтобы уйти в спячку с минимум потребления тока? Отключаю все (UART, АЦП, всю подтяжку на портах.. и так далее) НО! Как только питания пропадает пропадает и колебания на часовом кварце, хотя в даташите написано что если таймер 1 был включен, то он продолжает работать...Перед батарейкой стоит резистор на 1кОм...так вот на нем падение напряжения почти 1,5В...то есть 1,5 мА потребляются... Пропадают колебания, соответственно и время не считает...как быть?

Сообщение отредактировал Arxi - Jun 28 2011, 04:16
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Arxi
сообщение Jun 28 2011, 07:37
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 16-09-10
Пользователь №: 59 523



Питание +5В и батарейка отделены друг от друга диодами...от батарейки питается только проц батарейка---резистор 1кОм--диод---фильтрующие конденсаторы (0,1мкФ --- 220мкФ)---питание Vdd. так же через резистор 51 Ом это питание заводится на AVdd.
При пропаже питания отключаю:

///////*****отключаем всю периферию******////////
RCSTA1bits.SPEN = 0;//выкл. UART
SSP1CON1bits.SSPEN = 0;//выключаем SPI
ADCON0bits.ADON = 0; //АЦП откл
T2CONbits.TMR2ON = 0;//Timer2 выключен
T3CONbits.TMR3ON = 0;//Timer3 OFF
T0CONbits.TMR0ON = 0; //off Timer0
INTCON2bits.RBPU = 1; // выключили подтягивающие резисторы на PortB
TRISD = 0;
TRISC = 0;
TRISA = 0;
TRISF = 0;
LATA = 0;
LATB = 0;
LATC = 0;
LATD = 0;
LATE = 0;
LATF = 0;
LATG = 0;

Сообщение отредактировал Arxi - Jun 28 2011, 07:41
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Arxi   PIC18F6722 + sleep mode   Jun 28 2011, 04:14
- - xemul   Цитата(Arxi @ Jun 28 2011, 08:14) При про...   Jun 28 2011, 06:26
- - Arxi   М-да, действительно...путаница вышла... насчет реж...   Jun 28 2011, 06:43
- - xemul   Ну коль внятно рассказать Вам лень, см. 3.4.2 SEC_...   Jun 28 2011, 06:54
- - Arxi   Значит начнем по порядку...использую модуль HLVD. ...   Jun 28 2011, 06:58
|- - xemul   Цитата(Arxi @ Jun 28 2011, 10:58) И , о ч...   Jun 28 2011, 07:01
- - Arxi   ))) продолжим)))) таймер работает...но почему то с...   Jun 28 2011, 07:04
|- - xemul   Цитата(Arxi @ Jun 28 2011, 11:04) ... где...   Jun 28 2011, 07:31
- - Arxi   что попало написал...все порты настраиваю на выход...   Jun 28 2011, 09:36
|- - xemul   Цитата(Arxi @ Jun 28 2011, 13:36) возник ...   Jun 28 2011, 10:10
- - Arxi   Сейчас глняул, и действительно. Забыл его отключит...   Jun 29 2011, 02:50
- - Arxi   Тут мысль возникла....а вдруг у меня МК не засыпае...   Jun 29 2011, 04:17
|- - xemul   Цитата(Arxi @ Jun 29 2011, 08:17) Тут мыс...   Jun 29 2011, 10:27
- - ar__systems   1.5mA похоже на ток работающего процессора. выключ...   Jun 30 2011, 03:56


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

 


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


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