Я пытаюсь настроить V-USB на моем ATmega8-16PU ( техническое описание ), и мне может понадобиться помощь в подключении к нему внешнего источника кварцевых часов. Я попытался понять техническое описание в меру своих возможностей и сделал несколько выводов, которые я был бы признателен, если бы кто-то мог их проверить и подвергнуть критике. Для справки, я буду использовать кварц 16 МГц или 20 МГц, и мне также нужна помощь в выборе.
Вот мой план на данный момент, основанный на моем понимании:
Итак, я сделал эти заметки и не знаю, куда идти дальше. Например:
Спасибо всем. Извините за все эти вопросы, я очень новичок во всем этом, но полон решимости учиться.
CKSEL обычно означает выбор часов. Есть несколько вариантов, которые можно выбрать с помощью внутреннего мультиплексора: некоторые для тестирования, другие для альтернативных источников.
Поскольку вы используете xtal, вы можете предоставить код для выбора этой опции: которые находятся в первых 2-х строках стр. 26. Вы можете использовать 3 нижние строки таблицы 4 для кристалла. Каждый из них настроен на определенный диапазон частот, как показано на рисунке. Если ваш эталонный кварц рассчитан на колебание около 4 МГц, вы должны установить биты выбора на код, например, 111. 16Mhz работает только с CKOPT low при использовании любого из трех кодов выбора, показанных в строке 4 таблицы.
Внешние конденсаторы должны быть 12-22 пФ, а не 22 мкФ для xtal в соответствии с той же таблицей. Он также указывает только максимальный предел частоты генератора 16 МГц, поэтому я бы не стал использовать xtal с частотой 20 МГц.
Мне кажется, что функция сторожевого таймера является внутренней.
*обратите внимание, что xtal и кристалл здесь используются как синонимы.
кепком
погладить
погладить
кепком
avrdude -c usbasp -p m8 -U lfuse:w:0b11111111:m -U hfuse:w:0b11001001:m
... может пригодиться будущим читателям этого вопроса. Чтобы было понятно, эта команда использовалась для настройки внешнего кристалла 16 МГц на моем ATMega8 с помощью программатора USBasp.