Перейти к содержанию
    

Если по ошибке фьюзы выставлены на НЧ кварцевый резонатор - что делать.

Что-то я встрял на ровном месте.

Проц Mega8A, задумано внешнее тактирование  с частотой 1.8432 МГц. Сделан стандартный генератор на инверторе 74hc04, с него через буфер подается на XTAL1 - 7 ногу корпуса TQFP32. Тестовая программа настраивает порты, выдает в них сигналы и циклится while(1) {}. Пока фьюзы дефолтные (тактирование от внутреннего RC), все нормально. Как только пишу фьюзы для внешнего тактирования LF=E0 HF=D9, то начинается какая-то хрень, на портах беспорядочно выдаются уровни. Камень перестает отвечать на программатор, но не всегда - при настойчивости где-то на 3-5 раз удается вернуть фьюзы обратно, и он снова нормально работает, пишется, читается. Если в глючном состоянии в процессе обращения программатора замыкаю ноги XTAL1 и XTAL2, то прошивка фьюзов происходит сразу успешно. Ради эксперимента на внешний генератор я поставил кварц на 3.6864 МГц, картина та же. Камень менял, ничего не изменилось. В чем может быть проблема?

 

Решение поставить кварц на проц у меня как крайний вариант, т.к. страшный дефицит портов и нога XTAL2 используется как порт на вывод, ни одной лишней ноги нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблему нащупал, но пока не решил. Видимо, всё дело в форме тактового импульса. У меня дорожка к 7 ноге идет с другого угла платы на расстояние 6-7 см и не оформлена как длинная линия - просто подведена к ноге. Проблема пропадает, когда я касаюсь пинцетом до 7 ноги. Попробовал прикинуть к ней демпфирующую RC цепь, попробовал номиналы 470ом+100пф, 150ом+100пф, один конденсатор 100 пф - изменения явные, но стабильной работы пока не добился.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, iev91 сказал:

Решение поставить кварц на проц у меня как крайний вариант, т.к. страшный дефицит портов и нога XTAL2 используется как порт на вывод, ни одной лишней ноги нет.

для низкочастотки "страшный дефицит" решается gpio расширителем, на i2c или spi

вероятно у вас нарушение фронтов, см. таблицу в аттаче - лучше бы глянуть осциллом

как вариант проверки - откусить длинную линию и временно прицепить узел с генератором рядом с atmega

второй вариант проверки - откусить длинную линию и в разрыв поставить буфер/инвертор из логики или подняв частоту в два раза проходной триггер в позе делителя на 2

про питание (его стабильность) и конденсаторы в цепях питания atmega не спрашиваю, наверно тут норм..

atmega-clk.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодарю, у меня всё выдерживается, период 550 или 275 нс, меандр, осцил показывает красиво, уровни правильные, фронты примерно по 10 нс, частота стоит ровно 6 знаков, не колышется. Но сам щуп немного звенит на 20-25 МГц, наблюдаемый выброс 0.5-0.7в. Но естественно, выбросов в 1-2 нс я не могу наблюдать.

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

PS. Правда, сейчас у меня нет сплошного земляного полигона под процом.

Изменено пользователем iev91

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблему решил один последовательный резистор 330 Ом сразу после буфера генератора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...