Site Loader

Программатор для PIC, AVR и микросхем памяти

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

Программатор для PIC, AVR и микросхем памяти

…Когда-то давно пару лет назад, в очередной раз пересмотрел подшивку како-го радиотехнического журнала и задумался: а не пора ли осваивать микроконтроллеры? С этим проблем не было, литературы много, примеров достаточно. Изучил матчасть, написал свою первую ПРОГРАММУ. Потом начались поиски того, чем эту программу запихнуть в контроллер, тоесть программатора. Нужна была схема простая, чтоб собрать из того, что под рукой и надежная, без глюков так сказать. После долгих поисков выбор пал на схему программатора из журнала «РАДИО» №10 2007г. ст. 31. Описывать эту схему не стану, для желающих в архиве есть оригинал статьи. Скажу лишь, что  схема отлично работала, шила все подряд без проблем, только почему-то иногда вилетал МАХ232 (заменил 3 шт., может бракованые попались). Тот программатор подарил коллеге и решил собрать себе такой-же, но у меня не оказалось еще одного управляемого стабилизатора K78R12C, опять начались поиски замены… В результате родилась вот такая схема, это результат «скрещивания» журнальной схемы и фирменного программатора SI-PROG: 

MAX232 заменил на более быстродействующий ST232, управляемый стабилизатор заменил обычным 7812 и транзисторным ключем после него, транзисторы — ВС547, все остальные детали — по рекомендациям из оригинальной статьи. Также добавил отдельную подключаемую плату с панельками для разных типов контроллеров (так как в основном юзаю РІС-и, то плата пока только под них, а если нужно прошить AVR — то проводочками :-)). Монтируется все это на вот такой плате:

а это сменная плата для ПИК-ов и микросхем памяти:

Из панелек все неиспользуемые контакты удалить, чтобы не сверлить много лишних отверстий.

Вот фото собраной платы:

Программатор собрал в поляцком корпусе, который обозначается Z50, собственно под него и проектировалась плата, ниже несколько фото:

На фото видно в корпусе трансформатор питания, я его потом выкинул, так как он оказался слабоват (сделал светодиодную подсветку передней панели из сверхярких светодиодов, и трансформатор не осилил :-). Сейчас используется внешний блок питания 15В, и током до 1А.

Программатор работает с программами PonyProg, Si-prog, WinPic800. Используя для управления программу PonyProg следует выбрать в соответствующем ее окне программатор SI Prog I/O и задать инверсию сигналов в соответствии с таблицей 1, для программ Si-Prog и WinPic 800 следует выбрать программатор JDM Programmer, а инверсию сигналов задать в соответствии с таблицами 2 и 3:

Для WinPic 800 с журнальной таблицей не разобрался, поэтому настройки определил методом «научного тыка»:

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

Вот как-то так.

Файлы:
Печтаные платы

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

Простой программатор для микроконтроллеров PIC и AVR

Автор: Александр Елисеев

E-mail: ase (at) takas.lt
(замените (at) на @)

Бесплатные программаторы, которые можно найти в интернете безнадежно отстают от разработчиков чипов и не предлагают способов быстрой модернизации для программирования новых микроконтроллеров.

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

Программатор характеризуется тем, что:

  • Испытан под Windows 98, Windows Me, Windows 2000 c процессорами Celeron, AMD Duron, AMD Athlon T, Pentium III до частоты 1000 МГц

  • Программирование ведется через порт RS232

  • Программа не требует инсталяции и дополнительных драйверов.

  • Программирует микроконтроллеры семейства PIC (отладка производилась на PIC16F84 и PIC16F877) по последовательному протоколу и микроконтроллеры семейства AVR (отладка производилась на AT90S8535)

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

  • Позволяет произвольно менять структуру и содержание меню программируемых чипов и информационных полей связанных с программируемым чипом.

  • Позволяет загружать и редактировать бинарные и HEX файлы, выполнять блочные операции с данными, расчет CRC по нескольким алгоритмам Позволяет индивидуально программировать различные области чипа (память программ, память данных, биты опций, биты защиты)

Рис.1. Окно програмной оболочки

Программирование PIC-ов

Рис.1. Схема программатора PIC-ов

Особой оригинальностью не отличается поскольку в основном повторяет схему из известного программатора PonyProg. Следует уделять внимание уровню сигнала на выводе CLOCK чипа, он не должен быть меньше 4 В при высоком уровне, что может случиться при неправильном подборе стабилитрона

Программирование AVR-ов

Рис.2. Схема программирования AVR-ов

Здесь показан способ как организовать программирование AT90S8535 прямо на плате с помощью RS232 и небольшого аппаратного дополнения. Микросхема DD1 служит для изоляции сигналов программирования от чипа в режиме работы. Разводка микросхемы показана в колодке c расположением контактов типа PGA44. Испытания показали, что большинство микросхем AT90S8535 и AT90S8515 можно программировать при частоте кварца 11,0592 МГц.

Структура конфигурационных файлов

Конфигурационные файлы имеют расширение chp и должны находиться в директории программы. Программа при запуске производит поиск в своей директории всех конфигурационных файлов и их объединение во внутреннем буфере. Идея таких файлов взята из программатора ComPic и немного изменена. Каждому чипу соответствует своя секция. Возможность наследования свойств не предусмотренна, так как это ухудшает прозрачность описания.

Пример структуры конфигурационного файла для PIC16F84

[Chip PIC16F84_ICP] Секция чипа c уникальным названием чипа
Level1=MicroChip
Название пункта меню верхнего уровня
Level2=PIC Название пункта меню 2-го уровня вложения
ItemCaption=PIC16F84 Название конечного пункта меню
InitClass=TfrmMICROCHIP_PIC_ICP Название класса окна-фрейма программирующего данное семейство чипов
по определенному протоколу
Названия классов предопределены в программе: TfrmMICROCHIP_PIC_ICP и TfrmATMEL_AVR_ICP
Здесь идет определение программируемых областей, в пунктах Content разные параметры отделяются символом «|»
Area_1_Content= Code | 0..3FFh (1KW) Название и описание области программирования
Area_1_data=CODE, 0, $3FF, 14 Данные связанные с областью программирования — уникальный идентификатор, начальный адрес, конечный адрес, размер слова данных в битах
Area_2_Content=EEPROM | 0..3Fh (64B)
Area_2_Data=EEPROM,0,$3F,8
Area_3_Content=Configuration word | CP, PWRTE, WDTE, FOSC
Area_3_Data=CONFIG,$2007,$2007,14
Area_4_Content=ID Locations | 2000H-2003H
Area_4_Data=ID,$2000,$2003,8
и т. д. для других областей
Здесь идет определение установок для некоторых областей программирования определенных выше
Param_1_Content=CP | CP | CONFIG Определение установки с названием CP, с уникальным идентификатором CP из области CONFIG. По умолчанию установка принимает значение с номером 1 в суффиксе идентификатора
  Описание возможных значений установки
Param_1_Choice1=1 — Code protection OFF Название 1-го значения установки CP
Param_1_Choice1_icon=4 Номер во внутреннем списке отображаемой иконы для 1-го значения
Param_1_Choice1_data=1111111111xxxx маска 1-го значения
Param_1_Choice2=0 — Code protection ON
Param_1_Choice2_icon=3
Param_1_Choice2_data=0000000000xxxx
Описание 2-го значения установки
Param_2_Content=PWRTE | PWRTE | CONFIG
Param_2_Choice1=1 — Power up timer disabled
Param_2_Choice1_icon=2
Param_2_Choice1_data=xxxxxxxxxx1xxx
Param_2_Choice2=0 — Power up timer enabled
Param_2_Choice2_icon=1
Param_2_Choice2_data=xxxxxxxxxx0xxx
Описание следующей установки и ее значений
Param_3_Content=WDTE | WDTE | CONFIG
Param_3_Choice1=1 — WDT enabled
Param_3_Choice1_icon=1
Param_3_Choice1_data=xxxxxxxxxxx1xx
Param_3_Choice2=0 — WDT disabled
Param_3_Choice2_icon=2
Param_3_Choice2_data=xxxxxxxxxxx0xx

Param_4_Content=Oscilator | FOSC | CONFIG
Param_4_Choice1=RC oscillator (11)
Param_4_Choice1_icon=8
Param_4_Choice1_data=xxxxxxxxxxxx11
Param_4_Choice2=HS oscillator (10)
Param_4_Choice2_icon=8
Param_4_Choice2_data=xxxxxxxxxxxx10
Param_4_Choice3=XT oscillator (01)
Param_4_Choice3_icon=8
Param_4_Choice3_data=xxxxxxxxxxxx01
Param_4_Choice4=LP oscillator (00)
Param_4_Choice4_icon=8
Param_4_Choice4_data=xxxxxxxxxxxx00

Param_5_Content=ID | ID | ID
Param_5_Choice1=0000

и т.д. для всех необходимых установок

Универсальный программатор микроконтроллеров PIC, AVR и микросхем EEPROM (для com-порта)

Как-то раз на нашем форуме возникла темка, чем бы залить чипик ATMEGA32. Темка эта в итоге разрослась и вылилась в схему универсального программатора, которым можно через последовательный порт компьютера программировать не только эту самую атмегу, но и другие контроллеры AVR, и контроллеры PIC, и микросхемы памяти EEPROM. Как всегда в схеме использован различный радиохлам (в данном случае снятый со старых сломанных материнок).

Помимо универсальности, несомненным плюсом этого программатора является оригинальное решение проблемы с питанием. Питание для него требуется внешнее, но в тоже время никаких дополнительных блоков питания изобретать или покупать не надо. Как так? А вот так. Вы же с компьютера будете чипы программировать. То есть комп у Вас будет включен. Тогда у Вас уже есть на каждом 4-х пиновом разъёме Molex отличные, стабильные +5 и +12 Вольт, так зачем же городить что-то ещё? (4-х пиновые Molex — это такие, как на рисунке справа, от которых питаются ваши винчестеры, сидирумы и тому подобное железо внутри компа.) Короче, наш программатор можно запитать от любого такого свободного разъёма.

Ну, закончим на этом со вступлением и перейдём к схеме.

Схема:

Детали и описание работы:

Две главных детали программатора — микросхема преобразователь уровней порта GD75232 и микросхема логики 74HC14D.

Микруха порта — это фактически две полностью независимые микрухи в одной. Одна — это набор драйверов (из 0/5 вольтовых сигналов делают +-12 вольтовые), вторая — набор приёмников (из +-12 вольтовых сигналов делают 0/5 вольтовые).

Мы используем только приёмники, а входы и выходы драйверов (а так же неиспользуемые входы приёмников) — заземляем.

Микруха логики выполняет две задачи — умощнить выходы микросхемы порта и защитить микросхему порта в случае экстренных ситуаций (всё же микросхемы портов встречаются не так часто, как микросхемы логики). Соответственно, чуть изменив схему, вместо 74hc14 легко можно использовать какую-нибудь другую логику.

Транзисторы подойдут любые маломощные, я брал smd-транзисторы, снятые с материнских плат, с маркировками A1 (npn-транзистор) и A2 (pnp-транзистор). Если Вы так же будете использовать smd-транзисторы, то главное убедиться, что это действительно транзисторы (например, в корпусе sot-23, с маркировкой A1 могут быть не только транзисторы, но и диоды).

Резисторы подписаны на схеме. Кроме этого надо поставить между питанием и землёй возле каждой микрухи керамические конденсаторы по 0,1 мкФ, на схеме они не нарисованы, но это правила хорошего тона.

Готовый девайс (на фото сам программатор и модуль для программирования контроллеров PIC):

Программатор для avr своими руками

9zip.ruРадиотехника, электроника и схемы своими руками Универсальный программатор для микроконтроллеров AVR и PIC

В радиолюбительских журналах и сети Интернет приводится множество схем программаторов. Они отличаются способом подключения к компьютеру: через LPT, COM, USB. Программаторы для порта LPT наиболее простые, для COM — чуть сложнее. Для программатора, подключаемого к USB-порту, нужно иметь либо микроконтроллер, либо специализированную микросхему, преобразователь USB — UART. Кроме этого, разные программаторы предназначены для прошивки разных микроконтроллеров: AVR или PIC, при том, что алгоритм программирования этих двух типов микроконтроллеров отличается незначительно. Поэтому само собой напрашивается желание собрать универсальный программатор для любых микроконтроллеров — AVR и PIC.


Оптимальной нам показалась приведённая ниже схема программатора. Он подключается к COM-порту компьютера и содержит известную микросхему MAX232, которая корректно работает с любым COM-портом (у разных компьютеров уровни порта могут существенно отличаться от стандарта), защищая его при случайных ошибках монтажа или подключения. Программатор имеет панельки для разных корпусов микроконтроллеров, а также возможность для внутрисхемного программирования ICSP, когда программатор подключается проводами к плате с микроконтроллером или непосредственно к ножкам микроконтроллера без установки его в панельку. Программатор видится программами как JDM, поэтому проблем с программным обеспечением не возникает. Можно рекомендовать программу IC-PROG 1.06В.
Переключение режимов AVR — PIC производится микропереключателем. Процесс работы устройства индицируется четырьмя светодиодами. Программатор прост и не требует наладки, используются очень распространённые детали.

Вместо микросхемы 74LS00 можно поставить К555ЛА3 или КР1533ЛА3, транзисторы, в принципе, заменимы на похожие. У данной схемы есть одна странность — номиналы токоограничительных резисторов для светодиодов. Так как светодиоды подключены к разным участкам схемы, напряжения на этих участках также разные, из-за чего светодиоды светятся с разной яркостью. Для того, чтобы это исправить, можно попробовать подобрать резисторы, в частности — уменьшить R4 и R7. Вместо КД523 можно использовать распространённые 1N4148.

Печатная плата .lay (для Sprint Layout) Разводка выполнена под SMD-резисторы, остальные компоненты — в обычном исполнении.

Внимание! На печатной плате проводки MOSI и MISO к панельке ATMEGA8 показаны неправильно, их нужно перекинуть. Также C7 и C9 имеют перемычки — их нужно убрать.

Работа с IC-PROG

Скачивать программу нужно с официального сайта:

http://www.ic-prog.com/index1.htm

В каталоге программы должны находиться следующие файлы:

icprog.exe — непосредственно программа
icprog.sys — драйвер доступа к портам под XP

Необходимо нажать правой клавишей мыши на файле icprog.exe и выбрать «свойства». На вкладке «совместимость» необходимо поставить галочку «запустить в режиме совместимости» и выбрать Windows 2000.

Далее необходимо зайти в меню «Настройки» и выбрать пункт «Программатор». Тип программатора необходимо установить JDM и указать COM-порт, к которому физически подключен программатор. Для очень быстрых компьютеров можно также установить задержку ввода-вывода. В этом же окне необходимо указать интерфейс «Прямой доступ к портам». Все галочки параметров сигналов должны быть сняты.

Затем необходимо зайти в меню «Настройки» и выбрать пункт «Опции», вкладку «Общие», где установить галочку «Включить NT/2000/XP драйвер». При этом появится окно подтверждения установки драйвера и программа перезапустится.

После этого программа готова к работе с программатором.

7 нравится? 3
Понравилась статья? Похвастайся друзьям:

Хочешь почитать ещё про схемы своими руками? Вот что наиболее популярно на этой неделе:
Схемы и печатные платы блоков питания на микросхемах UC3842 и UC3843
Регулируемый блок питания из блока питания компьютера ATX
Практика переделки компьютерных блоков питания в регулируемые лабораторные
Коля одобряет.

Есть вопросы, комментарии? Напиши:

Комментарии: 12345

Сергей28 май 2018 15:08

кондеры надо на керамику на 1 мкф
кондер С3 надо подключить к +

Иван02 май 2018 1:50

А кондюк 232 со второй ноги правильно стоит???

LA05 апр 2018 13:20

Да, разумеется.

Дмитрий05 апр 2018 12:53

Понял,спасибо.Тогда сщё вопрос-будет ли он работать с ПОНЬКОЙ.

LA04 апр 2018 10:38

AVR шьёт аналогично.

Дмитрий03 апр 2018 18:44

Есть вопрос.PICи он шьёт без проблем , а как насчёт AVRов? Просто есть желание собрать данный дивайс и убрать отделные програмеры со стола куда нибуть в ящик.

Гость04 фев 2018 20:32

Посмотрите даташит на вашу MAX232, может быть надо по-другому включить конденсаторы. Если светодиоды мигают, значит интерфейс работает. Попробуйте подробно всё описать, может что-нибудь придумаем. Так-то это проверенный программатор.

Владимир04 фев 2018 11:06

С 2011 года много воды утекло,и возможно что менялось в схеме и забылось.Если можно,то на емаил :[email protected],скиньте рабочий программатор,схему и фото или что нибудь из печатки.Не хочет работать и всё!

LA02 фев 2018 0:09

Программатор по приводимым здесь схеме и печатке собран в 2011 году и прекрасно работает до сих пор.

КРЕНка подключена правильно.

Владимир01 фев 2018 20:36

Собрал данный девайс и был потрясён,спалил 3 микрухи max232 а толков никаких,не читает,не записывает,даже не стирает.Единственное что хорошо делает то моргают красиво светодиоды.8-волтовая КРЕНка подключена землёй к 5 вольтам,в процессе работы на шине 5Вольт появляется напряжение 6,7В .Печатка выполнена как у китайцев под продажу.У кого может есть переработанная рабочая схема?Жаль такая хорошая печатка получилась.

Александр17 мар 2017 16:01

Всё работает! В радиомаркете продали 2 битых атмеги. Спасибо за участие!, также спасибо автору статьи за прогер!

Гость14 мар 2017 21:32

А переключатель выбора микроконтроллера правильно стоит?

Александр14 мар 2017 21:27

Собрал девайс. Микросхема MAX232CPE, пришлось перепаять С3 и С5.Горит Power, моргают RXd и VPP при чтении и записи пишет ошибка, что не так? Помогите пожалуста!!!

Dan Kr12 мар 2017 19:13

Тут задавали вопрос по поводу отсутствия контакта PGM на разъёме PIC. Тоже обратил внимание на этот момент. Кто может, внесите ясность.

Гость12 мар 2017 18:56

Одно из двух: или по схеме или по даташиту. Говорят, есть разные ревизии MAX232, отсюда и такие варианты с этим конденсатором. Не знаю, насколько это правда, но у одних работает так, у других — этак.

Dan Kr12 мар 2017 18:17

Тут на форуме отметили непонятное подключение С3. Так куда же его всё таки подсоединять, на «+» или «землю»?

LA12 мар 2017 11:42

Добрый день. Эта схема с печатной платой были найдены в интернете в 2011 году, конструкция была успешно повторена.

USBasp программатор AVR микроконтроллеров делаем сами

Работает именно в таком варианте, без доработок, с AVR и PIC.
Стабилизаторы рекомендуется брать в мощных корпусах, потому что они нагреваются, т.к. разница напряжений на выходе и выходе существенна. Но радиаторы к ним не требуются. Диод можно заменить на 1N4148 или подобный.
По поводу остального подсказать могут только посетители.

Александр12 мар 2017 10:42

1. Добрый день. Есть несколько вопросов по схеме.

Скажите пожалуйста, в вашей схеме программатора выход «reset» для AVR не стоит подтягивать к «+» резистором 4,7 — 10 к?
2. Есть ли смысл VСС запитывать от отдельного стабилизатора 7805 и развязать от питания IC1 и IC2?
3. Ещё один вопрос. В схемах других программаторов на разъёме PIC есть контакт PGM, посаженный на землю через резистор 1к. Он нужен?
4. Есть смысл на шину VСС разъёма PIC поставить джампер на случай повторного перепрограммирования БУ контроллеров или задержка питания VСС делается программно?
5. Стабилизаторы в каких корпусах лучше брать в мощных или маломощных? Греться будут?
6. Можно заменить диод КД523 на КД 521 или КД522?
7. Под какой программой удобнее всего работать?
8. Могут программы для этого программатора – IC-PROG, PonyProg, WinPic работать под Win7-32? Что для этого надо сделать?

Вопросы появились после анализа кучи схем программаторов. В этих делах полный чайник. Но уже припирает. Спасибо большое за внимание и ответ. Прошу прощения за большую кучу вопросов. У вас очень удобный сайт.

Гость17 янв 2017 15:52

Для получения нужного напряжения, очевидно.

Артем17 янв 2017 14:47

Почему «земля» 7808 подключена на «+» 7805 ?

Комментарии: 12345

Пользовательские теги: програматор авр схемауниверсальный программатор своими руками[ Что это? ]

Дальше в разделе радиотехника, электроника и схемы своими руками: Источник ультрафиолетового излучения из лампы ДРЛ, мощный источник уф излучения из лампы дрл. включение лампы по бездроссельной схеме.

Программатор на основе Extra PIC — Микроконтроллеры — Схемы на МК и микросхемах

Привет ВСЕМ!!! Решил поделиться с Вами проверенным на практике, надёжным программатором, при помощи которого прошиваю МК и AVR для своих конструкций. Сегодня большинство поделок собираются на основе микроконтроллеров (МК). А чтоб схема заработала, его надо прошить. Тут уже без программатора никак не обойтись.
Программаторов в сети можно найти много. Но будет ли он четко работать и без сбоев??
Поэтому предлагаю Вам надёжный программатор, который проверен на 100%. Им можно прошивать как PIC контроллеры, так и AVR. Все свои поделки, которые делаю, прошиваю только им. И ни разу он не подводил в работе.
Подключается он к компьютеру к СОМ-порту и используются для программирования бесплатные программы ICprog, Poniprog, WinPic800, которые вполне обеспечивают потребности в программировании различных МК и AVR для всех основных конструкций. Тип программатора, который необходимо установить при запуске этих программ, в основном JDM-программатор.

Рисунок 1.
Внешний вид программатора.

Схема для данного программатора была взята из журнала Радио №8 за 2007 год.

Рисунок 2.
Схема электрическая принципиальная.

Панельки для программируемых микросхем подключаются к данному программатору согласно таблице.

Рисунок 3.
Таблица подключений контроллеров.

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

Рисунок 4.
Схема для программирования AVR.

Для программирования AVR, так же добавилась и отдельная плата. В ней предусмотрены места для кварцевых резонаторов, на случай, если не правильно были выставлены фьюзы при программировании (для работы с внешним кварцем). Желательно бы конечно ещё предусмотреть на этой плате — тактирующий генератор на обычной логике, на частоту 1-4 мГц (на одной микрухе ЛА3 например). Это на случай, когда фьюзы установятся для работы МК от внешнего RC генератора. Кварц здесь тогда уже не поможет, и чтобы программатор «увидел» МК, нужно на его тактирующий вход (XTAL1) подать внешние импульсы частотой 1-4 мГц. В будущем возможно соберу на этой плате такой генератор, пока просто не было необходимости в нём.

Рисунок 5.
Печатная плата для микросхем AVR.

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

Рисунок 6.
Печатная плата программатора.

Верхнюю поверхность платы сделал типа маски при помощи принтера. И это также одна из самых главных причин переделки. Так как на ней отмечено, где и куда вставляются детали, какие микросхемы и с каким количеством ног, и как вставлять МК. Этот пункт лучше не оставлять без внимания.

Рисунок 7.
Верхняя часть платы программатора.

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

Рисунок 8.
Собранный программатор.

Конечно, лучше всего для программирования МК иметь отдельный комп, чтобы не трогать и не выдвигать стационарный домашний. Самый лучший вариант — это приобрести старый «ноут» с СОМ-портом (вполе можно за очень даже не дорого). Различные переходники типов USB-COM здесь не катят.
Поставить туда ХР-ку и различные свои проги, настроить один раз и пользоваться для программирования только им.

В архиве размещены файлы печатных плат:
 
Архив для статьи «Программатор на основе Extra PIC.»
 

 

Простой программатор для микроконтроллеров PIC и AVR

[Chip PIC16F84_ICP] Секция чипа c уникальным названием чипа
Level1=MicroChip Название пункта меню верхнего уровня
Level2=PIC Название пункта меню 2-го уровня вложения
ItemCaption=PIC16F84 Название конечного пункта меню
InitClass=TfrmMICROCHIP_PIC_ICP Название класса окна-фрейма программирующего данное семейство чипов
по определенному протоколу
Названия классов предопределены в программе: TfrmMICROCHIP_PIC_ICP и TfrmATMEL_AVR_ICP
Здесь идет определение программируемых областей, в пунктах Content разные параметры отделяются символом «|»
Area_1_Content= Code | 0..3FFh (1KW) Название и описание области программирования
Area_1_data=CODE, 0, $3FF, 14 Данные связанные с областью программирования — уникальный идентификатор, начальный адрес, конечный адрес, размер слова данных в битах
Area_2_Content=EEPROM | 0..3Fh (64B)
Area_2_Data=EEPROM,0,$3F,8
Area_3_Content=Configuration word | CP, PWRTE, WDTE, FOSC
Area_3_Data=CONFIG,$2007,$2007,14
Area_4_Content=ID Locations | 2000H-2003H
Area_4_Data=ID,$2000,$2003,8
и т. д. для других областей
Здесь идет определение установок для некоторых областей программирования определенных выше
Param_1_Content=CP | CP | CONFIG Определение установки с названием CP, с уникальным идентификатором CP из области CONFIG. По умолчанию установка принимает значение с номером 1 в суффиксе идентификатора
  Описание возможных значений установки
Param_1_Choice1=1 — Code protection OFF Название 1-го значения установки CP
Param_1_Choice1_icon=4 Номер во внутреннем списке отображаемой иконы для 1-го значения
Param_1_Choice1_data=1111111111xxxx маска 1-го значения
Param_1_Choice2=0 — Code protection ON
Param_1_Choice2_icon=3
Param_1_Choice2_data=0000000000xxxx
Описание 2-го значения установки
Param_2_Content=PWRTE | PWRTE | CONFIG
Param_2_Choice1=1 — Power up timer disabled
Param_2_Choice1_icon=2
Param_2_Choice1_data=xxxxxxxxxx1xxx
Param_2_Choice2=0 — Power up timer enabled
Param_2_Choice2_icon=1
Param_2_Choice2_data=xxxxxxxxxx0xxx
Описание следующей установки и ее значений

Param_3_Content=WDTE | WDTE | CONFIG
Param_3_Choice1=1 — WDT enabled
Param_3_Choice1_icon=1
Param_3_Choice1_data=xxxxxxxxxxx1xx
Param_3_Choice2=0 — WDT disabled
Param_3_Choice2_icon=2
Param_3_Choice2_data=xxxxxxxxxxx0xx

Param_4_Content=Oscilator | FOSC | CONFIG
Param_4_Choice1=RC oscillator (11)
Param_4_Choice1_icon=8
Param_4_Choice1_data=xxxxxxxxxxxx11
Param_4_Choice2=HS oscillator (10)
Param_4_Choice2_icon=8
Param_4_Choice2_data=xxxxxxxxxxxx10
Param_4_Choice3=XT oscillator (01)
Param_4_Choice3_icon=8
Param_4_Choice3_data=xxxxxxxxxxxx01
Param_4_Choice4=LP oscillator (00)
Param_4_Choice4_icon=8
Param_4_Choice4_data=xxxxxxxxxxxx00


Param_5_Content=ID | ID | ID
Param_5_Choice1=0000

USBasp программатор микроконтроллеров AVR на Atmega8 своими руками

В данной статье мы опишем „шаг за шагом” этапы изготовления USBasp программатора для микроконтроллеров AVR. В отдельных статьях приведем описание установки драйверов для операционных систем Windows XP и Windows 7 (x64/x86). В конце поста размещена ссылка с необходимой документацией для изготовления программатора USBasp своими руками.

Программатор USBasp, благодаря своей простоте в изготовлении и использовании недорогих и широкодоступных элементов, стал очень популярным среди радиолюбителей. Его параметры работы не уступают профессиональным и дорогим программаторам микроконтроллеров AVR.

Основные характеристики программатора USBasp

  • Работает с несколькими операционными системами – Linux, Mac OS X и Windows – включая Windows 8!
  • Не требует внешнего питания.
  • Умеет программировать со скоростью вплоть до 5kB/s
  • Есть вариант (Switch 2) снижения скорость программирования – для процессоров с кварцем меньше 1,5 Мгц
  • Обеспечивает напряжение для программирования (Switch 1) 5 вольт
  • Указание работы программатора с помощью светодиода

Перед началом работы, стоит ознакомиться с последовательностью всех выполняемых действий, а именно:

  1. Выбор схемы/рисунка печатной платы
  2. Перенос рисунка печатной платы на фольгированный стеклотекстолит
  3. Травление печатной платы в растворе хлорного железа
  4. Сверление отверстий
  5. Монтаж элементов (пайка)
  6. Программирование Atmaga8 программатора
  7. Подключение программатора к компьютеру
  8. Установка драйверов – Windows XP, Windows 7
  9. Выбор программы с поддержкой USBasp

Существует много версий USBasp программатора, но все они основаны на главной схеме, автором которой является Thomas Fischl. Прошивка микроконтроллера программатора также является его авторством.

Оригинальная схема программатора:

В данном случае за основу была выбрана оригинальная схема. Поскольку использование перемычек в оригинальной схеме не совсем удобно, было принято решение использовать DIP переключатели. Так же были изменены некоторые значения резисторов.
Более того, в оригинальной схеме линии TxD и RxD выведены на разъем ISP, хотя это не нужно (точнее не используются на практике).

Ниже приведена схема с внесенными изменениями:

Строительство USBasp программатора

Существует много версий печатной платы данного программатора, некоторые можно найти на официальном сайте USBasp. Однако, была сделана своя на основе выше представленной схемы.

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

Ниже результат печатной платы:

 

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

Список элементов используемых в USBasp программаторе:

 

  • R1: 10к
  • R2: 180
  • R3: 100
  • R5, R6: 68
  • R7: 2к2
  • C1, C2: 22п
  • C3: 10мк
  • C4: 100н
  • LED1: Красный светодиод на 20мА
  • LED2: Зеленый светодиод на 20мА
  • D2, D3: стабилитроны на 3,6В
  • X1: Разъем USB, тип B
  • SV1: Гнездо под разъем IDC-10
  • Q1: Кварц 12МГц, корпус HC49-S
  • SW1: Dip переключатель трехпозиционный
  • IC1: Atmega8  (ПРИМЕЧАНИЕ: Не следует использовать микроконтроллер Atmega8 — PU из-за его ограничение максимальной тактовой частотой до 8 МГц!)

Перенос рисунка печатной платы USBasp программатора на стеклотекстолит выполнен с помощью метода ЛУТ (лазерно-утюжной технологии). Как это делать описывать не будем, поскольку данной информации в сети много.

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

Следующий этап – вытравливание платы в растворе хлорного железа. Во время травления желательно поддерживать температуру раствора не ниже 40 C, поэтому банку с раствором погружаем в горячую воду:


После завершения процесса травления необходимо удалить тонер ацетоном.

Остается теперь только просверлить отверстия. После завершения процесса изготовления платы можно приступать к пайке элементов USBasp программатора, начиная с перемычек.

Готовые к печати (в формате PDF) рисунок печатной платы находится в конце статьи. Вы также можете найти несколько вариантов на официальном сайте проекта.

Первый запуск USBasp программатора

Теперь, когда все детали спаяны, остается только «прошить» микроконтроллер Atmegę8 самого программатора. Для этого нужен отдельный программатор, это может быть, например, STK 200 (LPT порт), STK500 и т. д. LPT программатор подключается к USBasp через разъем IDC-10.

Обратите внимание, что распределение пинов в разъеме оригинального программатора (USBasp) находится справа, в то время как в версии, описываемой в этой статье – слева:

Распределение, показанное на рисунке справа, соответствует тем, которые применяет компания Atmel в своих оригинальных программаторах. Такое распределение уменьшает риск возникновения помех во время программирования в случае применения длинных проводов от программатора к контроллеру, так как каждая сигнальная линия экранирована массой, кроме MOSI.

На время программирования включите режим SELF путем переключения DIP переключателя № 3 в положение ON. Благодаря этому появляется возможность запрограммировать Atmega8. После завершения программирования, положение переключателя (3) должна быть переведено в состоянии OFF.

Последнюю версию прошивки можно скачать с официального сайта. Рекомендуем версию для Atmega8, которая находится в архиве: usbasp.2011-05-28.tar.gz.

Обратите внимание, чтобы перед программированием Atmega8 необходимо выставить фьюзы которые имеют следующие значения:

  • # для Atmega8: HFUSE=0xC9 LFUSE=0xEF
  • # для Atmega48: HFUSE=0xDD LFUSE=0xFF

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

Установка драйверов USBasp программатора

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

  • Установка драйверов для программатора USBasp под Windows XP
  • Установка драйверов для программатора USBasp Windows 7 x64/x86

Программы для работы программатора USBasp

Самой популярной программой, поддерживающей программатор USBasp, это консольная программа AVRdude. Так же существует множество производных программ, использование которых намного удобнее. Они представлены в статье Сравнение программ для поддержки программатора USBasp.

Скачать прошивку, рисунок печатной платы и драйвер USBasp программатора (unknown, скачано: 1 839)

Оригинал статьи

alexxlab

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *