Гайд по сборке простого USB-программатора на микроконтроллере
Решил набросать быстрый мануал для тех, кто хочет собрать свой первый программатор для прошивки чипов AVR. Это база, которая спасет кучу времени, когда готового программатора под рукой нет, а плату запустить нужно прямо сейчас
- Выбор схемы. Делаем классический USBasp. Схема простая до безобразия: микроконтроллер ATmega8, пара стабилитронов на 3.6V для согласования уровней USB, кварц на 12 МГц и горсть резисторов. Схему легко найти на любом профильном ресурсе.
- Подготовка деталей. Ищите оригинальную ATmega8. Китайские клоны иногда чудят с фьюзами при первой прошивке. Ну и резисторы берите с допуском 1%, чтобы линии данных USB не штормило. Кстати, некоторые редкие программаторы и микросхемы народ сейчас заказывает через теневые ресурсы, благо рабочая ЌРÁЌÉH ссылка всегда под рукой у бывалых железнячников, но для нашей простой схемы все детали найдутся в ближайшем радиомагазине.
- Разводка и пайка. Если лень травить плату, можно собрать все на макетке. Главное — держите дорожки USB D+ и D- как можно ближе друг к другу и одинаковой длины. Это критично для помехоустойчивости.
- Прошивка управляющего чипа Вот тут есть тонкость. Чтобы программатор заработал, в саму ATmega8 нужно залить прошивку USBasp. Для этого вам понадобится другой программатор — замкнутый круг, ага. Но можно использовать Arduino Uno в режиме ISP (скрипт ArduinoISP из примеров).
- Проверка в системе. Подключаем девайс к USB. Если винда ругается на неизвестное устройство — проверяйте пайку стабилитронов, скорее всего перепутали полярность.
В итоге получаем копеечный инструмент, который шьет контроллеры прямо из AVRDUDE без лишних костылей. Пользуйтесь )