Клон программатора AVRISP-MkII

Пара часов работы паяльником - и у Вас мощный USB-программатор AVRISP-MkII, прошиваюший весь ассортимент 8-битных микроконтроллеров AVR (ATtiny, ATmega и даже XMEGA) компании Atmel. На частоте ISP 125 кГц память FLASH чипа ATmega32 (32 кбайта) читается за 10 секунд, пишется за 12 секунд, а на частоте ISP 4 МГц полная операция записи 32 килобайт (вместе с предварительным стиранием) длится примерно 3 секунды.

Firmware программатора основано на проекте AVRISP-MKII из библиотеки LUFA. По ссылке [2] можно скачать готовую прошивку AVRISP-MKII-AVR-USB162MU-16Mhz.hex (находится в папке LUFA101122\Projects\AVRISP-MKII\hex\ архива). В архиве есть также и исходники, по которым Вы можете при необходимости доработать или изменить firmware программатора (makefile и проект AVRStudio). Вся документация и комментарии к исходникам на русском языке.

Схема AVRISP-MkII

Схему долго описывать нужды нет, так как она состоит главным образом из проводочков и коннекторов. Сердце схемы - макетная плата AVR-USB162MU, так что всю основную обвязку микроконтроллера AT90USB162MU паять не нужно, и программатор получается очень компактным (меньше спичечного коробка) и дешевым. Резисторы R1..R6 номиналом 68 ом - защитные, и их можно не устанавливать. Перемычка SJ1 переключает питание портов ввода/вывода, перемычка JP1 управляет подачей питания на программируемое устройство, коннекторы ISP, PDI, TPI предназначены для подключения к программируемым микроконтроллерам (подробнее о перемычках и коннекторах программатора см. далее). Питается программатор от интерфейса USB (и может подавать питание на программируемое устройство).

 

Изготовление AVRISP-MkII

Вот все запчасти, необходимые для изготовления программатора:

Внешний вид готового программатора AVRISP-MkII:

 

 

Шлейфик мама-мама 6 pin. Он простой сквозной - первый контакт разъема соединен с со первым на противоположном конце, второй со вторым и т. д. Подходит для всех режимов программирования - ISP, PDI и TPI. Теперь коротко - как заливать прошивку, пользоваться программатором, и какие у программатора коннекторы и перемычки.

Заливается прошивка программатора через утилиту Flip прямо через интерфейс USB, благодаря прошитому в чип AT90USB162MU бутлоадеру DFU Flip (этот бутлоадер прошивается на заводе Atmel). Поэтому для изготовления программатора AVRISP-MkII Вам не потребуется программатор (проблема "курицы и яйца" решена). Достаточно скачать утилиту Flip с сайте Atmel, установить, и залить готовую HEX-прошивку (см. [2]) через нехитрый интерфейс.

Для управления программатором AVRISP-MkII лучше всего использовать утилиту AVRStudio. Она бесплатна, открывает доступ ко всем возможностям программатора, и работает с максимальной скоростью. Кроме того, среда программирования CodeVision AVR тоже поддерживает работу с программатором AVRISP-MkII. В среде Linux возможна работа через avrdude, при этом для firmware программатора потребуется изменение настроек в makefile и перекомпиляция (все описано в документации к исходникам).

У программатора имеется три коннектора - ISP, PDI и TPI. Коннектор ISP используется чаще всего, через него программируются большинство микроконтроллеров Atmel (применена стандартная цоколевка ISP6PIN). На фото показана прошивка микроконтроллера ATmega32.

Коннектор PDI используется для программирования микроконтроллеров серии XMEGA. На фото показана работа с микроконтроллером ATxmega128A1 через интерфейс PDI (макетная плата Olimex AVR-PX128A1).

Коннектор TPI используется редко, так как предназначен для программирования low-end микроконтроллеров, которые в России редко встречаются (ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40). Я не смог протестировать интерфейс TPI, так как не нашел чипа с таким интерфейсом программирования.

Перемычки и коннеКторы AVRISP-MkII

USB - через этот разъем (miniUSB) программатор подключается программатор к компьютеру. В системе Windows перед подключением нужно установить AVRStudio (лучше версий 4.18 или 5.XX), так как в составе дистрибутива AVRStudio имеются драйвера для программатора (нигде в другом месте драйверов Вы не найдете!). После установки AVRStudio можете подключать программатор AVRISP-MkII к компьютеру. На системе, где установлена AVRStudio, мастер установки драйвера автоматически находит и устанавливает нужный драйвер.

S1 - кнопка для активизации бутлоадера DFU Flip чипа AT90USB162MU. Она нужна только тогда, когда Вам необходимо по какой-то причине перепрошить firmware программатора AVRISP-MkII (через фирменную утилиту Flip компании Atmel). После перепрошивки бутлоадер не стирается, и его при необходимости можно запустить заново простым нажатием кнопки S1.

SJ1 - перемычка, которая управляет переключением рабочего напряжения портов ввода-вывода программатора - либо 3.3, либо 5 вольт. Её положение зависит от используемого напряжения питания в програмируемом устройстве. На фотографии перемычка установлена в положение 5 вольт.

JP1 - перемычка, через которую подается питание на программируемое устройство. Если она установлена, то на программируемое устройство подается питание от программатора. Если перемычка JP1 снята, то тогда программируемое устройство должно быть запитано от собственного источника питания.

4MHz - с этого штырька можно снять тактовую частоту 4 МГц, и подать её на программируемый микроконтроллер. Может понадобиться, когда в программируемом устройстве отсутсвует кварц, и перемычки (fuses, фьюзы) ошибочно установлены в состояние, соответствующее подключаемому внешнему кварцу. Это позволяет запустить микроконтроллер от внешнего тактового сигнала, и он станет доступен для программирования памяти и фьюзов.

ISP - коннектор ISP со стандартной цоколевкой (для программирования большинства AVR).

PDI - коннектор PDI со стандартной цоколевкой (для программирования XMEGA).

TPI - коннектор TPI со стандартной цоколевкой (для программирования ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40).

Первый штырек каждого коннектора помечен белой меткой.

Ссылки

1. Отсюда взята основная идея.
2. Схема, исходники и прошивка программатора AVRISP-MkII. Что особенно приятно, в пакете библиотека LUFA с переведенной на русский язык документацией.
3. Список чипов, прошиваемых программатором AVRISP-MkII. В принципе список можно и не смотреть, шьется все, что шевелится.
4. Документация по работе с программатором AVRISP-MkII на русском языке.
5. Страничка улилиты Atmel Flip.

 

Обсуждение:  Клон программатора AVRISP-MkII

Автор: Danya