1) Тактовый генератор срисован со схемы агата, кажись семёрки. Там основным усилитем сигнала с кварца стоит 531ла3. Для всякой генерации нужен аналоговый режим, которым, собственно, и отличаются серии. Через это её замена на какие-то другие логические серии без некоторых танцев с бубнами практически не возможна. Прямой аналог серии (ну или, во всяком случае, работающий) - 74f - с ней у меня один из агатов нормально запустился (531я часто дохнет, было интересно, долго ли проживёт 74f. Пока живёт). В основном, если нужно завести в режим генерации микру другой серии (но то же XXXла3), надо начать с подбора резисторов, особенно первого по схеме.
2) Я так нутром чую, что на этом многие могут споткнутся, из тех, кто попробует повторить наши линки:
ATmega имеет 4 (четыре) различных вида памяти:
- EEPROM - память программ
- FLASH - память данных
- LOCK bits - настройки блокировок от тыренья программы из памяти кристалла
- FUSE bits - всякие настройки работы кристалла, которые сильно важны ещё даже до запуска какого нибудь кода
Как это физически реализовано - я не в курсе, доки молчат, но суть в том, что с программной точки зрения это - разные регионы энергонезависимой памяти со своей адресацией.
В силу того, что адресация у них своя, ни в BIN, ни в HEX-формат никак не можно засунуть сразу всё, что нужно для программирования одного кристалла. Куда писать байт по смещению 0 ? или 1 ? К тому же EEPROM как бы считается 16битной, а FLASH - 8 битной.
По какой-то странной причине почти все любительские проекты на ATmega'ах по этой причине снабжаются СКРИНШОТАМИ, по которым следует расставить галки (биты) в Fuse-памяти. (Lock обычно настраивается по своему вкусу сборщика или вообще не трогается, Flash предполагается инициализируемой самим программным кодом, а единственный hex- или bin- относится к (прошивается в) EEPROM).
Мне скриншты ставить/делать/смотреть не прикольно, я сам делал программаторы для используемых процев и софт для них и для себя ввёл простой формат для фьюзов: обычный текстовый файл в формате <имя фьюза>TAB<значение>#<комментарий>
Файл обычно имеет расширение "F_L", что означает Fuse & Lock.
Поскольку вы этот файл никуда в свой программатор не всунете, то, во всяком случае, откройте его хоть в ворде и расставьте галки соответственно именам фьюзов, иначе нифига не взлетит. Если сомневаетесь, соответствует ли галке 1 или 0 - посмотрите, много ли нужно изменений сделать от дефолтовой расстановки, который предлагает программатор - скорее всего правильным будет вариант с минимальными различиями. (Пикантность ситуации в том, что ATMEL называет фьюз со значением 1 - unprogrammed, а 0 - programmed. Мозг ломается на раз.)
Обратите внимание также на то, что я не особенно люблю serial-программинг (просто каприз), поэтому фьюзы расставляются так, чтобы заблокировать этот режим. Соответственно, если шьете мегу последовательным программатором (который подключается к ней только по 3-5 ножкам), то могут быть проблемы.
Flash память в наших мостах не используется, можете в неё прошить какую нибудь чушь или вообще не трогать.