STK500: создание программатора своими руками, принцип его работы
Чтобы микроконтроллеры типа AVR работали без ошибок, приходится им регулярно обновлять прошивку. Делается это программаторами, которые имеют разъём и вывод на ПК. В разъём подключают микросхему и чип, выступающие в качестве преобразователя сигнала, подающегося с компьютера. Такие устройства можно купить на барахолках или в специализированных магазинах. Но если есть необходимые детали и навыки, простой программатор STK500 можно собрать своими руками.
Содержание
Основные параметры AVR
Обладая широким модельным рядом, продукция компании ATMEL способна послужить многим целям, особенно если правильно подобрать технические свойства будущего контроллера. Для прошивки любого чипа важно, чтобы программатор был способен корректно считать его содержимое перед заливкой нового firmware, а значит, они должны быть полностью совместимы. Типовые микросхемы семейства имеют такие параметры:
- объём флеш-памяти — от 4 до 32 килобайт;
- оперативная память — от 512 байт до 2 килобайт;
- размер прошивки в модуле EEPROM — от 256 до 1024 байт;
- напряжение питания — от 1,8 до 5,5 вольт.
Кроме того, на рынке представлены разные варианты корпусов микросхем, которые отличаются способом посадки, количеством ножек и геометрической формой.
Любая микросхема может быть впаяна на плату двумя разными способами:
- сквозным, когда ножки запаиваются с обратной стороны;
- планарным — с ножками-выводами, находящимися на той же площадке, что и корпус.
Количество и назначение ножек у микросхемы обусловлено её назначением. Крайне важно на подготовленной к её монтажу плате расположить все дорожки правильно и в соответствии со схемой, так как неправильное заземление или выход на питание могут вывести из строя всю конструкцию после первого же включения. Геометрическая форма — самый последний фактор в выборе детали, он подбирается уже тогда, когда дорожки разведены, вытравлены и готовы к монтажу.
Условия, в которых может работать такая микросхема, довольно разнообразны, что идёт на пользу её многозадачности. Температуры, при которых она гарантированно будет функционировать, лежат в промежутке от 55 градусов мороза до 125 тепла. Хранить же её можно при более широком диапазоне. Кристалл микросхемы термоустойчив, поэтому в правильно собранной плате не будет перегреваться выше паспортных данных.
Сборка программатора для микросхем
Для STK500 схема довольно проста и не включает в себя сложно монтируемых деталей. Операция сборки проводится в несколько этапов. Для проведения каждого из них нужны рабочие инструменты и различные детали.
Собирать можно по готовой схеме, но при наличии специальных знаний допускается абсолютно свободная модификация любой конфигурации. Например, если любителя не устраивает предложенный разъём для соединения с ПК, его позволяется заменить на аналогичный с подобными выводами. Вариантов может быть несколько:
По мере распространения USB Type-C появились и такие разъёмы, но использовать их нужно на свой страх и риск.
Главное преимущество таких устройств заключается в отсутствии необходимости угадывать правильное положение подключаемого штекера — он вставляется независимо от этого благодаря симметричности.
Чтобы собрать программатор STK500 своими руками, понадобятся:
Все элементы припаиваются бессвинцовым припоем, чтобы выдерживать разные условия работы. Он не трескается и не образует канавок, которые после нескольких лет эксплуатации могут приводить к внезапным “глюкам” или неполадкам, необъяснимым с технической стороны. Кроме того, бессвинец обладает повышенной стойкостью к окислению, а значит, способен обеспечивать проводимость гораздо дольше.
Микросхемы устанавливаются согласно ключу, но если у платы отсутствуют обозначения того, какой ножке он должен отвечать, лучше прозвонить их и выявить те, что отвечают за заземление. У ATMEL mega8 таких ножек на одной из сторон целых 5, что поможет в ориентации.
CP2102 в некоторых корпусах представляет собой планарную микросхему, поставить которую сможет далеко не каждый. Сначала нужно отреболлить её, так как в качестве контактов используются простые свинцовые точки, и только потом устанавливать, прогревая феном всю площадь.
Выбор кварца и разъёма отладки
Важным в любом программаторе является тот интерфейс, которым он будет общаться с прошиваемым устройством. Как показывает опыт, оптимальным в этом случае будет разъём ISP на 10 или 6 пин. Он недорог, универсален и хорошо документирован.
Пользователю не придётся долго искать распиновку, что упрощает его обслуживание.
Существует несколько типов шлейфов, которые служат переходниками между устройствами. Кроме того, есть целые платы, которые подключаются в различные ISP, обеспечивающие хорошую модульность. На них распаиваются различные порты, которые используются для подключения Ethernet-кабелей, чтобы впоследствии прошивать по сети JTAG-разъёмы или другие функциональные устройства. Есть и MOLEX-переходники, способные подавать дополнительное питание для самообслуживания (12 вольт).
Кварц нужно подбирать строго по частоте главного микроконтроллера. Этот показатель посмотреть можно в даташите. Если он там отсутствует, тогда его можно измерить осциллографом. Для этого придётся подать на микросхему рабочее питание и зафиксировать щупы — один возле выводов, другой — на любой ножке, отвечающей за «землю». Стандартная выходная частота должна быть близка 1 МГц. Это самый распространённый вариант, к которому проще всего будет подобрать кварц.
Установка программного обеспечения
После окончания процесса запайки деталей пора приступать к первичной инициализации устройства. Для этого стоит вставить его в компьютер и подождать определения операционной системой. Через некоторое время появится сообщение о том, что обнаружено новое устройство. В зависимости от того, определилось ли оно сразу, есть два варианта действий:
- начало работы, если да;
- поиск с установкой драйвера, если нет.
Чтобы найти программное обеспечение для этого программатора, достаточно ввести в поисковой системе его название и воспользоваться имеющимися вариантами от пользователей. Порядок установки таков:
После этого, возможно, понадобится перезагрузка. Если при повторном запуске ОС в диспетчере устройств всё ещё находится неизвестное устройство, а не полностью определённый программатор, тогда следует выполнить несколько дополнительных шагов. Сначала нужно отключить цифровую проверку драйверов:
Чтобы это сделать, нужно на неопределившемся программаторе щёлкнуть правой кнопкой мыши и выбрать «Обновить драйвер». Потом следует нажать «Выполнить поиск на этом компьютере», указать через «Проводник» папку с драйвером и нажать «Далее». После этого необходимо дождаться окончания установки.
Утилиты для прошивальщика
Без специализированного ПО прошить микросхемы этим устройством не удастся, а потому рекомендуется использовать одну из нескольких утилит, популярных в среде энтузиастов. Одна из них — AVR Studio (её современным аналогом является Atmel Studio).
Для неё в автоматическом режиме подтягивается плагин для взаимодействия с STK500, поэтому никаких дополнительных действий по инициализации не требуется.
Возможности программы:
В ранних версиях программы присутствовал ассемблер, который предлагал возможность побайтового анализа исходного кода, но разработчики посчитали, что он лишний, поскольку утяжелял и так постоянно растущий в объёме пакет. При необходимости его можно достать из более старых версий.
Другая полезная утилита — ChipBlasterAVR Chip Programmer. Она очень разносторонняя, поддерживает множество типов контроллеров и гибкую настройку параметров процесса прошивки. Может назначать пакетную заливку ПО на несколько чипов по очереди без необходимости каждый раз настраивать весь процесс сначала. Выбирается и частота кварца, которую можно выставить как точно, так и в пределах двух значений.