Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: demanik, ivan_fd  
RTC & Sleep
Matrix252005 Дата: Вт, 21.08.2012, 17:06  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток!!!

Есть проблема... МК PIC18F2520 (В будущем будет использоваться PIC18F25K20), настроен на внутренний ген 8МГц, на TMR0 настроен ход часов - типа RTC. Все хорошо, до момента когда пытаюсь заставить МК уйти в "сон" на долгое время. Пытаюсь настроить TMR1, но сталкиваюсь с другой проблемой, МК постоянно "просыпается", а мне нужно, чтобы он в режиме "сна" находился до тех пор, пока на PortB.0 не придет прерывание при этом (когда МК спит), часы должны отчитывать время...

Кто с таким сталкивался???

По мануалу написано, что в режиме Sleep, МК может находится до 18 часов...

Или другой вопрос, может кто работал с PIC18F24J11, а именно RTCC & Sleep???

Вся загвоздка в том, что все устройство должно питаться от ОЧЕНЬ маленького АКК...

Кто сталкивался, HELP...


THE TRUTH IS OUT THERE.

С уважением, Николай.
ЯНДЕКС Дата: 21.08.2012
Andriy76 Дата: Вт, 21.08.2012, 19:07  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 231
Репутация: 10   ±
Замечания:   ±
На сайте с 06.04.2010

Статус: Offline

Привет Николай
Смотри кое что нашел http://www.ccsinfo.com/forum/viewtopic.php?t=45139
Поищу возможно что еще найду
ivan_fd Дата: Вт, 21.08.2012, 19:30  |                                                                                                                Сообщение # 3
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Quote (Matrix252005)
настроен на внутренний ген 8МГц, на TMR0 настроен ход часов - типа RTC.


TMR0 в режиме sleep не считает. Поэтому данный вариант не подходит.

Quote (Matrix252005)
Пытаюсь настроить TMR1, но сталкиваюсь с другой проблемой, МК постоянно "просыпается"


Так и должно быть, он должен просыпатся когда происходит прерывание, как иначе Вы будете считать секунды?
Matrix252005 Дата: Ср, 22.08.2012, 09:06  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток!!!

Quote (ivan_fd)
...как иначе Вы будете считать секунды?

А если, создать одну переменную, в связи стем, что я не знаю сколько МК будет спать, типа Word. И как произошло прерывание, эта переменная увеличивается на 1. Потом, когда пришло прерывание от INT, произвести расчет и прибавить полученный результат к уже имеющимся значения времени...

Так можно???


THE TRUTH IS OUT THERE.

С уважением, Николай.
Andriy76 Дата: Ср, 22.08.2012, 09:43  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 231
Репутация: 10   ±
Замечания:   ±
На сайте с 06.04.2010

Статус: Offline

Доброе утро Николай
Для пробы только что переместил в прерывание подсчет минут и часов . Дождался 1 минуты . Если просыпаеться пусть и считает все сразу .
Matrix252005 Дата: Ср, 22.08.2012, 09:46  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Доброе утро Андрей!!!

Quote (Andriy76)
Дождался 1 минуты

Это Вы по секундам отсчитывали или сразу минуты??? Если один раз в минуту, может и пойдет...


THE TRUTH IS OUT THERE.

С уважением, Николай.
Andriy76 Дата: Ср, 22.08.2012, 10:01  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 231
Репутация: 10   ±
Замечания:   ±
На сайте с 06.04.2010

Статус: Offline

В Протеусе запустил симуляцию своей зарядки .

Int_Label:
'
Context Save

If INTCONbits_T0IF = 1 Then Dec BIG1

If BIG < 0 Then BIG = BIG + 5000000 : Inc Sec

If Sec > 59 Then Sec = 0 : Inc Minute

If Minute > 59 Then Minute = 0 : Inc Hour

INTCONbits_T0IF = 0

Context Restore
Matrix252005 Дата: Ср, 22.08.2012, 10:03  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

В личку!!!

THE TRUTH IS OUT THERE.

С уважением, Николай.
Andriy76 Дата: Ср, 22.08.2012, 10:29  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 231
Репутация: 10   ±
Замечания:   ±
На сайте с 06.04.2010

Статус: Offline

Ответил
ivan_fd Дата: Ср, 22.08.2012, 11:42  |                                                                                                                Сообщение # 10
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Что то я не пойму, что Вам нужно. Если Вы поставите контроллер в спячку,
он в то время ничего делать не будет!!! Если таймер 1 настроен на внешний такт, то он будет считать
в режиме sleep, но чтобы знать, что он там насчитал его нужно выводить из сна, а это можно сделать по прерыванию таймера. И прерывание будет происходить через время, которое Вы настроите. Если стоит кварц 32768, и настроено на секундный интервал, то просыпатся будет каждую секунду!!!

Сообщение отредактировал ivan_fd - Ср, 22.08.2012, 11:43
Matrix252005 Дата: Ср, 22.08.2012, 11:52  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Quote (ivan_fd)
Что то я не пойму, что Вам нужно.

Мне нужно, чтобы МК потреблял как можно меньше, а это возможно только в Sleep режиме, но при этом, чтобы шли часы... Сейчас МК потребляет ~4,5мА... Что очень много... Если бы его снизить как по шиту: Timer1 Oscillator: 1.8 µA, 32 kHz, 2V Было бы не плохо...


THE TRUTH IS OUT THERE.

С уважением, Николай.
ЯНДЕКС Дата: 22.08.2012
ivan_fd Дата: Ср, 22.08.2012, 12:19  |                                                                                                                Сообщение # 12
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Запустите таймер1 в режиме внешнего такта, ставите контроллер в спячку,
по прерыванию он выходит из спячки, делает инкремент секунд и опять уходит в спячку.

И померяйте сколько он будет брать.
Matrix252005 Дата: Ср, 22.08.2012, 12:25  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Примерно это сейчас и делаю... Он стал потреблять ~3,5мА...

THE TRUTH IS OUT THERE.

С уважением, Николай.
ivan_fd Дата: Ср, 22.08.2012, 13:24  |                                                                                                                Сообщение # 14
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Что то многовато, в режиме sleep должны быть микроампреы. Может он в прерывании, когда проснулся,
долго сидит?
Matrix252005 Дата: Ср, 22.08.2012, 13:38  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Сейчас изменил таймер 1, настроил его на 1 минуту.... Ток потребления стал 0,8мА при 5В... Снизил до 3,3 - 0,62мА.... Все равно много....

THE TRUTH IS OUT THERE.

С уважением, Николай.
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: