Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 11.04.2018, 14:28  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 586
Сказал спасибо: 23
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию RTC на ATMega48 - проблемы в работе

Ко мне обратился товарищ с проблемной работой RTC. Я лично с RTC не работал и помочь ему не смог. По его просьбе выкладываю проблему тут. Программа написана на Algorithm Builder, поэтому выкладывать ее нет смысла. Вот небольшой алгоритм её работы.

МК Atmega48P работает на внутреннем генераторе 8MHz, и с внешним часовым кварцевым резонатором на 32768Hz , в режиме счетчика реального времени (RTC).
При каждом переполнении таймера 2 (RTC) (8сек з прескалером=1024) МК “просыпается”, в обработке прерывания инкрементирует переменную-счетчик, сравнивает ее со значением 60 и если равно, то устанавливает флажок.
После выхода из прерывания проверяется флажок. При установленом флажке (а это должно быть 8 минут) идет на программу обработки. Если флажка нет, то опять ложиться “спать”.

Проблема в том, что флажок устанавливается через 1 минуту и 40 секунд вместо 8 минут. Т.е. впечатление такое, что программа вместо одного раза заходит в прерывание несколько раз и соответственно инкрементирует переменную-счетчик.
Если в прерывании поставить задержку 30 микросекунд, то все работает нормально. Но плата работает на батарейном питании и лишних 30 мксек работы здесь неуместны.

Что можете посоветовать?
Реклама:
pifa вне форума  
Непрочитано 11.04.2018, 19:07  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,784
Сказал спасибо: 2,911
Сказали Спасибо 3,119 раз(а) в 2,110 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: RTC на ATMega48 - проблемы в работе

1. Какое энергосбережение используется?
2. Все-ли "вонинги" в начале раздела "Asynchronous operation of Timer/Counter2" учтены?
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума  
Эти 2 пользователя(ей) сказали Спасибо ForcePoint за это сообщение:
pifa (12.04.2018), ptr (12.04.2018)
Непрочитано 11.04.2018, 22:58  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 586
Сказал спасибо: 23
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: RTC на ATMega48 - проблемы в работе

Сообщение от ForcePoint Посмотреть сообщение
1. Какое энергосбережение используется?
Power-save (используется батарейка 2032)

Сообщение от ForcePoint Посмотреть сообщение
2. Все-ли "вонинги" в начале раздела "Asynchronous operation of Timer/Counter2" учтены?
Направил товарища в этот раздел. Сейчас он его изучает.
pifa вне форума  
Непрочитано 12.04.2018, 00:18  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 586
Сказал спасибо: 23
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: RTC на ATMega48 - проблемы в работе

Вот ответ моего товарища:

Все режимы установлены правильно, а вот обработка прерывания и код программы до входа в SLEEP, занимает 3,8мкс. Цикл TOSC1 равняется 30,51 мкс. Вот и результат из даташита (If re-entering sleep mode within the TOSC1 cycle, the interrupt will immediately occur and the device wake up again. The result is multiple interrupts and wake-ups within one TOSC1 cycle from the first interrupt).

Всем спасибо.


Получается, что так и должно быть.

P.S.
Спасибо ForcePoint за ссылку на datasheet. Надо всегда читать документацию до конца.
Правда, полезная информация была не в начале, а в конце раздела.

Последний раз редактировалось pifa; 12.04.2018 в 00:30.
pifa вне форума  
Эти 2 пользователя(ей) сказали Спасибо pifa за это сообщение:
mike-y-k (12.04.2018), ptr (12.04.2018)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с организацией видеонаблюдения P5iXopAT Видеотехника 31 22.04.2014 18:16
uVision и библиотеки stm32 peripheral library - проблемы с дебагом и АЦП ) rukez Микроконтроллеры, АЦП, память и т.д 11 13.02.2011 15:35
Советы по эффективной работе в среде Eclipse PavelV Микроконтроллеры, АЦП, память и т.д 0 23.01.2011 14:07


Часовой пояс GMT +4, время: 08:22.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot