AVR-USB-MEGA16: быстрое изготовление ISP-программатора USBasp |
![]() |
Добавил(а) microsin | ||
Из макетной платы AVR-USB-MEGA16 буквально за полчаса можно самостоятельно изготовить популярный программатор USBasp (см. ссылки [2]). Конструкция очень простая - коннектор U1 ISP макетной платы, который почти никогда не используется (благодаря наличию бутлоадера в памяти чипа ATmega32), можно использовать как коннектор для подключения внешней, программируемой платы. Все необходимые сигналы (MOSI, MISO, SCK, GND) уже выведены на разъем, осталось только завести сигнал сброса. Исходники оригинального программатора USBasp портировал на макетную плату AVR-USB-MEGA16 Орлов Александр. Итак, процесс изготовления программатора по шагам. [hardware USBasp] 1. Берем макетную плату AVR-USB-MEGA16, и отрезаем сигнал сброса, который приходит на ножку коннектора U1 ISP. Это нужно сделать в двух местах, с двух сторон платы, см. фото. 2. Затем нужно припаять два проводка МГТФ. Первый проводок должен подключить резистор R1 обратно к ножке 4 ~RESET микроконтроллера (т. к. мы его отрезали). Второй проводок должен соединять внешний порт P10 макетной платы (порт PB2 микроконтроллера ATmega32, ножка 42) с отрезанным контактом 5 коннектора U1 ISP. Этим проводом мы будем подавать сигнал сброса на программируемую плату. [Оболочка программатора Khazama AVR] Примечание: в принципе программа Khazama 1.6.2 портабельна, т. е. она не требует установки, достаточно сделать копию папки уже установленной программы. Вы можете так и поступить, и скачать уже установленную программу вместе с драйвером в архиве [7]. Распакуйте из архива папку Khazama162 в любое место на диске (например, прямо в корень C: или в папку Program Files), создайте ярлычок для исполняемого файла Khazama AVR Programmer.exe, и установка на этом завершена. [Прошивка firmware USBasp] 4. В архиве с исходниками есть скомпилированные прошивки на все частоты кварцев и возможные кристаллы (см. каталог HEX). У меня на плате AVR-USB-MEGA16 стоял микроконтроллер ATmegs32 и кварц на 12 МГц, поэтому я взял файл HEX\USBasp-MEGA32-12MHz.hex. Потом с помощью бутлоадера, прямо через USB записал этот файл в память микроконтроллера макетной платы (процедура использования бутлоадера подробно описана в [3]). [Первое подключение программатора к компьютеру] После установки фильтра программа Khazama AVR сможет работать с нашим программатором. 6. Нужно изготовить кабель ISP, через который программируемое устройство будет подключаться к нашему программатору. На фото пример такого кабеля для стандартной цоколевки ISP6. Примеры других стандартных цоколевок коннекторов ISP см. в [6]. Обращаю Ваше внимание, что через такой коннектор на программируемую плату будет подаваться питание +5 вольт от программатора, и программатор в такой конфигурации рассчитан на программирование устройств, микроконтроллер которых питается от 5 вольт. Если Ваш микроконтроллер питается от отдельного источника, то провод питания кабеля ISP нужно перерезать (во избежание конфликта по питанию из-за разности напряжений). 7. Теперь можно испытать программатор в работе. Подключаем ISP кабелем программируемую плату, затем подключаем программатор (запрограммированную макетную плату AVR-USB-MEGA16) по USB к компьютеру. Запускаем программу Khazama AVR. Выбираем из выпадающего списка нужный чип (который мы будем программировать). Загружаем прошивку, которую будем прошивать, и нажимаем кнопку Auto Program. Запустится процесс программирования. На фото показан процесс программирования чипа AT90USB162 на другой макетной плате (AVR-USB162). Можно прошивать и фьюзы (внимание, с фьюзами будьте осторожнее), однако для некоторых чипов программирование фьюзов не поддерживается. [Ссылки] 1. Макетная плата AVR-USB-MEGA16. |