Ну и почему????ILYAUL писал(а):А вы попробуйте найти ответ ,, почему
ATTINY2313 и кварц 32768Гц
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
- Реклама
- Сообщения: 599
- Зарегистрирован: Ср янв 06, 2010 10:01:46
Не вкурил, зачем тиньке 32768 кварц? В чем тайный смысл сего желания? Асинхронного режима в тиньке нету, ставьте мегу, и юзайте таймер 2.
А к тиньке ставьте какой есть, главное, чтобы предделителем и регистрами таймера можно было получить доли секунды без остатка.
Насчет зависимости точности часов (а переделал я их не меньше десятка всяких) от кварца: не угадаешь. И с 4 МГц кварцем могут на десяток секунд в месяц убегать / отставать, а могут и с 32768 кварцем на 30-40 сек. в месяц. Кроме того, никто не запрещает добавить несколько строк в код, чтобы сделать коррекцию точности, т.к. стабильность многих кварцев, КМК, гораздо выше его точности.
А к тиньке ставьте какой есть, главное, чтобы предделителем и регистрами таймера можно было получить доли секунды без остатка.
Насчет зависимости точности часов (а переделал я их не меньше десятка всяких) от кварца: не угадаешь. И с 4 МГц кварцем могут на десяток секунд в месяц убегать / отставать, а могут и с 32768 кварцем на 30-40 сек. в месяц. Кроме того, никто не запрещает добавить несколько строк в код, чтобы сделать коррекцию точности, т.к. стабильность многих кварцев, КМК, гораздо выше его точности.
Да самое обычное желание: 1. Сделать часы, с минимальными затратами кода))))). 2. Вообще интересно, можно-ли повесить на ТИНЬКУ часовой кварц!metan писал(а):Не вкурил, зачем тиньке 32768 кварц? В чем тайный смысл сего желания?
Я ответил на Ваш вопрос????
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Потому что он там есть. Вот поэтому 2313 он вообще не нужен.Dr. Alex писал(а):Ну и почему????ILYAUL писал(а):А вы попробуйте найти ответ ,, почему
Да , не читаем мы мат часть , не читаем и мыслить разучились
Безкварца работает внутренний RC генератор, а у него точность желает оставлять лучшего!!!!!
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
- Реклама
- Сообщения: 599
- Зарегистрирован: Ср янв 06, 2010 10:01:46
От номинала кварца, поключенного к тиньке, это не зависитDr. Alex писал(а):1. Сделать часы, с минимальными затратами кода)))))
Согласно даташиту (стр.23), вроде как нет. Но заработать может, сильно медленно толькоDr. Alex писал(а):2. Вообще интересно, можно-ли повесить на ТИНЬКУ часовой кварц!
Я Вам ответил что можете повесить и внешний , но только что внутренний , что внешний для работы ( Вашего кода - часов ) не нужен. А насчёт коррекции Вам уже выше написали , что она всё равно нужна.Dr. Alex писал(а):Безкварца работает внутренний RC генератор, а у него точность желает оставлять лучшего!!!!!
Но если добавить 1микросхем по варианту 1. то и коррекция не нужна.
Как это НЕ НУЖНА??????? А как, по-вашему, мне отсчитывать определённые (строго определённые) интервалы времени????ILYAUL писал(а):Я Вам ответил что можете повесить и внешний , но только что внутренний , что внешний для работы ( Вашего кода - часов ) не нужен.
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Вы хотите сказать что контроллер будет работать вообще без тактирования? Интересно на какой же частоте.Я Вам ответил что можете повесить и внешний , но только что внутренний , что внешний для работы ( Вашего кода - часов ) не нужен.
По вопросу. Поставьте любой кварц, я считал время на 16 МГц (устройство не столько часы, сколько таймер).
Т.е читать мы не захотели.
Watchdog Timer Prescale Select
Я написал , что тактировать можно чем угодно. Только эта тактовая для часов не нужна.Вы хотите сказать что контроллер будет работать вообще без тактирования?
WatchdogКак это НЕ НУЖНА??????? А как, по-вашему, мне отсчитывать определённые (строго определённые) интервалы времени????
Watchdog Timer Prescale Select
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
У tn2313 нет асинхронного таймера для часов, поэтому точность хода будет определяться только тактированием самого контроллера.
Точности RC-генератора, в том числе и "собаки" для часов недостаточно.
Точности RC-генератора, в том числе и "собаки" для часов недостаточно.
Вы пробовали?
К томуже я писал о двух вариантах и в одном из них коррекция не нужна
К томуже я писал о двух вариантах и в одном из них коррекция не нужна
Хм..... Как это не нужна коррекция????? Вы придумали супер-точные часы??????ILYAUL писал(а):... в одном из них коррекция не нужна
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
О чем разговор вообще? По-моему уже разобрались, что
1) У тини нет асинхронного режима таймера (Asynchronous Operation of the Timer/Counter 2), когда можно подключить часовой кварц к внешним входам TOSC0...1 и тактировать им внутренний таймер.
2) Микроконтроллеры AVR не могут работать в полностью статичном режиме (Fully Static Operation) - от 0 Гц, как, например, at89c51. И частоты в 32768 Гц для их корректной работы может не хватить. В даташите указана минимальная рабочая частота в 0.4 МГц - значит, на такой частоте вероятность появления глюков невелика. Неизвестно как МК будет вести себя с тактированием от часового кварца.
3) Часовые кварцы на 32768 гораздо более точны (конструктивно), чем высокочастотные на 1, 4, 12 МГц. И уж тем более они точнее чем RC-цепочки. Потому что их так делают.
и вытекающее из всего этого
4) Если делать часы на 2313, то нужен внешний генератор, работающий на основе часового кварца.
1) У тини нет асинхронного режима таймера (Asynchronous Operation of the Timer/Counter 2), когда можно подключить часовой кварц к внешним входам TOSC0...1 и тактировать им внутренний таймер.
2) Микроконтроллеры AVR не могут работать в полностью статичном режиме (Fully Static Operation) - от 0 Гц, как, например, at89c51. И частоты в 32768 Гц для их корректной работы может не хватить. В даташите указана минимальная рабочая частота в 0.4 МГц - значит, на такой частоте вероятность появления глюков невелика. Неизвестно как МК будет вести себя с тактированием от часового кварца.
3) Часовые кварцы на 32768 гораздо более точны (конструктивно), чем высокочастотные на 1, 4, 12 МГц. И уж тем более они точнее чем RC-цепочки. Потому что их так делают.
и вытекающее из всего этого
4) Если делать часы на 2313, то нужен внешний генератор, работающий на основе часового кварца.
only pure true norwegian blackx 
Золотые слова

Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Ну котятки и намутили...
Если говорить о точности, то опорная частота при работе от генератора с внешним кварцем гораздо точнее при более высокочастотном кварце. Кроме того требуется "кратный" специфическим режимам МК кварц и наличие хотя-бы одного таймера, имеющего режим автоперезагрузки. О специфике PIC (генератор TMR1) разговор особый.
Чего касательно:
" 1) У тини нет асинхронного режима таймера (Asynchronous Operation of the Timer/Counter..." - асинхронный режим для счета внешних импульсов имеется, а вот встроенного аппаратного генератора у ATtiny2313 нету (при том, что асинхронный внешний счет есть у всех!). Но это не значит, что такого нету у всех АВРок - взять хотя-бы ту же ATmega162:
"Timer/Counter
Oscillator
For AVR microcontrollers with Timer/Counter Oscillator pins (TOSC1 and TOSC2), the crystal is
connected directly between the pins. The Oscillator provides internal capacitors on TOSC1 and
TOSC2, thereby removing the need for external capacitors. The internal capacitors have a nom-
inal value of 10 pF. The Oscillator is optimized for use with a 32.768 kHz watch crystal. Applying
an external clock source to TOSC1 is not recommended."
" 2) Микроконтроллеры AVR не могут работать в полностью статичном режиме (Fully Static Operation) - от 0 Гц" - чегоо???
Теперь о "прикладушках":
типовое решение под mcs51 - кварц 12МГц, Т/С0 в режиме таймера с автоперезагрузкой (наивысший приоритет, всегда разрешено) при к=255-250+1 программно генерирует опорный сигнал на выводе Т1... далее по собственному усмотрению.
возможное решение для ATtiny2313 - таймер 1 в режиме CTC прерывание по OCF1A (наивысший приоритет, всегда разрешено) коэффициент деления составной из того, что определен предделителем и того, что в OCR1AH:OCR1AL...
далее по собственному усмотрению.
Точность хода при тактировании от основного генератора МК напрямую зависит от выбранного алгоритма обработки тактового сигнала. Причем значительно больше, чем от разброса параметров (погрешности) кварцевого резонатора!
В данном случае простой предделитель с генератором 32768 (а-ля пик или rtc) может показаться гораздо более точным, если некорректно сделана программа ядра генератора тайм-меток.

Если говорить о точности, то опорная частота при работе от генератора с внешним кварцем гораздо точнее при более высокочастотном кварце. Кроме того требуется "кратный" специфическим режимам МК кварц и наличие хотя-бы одного таймера, имеющего режим автоперезагрузки. О специфике PIC (генератор TMR1) разговор особый.
Чего касательно:
" 1) У тини нет асинхронного режима таймера (Asynchronous Operation of the Timer/Counter..." - асинхронный режим для счета внешних импульсов имеется, а вот встроенного аппаратного генератора у ATtiny2313 нету (при том, что асинхронный внешний счет есть у всех!). Но это не значит, что такого нету у всех АВРок - взять хотя-бы ту же ATmega162:
"Timer/Counter
Oscillator
For AVR microcontrollers with Timer/Counter Oscillator pins (TOSC1 and TOSC2), the crystal is
connected directly between the pins. The Oscillator provides internal capacitors on TOSC1 and
TOSC2, thereby removing the need for external capacitors. The internal capacitors have a nom-
inal value of 10 pF. The Oscillator is optimized for use with a 32.768 kHz watch crystal. Applying
an external clock source to TOSC1 is not recommended."
" 2) Микроконтроллеры AVR не могут работать в полностью статичном режиме (Fully Static Operation) - от 0 Гц" - чегоо???
типовое решение под mcs51 - кварц 12МГц, Т/С0 в режиме таймера с автоперезагрузкой (наивысший приоритет, всегда разрешено) при к=255-250+1 программно генерирует опорный сигнал на выводе Т1... далее по собственному усмотрению.
возможное решение для ATtiny2313 - таймер 1 в режиме CTC прерывание по OCF1A (наивысший приоритет, всегда разрешено) коэффициент деления составной из того, что определен предделителем и того, что в OCR1AH:OCR1AL...
далее по собственному усмотрению.
Точность хода при тактировании от основного генератора МК напрямую зависит от выбранного алгоритма обработки тактового сигнала. Причем значительно больше, чем от разброса параметров (погрешности) кварцевого резонатора!
В данном случае простой предделитель с генератором 32768 (а-ля пик или rtc) может показаться гораздо более точным, если некорректно сделана программа ядра генератора тайм-меток.
Видать мануал курили не внимательно.blackx писал(а):2) Микроконтроллеры AVR не могут работать в полностью статичном режиме (Fully Static Operation) - от 0 Гц, как, например, at89c51. И частоты в 32768 Гц для их корректной работы может не хватить. В даташите указана минимальная рабочая частота в 0.4 МГц - значит, на такой частоте вероятность появления глюков невелика. Неизвестно как МК будет вести себя с тактированием от часового кварца.
Во-первых, про 0.4 МГц. Это относиться к керамическим резонаторам с тем генератором, который стоит в тиньке. (ATtiny2313, "Table 4. Crystal Oscillator Operating Modes". Сноска 2, под таблицей.) Нижняя граница для кварцевых резонаторов у тиньки, судя по той же таблице, будет 0.9 МГц.
Во-вторых, про 0.4 МГц. У 2313 есть встроенный RC-осциллятор на 128кГц.
В третьих.
Открываем спецификацию на ATtiny2313 прям на самой первой странице.
Шестая строка: "Fully Static Operation". (BOB51 маленько опередил
Там же: "Speed Grades" указаны от 0 МГц.
Далее "Table 80. External Clock Drive" - минимум указан как 0 МГц.
Но и это ещё не всё. К уже упомянутой таблице таблице 4 есть сноска 1 относящаяся, в том числе, к колонке с диапазонами частот: "The frequency ranges are preliminary values. Actual values are TBD." - "Для диапазонов частот указаны предварительные значения. Реальные величины предстоит определить". Соответственно, можно и попробовать часовой кварц напрямую с тинькой.
И уж точно ничего не мешает сделать внешний генератор на часовом кварце и подать такт на тиньку как внешний.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Не-а...
На часовом 32768 в таком случае оогроомадная погрешность полезет!
Дело в том, что МК не аппаратные часики - все процессы кроме прочего определяются прерываниями, а скорость реакции на прерывание... зависит в том числе и от тактовой.
Сравнить 0,000000125 секунды на команду при 8МГц без предделителя и 0,000030517578125 секунды при 32768 для вызова/обработки прерывания по таймеру.
+\- 0,000000125 или +\- 0,000030517578125
и погрешность накапливается с каждым тактом.
На часовом 32768 в таком случае оогроомадная погрешность полезет!
Дело в том, что МК не аппаратные часики - все процессы кроме прочего определяются прерываниями, а скорость реакции на прерывание... зависит в том числе и от тактовой.
Сравнить 0,000000125 секунды на команду при 8МГц без предделителя и 0,000030517578125 секунды при 32768 для вызова/обработки прерывания по таймеру.
+\- 0,000000125 или +\- 0,000030517578125
и погрешность накапливается с каждым тактом.
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Да не важно какая там скорость реакции, ну будет он реагировать даже на 1мс позже, эта ошибка ведь не накапливается, таймер-то аппаратный. А на такую ошибку саму по себе плевать, учитывая что при установке часов точность выше 1с получить сложно, человеческий фактор.
А неточность таймера можно компенсировать в широких пределах. Например, кварц 32768, тогда для счета секунд нужен предделитель 16384 (не забываем, про аппаратный делитель на 2 в таймерах, его отключить нельзя). Соответственно, точность подстройки 1/16384. Далее, подстраивать можно программно каждые N секунд и добиться любой точности. Правда, будет дергаться разряд, но это какой же точности надо добиваться!
А неточность таймера можно компенсировать в широких пределах. Например, кварц 32768, тогда для счета секунд нужен предделитель 16384 (не забываем, про аппаратный делитель на 2 в таймерах, его отключить нельзя). Соответственно, точность подстройки 1/16384. Далее, подстраивать можно программно каждые N секунд и добиться любой точности. Правда, будет дергаться разряд, но это какой же точности надо добиваться!
За 4года ушли на 2 секDr. Alex писал(а):Хм..... Как это не нужна коррекция????? Вы придумали супер-точные часы??????ILYAUL писал(а):... в одном из них коррекция не нужна


