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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 30.12.2011, 15:57  
Dimitrij
Временная регистрация
 
Регистрация: 26.02.2005
Сообщений: 78
Сказал спасибо: 15
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
Dimitrij на пути к лучшему
По умолчанию Помогите настроить таймер в Atmega

В Atmega32 таймер2 насстроен на работу от внешнего часового кварца 32768Гц, Кдел.=1, прерывание по переполнению, на выходе имеем 128Гц.
Выставил:
Код:
ASSR=0x08;
TCCR2=0x01;
TCNT2=0x00;
OCR2=0x00;

TIMSK=0b01000010;
Мне нужно подкорректировать частоту на выходе таймера. Изменяю начальный код в регистре TCNT2, ничего не изменяется.
Пробовал выставить переполнение по совпадению:
Код:
ASSR=0x08;
TCCR2=0x09;
TCNT2=0x00;
OCR2=0x7F;

TIMSK=0b10000010;
тогда не выходит на счетный режим.
Может еще что-то надо менять?
Реклама:
Dimitrij вне форума  
Непрочитано 30.12.2011, 18:53  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Помогите настроить таймер в Atmega

a. Write a value to TCCR2x, TCNT2, or OCR2x.
b. Wait until the corresponding Update Busy Flag in ASSR returns to zero.
c. Enter Power-save or ADC Noise Reduction mode.

Только не спрашивайте, откуда я это взял. Военная тайна
niXto вне форума  
Непрочитано 30.12.2011, 21:22  
Dimitrij
Временная регистрация
 
Регистрация: 26.02.2005
Сообщений: 78
Сказал спасибо: 15
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
Dimitrij на пути к лучшему
По умолчанию Re: Помогите настроить таймер в Atmega

niXto,
Это я читал и на русском языке, только не знаю, как применить в программе.
В программировании я новичок!
Есть программа для часы/будильник/метеостанция. Есть коррекция хода часов, но шаг коррекции 1/128Гц. Это много, часы или сильно отстают или спешат. Хотел подправить корректировкой счетчика таймера, но не знаю как это программно сделать. Программа написана в CodeVisionAVR, исходный код:
Вложения:
Тип файла: rar Mega32.rar (9.9 Кб, 77 просмотров)
Dimitrij вне форума  
Непрочитано 30.12.2011, 22:41  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,984
Сказал спасибо: 0
Сказали Спасибо 4,943 раз(а) в 2,371 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Помогите настроить таймер в Atmega

Dimitrij,
а каков уход за сутки/несколько суток? наблюдали?
может надо делать коррекцию раз в сутки?
или образцовую частоту ловить из эфира, DCF77, например, или 66,(6) и по ней вести отсчет?
jump вне форума  
Непрочитано 30.12.2011, 22:51  
Dimitrij
Временная регистрация
 
Регистрация: 26.02.2005
Сообщений: 78
Сказал спасибо: 15
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
Dimitrij на пути к лучшему
По умолчанию Re: Помогите настроить таймер в Atmega

Сообщение от jump Посмотреть сообщение
а каков уход за сутки/несколько суток?
Точно не засекал, но отстают на 3секунды в сутки.
Dimitrij вне форума  
Непрочитано 30.12.2011, 23:22  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Помогите настроить таймер в Atmega

Чтобы скорректировать 3 секунды в сутки у Вас шаг коррекции должен быть 1/28800 Гц. Так, что прислушайтесь к совету jumpа - раз в сутки.

P.S. Можно еще выкидывать/добавлять единицу в счетчике переполнений каждые 225 секунд (28800/128=225).

Последний раз редактировалось alvadep; 30.12.2011 в 23:32.
alvadep вне форума  
Непрочитано 30.12.2011, 23:23  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,984
Сказал спасибо: 0
Сказали Спасибо 4,943 раз(а) в 2,371 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Помогите настроить таймер в Atmega

Dimitrij,
сделайте программную коррекцию с ручной установкой на -/+ 10с по окончании суток. кварц стареет, температура меняется или питание - прошивку менять каждый раз?
jump вне форума  
Непрочитано 31.12.2011, 07:22  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Помогите настроить таймер в Atmega

У меня цифровая подстройка хода срабатывает раз в 52 секунды. Точность достигается ±0,05 с/сутки. При стабильных напряжении и температуре. Если делать подстройку раз в сутки, часы будут гулять в зависимости от времени и нужно будет пометить в какое время они идут точно, чтобы подстроить ход еще точней

После любой записи в регистры асинхронного таймера нужно дождаться установки соответствующего этому регистру флага прерывания, обработать его или сбросить, и только потом валиться в спячку
niXto вне форума  
Непрочитано 31.12.2011, 13:11  
Dimitrij
Временная регистрация
 
Регистрация: 26.02.2005
Сообщений: 78
Сказал спасибо: 15
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
Dimitrij на пути к лучшему
По умолчанию Re: Помогите настроить таймер в Atmega

Может я пошел не по тому пути. Где-то в инете вычитал, что суточный уход времени с кварцем ±2сек в сутки. Поэтому, я так думаю, нужно набрать статистику хотя бы за месяц, а потом что-то решать. Ручная коррекция в программе предусмотрена, а по поводу асинхронного таймера заморочки, опять же в инете многие с этим сталкиваются.
Всем большое спасибо, с наступающим Новым Годом!
Dimitrij вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите настроить АЦП в Atmega32 sergx1300 Микроконтроллеры, АЦП, память и т.д 72 09.11.2010 00:28
ATmega 128 . Пытаюсь запустить таймер Т2... home2010 Микроконтроллеры, АЦП, память и т.д 7 31.03.2010 07:47
Помогите настроить програматор для PIC16F84A Slava-martyn Микроконтроллеры, АЦП, память и т.д 10 08.02.2009 17:16
Помогите настроить HI-TECH PICC18 maxNTF Микроконтроллеры, АЦП, память и т.д 9 16.06.2008 14:26
Помогите настроить WinPic800 maxNTF Микроконтроллеры, АЦП, память и т.д 8 12.03.2008 20:36


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


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