AVRISP mkII на AT90USB82.

Здравствуйте, уважаемые коллеги!  Как и обещал, делюсь опытом применения AT90USB82 в клоне программатора AVRISP mkII. В общем я планировал выложить все свои наработки по этому программатору отдельной статьёй, но учитывая интерес к данной теме, а также, чтобы не распыляться потом на частности я кратенько отчитаюсь именно по реализации программатора на 82-м чипе. Начну с того, что AT90USB82 мне прислали в корпусе MLF))). Для тех, кто не в курсе скажу, что это безвыводный (с контактными площадками) корпус размерами с тетрадную клеточку – 5 на 5 мм. Ширина контактных площадок (падов) 0,2 мм. Цоколёвка один к одному как и у 162-й. Однако где наша не пропадала – за дело взялся. Плату, по сравнению с предыдущим вариантом, сильно не менял. Получилось так:
Контроллер припаял с первого раза феном, а потом немного погрел дорожки со всех сторон чипа, чтобы припаялось наверняка. Остальные элементы лёгкими движениями паяльника быстро были водворены на свои места. В итоге имеем:
Напомню, что на 82-м контроллере можно реализовать программатор, который поддерживает только один из видов протоколов программирования: или ISP, или PDI  (т.к. не хватит флеша), что отмечено в документации проекта LUFA, и на что мне указывали  посетители сайта в комментариях. Я оставил в этой реализации ISP. Раньше я предполагал, что уменьшить размер кода можно закомментировав некоторые функции протокола PDI. Можно и так, но всё оказалось гораздо проще. В процессе работы я пару раз писал товарищу Dean Camera, автору LUFA, и нужно отметить, что оный аккуратно отвечал. Так вот, чтобы отключить один из режимов, необходимо просто закомментить соответствующую строку в mikefile проекта, и всех делов-то! Гораздо больше времени я потерял в поисках строки в исходниках, в которой назначается вывод RESET для разъёма программирования. Перерыл все файлы проекта, чуть не получил взрыв мозга, а опять всё оказалось почти под носом, в том же mikefile!  Кто же знал, что братья-радиолюбители-капиталисты назовут RESET AUX-ом))). Теперь непосредственно программирование. Качаем последний релиз отсюда. Извлекаем папки их архива и открываем в WinAVR файлы …….\LUFA101122\Projects\AVRISP-MKII\AVRISP-MKII.c  и   ……..\LUFA101122\Projects\AVRISP-MKII\mikefile . Сразу оговорюсь, что WinAVR должен быть самой свежей редакции 20100110, иначе при компиляции получите ошибку по функции работы с EEPROM. Си-шный файл не трогаем, обратимся к mikefile. В нём меняем:
Тип контроллера и название платы, под которую компилим прошивку, т.к. для разных плат назначены разные светодиоды для индикации и пользовательские кнопки. Плата, для которой разработана схема называется USBKEY. Затем изменим вывод RESET-а  (соответствующие строки обведены красным цветом), и закомментим строку, подключающую код, который реализовывает протокол PDI (строка обведена синим цветом). В mikefile строки комментятся значком # «диез».
Кликаем  Menu-Tools-[WinAVR] Make Clean, затем Menu-Tools-[WinAVR] Make All и в результате получаем в папке hex и eep файлы, которые можно залить в кристалл любым доступным Вам способом. Я сделал это из Студии с помощью моего первого варианта AVRISP mkII. Фьюзы выставляем соответственно для внешнего кварца 16 МГц. Всё, дело сделано. Как работать с данным программатором я уже описывал раньше. В данный момент я работаю над его полным вариантом, в котором будут реализованы все протоколы.

Архив с платой в SL5

Запись опубликована в рубрике Программаторы. с метками , . Добавьте в закладки постоянную ссылку.

4 комментария: AVRISP mkII на AT90USB82.

  1. Alexandr говорит:

    Автор поделись схемой разводки для этого корпуса пож-та!

  2. s_black говорит:

    Добавил в статью, качайте на здоровье!

  3. Alexandr говорит:

    Номиналы кстати где посмотреть?

Добавить комментарий

Ваш e-mail не будет опубликован.