Расширение для avr программатор. Программатор USB ISP для AVR: Ещё один шаг в сторону от ардуинонизации. "Прошивка" микроконтроллера PIC18F2550

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

открывает огромные перспективы перед радиотехником. Микроконтроллеры выпускаются всего несколькими фирмами, лидерами из которых являются MicrochipTechnology, ATMEL, ARMLimited. Главной особенностью подобных приборов является необходимость их программной прошивки. Для этого и необходимы программаторы. На сегодняшний день существует огромный выбор различных типов программаторов, правда, цена таких изделий весьма высока, и не каждый радиолюбитель сможет позволить себе приобрести такое устройство.

В этой статье мы рассмотрим USB-программатор (AVR) на базе управляющего микроконтроллера Atmega 8. Это изделие достаточно простое, для того чтобы радиолюбитель смог собрать его самостоятельно и не тратил большие деньги на фирменное изделие. Выбранный нами USB-программатор (AVR) имеет минимальную обвязку микроконтроллера, что позволяет собрать весьма миниатюрный прибор. Такое изделие не займет много места, оно имеет обычной флэшки. USB-программатор (AVR) в своей схеме содержит микроконтроллер тип корпуса - TQFP 32 (не следует путать с типом корпуса DIP, так как у них различные распиновки). Схема такого устройства приведена на фото.

Приступим к описанию схемы прибора. Перемычка J1 используется в том случае, когда возникает необходимость прошивки микроконтроллера, имеющего тактовую частоту ниже 1,5 Мгц. При желании эта перемычка легко исключается из схемы, для этого 25-й вывод контроллера садится на «землю». В таком случае AVR-USB-программатор всегда будет функционировать на пониженной частоте. Следует учесть, что программирование на занимает больше времени, но решать, конечно же, вам. Стабилитроны D1, D2 применяются для согласования уровня между USB-шиной и программатором. Голубой светодиод сигнализирует о готовности устройства к программированию микроконтроллера, красный диод горит в процессе программирования. Схема имеет IDC-06 разъем, на который выведены контакты, распиновка которых соответствует типу ATMEL 6-пинового разъема ISP. На указанный разъем выводятся контакты питания микроконтроллеров, оно берется с USB-порта персонального компьютера, следовательно, необходимо быть внимательным, чтобы не допустить С помощью этого же разъема происходит программирование и управляющего контроллера, для этого необходимо соединить контакты Reset на контроллере и на разъеме (на схеме показано красным пунктиром).

Перемычка снижения скорости программатора и разъем подключения микроконтроллера расположены на торце устройства. Вот что представляет собой USB-программатор (AVR), как видите, все элементарно.

После сборки устройства необходимо прошить управляющий микроконтроллер, для этого рекомендую использовать программу PonyProg. При программировании заводим кристалл на функционирование от внешнего тактирующего источника на 12 Мгц.

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

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

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

А чтобы залить нужную прошивку в АТМЕГу, никак не обойтись без программатора. Далее мы рассмотрим две самые простые и проверенные временем схемы программаторов.

Схема первая

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

СОМ-разъем на схеме - это "мама".

На всякий случай привожу разводку печатной платы для атмеги8 (), хотя такую примитивную схему проще нарисовать от руки. Плату перед печатью нужно отзеркалить.

Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то или лучше сразу ).

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

Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки .

А вот весь программатор в сборе:

Питание (+5В) я решил брать с USB-порта.

Если у вас новый микроконтроллер (и до этого никто не пытался его прошивать), то кварц с сопутствующими конденсаторами можно не ставить. Работа без кварцевого резонатора возможна благодаря тому, что камень с завода идет с битом на встроенный генератор и схема, соответственно, тактуется от него.

Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.

Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.

Заливать прошивку лучше всего с помощью программы PonyProg (скачать).

Прошивка с помощью PonyProg

Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко "Calibration OK".

Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.

После чтения появляется окно "Read successful". Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем "Открыть".

Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.

Вот и все, МК прошит и готов к использованию!

Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот. Определить это можно, считав фьюзы и посмотрев на галку "SPIEN".

Схема вторая

Еще одна версия программатора, с помощью которого можно залить прошивку в микроконтроллер АТМЕГа (так называемый программатор Геннадия Громова). Схема состоит всего из 10 детатей:
Диоды можно взять любые импульсные (например, наши КД510, КД522). Разъем - "мама". Питание на МК (+5В) нужно подавать отдельно, например, от того же компьютера с выхода USB.

Все это можно собрать навесным монтажом прямо на разъеме, но если вы крутой паяльник и знаете, что такое smd-монтаж, то можете сделать красиво:

Алгоритм прошивки с помощью программатора Громова

Программатор с установленной микросхемой подключаем к СОМ-порту компьютера, затем запускаем Uniprof, затем подаем питание на микроконтроллер. И первым делом проверяем, читаются ли фьюз-биты.

Если все ок, выбираем файл с нужной прошивкой и жмем запись.

Будьте предельно внимательны и осторожны, потому что если глюканет при записи фьюзов, то МК либо на выброс, либо паять схему доктора (а она сложная). Если поменяете бит SPIEN на противоположный - результат будет тот же (к доктору).


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

Основой программатора является микросхема FT2232D . Представляет она собой преобразователь USB в два порта UART. Особенность заключается в том, что «верхний» канал А может работать в режимах JTAG, SPI и I 2 C, что и требуется для программирования микроконтроллеров, различных микросхем памяти и т.п.

Разработка данного USB-программатора ведется на компьютере с использованием библиотек от фирмы FTDI Chip.

Питается устройство от интерфейса USB. При правильной сборке схема не нуждается в настройке. Функционирование устройства зависит от мастерства разработчика ПО. Резисторы R8, R9, R12, R13, R14, R15, R16 являются токоограничивающими при неправильном соединении с устройством, соответственно, выводы программируемого устройства не должны соединяться с другими элементами в схеме, или иметь такие подтяжки, которые при образовании делителей напряжения не искажали бы логические уровни. Микросхема U1 используется для сохранения пользовательских настроек.

Выводы U2 (канал А):
24 - ADBUS0 – выход- в режиме JTAG TCK, в режиме SPI SK;
23 - ADBUS1 – выход- в режиме JTAG TDI, в режиме SPI DO;
22 - ADBUS2 – вход- в режиме JTAG TDO, в режиме SPI DI;
21 - ADBUS3 – выход- в режиме JTAG TMS, в режиме SPI как вспомогательный сигнал(CS);
20 - ADBUS4 – в режиме JTAG вход\выход, в режиме SPI вспомогательный выход. Этот вывод используется для подачи сигнала RESET в микроконтроллер;
15 - AСBUS0 – свободно программируемый вход\выход во всех режимах (опционно используется для подачи питания в программируемое устройство);
13 - AСBUS1 – свободно программируемый вход\выход во всех режимах.

В принципе, эти выводы многофункциональные. Их поведение определяется выбранным режимом при открытии порта.

Канал В используется для отладки программируемого устройства. Для этого нужно только иметь незадействованный порт UART в микроконтроллере. Далее дело техники. В программе микроконтроллера в нужных местах используем функцию форматированного вывода printf().

40 -BDBUS0 – выход- в режиме UART TXD;
39 -BDBUS1 – вход- в режиме UART RXD;
28 - BСBUS2 – выход- в режиме UART LED-индикатор (зажигается при передаче данных через USB);
27 - BСBUS3 – выход- в режиме UART LED-индикатор (зажигается при приеме данных через USB).

Ниже приведена печатная плата программатора

На сегодняшний день данный универсальный программатор поддерживает микроконтроллеры AVR по интерфейсам JTAG и SPI. Причем скорость прошивки Atmega64 по JTAG не более 5-и секунд, по SPI не более 8-ми секунд. Принципиально, прошивать можно любые микроконтроллеры, к которым распространяется спецификация для программатора. В настоящий момент, например, ведется разработка для поддержки микроконтроллеров NEC.

Рабочая форма поделена на две части: слева таблицы для работы с FLASH (сверху) и EEPROM (снизу), сюда можно открывать файлы или загружать прошивки из микроконтроллера, делать верификацию, править содержимое ячеек памяти; справа текстовое поле для отладки, сюда выводятся данные с канала В, также можно там вводить текст, который отправится в порт (функционально это аналог HyperTerminal). Разработка ведется на платформе Visual C# под Windows. Также есть возможность разрабатывать на других языках. Программатор может работать и под Linux.

Используемая литература:
1. А.В. Евстигнеев «Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL», М. Издательский дом «Додэка-ХХI», 2005.
2. Future Technology Devices International Ltd. “FT2232D Dual USB UART/FIFO I.C.” , Datasheet, 2006.
3. Future Technology Devices International Ltd. “Software Application Development D2XX Programmer"s Guide” , Document, 2009.
4. Future Technology Devices International Ltd. “Programmers Guide for High Speed FTCJTAG DLL” , Application note AN_110, 2009.
5. Future Technology Devices International Ltd. “Programmers Guide for High Speed FTCSPI DLL” , Application note AN_111, 2009.
6. Эндрю Троелсен «С# и платформа.NET» М.,С-П. Питер, 2007.

Скачать исходники ПО и печатную плату в формате вы можете ниже

Борисов Алексей () г.Сызрань, Самарская обл.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U1 Микросхема AT93C46D-8S 1 В блокнот
U2 Микросхема FT2232D 1 В блокнот
VT1 MOSFET-транзистор

BSS84

1 В блокнот
С1 Конденсатор 0.01 мкФ 1 В блокнот
С2, С3 Конденсатор 27 пФ 2 В блокнот
С4, С5, С7, С9, С10 Конденсатор 0.1 мкФ 5 В блокнот
С6 Конденсатор 0.033 мкФ 1 В блокнот
С8 Электролитический конденсатор 10 мкФ 1 В блокнот
R1 Резистор

2.2 кОм

1 0.05Вт В блокнот
R2 Резистор

10 кОм

1 0.05Вт В блокнот
R3, R4 Резистор

27 Ом

2 0.05Вт В блокнот
R5 Резистор

470 Ом

1 0.05Вт В блокнот
R6, R7 Резистор

1.5 кОм

2 0.05Вт В блокнот
R8-R16 Резистор

06-01-2011

Описание

Этот простой AVR программатор позволит вам безболезненно загружать программы в формате hex в большинство AVR микроконтроллеров от ATMEL, не жертвуя своим бюджетом и временем. Он более надежен, чем большинство других простых доступных AVR программаторов, и на его сборку уйдет гораздо меньше времени.

AVR программатор состоит из внутрисхемного последовательного программатора (с разъемом) и маленькой печатной платы с DIP панелькой, в которую вы можете поместить свой микроконтроллер и быстро его запрограммировать.

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

Весь AVR программатор собирается из широко распространенных компонентов и умещается в корпусе разъема COM порта. Печатная плата с DIP панелькой позволяет вставлять в нее 28-выводной AVR микроконтроллер ATmega8 в корпусе DIP, но вы можете изготовить печатные платы для микроконтроллеров в любых других корпусах. Этот программатор совместим с популярным ПО PonyProg, которое показывает вам ход процесса прошивки в виде шкального индикатора статуса.

Внутрисхемный последовательный программатор AVR

Плата с панелькой для AVR

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


Плата включает в себя 28 выводную DIP панельку, кварцевый резонатор на 4 МГц или резонатор с двумя конденсаторами по 22 пФ, и два разъема. Двухконтактный разъем служит для подключения к AVR микроконтроллеру питания +5 В, а 6-контактный - для подключения программатора.

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

ПО PonyProg

Чтобы иметь возможность загружать hex файлы из компьютера в микроконтроллер, вам потребуется скачать и установить ПО . После установки, первое, что предстоит сделать, это сконфигурировать PonyProg для работы с AVR программатором. Для того, чтобы сделать это, войдите в меню «Setup» и выберите пункт «Interface Setup». Ниже на рисунке подсвечены именно те опции, которые вам следует выбрать.

Следующим шагом выберите «AVR micro» и тип микроконтроллера, который хотите запрограммировать (например ATmega8).

Теперь конфигурирование PonyProg завершено, и мы можем открыть hex файл с программой, которая будет зашита в микроконтроллер. Перейдите в меню «File», выберите «Open Program (FLASH) File ...» и укажите на hex файл, который надо зашить. Вы должны увидеть шестнадцатеричные значения, примерно такие, как показаны на рисунке ниже. Если вы все еще не подключили программатор к последовательному порту компьютера, то сейчас самое время это сделать. Убедитесь, что ваш программатор физически подключен к AVR микроконтроллеру через плату с панелькой или 6 контактный разъем ICSP. Наконец, кликните на подсвеченной иконке «Write Program Memory (FLASH)» или идите в меню «Command» и выберите «Write Program (FLASH)».

Кликните на кнопке «Yes», чтобы подтвердить запись.

Теперь сядьте поудобнее, расслабьтесь и наблюдайте за процессом программирования по индикатору состояния. PonyProg прошьет AVR микроконтроллер и проверит, загрузился ли hex файл без ошибок. Этот процесс обычно занимает от 10 до 30 секунд, в зависимости от размера программы, которую вы будете зашивать в микроконтроллер.

После программирования появится окно «Write successful», показывающее, что AVR микроконтроллер был запрограммирован и теперь готов к использованию.

  • Проверяйте монтаж и подключение к целевому микроконтроллеру.
  • ну в этой схеме нет ничего военного и изготовлять ее не надо а включил ком порт лоника в комп и вперед,правда в моем еще по ком порту стоит буфер чтобы случайно не сжечь.А что касаеться по пользованию прогой пони -забыли про одно из главного сказать-про фьюзы.ведь неправильно установишь и микросхема залочиться
  • ком порт устарел. если есть только usb то работу с контроллерами можно считать оконченой даже не начав???? usb-com ни кто в сети не предлогает.а если и предлогают то в схеме как раз стоит контроллер. если уж собирать самому то с нуля. а не так как сейчас многие делают, заказал конструктор, напихал в дырки элементов,запаял,и всё.таких гениев на службе хватает. а подойдёш к такиму с вопросом он и толком знать не знает. а ведь хочется знать подробно.
  • Ну конечно никто (пишется слитно!) не предлАгает. Поскольку куча готовых микросхем есть в типовом включении - мостов USB-COM на 5В и 3.3В питания. Но шибко грамотные граждане естественно об этом не знают. Про AVR910-аналог от Проттоса тоже не знают, в котором МК по USB виртуальный COM-порт изображает и программирует по ISP. Например. У буржуев тоже куча аналогичных конструкций. И описаний подробных конечно нет - это же искать надо. А хочется сразу готовенького - нажал на одну кнопку и все-все на блюдечке с голубой каемочкой. А может лучше уроки учить?
  • много уважаемый SergeBS этот форум не для орфографических ошибок и тем более не для поучений о том что оно есть. тут помощи и совета просят у людей которые знают и сталкивались с той или иной проблеммой. а то что есть готовое и можно купить и не напрягаться это конечно круто. P.S тем не менее спасибо ВАМ за участие в проблемме. И ОТДЕЛЬНОЕ ЗА ОЧЕНЬ ПРИГОДИВШИЕСЯ ПОУЧЕНИЯ. буржуям привет, а то что у них до?рена чего есть этого то я и знать не мог. куда нам крестьянам.
  • Угу. Типа "крютые", которые как хотят так и пишут. Причем "проблемму" и сформулировать не могут. Сопли типа:"хачу чавой-то знать, а чаво - ня знаю самм" - не в счет.:)
  • Вы ещё не знаете из чего всё это делается... На китайской барахолке детали для ваших схем продают на вес килограммами и никакие стандарты качества к таким деталям не имеют отношения. Покупайте только фирменные товары в соответствующих фирмах.
  • Заказываю в Интернет-магазинах (российских). Пока (тьфу * 3) на брак/халтуру и т.п. не налетал.
  • Здравствуйте! Всех с наступающим Новым Годом! :) Собрал программатор для AVR по указанной схеме (проверял 3 раза все). Но понипрог 2000 отказывается видеть и программировать контроллер ATMega168-20PU - выдает ошибку device missing or unknown device (-24). Использовал стабилитроны КС407Г, Транзистор КТ3102АМ и диод КД522Б. Кварц у меня был на 4.032 МГц. Питание от L7805. Перед возникновением ошибки успевают придти сервисные сообщения, которые я мониторю с помощью Advanced Serial Port Monitor, но там только включение и выключение Break в процессе записи. Никакие данные не уходят. Настраивал ПониПрог2000 все по инструкции. Шаг за шагом. С чем эта ошибка может быть связана? Нужно ли подсоединять 22 ножку к земле и 20 к питанию (аналоговые земля и питание)? Почему не используется чип-селект (SS ножка 16 контроллера)? Спасибо за помощь!
  • Я собрал этот программатор и использовал: Резисторы - указанных номиналов Транзистор - KT3102ГМ Диод H48 это аналог 1N4148 Стабилитроны - BZX55C 5.1 вольта Также кварц на 4Мгц и 2 керамических конденсатора на 22 пФ, но я не думаю что они обязательны т.к. использование кварца внутренний/внешний мы устанавливаем программируемыми битами, с завода микрухи запрограммированы использовать внутрений кварц(если я не ошибся) Внешнее питание от +5В обязательно.Я подключил от БП того же ПК с которого заливал прошивку. Диод H48 (такая маркировка на присутствует на корпусе этого диода) на просторах интернета говорят что это аналог 1N4148. У меня всё работает, ПониПрог 2000 успешно залила прошивку в ATmega8. Фото http://i.imgur.com/34GhDcN.jpg http://i.imgur.com/gCzAuzA.jpg
  • Посоветую один из проектов avr mk ii clone, на базе либы и примера от lufa. Контроллер at90usb168 обычно идет с бутлоадером, позволяющим после сборки залить прошивку через usb без внешнего программатора. Поддерживает все нынешние avr, включая xmega и новые тиньки, pdi/tpi протокол. Работает с avrstudio и dude, разные прошивки для них. Исходники открыты, шишки отработаны. Например, для новых студий достаточно инкрементить версию fw в настройках прошивки. Собирается прошивка под winavr. Мой вариант в этой теме, от 12 года. С фоточкой. http://m.radiokot.ru/forum/viewtopic...rt=700&t=26417
  • Здраствуйте.собрал этот прогроматор для прошивки ATtiny 2313 все работае прог.читаем МК без проблем но вот такая проблема атор схемы для которой я прошиваю МК написал что первый раз можно прошивать без внешнего кварца,но при этом сперва заливать прошивку МК,а потом менять Fuse короче я залил прошивку,встала нормально,потом поменял Fuse и нажал Write но после таго как я нажал Write вылезла вот это Device missing or unknown device (-24) и после этого больше МК не читаеться в чом может быть проблема
  • это обратно я подскажите пожалуста попробывал прошить ATtiny 2313 с внешним кварцем ипоставил 2 конденсатора,кварц на 8 МГц,подк. прогром.он прочитал МК открыл прошивку в пони выставил Fuse какие надо вот это заводские http://i.imgur.com/rSdlENN.jpg а вот такие надо прошить http://i.imgur.com/gc4yyxA.gif но еще что я заметил в заводских стоит одна галочка которую нельзя убрать называеться SPIEN ,а какие надо прошить там нет этой галочки ну ладно дальше продолжу свою проблему после таго как я откры прошивку и выставил Fuse как на второй картинке я нажал READ DEVICE пошол процес прошивки и в завершении вышло вот это http://i.imgur.com/UpR5qhE.jpg потом я закрыл пони и открыл снова и нажал прочитать МК и получил вот это Device missing or unknown device (-24) такое же что я прошивал без внешнего кварца,выше описанное,и после этого этот МК больше не читался кто может сказать в чом дело,что я зделал не так Просто уже 3 МК убил большое спасибо прото я в этом новичок
  • У меня эта ошибка вылазила только когда я внешнее питанее не подключал, ну естественно у тебя в схеме могут быть ошбки, может ты не на ту микруху пони прог настроил(но маловероятно ведь прошивка залилась я сам новичёк.) SPIEN – фьюз, который разрешает работу МК по интерфейсу SPI. Все микроконтроллеры выпускаются с уже установленным битом SPIEN. Считается опасным фьюзом...
  • Fuse-бит SPIEN установлен по умолчанию в микроконтроллерах AVR (режим внутрисхемного программирования) и с помощью PonyProg его убрать не получится. Да и вообще его лучше не трогать... Установив и запрограммировав Fuse-биты как на последней картинке, вы настроили мк на работу от внешнего кварца 8 Мгц, отключили внутренний делитетель тактовой частоты на 8 и включили Brown-Out Detector (модуль контроля питания) с уровнем 2.7 В. И после этого программатор микроконтроллер не увидел, поэтому логично было бы подать на микроконтроллер внешнее питание (не от PonyProg) и попробовать прочитать его снова. PS: Конечно, если изначально все было сделано корректно (тип микроконтроллера в программаторе ри программировании был выбран правильно и Fuse-биты были правильно установлены)
  • спасибо за ответ просто я прошил на 3 МК нету прошивку и теперь прогром.не видет их и мне надо их перешить и я всегда подовал внешние питание при прошивки но пони всеравно его не видит,но МК работает,я вставлял ее на прибор для кокого я ее прошивал все три рабочие,но мне надо туда другие залить Я спросил у автора схемы для которой я их прошивал как их перешить он мне сказал что если с внешним кварцем неопределяеться то надо еще внешний генератор тактовой частоты делать и подовать сигнал на МК XTAL 1 и тогда прогром. увидет МК если кто может кинте не сложную схемку внешний генератор тактовой частоты сколько гуглил не чего чот не нашол или может кто другой способ а Fuse мне обезателно надо было помннять как на второй картинке потомучто с заводскими работать не будет спасибки за помощь
  • Спасибо за статью! Отличный адаптер. Работает шустро, без ошибок. Я первым делом под LPT порт спаял, не было под рукой COM штекера. Дак LPT порт сгорел на первой же заливке. Пришлось бежать за COM штекером в магаз. Так же рекомендую спаять фьюз доктора - очень полезная штука. Я первый-же кристал так отфьюзил, казалось что он выпустил свою душу (синий дымок), а нннет! - Дохдур фьюз его моментально вернул к жизни. Вот и выходит: этот адаптер + док фьюз = полноценный параллельный программатор.
  • После "синего дымка" ни один доктор его бы к жизни не вернул. А "Доктор фьюз" - да, наверное, иногда может быть полезным. Но почти всегда удается обойтись и без него, нужно только затактировать МК не от кварца, а от внешнего генератора...
  • А вот мне посчастливилось, при первом же конфигурировании фьюзов, захлопнуть так, что ни один генератор не спасёт. Я не знал, что бывают 2 варианта отображения фьюзов: Прямой (исторический, канонический) и инвертированный (интуитивно удобный). Вот я и выставил в каноническом галки с фото инвертированного. Кстати, PonyProg, оперирует фьюзами в инвертированном представлении.
  • Читать всем:

Еще одним несложным, в плане изготовления, является COM программатор. При условии использования альтернативного режима COM порта Bitbang, отпадает необходимость в преобразовании интерфейса RS232 COM порта в SPI, необходимый для программирования. Остается только привести уровни сигналов COM порта (-12В, +12В) к необходимым (0, +5В). Это и делает
схема COM программатора для AVR микроконтроллеров:

Данная схема программатора достаточно распространена и известна как программатор Громова. Название пошло от автора программы Геннадия Громова, который и предложил такую схему.

Чтобы собрать программатор Громова нам нужно следующее:

Диоды КД522, КД510, 1N4148 или им подобные. Резисторы можно использовать любые, какие найдете. В качестве шлейфа можно использовать IDE шлейф. При подключении шлейфа, для более устойчивой работы программатора, каждый «сигнальный» провод должен чередоваться с «земляным» проводом. Это позволит уменьшить уровень помех наводимых в линиях и за счет этого увеличить длину программирующего провода. Длина шлейфа должна быть в пределах 50 см. Еще нужен разъем для подключения к программируемому устройству.
Для внутрисхемного программирования Atmel рекомендует стандартные разъемы:


Если Вы планируете серьезно заняться микроконтроллерами, сделайте разъемы стандартными. Для разового программирования устройства я рекомендую использовать на программаторе (такими разъемами к материнской плате подключаются кнопки и светодиоды корпуса компа — именно их я и взял) и штырьки PLS «папы» на плате. Это позволяет максимально упростить разводку платы устройства, так как штырьки для программатора устанавливаются в непосредственной близости возле ножек микроконтроллера. Ножки MOSI, MISO, SCK у микроконтроллеров AVR всегда расположены вместе, поэтому для них можно применить строенный разъем. Отдельно делаем подключение для «земли»-GND и «сброса»-Reset.

Собрать COM программатор не составит труда:

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

Для того чтобы наш COM программатор заработал нужна , к которой мы подключим программатор и для микроконтроллера.

— Так как режим Bitbang нестандартный для COM порта компьютера, то возможны сбои в работе (хотя у меня такого не было). Особенно это касается ноутбуков. Как вариант решения этой проблемы можно рекомендовать «поиграться» настройками COM порта (скорость, биты данных, варианты управления потоком, величины буфера …).
— Отдельный разъем для «земли» желательно подключить первым, чтобы уравнять потенциалы «земли» программируемого устройства и компьютера. Для тех, кто не знает, если у Вас компьютер включен в обычную розетку, без заземляющего контакта, то в виду особенности фильтра блока питания компьютера, на корпусе компьютера всегда присутствует потенциал в 110В.

Заключение:

— COM программатор Громова простой и надежный. Я не перестал пользоваться им даже собрав USB программатор (если какой либо микроконтроллер перестает программироваться USB программатором я обязательно перепроверю его на программаторе Громова).
— Так как программатор Громова собран на пассивных элементах он не требует для себя питания. Мало того, из-за паразитного питания, микроконтроллер можно запрограммировать вообще не подключая к нему источника питания! Хотя так программировать я не рекомендую, но сам факт интересен.
— Для пользователей Algorithm Builder есть приятный бонус! Этот программатор можно использовать для внутрисхемной отладки кристалла (программный JTAG).