Универсальный USB программатор. Программаторы микроконтроллеров AVR Самодельные программаторы usb

Программатор выполнен на основе драйвера от Objective Development и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Описание устройства. Предохранитель защищает линий питания порта USB от случайного замыкания по цепям питания программатора. Диоды VD1, VD2 впрямительные кремниевые, они предназначены для понижения питания микроконтроллера до 3,6 В. Согласно документации, контроллер может работать при таком напряжении питания до частоты чуть более 14 МГц. Светодиоды VL1 ("RD ”), VL2 ("WR ”) сигнализируют о текущих действиях программатора и обозначают режимы чтения и записи. Светодиод VL3 ("PWR ”) показывает подачу питания на .

Джампер J1 - (MODify ) служит для начального программирования управляющего МК программатора. При его замыкании, к разъему ISP подключается внешний программатор и производится загрузка в МК управляющей программы. После программирования управляющего МК программатора этот джампер необходимо разомкнуть и замкнуть джампер J2 - NORMal.

Джампер J3 LOW SCK понижает тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутом джампере частота SPI нормальная, при замкнутом - пониженная. Переключать джампер можно на ходу, так как управляющая программа МК программатора проверяет состояние линии PB0 при каждом обращении к порту SPI. Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к., скорее всего, это приведет к искажению записываемых/читаемых данных. Джампер J3 введен для возможности программирования МК AVR, тактируемых от внутреннего генератора 128 кГц.

Резисторы R10 - R14 предназначены для согласования уровней сигналов микроконтроллера программатора и внешних цепей (программируемый МК или другой программатор). Тактовая частота порта SPI МК программатора при разомкнутом джампере J3 равна 187,5 кГц. Это позволяет программировать контроллеры с тактовой частотой примерно от 570 кГц для ATtiny/ATmega, 750 кГц для 90S и 7,5 МГц для 89S. Контроллеры программируются от 10 до 30 секунд (при использовании утилиты AVRProg v.1.4 из пакета AVR Studio) вместе с верификацией в зависимости от объема FLASH памяти и тактовой частоты.

На вывод LED разъема ISP выведен меандр с частотой 1 МГц для "оживления" МК, у которых были ошибочно запрограммированы фьюз-биты, отвечающие за тактирование. Сигнал генерируется постоянно и не зависит от режима работы программатора. Программатор тестировался с программами AVRProg v.1.4 (входит в пакет AVRStudio), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer). Для нормального функционирования контроллера в схеме необходимо, чтобы были запрограммированы (установлены в "0") биты SPIEN , CKOPT , SUT0 и BODEN . Обычно микроконтроллеры, идущие с завода, т.е. новые, имеют уже запрограммированный бит SPIEN . Остальные биты должны быть незапрограммированные (установлены в "1").

Инструкция по установке и работе. Прошить контроллер. Подключить свежеиспеченный программатор к компьютеру через USB. Операционная система найдет новое устройство - AVR910 USB Programmer, при предложении автоматически найти драйвер, отказаться, и указать путь к inf-файлу, в зависимости от установленной на вашем компьютере операционной системы.

На форуме находятся все файлы, а также печатная плата для нашего программатора avr. Здесь покажу технологию сборки USB программатора AVR и упаковки в корпус. Для начала скачиваем архив и делаем печатную плату.

Потом впаиваем на неё все детали. Не смог найти маленький кварц, поэтому впаял большой, но на длинных ножках, чтобы потом загнуть, чтоб не мешал при установки платы в корпус. Далее подбираем подходящий корпус, у меня был готовый.

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

Если нет специальной измерительной аппаратуры, можно произвести проверку при помощи светодиода. Светодиод подключается анодом к контакту LED, катодом к любому контакту GND ISP-разъема. При подаче питания светодиод должен светится в «полнакала». При замыкании пинцетом ножек кварцевого генератора светодиод должен либо засветится в «полный накал», либо свечение должно отсутствовать.

Без ощибок собранный программатор с правильно запрограммированным микроконтроллером в настройке не нуждается. Но если у программируемого МК вход RESET подтянут к напряжению питания резистором, то номинал резистора не должен быть ниже 10 кОм - это связанно с пониженным напряжением питания управляющего контроллера в схеме программатора и введением ограничительных резисторов на шине ISP-разъема.

Обсудить статью ПРОГРАММАТОР AVR USB

Данный программатор не нуждается в первичном программировании - протравил печатную плату, спаял и пользуйся. Автор данного устройства указан в конце статьи, а здесь приведу небольшую выдержку из руководства, чтоб было понятнее, о чём речь: правильный USB-программатор – вещь, фактически, универсальная. Его можно воткнуть в любой современный компьютер и без проблем перешить нужный микроконтроллер с любым объемом FLASH-памяти на довольно высокой скорости. Но ключевое слово здесь – "правильный", который нормально работает без настройки и танцев с бубном над ним сразу же после установки и монтажа деталей. Который не глючит при переходе от одного ПК к другому или смене ОС. Правильный – это такой, драйвера на который есть для любой современной широко используемой версии ОС, и эти дрова неглючные. Каждый определит еще с десяток критериев правильности для себя лично, но вышеперечисленные – основные, без соблюдения которых нормально работать с микроконтроллером невозможно будет в принципе.

В настоящее время в Интернете полно различных схем USB-программаторов для AVR . Условно их можно разделить на две большие группы.

Первая группа включает в себя программаторы, построенные на основе микроконтроллеров (в частности, AVR). Собирал несколько штук программаторов от Prottoss’а (AVR910), себе и своим знакомым, а также несколько штук USBasp. Двое из знакомых, одаренных сиими дывайсами, в восторге. Удачно шьют камни в течение уже нескольких лет. У остальных (в частности – у меня лично) собранные программаторы особой радости не вызвали. Не говорю, что они плохие, просто вот так складывались обстоятельства: на одном компьютере работает, на другом нет. Или, проработав пару часов, оказывались невидимыми для софта, через который шьется камень. И много еще чего. Сразу оговорю – я не разбирался с прошивкой контроллеров, на которых данные программаторы собраны. Правда, перепробовал кучу программ-прошивальщиков, через которые данные программаторы, вроде как без проблем должны шить камни. Однако, результат в виде частых глюков меня не особо удовлетворил. Исключение составила только программа AVRDUDE в комплексе с графической оболочкой SinaProg, но о ней я узнал слишком поздно. Кстати, заметил такую тенденцию: чем древнее железо ПК, тем лучше работают данные программаторы. Ну и самый неприятный момент для тех, кто выбрал второй вариант знакомства с микроконтроллерами AVR – чтобы программатор заработал, нужно чем-то прошить входящий в его состав камень. То есть получается так: чтобы пользоваться программатором нужно сделать/найти программатор, чтобы прошить мозги этого программатора. Вот такой вот замкнутый круг.

И вторая группа USB-программаторов включает в себя решение на базе специализированной микросхемы FT232Rx. В свое время данная микросхема стала своего рода революцией. Мало того, что она без особых заморочек для разработчика преобразует USB в UART (и, наверное, 95% разработчиков используют ее именно в этих целях). Она еще умеет эмулировать полноценный COM-порт, причем состояние «второстепенных» линий (таких, как RTS, CTS, DTR и т.д.) можно задать/считать не из виртуального COM-порта, а напрямую через драйвер FTDI (разработчика FT232Rx). Таким образом, появилось новое, без необходимости первичной прошивки мозгов программатора, решение, для прошивки микроконтроллеров, причем, довольно быстрое.

Принципиальная схема программатора USB

Данная схема просто направляет сигналы MOSI, MISO, SCK и RESET, которые формируются на выводах DCD, DTR, RTS и DSR микросхемы DD1 (FT232RL) соответственно, на нужные выводы прошиваемого микроконтроллера (т.е., фактически является аналогом «древних» программаторов). Причем, делает это только в момент программирования камня, в остальные моменты времени программатор отключен от прошиваемой платы за счет 4-х буферных элементов микросхемы DD2 (74HC125D). Состояние линий MOSI, MISO, SCK и RESET устанавливается/считывается прошивающим софтом на компьютере. Передача данных между ПК и микросхемой FT232RL идет по шине USB (от которой еще и получает питание программатор).

Светодиод HL2 («PWR») сигнализирует о подаче на программатор напряжения питания с шины USB. Светодиод HL1 («PROG») индицирует процесс прошивки микроконтроллера (горит только во время прошивки). Вот, в принципе, и все описание собственно схемы электрической принципиальной. Единственное что хотелось бы отметить: во-первых, для подключения программатора к прошиваемой плате используется разъем IDC-10MR (XP2 «ISP»), распиновка которого совпадает с широко распространенной распиновкой разъема программатора
STK200/STK300:

XP2 "ISP" разъем для подключения устройства к программируемому микроконтроллеру

XP3 "MISC" разъем для использования дополнительных функций программатора

В общем микросхема FT232RL имеет довольно серьёзный потенциал для разработчика (например, линии шины CBUS можно использовать как обычные линии ввода-вывода микроконтроллера), поэтому неплохо бы иметь доступ ко всем ее выводам. Ну и доступ к напряжениям +5,0 В и +3,3 В тоже лишним никогда не будет. В приклеплении печатная плата и полное подробное описание. Разработка и мануал - [email protected] , испытание - SssaHeKkk .

Конкурс начинающих радиолюбителей
“Моя радиолюбительская конструкция”

USB AVR программатор

Схема и программное обеспечение простого высокоскоростного USB AVR программатора, который может собрать своими руками и начинающий радиолюбитель

Конкурсная конструкция начинающего радиолюбителя –
“USB AVR программатор”

Здравствуйте уважаемые друзья и гости сайта!
Представляю на ваш суд вторую конкурсную работу.
Автор конструкции – Григорьев Илья Сергеевич .
Теперь на нашем сайте не только “Лед тронулся”, но и “Заседание продолжается”.

USB AVR программатор

Немного о данной конструкции.
На первый взгляд кажется, что эта схема сложна, не “по зубам” начинающим, а автор – уже довольно опытный радиолюбитель.
Смею всех заверить, Илья Сергеевич – начинающий радиолюбитель. А своей конструкцией он доказал, что при желании, настойчивости, целеустремленности, конструкцию такой сложности сможет собрать любой начинающий радиолюбитель.
Ну а теперь, слово автору.

Григорьев Илья Сергеевич, город Хабаровск

Всем привет!
Представляю на ваш суд вторую свою завершенную работу (первая- простая мигалка).
Решил, что в будущем буду собирать схемы, на основе каких-либо микросхем, которые нужно программировать, для чего нужен, собственно говоря, программатор!
В интернете огромное количество схем, на любой вкус, но основная проблема и замечание к схемам – это то, что у меня нет ни LTP, ни COM порта, остается вариант USB программатора. Но и тут есть своя загвоздка – для большинства программаторов, для начала работы, их микросхемы нужно запрограммировать на работу, а для этого нужен… – правильно, программатор! Можно было конечно собрать программатор Громова, пройтись по друзьям и найти LTP или COM порт, но мне этого не хотелось. Оставался последний вариант – это использовать программатор на основе микросхемы FT232RL, минус у этого программатора и у этой микросхемы только цена последней – она у нас в Хабаровске стоит в районе 230 рублей. Я решил на таком денег не экономить и взяться за сборку программатора на FT232RL.

Итак, список деталек:
Это сердце программатора – FT232RL . Цена- 230р
Вторая микросхема- 74HC244, она нужна, т.к у этого программатора есть еще один минус - он не отдает линию RESET по завершении программирования. Поэтому, чтобы схема стартанула, надо выдрать из платы разьем ISP, что очень неудобно. Это можно решить просто добавив к этой схеме буфферную микросхему 74HC244. Цена 20-30 р
И далее набор мелочевки:
– 4 резистора по 47 Ом
– 4 резистора по 100 Ом
– 1 резистор на 4.7 Ком
– 3 резистора на 300 Ом
– 3 кондера по 0.1u
– 3 светодиода(к,з,ж)
– 1 диод Шоттки (чтобы возможный обратный ток от прошиваемого устройства не сжег программатор и ПК)
– 1 USB type B, его еще называют принтерным
Вот и все, что надо! Мелочевка стоит в районе 50 рублей
Все компоненты я брал в обычном исполнении и smd, т.к. до конца не знал, как получится у меня работа с smd компонентами, вдруг пришлось бы собирать большой вариант.

Вот сама схема:

Принцип работы.
Программатор запитывается от USB порта. Уровни выходных сигналов программатора с помощью джампера JP1 могут быть заданы или 5-ти вольтовыми, или 3-ех вольтовыми.
Напряжение питания программатора может быть подано через разъем X2 на программируемую плату, для чего нужно замкнуть джампер JP2.
Следует иметь ввиду, что при 5-ти вольтовом питании напряжение подается с USB порта. И максимально ток, который можно получить с программатора, ограничен величиной 500 мА. Однако для такого тока микросхему FT232 нужно настроить с помощью утилиты FT Prog.
При 3-ех вольтовом питании напряжение берется с выхода внутреннего стабилизатора микросхемы FT232, максимальный ток которого равен порядка 50 мА.
Для предотвращения подачи питания на USB порт от внешнего устройства на программаторе установлен диод Шоттки (у них маленькое падение напряжения в прямом направлении). При желании диод VD1 можно заменить обычным диодом или перемычкой, но эту уже на ваш страх и риск.
Также программатор можно использовать как USB-UART преобразователь. Для этого на разъем Х2 выведены сигналы RXD, TXD и подключены светодиоды LED2, LED3. Они вспыхивают, когда происходит передача данных.
Программатор не нужно отключать от программируемой платы, потому что после программирования микросхема DD1 переводит выходные буферы в третье состояние.
Светодиод LED1 загорается, когда идет процесс программирования.
На контактную площадку JP можно вывести тактовый сигнал. Для этого требуется конфигурирование FT232 с помощью утилиты FT Prog.

Сам процесс сборки.
Сначала я распечатал схему на глянцевый листок от журнала (использовал и фотобумагу и клейкую бумагу для принтера, все не то… самый лучший эффект – это печать схемы на глянцевом журнале). Потом, после соединения глянцевого листочка с кусочком текстолита, начинаем гладить утюгом, выставив на нем максимальную температуру. Сначала я приложил утюг прям на листик, что бы он приклеился к текстолиту, подержал так секунд 10, затем сверху положил листок бумаги и начал гладить в течении 3-4 минут, затем, убрал листок бумаги и еще на несколько секунд приложил утюг и острым уголком утюга поводил по тем местам, где будут будущие дорожки для микросхем.

После этого убираем утюг, и даем плате полностью остыть. Потом окунаем на 5 минут наш текстолит с глянцевой бумажкой в теплую воду, что бы бумага намокла и отстала он текстолита, потом скатываем осторожно бумагу. Вот что получается:

Затем травим. Я травлю хлорным железом: наливаю почти горячую воду, растворяю в нем порошок, окунаю текстолит и потом наливаю в тазик горячую воду и туда окунаю плошку с хлорным железом. Чем больше концентрация раствора и температура- тем быстрее пройдет реакция.
Вот что получилось:

Затем я взял ватку с ацетоном и снял тонер, потом залудил.

И начал паять:

Собрал программатор, после чего ОБЯЗАТЕЛЬНО проверил все на наличие короткого замыкания. Вообще, т.к. я впервые работал с такой мелочью, то после каждого резистора, после каждого кондера я проверял программатор на просвет(очень хорошо видно попал ли припой на соседние дорожки) и проверял мультиметром на замыкание цепи. Итог такой- 2 раза были замыкания под резисторами…все удачно исправил.
Так же после сборки программатора не следует сразу включать его в USB порт. Убедитесь в отсутствии замыканий между землей и плюсом питания, установите джамперы в требуемое положение и только затем подключайте программатор к компьютеру.
Честно сказать- я волновался, хоть и был уверен в отсутствии КЗ.
После подключения я почувствовал нагревание платы, в районе FT232RL, а ПК выдал сообщение о подключении неизвестного устройства с неправильной работой. Я быстро отключил программатор и еще раз, внимательно просмотрел все дорожки на предмет прилипания припоя к соседним дорожкам и еще раз пропаял все выводы микросхем. После этого еще раз подключил программатор и, о чудо! , программатор определился и попросил установить дрова! Поставил дрова и в диспетчере приложения появились 2 новых устройства:

Ура! Теперь можно всерьез задуматься о работе с микросхемами!
Спасибо за внимание!

(666.9 KiB, 2,785 hits)

Уважаемые друзья и гости сайта!

Не забывайте высказывать свое мнение по конкурсным работам и принимайте участие в обсуждениях на форуме сайта. Спасибо.

22 сентября 2011 в 20:11

Миниатюрный USB программатор для AVR микроконтроллеров

  • Программирование микроконтроллеров

Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.

Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами.
Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:

На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.

Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно

Прошивка управляющего микроконтроллера
Итак, после сборки устройства осталось самое важное - прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом:) Простейший программатор на пяти проводках для AVR
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:

После прошивки должен загореться светодиод подключенный к 23 ноге микроконтроллера. Это будет верный признак того, что программатор прошит удачно и готов к работе.

Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:

Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:

Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера

Все, теперь программатор готов к работе.

Khazama AVR Programmer
Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer . Замечательная программка, с минималистичным интерфейсом.

Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.

Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

Скачать файл печатной платы в SprintLayout можно по

Узнаем что такое ISP-интерфейс, разберемся с недорогим и удобным программатором USB ISP. Рассмотрим принципиальные схемы простейших программаторов для AVR микроконтроллеров с использованием COM и LPT портов компьютера. Данной информации вполне хватит чтобы прошить большинство моделей AVR микроконтроллеров не только в Linux, но и в других ОС.

Интерфейс внутрисистемного программирования ISP

Для того чтобы записать программу в AVR микроконтроллер вам понадобится программатор.

Программатор - это небольшая электронная схема, которая позволяет подключить микроконтроллер к одному из портов компьютера (COM, LPT, USB) для последующего считывания и записи прошивки (программирования).

Существует достаточно много разнообразных конструкций программаторов для AVR микроконтроллеров, которые подключаются к разным портам компьютера.

Наиболее надежный и удобный вариант - это программатор что подключается к USB-порту, поскольку в новых настольных компьютерах и ноутбуках уже не устанавливают COM и LPT порты.

В готовых устройствах программатор подключается к микроконтроллеру посредством интерфейса ISP (In System Programming) - интерфейс внутрисистемного программирования. ISP интерфейс представляет собою несколько проводников по которым поступает тактовый сигнал и данные для связки программатора с микроконтроллером.

Как правило ISP интерфейс размещают на платах в виде десяти или шести штырьков, к которым посредством подходящего коннектора через шлейф подключается программатор.

Рис. 4. ISP интерфейс на плате.

Назначение пинов в ISP интерфейсе:

  1. VCC - плюс питания, как правило +5В;
  2. GND - минус питания, земля (Ground);
  3. MOSI - вход данных (Master Out Slave In);
  4. MISO - выход данных (Master In Slave Out);
  5. SCK - тактовый сигнал (Serial Clock);
  6. RST - дла подачи сигнала сброса (Reset).

Для внутрисхемного программирования микроконтроллера достаточно всего 4 пина, поскольку питание микроконтроллера может осуществляться от самой схемы где он установлен.

Как подключить программатор к микросхеме-микроконтроллеру AVR если он не впаян в схему? - очень просто, используя те же пины ISP интерфейса, при необходимости запитав при этом микроконтроллер от источника питания.

Программатор USB ISP ASP

Для работы с AVR чипами я приобрел недорогой USB ISP программатор по цене примерно 10$. Такое устройство есть сейчас в продаже во многих отечественных и зарубежных интернет-магазинах, так что с покупкой проблем не должно возникнуть.

Рис. 5. USB ISP - программатор со шлейфом для внутрисхемного программирования AVR микроконтроллеров фирмы ATMEL.

Данный программатор безопасен в использовании, имеет небольшие размеры и поддерживается большинством программ для прошивки микроконтроллеров AVR. USB ISP работает под операционными системами Linux, Mac OS X и Windows. Для Linux никаких драйверов устанавливать не нужно, после подключения программатора к USB порту устройство сразу же определится и будет готово к использованию.

Ниже приведу распиновку коннекторов программатора USB ISP - она нам потом пригодится при подключении к микроконтроллеру.

Рис. 6. Расположение пинов на разъеме USB ISP (распиновка).

Рис. 7. Расположение контактов в гнездах коннектора подключенного к программатору USB ISP.

Что делать если нет возможности купить программатор USB ISP ? - можно программировать микроконтроллеры используя несложные самодельные программаторы что подключаются к COM или LPT порту, но лучше самому изготовить USB ISP при этом один раз запрограммировав микросхему-микроконтроллер для него простым самодельным программатором через COM или LPT порт.

Рис. 8. Принципиальная схема самодельного программатора USB ASP ISP.

Подробную информацию по изготовлению USB ASP, а также печатные платы, драйвера и прошивку для микроконтроллера можно найти на официальном сайте: http://www.fischl.de/usbasp/

К тому же в интернете достаточно много ресурсов по данному свободному программатору, есть много готовых разводок печатных плат, в том числе и в программе SprintLayout, поэтому подробно в данной статье останавливаться на этом не будем.

Программатор с использованием COM-порта

Этот программатор еще называют "программатором Громова", в честь того кто придумал эту схему, создателя программы Algorithm Builder (графическая среда для программирования AVR под Windows используя алгоритмический язык) - Г.Л. Громова.

Данный программатор позволяет программировать AVR чипы используя COM порт компьютера - интерфейс RS232. Для сборки такого программатора потребуется минимум деталей - 3 диода, 7 резисторов, разъем DB-9 или DB-25(в зависимости от того какой ответный разъем установлен у вас в компьютере) и коннектор ISP для подключения к микроконтроллеру (или же просто несколько проводников к чипу). Диоды в схеме можно использовать любые маломощные.

Рис. 9. Принципиальная схема программатора AVR микроконтроллеров через COM порт компьютера.

Для полноты информации ниже приведу распиновку портов RS-232 для вариантов DB-9 и DB-25.

Рис. 10. RS232 - COM Port, DB-9 расположение выводов.

Рис. 11. RS232 COM Port DB-25 - расположение выводов на разъемах.

Программатор с использованием LPT-порта

Как мы знаем, LPT порт компьютера предназначен для подключения локального принтера (Local Printer Port), но тем не менее его часто используют для подключения различных устройств и самоделок. В данном случаем мы можем его использовать для программирования AVR микроконтроллеров, собрав для данной цели очень простую схему что приведена ниже.

Рис. 12. Принципиальная схема программатора для AVR микроконтроллеров с использованием LPT порта компьютера.

Как видим, схема еще проще чем в варианте с , здесь нам нужны всего лишь 4 маломощных резистора и разъем (папа, со штырьками) для подключения к LPT порту компьютера.

Рис. 13. Расположение пинов для разъемов LPT-порта.

Все детали и соединения можно разместить в корпусе LPT-разъема, а для подключения к микроконтроллеру вывести шлейф с коннектором под ISP-интерфейс или же просто необходимые проводники для подключения к микро-чипу.

Программное обеспечение и заметки

Подключив COM или LPT программатор к микроконтроллеру нужно не забыть подать питание на сам микрочип. В качестве источника питания микроконтроллера можно использовать батарейки или блок питания со стабилизатором, это будет наиболее безопасно как для порта компьютера, так и для чипа. О том как использовать мы уже рассматривали.

Под Linux есть очень мощная программа которая умеет работать с USB ASP, COM и LPT программаторами - это программа AVRDUDE , о ней будет идти речь в следующих разделах.

Для прошивки AVR чипов под Windows с использованием данных COM и LPT программаторов нужна программа UniРrof от Николаева, которая представляет собою универсальный программатор для AVR (avr.nikolaew.org).

ВНИМАНИЕ! Будьте предельно внимательны и осторожны при сборке и использовании программаторов с использованием COM или LPT порта компьютера, простой ошибкой можно запросто подпалить эти порты. Для нормальной работы таких программаторов нужно стараться использовать по возможности максимально короткие проводники от разъема к схеме программатора и микроконтроллеру. Микропроцессор компьютера желательно чтобы имел частоту не более 1-2 ГГц, а в качестве ОС для программирования чипов желательно использовать Win2000 или WinXP.

Также важно знать что переходники USB-RS232 (USB-COM Port) скорее всего не будут работать с программатором Громова, заработают возможно только те у которых стоят более новые микросхемы, так что лучше искать машину с родным COM-портом.

Заключение

Программаторы что рассмотрены в статье - это всего лишь несколько наиболее доступных и простых решений из большого списка программаторов для AVR: USBTinyISP, AVR-Doper, AVR vusbtiny, AVRISP-MkII, программаторы на FTDI и другие.

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

В следующей статье мы разберемся как подключить разные модели AVR микроконтроллеров к программатору, узнаем где брать информацию о распиновке микроконтроллеров.

Читайте также: