iev91 0 20 декабря, 2019 Опубликовано 20 декабря, 2019 · Жалоба Что-то я встрял на ровном месте. Проц Mega8A, задумано внешнее тактирование с частотой 1.8432 МГц. Сделан стандартный генератор на инверторе 74hc04, с него через буфер подается на XTAL1 - 7 ногу корпуса TQFP32. Тестовая программа настраивает порты, выдает в них сигналы и циклится while(1) {}. Пока фьюзы дефолтные (тактирование от внутреннего RC), все нормально. Как только пишу фьюзы для внешнего тактирования LF=E0 HF=D9, то начинается какая-то хрень, на портах беспорядочно выдаются уровни. Камень перестает отвечать на программатор, но не всегда - при настойчивости где-то на 3-5 раз удается вернуть фьюзы обратно, и он снова нормально работает, пишется, читается. Если в глючном состоянии в процессе обращения программатора замыкаю ноги XTAL1 и XTAL2, то прошивка фьюзов происходит сразу успешно. Ради эксперимента на внешний генератор я поставил кварц на 3.6864 МГц, картина та же. Камень менял, ничего не изменилось. В чем может быть проблема? Решение поставить кварц на проц у меня как крайний вариант, т.к. страшный дефицит портов и нога XTAL2 используется как порт на вывод, ни одной лишней ноги нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iev91 0 21 декабря, 2019 Опубликовано 21 декабря, 2019 · Жалоба Проблему нащупал, но пока не решил. Видимо, всё дело в форме тактового импульса. У меня дорожка к 7 ноге идет с другого угла платы на расстояние 6-7 см и не оформлена как длинная линия - просто подведена к ноге. Проблема пропадает, когда я касаюсь пинцетом до 7 ноги. Попробовал прикинуть к ней демпфирующую RC цепь, попробовал номиналы 470ом+100пф, 150ом+100пф, один конденсатор 100 пф - изменения явные, но стабильной работы пока не добился. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 21 декабря, 2019 Опубликовано 21 декабря, 2019 · Жалоба 12 часов назад, iev91 сказал: Решение поставить кварц на проц у меня как крайний вариант, т.к. страшный дефицит портов и нога XTAL2 используется как порт на вывод, ни одной лишней ноги нет. для низкочастотки "страшный дефицит" решается gpio расширителем, на i2c или spi вероятно у вас нарушение фронтов, см. таблицу в аттаче - лучше бы глянуть осциллом как вариант проверки - откусить длинную линию и временно прицепить узел с генератором рядом с atmega второй вариант проверки - откусить длинную линию и в разрыв поставить буфер/инвертор из логики или подняв частоту в два раза проходной триггер в позе делителя на 2 про питание (его стабильность) и конденсаторы в цепях питания atmega не спрашиваю, наверно тут норм.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iev91 0 21 декабря, 2019 Опубликовано 21 декабря, 2019 (изменено) · Жалоба Благодарю, у меня всё выдерживается, период 550 или 275 нс, меандр, осцил показывает красиво, уровни правильные, фронты примерно по 10 нс, частота стоит ровно 6 знаков, не колышется. Но сам щуп немного звенит на 20-25 МГц, наблюдаемый выброс 0.5-0.7в. Но естественно, выбросов в 1-2 нс я не могу наблюдать. Самое смешное, что у меня уже были проекты с внешним тактированием, работали нормально, и я не думал, что с этим могут возникнуть сложности. PS. Правда, сейчас у меня нет сплошного земляного полигона под процом. Изменено 21 декабря, 2019 пользователем iev91 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iev91 0 21 декабря, 2019 Опубликовано 21 декабря, 2019 · Жалоба Проблему решил один последовательный резистор 330 Ом сразу после буфера генератора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться