Страница 1 из 1

ATMega 128. Вылезла проблема с Timer0 в асинхронном режиме.

Добавлено: Ср янв 06, 2010 16:40:24
AlexVM
Доброго времени суток!

Собрал RTC на Timer0 с кварцем 32768. Вывожу на Nokia 3310. Программа простейшая из апноута. Запитываю от 3,3 В (стабилизированный блок питания). Все прекрасно, все работает. Оставил проверить точность хода, проработало устройство 6 часов и встало. Больше 128 не захотелась запускаться.
Выяснилось, что ести отключить прерывание по Т0, то устройство запускается и работает (в остальной части, без таймера). А с таймером не заводится. Если прикоснуться пинцетом к выводу reset (кстати, подключен в схеме через 5 кОм на + питание и через 0,1 мФ на - питания), то контроллер стартует, но таймер один черт не запускается.
Что могло случиться? Уж не накрылся ли Т0?

Спасибо!

Добавлено: Ср янв 06, 2010 16:46:43
minime
По старту наверно надо фьюзы подкорректировать.

Добавлено: Ср янв 06, 2010 17:35:10
AlexVM
minime писал(а):По старту наверно надо фьюзы подкорректировать.


Прошу прощения, не сообщил, что фьюзы остались в прежнем состоянии. С этой стороны все нормально.

Добавлено: Ср янв 06, 2010 17:57:19
minime
Если "с завода" то она у вас как мега103 щас

Добавлено: Ср янв 06, 2010 18:33:16
AlexVM
minime писал(а):Если "с завода" то она у вас как мега103 щас


Ну почему "с завода"?
М103С отключен, JTAG отключен, внутренний генератор 8 МГц.

Добавлено: Чт янв 07, 2010 14:36:13
Ivanchik
я так понял 32768 это внешний генератор на таймер заведен?
код посмотреть бы, может просто переполнение стека.

Добавлено: Чт янв 07, 2010 22:06:39
AlexVM
Ivanchik писал(а):я так понял 32768 это внешний генератор на таймер заведен?
код посмотреть бы, может просто переполнение стека.


К выводам TOSC1, TOSC2 подключен резонатор на 32768.
Так вот дело в том, что после выключения-включения он не заводится, т.е. вообще 128 мега на стартует. Прерывание по Т0 запрещаю - и все запускается. А до этого прекрасно работал таймер.

Добавлено: Чт янв 07, 2010 22:49:38
DrWatson
Подобные чудеса могут иметь место, если блокировочные конденсаторы забыли поставить. Ещё можно попробовать корпус кварца на "минус" посадить.

Добавлено: Пт янв 08, 2010 21:53:07
AlexVM
DrWatson писал(а):Подобные чудеса могут иметь место, если блокировочные конденсаторы забыли поставить. Ещё можно попробовать корпус кварца на "минус" посадить.


Блокировочных конденсатора вокруг корпуса 3 шт по 0,1мф.
Это, видимо, что-то с самим контроллером случилось.

Добавлено: Пт янв 08, 2010 22:23:09
Neekeetos
AlexVM писал(а):
Ivanchik писал(а):я так понял 32768 это внешний генератор на таймер заведен?
код посмотреть бы, может просто переполнение стека.


К выводам TOSC1, TOSC2 подключен резонатор на 32768.
Так вот дело в том, что после выключения-включения он не заводится, т.е. вообще 128 мега на стартует. Прерывание по Т0 запрещаю - и все запускается. А до этого прекрасно работал таймер.

Сама мега не использует эти такты для работы, только таймер. Так что то что оно не заводится связано либо с кривой программой либо основной генератор не работает по какой то причине.

Добавлено: Сб янв 09, 2010 00:19:41
KT315B
Надо сначала проверить, есть генерация 32768 МГц - просто можно осциллографом ткнуть в ногу кварца, хотя и от емкость щупа осциллографа генерация может начаться, а потом прерваться - такое тоже бывает. Конденсаторы на кварц 32Кгц поставлены? Емкость?