Site Loader

Содержание

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

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

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

Первая группа включает в себя программаторы, построенные на основе микроконтроллеров (в частности, 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 ПРОГРАММАТОР

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

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

Описание USB программатора

USB программатор построен на плате, сделанной из одностороннего фольгированного стеклотекстолита . На плате есть 2 перемычки: одна расположена под разъё­мом SPI, вторая перемычка расположена неподалеку от того же разъема.

После того как все детали будут запаяны нужно прошить микроконтроллер Atmega8 прошивкой приведенной в конце статьи. Фьюзы, которые необходимо выставить при программировании микроконтроллера Atmega8, должны выглядеть следующим образом:

  • SUT1 = 0
  • BOOTSZ1 = 0
  • BOOTSZ0 = 0
  • CKOPT = 0
  • SPIEN = 0

Необходимо напомнить, что в некоторых программах фьюзы выставляются противоположно этому. Например, в программе CodeVisionAVR необходимо проставить галочки напротив вышеперечисленных фьюзов, а в программе PonyProg наоборот.

Программирование Atmega8 через LPT-порт компьютера

Самый быстрый и дешевый способ запрограммировать Atmega8 – применить LPT-программатор для AVR. Подобная схема приведена ниже.

Питание микроконтроллера осуществляется от простого стабилизатора напряжения 78L05. В качестве оболочки для программирования можно использовать программу UniProf.

При первом включении программы и при не подключенном контроллере, нажав кнопку «LPTpins», необходимо настроит выводы LPT-порта следующим образом:

В момент запуска UniProf, она автоматом определяет вид микроконтроллера. Загружаем в память UniProf прошивку Atmega8_USB_prog.hex, отклоняем подключение файла EEPROM.

Выставляем следующим образом фьюзы (для программы UniProF), нажав кнопку «FUSE»:

Для запоминания установок нажимаем все три кнопки «Write». Затем нажав на «Erase» предварительно очищаем память прошиваемого микроконтроллера. После этого уже жмем на «Prog» и дожидаемся завершения прошивки.

Настройка USB программатора

После того как наш микроконтроллер прошит, его необходимо установить в плату USB программатора. Далее подключаем программатор к USB порту компьютера, но пока питание не подаем.

Настройка порта:

Настройка терминала:

Настройка ASCII:

Теперь после всех проделанных процедур, подаем питание на USB программатор. Светодиод HL1 должен промигать 6 раз и затем светится постоянно.

Для проверки связи USB программатора с компьютером 2 раза нажимаем клавишу «Enter» в программе HyperTerminal. Если все в порядке мы должны увидеть следующую картину:

Если это не так проверяем еще раз монтаж, особенно линию TxD.

Далее вводим версию программатора 2.10, так как без этого програм­матор не будет работать с программами «верхнего уровня». Для этого вводим «2» и нажимаем «Enter», вводим «а» (английская) и нажимаем «Enter».

USB программатор способен распознавать подключение программируемого микроконтроллера. Выполнено это в виде контроля «подтяжки» сигнала Reset к источнику питания. Этот режим включается и выключается следующим образом:

  • «0», «Enter» — режим выключен.
  • «1», «Enter» — режим включён.

Изменение скорости программирования (1МГц):

  • «0», «Enter» – максимальная скорость.
  • «1», «Enter» – сниженная скорость.

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

(скачено: 1 203)

Плата с панелькой для 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 секунд, в зависимости от размера программы, которую вы будете зашивать в микроконтроллер.

06-01-2011

Описание

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

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

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

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

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

После программирования появится окно «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ГМ Диод h58 это аналог 1N4148 Стабилитроны — BZX55C 5.1 вольта Также кварц на 4Мгц и 2 керамических конденсатора на 22 пФ, но я не думаю что они обязательны т.к. использование кварца внутренний/внешний мы устанавливаем программируемыми битами, с завода микрухи запрограммированы использовать внутрений кварц(если я не ошибся) Внешнее питание от +5В обязательно.Я подключил от БП того же ПК с которого заливал прошивку. Диод h58 (такая маркировка на присутствует на корпусе этого диода) на просторах интернета говорят что это аналог 1N4148. У меня всё работает, ПониПрог 2000 успешно залила прошивку в ATmega8. Фото
    View post on imgur.com
    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 какие надо вот это заводские
    View post on imgur.com
    а вот такие надо прошить
    View post on imgur.com
    но еще что я заметил в заводских стоит одна галочка которую нельзя убрать называеться SPIEN ,а какие надо прошить там нет этой галочки ну ладно дальше продолжу свою проблему после таго как я откры прошивку и выставил Fuse как на второй картинке я нажал READ DEVICE пошол процес прошивки и в завершении вышло вот это
    View post on imgur.com
    потом я закрыл пони и открыл снова и нажал прочитать МК и получил вот это 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).

В данной статье мы опишем „шаг за шагом” этапы изготовления 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.

Разработка USB программатора для AVR микроконтроллеров. — GetChip.net

При выборе USB программатора я оказался на распутье. Сам я пользуюсь USB программатором для Algorithm Builder, но он довольно дорог и сложен в исполнении. Для целей блога (просто, надежно, дешево) он не подходит. Есть несколько вариантов простых USB программаторов для AVR, подходящих под идеологию блога.

Варианты такие:

1 Дешевый и простой в исполнении (в том числе и для начинающих) – USBasp. Несложное схемное решение, недорогой контроллер ATMega48, хорошая скорость программирования, широко распространен. Я склоняюсь к этому варианту, но есть недостаток, который меня сдерживает – необходима начальная прошивка микроконтроллера ATMega48. А это значит нужно первоначально собрать LPT или COM программатор, а если нет ни LPT, ни COM порта где-то их еще и найти.

2 Схема на микросхеме FT232RL (преобразователе USB – COM) умеющая работать в режиме Bitbang. Схема несложная, не имеющая вспомогательного контроллера, а значит, не требует предварительной прошивки. Недостатки – микросхема FT232RL не из дешевых и достать ее почему-то проблематично (в магазинах предлагают аналоги, которые дешевле, но я подозреваю, они не смогут работать в режиме Bitbang). Еще микросхема имеет довольно плотное расположение мелких ножек – начинающим будет сложно сделать печатную плату и припаять к ней эти ножки.

3 Есть у меня еще идея заюзать в качестве программатора шнурок от мобильного телефона. Такие шнурки в продаже можно найти буквально за 3 бакса и теоретически переделка там не сложная. Но это надо еще проверить. Если получится, то это будет лучшим вариантом.

В общем если у кого есть идеи, предложения, советы как дешево и сердито залить прошивку в микроконтроллер через USB — пишите в комментариях, вместе определимся!

 

Внимание!
Вот и появился один USB программатор — USBtiny.

Смотрим статью: 056-USB-программатор – легко! (USBTiny).

На этом не останавливаемся — будут еще варианты!

(Visited 10 016 times, 1 visits today)

Универсальный usb программатор на atmega. Делаем COM программатор для AVR микроконтроллеров

В данной статье мы опишем „шаг за шагом” этапы изготовления 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.

Данный программатор не нуждается в первичном программировании — протравил печатную плату, спаял и пользуйся. Автор данного устройства указан в конце статьи, а здесь приведу небольшую выдержку из руководства, чтоб было понятнее, о чём речь: правильный 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 .

Еще одним несложным, в плане изготовления, является 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).

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

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

Первая группа включает в себя программаторы, построенные на основе микроконтроллеров (в частности, 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 ПРОГРАММАТОР

Программатор – это аппаратно-программное устройство, которое служит для считывания или записи информации в запоминающее устройство (внутреннюю микроконтроллеров). В случае если радиолюбителю нужно один раз запрограммировать микроконтроллерное устройство, можно воспользоваться обычным программатором, который подключается к COM- или LPT- порту. Например, самым простым программатором AVR является кабель из 6 и 4 резисторов (программатор PonyProg).

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

Подключаются такие программаторы к компьютеру с помощью специальной программы (которая тоже называется программатором). Она передает с , а устройство только записывает ее в память микросхемы. Программаторы могут подключаться через последовательный или параллельный порт, через USB-разъем и т.д. Современные программаторы подключаются, как правило, через USB.

USB-программатор предназначен для программирования микропроцессорных устройств определенной компании (зависит от марки программатора) в собранном виде. С помощью него заметно упрощается процесс настройки ПО.

Как подключить USB-программатор?

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

Затем нужно установить драйвера, чтобы ОС могла корректно работать с данным устройством. После этого можно будет подключать микропроцессорное устройство к ISP интерфейсу. При программировании будет светиться второй светодиод.

Как правило, программатор имеет два интерфейса – один для подключения микроконтроллера, второй для подключения к компьютеру. Для того чтобы подключить микроконтроллер, можно воспользоваться режимом последовательного программирования ISP. А к компьютеру данное устройство подключается через стандартный USB-разъем.

Для управления программатором нужно устанавливать специальные программы. Лучше всего пользоваться оконными приложениями. Например, для работы с устройством можно использовать программы ExtremeBurner, Khazama, avrguge и другие.

Устройства своими руками |

17.08.2015
автор Aurel
Нет комментариев

11.06.2014
автор Aurel
комментария 4

01.06.2013
автор Aurel
комментариев 25

Для программирования микроконтроллеров AVR требуется программатор. Проще всего сделать программатор для COM либо LPT. Но я работаю на ноутбуке, а в них сейчас устанавливаются только USB порты. Вот и назрела необходимость обзавестись программатором для AVR по USB. Сейчас, я скорее … Продолжить чтение →

Рубрики: Инструменты радиолюбителя, Устройства своими руками | Тэги: AtMega48, AVR, AVR910, Инструменты радиолюбителя, программатор avr usb, Устройства своими руками | Ссылка

26.05.2013
автор Aurel
Нет комментариев

Один мой друг, увидев статью http://habrahabr.ru/blogs/DIY/92655/ захотел себе устройство для управления нагрузкой по LPT порту. Но управлять он хотел не одним устройством, а аш 8-мью! По образу и подобию устройства в статье и была изготовлена данная железка, с небольшими отличиями, … Продолжить чтение →

Рубрики: Устройства своими руками | Тэги: LPT порт, Устройства своими руками | Ссылка

16.05.2013
автор Aurel
1 комментарий

В данной статье описано устройство для отображения на жидкокристаллическом экране, символов, передаваемых через USB порт или просто — USB экран. Конкретно данное устройство подключено к системному блоку персонального компьютера работающего в качестве сервера. Так как монитор к данному компьютеру практически … Продолжить чтение →

Рубрики: Устройства своими руками | Тэги: AtMega48, AVR, LCD1602, USB, Микроконтроллер, Устройства своими руками | Ссылка

30.04.2013
автор Aurel
1 комментарий

Представленное устройство предназначено для измерения входного напряжения амплитудой от -10 до +10В. Измеренный уровень сигнала в цифровом виде передаётся на ПК по USB. Питается устройство непосредственно от шины USB. Устройство оснащено светодиодными индикаторами индицирующими передачу данных в ПК, приём данных … Продолжить чтение →

Рубрики: Устройства своими руками | Тэги: AtMega8, AVR, USB, Ассемблер, Вольтметр, Измерения, Микроконтроллер, Устройства своими руками | Ссылка

24.03.2013
автор Aurel
комментариев 9

Меня попросили изготовить устройство для организации игр, в которых требовалось быстрее остальных дать правильный ответ. (Аналогична игре «Угадай мелодию»). Данное устройство отображает на семисегментном  дисплее номер одной из четырёх кнопок нажатой первой. Это моё первое устройство на микроконтроллере AVR, которое состоит из 5-ти … Продолжить чтение →

Рубрики: Устройства своими руками | Тэги: AtMega8, AVR, Ассемблер, Микроконтроллер, Семисегментный индикатор, Устройства своими руками | Ссылка

Usbasp usb программатор для микроконтроллеров atmel avr

USBasp — простой внутрисхемный USB-программатор для микроконтроллеров Atmel AVR. Программатор построен на микроконтроллере ATMega88 (или ATMega8) и содержит минимум деталей. Программатор использует свой USB-драйвер, никакие специальные USB контроллеры не нужны.

Особенности программатора:
— работа под любой платформой: Windows, Linux и Mac OS X
— какие-либо специальные компоненты или smd не нужны
— скорость программирования до 5 кБ/сек
— SCK-джампер позволяет программировать низкоскоростные контроллеры ( ATmega88

Автор: Сергей · Опубликовано 11.07.2017 · Обновлено 08.06.2018

Сегодня расскажу, о недорогим и очень простом программаторе USBAsp v.2.0 для микроконтроллеров AVR (основанный на дизайне Томаса Фишла), с его помощью можно прошивать контроллеры AVR по интерфейсу ISP (не выпаивая его с платы), а самое главное, можно прошить загрузочный сектор на контроллерах Arduino.

Технические параметры

► Напряжение питания: 5 В, DC
► Интерфейс: USB 2.0
► Программирование/ чтение: Atmel (AVR)
► Габариты: 70 мм x 18 мм x 10 мм
► Поддержка операционных систем: Windows XP / 7 / 8 / 8.1 / 10.

Общие сведения

Программатор USBAsp распространяется и открытым исходным кодом, так что при желании можно изготовить самому, скачав печатную плату и прошивку с сайта Thomas, из-за этого в различных интернет магазинах существует различные варианты программатора с одинаковым функционалом. В моем случае буду рассказывать о USBAsp V2.0 китайского производителя LC Technelogy.

Программатор собран на синий печатной плате, слева расположен USB-разъем необходимый для подключения к компьютеру. В центре располагается контроллер ATmega8A, рядом установлен кварцевый резонатор на 12 МГц и электрическая обвязка (резисторы, конденсаторы). Справа расположен 10-контактный разъем (два ряда, по пять выводов, шагом 2.54 мм), обеспечивающий обмен данными с прошиваемым микроконтроллером (интерфейс ISP). В комплекте поставляется кабель, с каждой стороны которого, установлен разъем IDC (10 выводов), для простоты прошивки некоторых плат (например Arduino), советую приобрести адаптер-переходник с 10-pin на 6-pin. Назначение выводов программатора USBAsp можно посмотреть на рисунке ниже, вид на стороне программатора.

Назначение выводов:
► 1 – MOSI
► 2 – VCC
► 3, 8, 10 – GND
► 4 – TXD
► 5 – RESET
► 6 – RXD
► 7 – SCK
► 9 – MISO

Световая индикация
► Красный светодиод G — Включен
► Красный светодиод R — Обмен данными

Перемычки
► JP1 — POWER, управляет напряжением на разъеме ISP VCC (вывод 2), можно установить на + 3.3В, + 5В или вовсе убрать перемычку, если программируемое устройство, имеет собственный источник питания.
► JP2 — SERVICE, обновления прошивки USBasp.
► JP3 — SLOW, программирования на низких скоростях, если программируемое устройство, работает на частоте ниже 1.5 МГц, SCK (вывод 7) уменьшит частоту с 375 кГц до 8 кГц.

Принципиальная схема программатора USBAsp V2.0 можно посмотреть на рисунке ниже.

Список поддерживаемых AVR микроконтроллеров:
► Mega Series:
ATmega8, ATmega8A, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATmega103, ATmega128, ATmega128P, ATmega1280, ATmega1281, ATmega16, ATmega16A, ATmega161, ATmega162, ATmega163, ATmega164, ATmega164A, ATmega164P, ATmega164PA, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega2560, ATmega2561, ATmega32, ATmega32A, ATmega324, ATmega324A, ATmega324P, ATmega324PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega64, ATmega64A, ATmega640, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega8515, ATmega8535,
Tiny Series: ATtiny12, ATtiny13, ATtiny13A, ATtiny15, ATtiny25, ATtiny26, ATtiny45, ATtiny85, ATtiny2313, ATtiny2313A
Classic Series: AT90S1200, AT90S2313, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535
► Can Series: AT90CAN128
PWN Series: AT90PWM2, AT90PWM3

Установка драйвера USBAsp на Windows 8/10

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

Так как, в операционной системе нету необходимого драйвера, в «Диспетчере устройств» появится устройство «USBAsp» с восклицательным знаком.

Скачиваем архив с цифровой подписью, разархивируем и запускаем «InstallDriver.exe»

Драйвер установлен, в «Диспетчере устройств» пропадет восклицательный знак с «USBAsp».

Установка драйвера на Windows XP и Windows 7 аналогичная, программатор готов к работе.

Программа для USBAsp V2.0

Программу разработал «Боднар Сергей», работает не только с китайским программатором USBAsp v.2.0, но и другими программаторами. Первым делом скачиваем программу, разархивируем и запускаем «AVRDUDEPROG.exe».
В качестве примера, прошью китайскую плату Arduino UNO R3 в которой установлен микросхема ATmega328P. В программе, жмем на вкладку «Микроконтроллеры» и выбираем ATmega328P.

Далее, необходимо выбрать прошивку, в строке «Flash» нажимаем «. . .», переходим в папку «C:Program FilesArduinohardwarearduinoavrootloadersatmega» и выбираем «ATmegaBOOT_168_atmega328.hex», жмем «Открыть»

Подключаем программатор к плате «Arduino UNO R3», и нажимаем кнопку «Программирование».

В конце, выйдет диалоговое окно, о удачном окончании программировании.

Ссылки
Скачать драйвер для программатора USBASP v2.0 (LC Technology, ATMEL)
Скачать программу AVRDUDE_PROG v.3.3

Купить на Aliexpress
Программатор USBASP v2.0 (LC Technology, ATMEL)
Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)

Купить в Самаре и области
Программатор USBASP v2.0 (LC Technology, ATMEL)
Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)

Популярное

  • Устройство и программирование микроконтроллеров AVR для начинающих — 143
  • Трехканальный термостат, терморегулятор, таймер на ATmega8 — 70
  • Двухканальный термостат, терморегулятор на ATmega8 — 67

Программатор USBASP — устройство, распиновка, подключение, прошивка

Сегодня мы рассмотрим как, без особых затрат и быстро, запрограммировать любой микроконтроллер AVR поддерживающий режим последовательного программирования (интерфейс ISP) через USB-порт компьютера. В качестве программатора мы будем использовать очень простой и популярный программатор USBASP, а в качестве программы — AVRdude_Prog V3.3, которая предназначена для программирования МК AVR.

Программатор USBASP

Для того, чтобы запрограммировать микроконтроллер необходимо иметь две вещи:
— программатор
— соответствующее программное обеспечение для записи данных в МК
Одним из наиболее простых, популярных и миниатюрных программаторов для AVR является USBASP программатор, созданный немцем Томасом Фишлем.
Имеется много разных схемотехнических решений этого программатора, программатор можно собрать самому или купить (стоимость — 2-3 доллара). При самостоятельной сборке следует учитывать, что собранный программатор необходимо будет прошить сторонним программатором.

Мы рассмотрим наиболее «навороченную» версию программатора:


Характеристики программатора:
— работает с различными операционными системами — Linux, Mac OC, Windows (для операционной системы Windows, для работы программатора, необходимо установить драйвера — архив в конце статьи)
— скорость программирования до (скорость программирования можно устанавливать самому, к примеру в AVRDUDE_PROG) 375 (5) кб/сек
— имеет 10-контактный интерфейс ISP (соответствует стандарту ICSP с 10-контактной распиновкой)
— поддерживает два напряжения питания программатора — 5В и 3,3В (не все USB порты ПК работают при 5 Вольтах)
— питается от порта USB компьютера, имеет встроенную защиту по току (самовосстанавливающийся предохранитель на 500 мА)

Назначение джамперов:
разъем JP1 — предназначен для перепрошивки микроконтроллера программатора (для перепрошивки — необходимо замкнуть контакты)
разъем JP2 — напряжение питания программатора — 5 Вольт или 3,3 Вольта (по умолчанию — 5 Вольт, как на фотографии). Программируемый микроконтроллер, или конструкцию, в которой он установлен, при токе потребления 300-400 мА можно запитать с программатора, для этого на разъеме есть выход +5В (VCC).
разъем JP3 — определяет частоту тактирования данных SCK: разомкнутый — высокая частота (375 кГц), замкнутый — низкая частота (8 кГц)
Подробнее о разъеме JP3
Джампер JP3 предназначен для уменьшения скорости записи данных в микроконтроллер. Если у микроконтроллера установлена частота тактирования более 1,5 мГц — джампер может быть разомкнут, при этом скорость программирования высокая. Если тактовая частота менее 1,5 мГц — необходимо закоротить выводы джампера — снизить скорость программирования, иначе запрограммировать микроконтроллер не получится. К примеру, если мы будем программировать микроконтроллер ATmega8 (в принципе, практически все МК AVR настроены на тактовую частоту 1 мГц по умолчанию), у которого частота тактирования по умолчанию 1 мГц, необходимо будет замкнуть выводы джампера (как на фотографии). Лучше, наверное, держать этот джампер постоянно замкнутым, чтобы, забыв о его существовании, не мучиться вопросом — почему микроконтроллер не прошивается.

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

Программатор поддерживается следующим программным обеспечением:
— AVRdude
— AVRdude_Prog
— Bascom-AVR
— Khazama AVR Prog
— eXtreme Burner AVR

Работать с таким программатором очень просто — соединить соответствующие выводы программатора с микроконтроллером, подключить к USB-порту компьютера — программатор готов к работе.
Распиновка 10-контактного кабеля программатора USBASP :


1 — MOSI — выход данных для последовательного программирования
2 — VCC — выход +5 (+3,3) Вольт для питания программируемого микроконтроллера или программируемой платы от порта USB компьютера (максимальный ток 200 мА — чтобы не сжечь порт USB)
3 — NC — не используется
4 — GND — общий провод (минус питания)
5 — RST — подключается к выводу RESET микроконтроллера
6 — GND
7 — SCK — выход тактирования данных
8 — GND
9 — MISO — вход данных для последовательного программирования
10 — GND

Установка драйверов для программатора USBASP

Установка драйвера для программатора USBASB очень проста:
— подсоедините программатор к USB порту компьютера, при этом в диспетчере устройств появится новое устройство «USBasp» с желтым треугольником и восклицательным знаком внутри, что означает — не установлены драйвера
— скачайте и разархивируйте файл «USBasp-win-driver-x86-x64-ia64-v3.0.7»
— запустите файл «InstallDriver» — будут автоматически установлены драйвера для программатора
— проверьте диспетчер устройств — желтый треугольник должен исчезнуть (если нет, щелкните правой кнопкой по устройству «USBasp» и выберите пункт «Обновить»
— программатор готов к работе

FUSE-биты при программировании USBASP AVR:

Архив «usbasp.2011-05-28» содержит папки:
= BIN:
— win-driver — драйвера для программатора
— firmware — прошивка для микроконтроллеров Mega8, Mega88, Mega48
= circuit — схема простого программатора в PDF и Cadsoft Eagle

При перепрошивке китайского программатора рекомендую установить FUSE-бит CKOPT. CKOPT взаимосвязан с предельной тактовой частотой. По умолчанию CKOPT сброшен и стабильная работа микроконтроллера программатора при применение кварцевого резонатора возможна только до частоты 8 МГц ( а МК программатора работает на частоте 12 МГц). Установка FUSE-бита CKOPT увеличивает максимальную частоту до 16 МГц. Китайцы не трогают этот FUSE-бит, что довольно часто приводит к отказу программатора (обычно система не определяет программатор).

Архив «USBasp-win-driver-x86-x64-ia64-v3.0.7» предназначен для установки драйверов, как указано в статье

usbasp.2011-05-28 (518,9 KiB, 14 082 hits)

Скачать «USBasp-win-driver-x86-x64-ia64-v3.0.7» (10,9 MiB, 26 581 hits)

Описанный в статье USBASP программатор, прошитый последней версией программы, проверенный в работе, с установленными джамперами и перемычками, вы можете приобрести в интернет-магазине «МирМК-SHOP»
Перейти на страницу магазина

Программирование микроконтроллеров AVR фирмы Atmel

(31 голосов, оценка: 4,97 из 5)

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

В инете сообщено, что USBasp — один из самые простых для повторения AVR USB программаторов. + требует минимум внешних компонентов, имеет пара готовых вариантов разводки печатной платы и оболочек для программирования, и может трудиться под Linux и MacOS.

То что необходимо! Делаем )))

Процесс изготовления

1. Отыскал схемку программатора на контроллере Mega8. Требуется минимум навестных элементов

2. Модифицировал печатную плату под собственный корпус. Было нужно мало попотеть, чтобы впихнуть в корпус от сплиттера в одну линейку и МК, и USB-разъем и IDC-10. Итог превзошел мои ожидания )

3. Переносим рисунок с чудо-бумаги на плату. Дорожки мало расплылись — не беда. Исправим это посредством иголки (булавки, либо еще чего острого).

4. Процесс травления уже сзади. Плата промыта и просушена.

5. Стираем растворителем тонер — приобретаем готовые дорожки для будущего устройства

6. Потом слесарно-монтажные работы — пилим, сверлим, точим, лудим (последовательность выбирайте сами)

7. Оказалась компактная плата, пока еще без элементов.

8. Пичкаем плату нужными элементами. До тех пор пока без светодиодов и разъем IDC-10 через чур долгий (торчит из корпуса)

9. Выпаиваем Г-образный IDC-10 разъем. Вместо оплетки для лужения (и других премудростей) применял простой многожильный провод. Оказалось бережно и скоро )))

10. Припаиваем SMD-компоненты. Вид со стороны дорожек. Все делалось паяльником на 60Вт с жалом 5мм в диаметре. Таким необходимо еще наловчиться…

11. Не все резисторы оказалось перевести на SMD. Вид со стороны компонентов.
Как видно, контроллер — USB — IDC-10 хорошо расположены… Кварц забрал простой, благо высота корпуса разрешает.

12. А вот и корпус, куда будет помещен программатор. Весьма полезная вещь )

13. Устройство благополучно внедрено в «шкурку сплиттера». Компактно вышло.

14. Размер платы если сравнивать с 5 рубленными «монетками»

16. Конечный результат…

Доработанная печатная плата USBasp программатора: СКАЧАТЬ в формате Lay [13,91 Kb] (cкачиваний: 213)
Программирование микроконтроллера Mega8
1. Прошиваем микроконтроллер посредством этого программатора:
Несложной LPT программатор AVR микроконтроллеров (5-ть проводков)
Заливаем файл firmware называющиеся «usbasp.atmega8.2007-10-23.hex» из архива в конце статьи…

Подключаем к программатору адаптер для программирования микроконтроллеров.

Эти для независимого изготовления возможно забрать тут…

Печатная плата адаптера в формате lay для Sprintlayout [12,78 Kb] (cкачиваний: 401)

При подключении USB будет всегда светиться зеленый (красный) светодиод

Установка драйвера для USBasp

1. Возможно было запрограммировать и в самом USBasp программаторе, подключив к нему несложный программатор в соответствии с распиновке. В случае если все собрано и запрограммировано правильно, то устройство при подключении к ПК определится и «попросит» установить двайвер.

2. На что ему культурно ответим выбрав папку со скаченными и разархивированными двайверам

3. Драйвера удачно установятся, в случае если схема собранна правильно и МК также прошит правильно.

4. В диспетчере устройств определится программатор как: LibUSB-Win32 Device.
Радуемся, и тестируем )

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

1. В качестве програмки применял avrdude в оболочке Sinaprog1.5.5.10.
Возможно применять и приложенное к архиву оболочкуUSBASP_AVRDUDE_PROG
Для проверки доступа к Attiny13A привожу пошагово такую инструкцию. Контроллер опознан, возможно заливать прошивку в Attiny13A .

Нужные эти для повторения устройства находятся в этом архиве:

Firmware, программа, печатка, драйвер [992,87 Kb] (cкачиваний: 690)

Всем удачи!

В обязательном порядке к прочтению:

Недорогой USBASP Программатор для AVR v2.0


Статьи как раз той тематики,которой Вы интересуетесь:
  • Как довольно часто следует сделать балансировку

    Балансировка колес нужна любой машине а также мотоциклу. Кроме того одно своевременно не сбалансированное колесо может привести к колебательным процессам всей подвески, а также всей рамы и кузова….

  • Что делать при неожиданной поломке автомобиля?

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

  • Из-за чего не приходит транспортный налог и что в этом случае делать?

    водитель и Закон Срок налоговых платежей за транспорт, как и налогов на недвижимость либо почву, за 2015 год завершился 1.12.2016 года. Законопослушные плательщики налогов заблаговременно уплатили все…

  • Усилитель для сабвуфера на авто делаем сами

    Воображаю конструкцию самодельного автомобильного усилителя, что рекомендован для питания сабвуферных головок средней мощности. Этот усилитель собран на широко-популярной микросхеме TDA…

  • Автомобильный усилитель — делаем сами

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

Адаптеры для программирования микроконтроллеров АVR. USBasp программатор AVR микроконтроллеров делаем сами Универсальный адаптер для avr программатора своими руками

Понадобилось как-то мне прошить пару микросхем в корпусах SOIC разной ширины.

У меня было три варианта:

  • Купить готовый ZIF-переходник.
  • Подпаять проводки к каждой ноге, подключить к программатору, прошить, отпаять. И так два раза.
  • Изготовить пару переходников под разную ширину корпусов.

Вариант с покупкой не подходит. В моём городе нет радиомагазинов… Итог: долго, дорого.

Вариант с подпайкой тоже не нравится. С учетом того, что количество микросхем может быть, скажем, 20 штук… Итог: пайка превращается в сущий кошмар.

Было однозначно решено — самостоятельно изготовить переходники. Нам понадобятся две материнские платы от старых компьютеров. На плате находим вот такую «кроватку» с микросхемой BIOS. Извлекаем микросхему и приступаем к демонтажу «кроватки».

Так как выводы панельки располагаются под ней, отпаять её феном становится крайне затруднительно — пластиковый корпус скорее всего расплавится. Будем демонтировать другим способом. Поддеваем «кроватку» снизу при помощи отвёртки.

Пластиковый корпус снимется

А контакты останутся на плате.

Теперь их можно без проблем отпаять при помощи термофена.

После отпайки вставляем контакты обратно в «кроватку», но только по верхней и нижней сторонам. Слева и справа контакты не вставляем.

Выгибаем контакты на внешнюю сторону.

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

Разводим плату, травим, лудим, сверлим, припаиваем «кроватку». Файл печатной платы можно скачать в конце статьи.

Ширина подбирается таким образом, чтобы туда свободно помещалась микросхема, выводами вверх. Для узкого SOIC корпуса это выглядит так.

А для широкого — вот так.

Для надёжности фиксируем выводы на термосопли.

В итоге получилось два переходника.

Вставляю переходник в панельку на программаторе.

Затем в «кроватку» кладу микросхему вверх ножками, слегка прижимаю кончиком карандаша или зубочистки, и приступаю к работе.

В инете сказано, что USBasp — один из наиболее простых для повторения AVR USB программаторов . + требует минимум внешних компонентов, имеет несколько готовых вариантов разводки печатной платы и оболочек для программирования, а также может работать под Linux и MacOS.

То что нужно! Делаем)))

Процесс изготовления

1. Нашел схемку программатора на контроллере Mega8. Требуется минимум навестных элементов

2. Модифицировал печатную плату под свой корпус. Пришлось немного попотеть, чтоб впихнуть в корпус от сплиттера в одну линейку и МК, и USB-разъем и IDC-10. Результат превзошел мои ожидания)

3. Переносим рисунок с чудо-бумаги на плату. Дорожки немного расплылись — не беда. Исправим это с помощью иголки (булавки, или еще чего острого).

4. Процесс травления уже позади. Плата промыта и просушена.

5. Стираем растворителем тонер — получаем готовые дорожки для будущего устройства

7. Получилась компактная плата, пока еще без элементов.

8. Пичкаем плату нужными элементами. Пока без светодиодов и разъем IDC-10 слишком длинный (торчит из корпуса)

9. Выпаиваем Г-образный IDC-10 разъем. Вместо оплетки для лужения (и прочих премудростей) использовал обычный многожильный провод. Получилось аккуратно и быстро)))

10. Припаиваем SMD-компоненты. Вид со стороны дорожек. Все делалось паяльником на 60Вт с жалом 5мм в диаметре. Таким нужно еще наловчиться…

11. Не все резисторы получилось перевести на SMD. Вид со стороны компонентов.
Как видно, контроллер — USB — IDC-10 плотно расположены… Кварц взял обычный, благо высота корпуса позволяет.

12. А вот и корпус, куда будет помещен программатор. Очень полезная штука)

13. Устройство благополучно внедрено в «шкурку сплиттера». Компактно вышло.

14. Размер платы по сравнению с 5 рубленными «монетками»

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

1. Прошиваем микроконтроллер с помощью этого программатора:
Простой LPT программатор AVR микроконтроллеров (5-ть проводков)
Заливаем файл прошивки под названием «usbasp.atmega8.2007-10-23.hex» из архива в конце статьи…

Подключаем к программатору адаптер для программирования микроконтроллеров.

Данные для самостоятельного изготовления можно взять здесь…

При подключении USB будет постоянно светиться зеленый (красный) светодиод

Установка драйвера для USBasp

1. Можно было запрограммировать и в самом USBasp программаторе, подключив к нему простой программатор согласно распиновке. Если все собрано и запрограммировано верно, то устройство при подключении к ПК определится и «попросит» установить двайвер.

2. На что ему вежливо ответим выбрав папку со скаченными и разархивированными двайверами.

3. Драйвера успешно установятся, если схема собранна верно и МК тоже прошит верно.

4. В диспетчере устройств определится программатор как: LibUSB-Win32 Device .
Радуемся, и тестируем)

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

1. В качестве програмки использовал avrdude в оболочке Sinaprog1.5.5.10.
Можно использовать и приложенное к архиву оболочкуUSBASP_AVRDUDE_PROG
Для проверки доступа к Attiny13A привожу пошагово такую инструкцию. Контроллер опознан, можно заливать прошивку в Attiny13A .

Необходимые данные для повторения устройства находятся в этом архиве.

Всем привет! В этой статье я расскажу, как собрать простой адаптер для подключения микроконтроллеров avr к программатору. Если вы собирали что-то на микроконтроллере, то наверняка столкнулись с проблемой подключения микросхемы к программатору. С данной проблемой столкнулся и я, когда решил собрать моё первое устройство на МК — металлоискатель Tracker PI-2. Первое, что приходит в голову, так это просто подпаять провода к панельке контроллера и к разъёму программатора. Так и сделал. Но как оказалось — не всё так просто. Чтобы прошить микросхему, нужно было подпаять кварц с двумя конденсаторами и это было сделать не совсем удобно, но я поленился сделать печатную плату — а зря. Как показала практика, навесной монтаж здесь не очень подходит — это очень не надежно. Поэтому при сборке моего второго металлоискателя — , все-таки сделал плату для подключения микроконтроллеров к программатору.

Схема адаптера

Нажмите на схему для увеличения

Итак, нам понадобиться:

  1. Небольшой кусок текстолита — 50 х 80 мм
  2. Панельки под микросхемы
  3. Несколько конденсаторов и резистор (номиналы смотрите на схеме)
  4. Разъём для подключения программатора

Ну и в принципе всё. Если у вас это всё есть, можно приступать к сборке. Сначала нужно сделать печатную плату. У меня получилось не очень аккуратно, так как хотел сделать всё как можно быстрее, а когда спешишь — сами знаете что получается)

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

Лудим плату и впаиваем детали.

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

Также сделал провод, который идет от программатора к плате.

Программатор, которым пользуюсь —

Главное, не перепутайте провода от программатора, иначе можно спалить микроконтроллер или даже сам программатор. Вот что получилось в итоге:

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

Второй адаптер для AVR — это коммерческий вариант адаптера, поэтому ни печатки ни подробной схемы не привожу.


Скажу по секрету, по этому фото была восстановлена схема и печатка, и даже сделан мною адаптер для себя. Очень он мне нравится, с помощью его даже кварцы проверяю. Печатной платы для раздачи нет, но есть фото и sprintlayout. Выводы делайте сами:)

Еще на форумах был найден такой вот похожий адаптер, тоже грамотно выполнен, но уже для МК в корпусах SOI и TQFP


печатная плата от автора plumber и еще одна .

Про адаптеры для Pic контроллеров и микросхем последовательной памяти читайте в последующей статье «PIC & SEEPROM Adapters». Это будет уже чисто моя разработка, так что печатку и схему обязательно предоставлю. При написании статьи были использованы фото и другие материалы, найденные в интернете на форумах. На авторство никак не претендую, материал использован исключительно в просветительных целях. По конкретным вопросам пишите в личку. С уважением, Oleg63m.

Внимание, в статье есть неточности! Один из внимательных читателей reis заметил их и любезно поделился с нами, за что скажем ему спасибо. В ATmega64 и ATmega128 выводы MOSI и MISO не применяют для ISP. Внимательно смотрите ДатаШит! Например для ATmega128 сигналы MISO подключают к ножке PE1, MOSI подключают к ножке PE0. В первоисточнике, автор в комментариях сам указывает, что 128 разведена не правильно. Кстати и в стате, плата которая в архиве имеет неточность. Посадочное место AtMega какое-то кривое. А исправить все легко — MOSI —> 2-я нога, MISO —> 3-я нога для 128.

Простейший программатор USB AVR — схемы DIY

У меня нет настольного компьютера с устаревшими портами, и я не люблю идти к другу каждый раз, когда мне нужно что-то загрузить на AVR. Я спросил себя: «Как я могу собрать простой diy avr USB-программатор ?» .

Ну, вообще-то я спросил у Google, и ответ был Usbtiny. Ниже я описываю своего упрощенного программатора Usbtiny.


По сути, это чрезвычайно урезанная версия UsbTinyISP от Ladyada. Когда я приступил к сборке v2.О программист, я сначала сделал его на макетной плате, и все работало отлично, и он мог хорошо выполнять свою работу. Далее я начал удалять корешей .

Во-первых, я удалил буфер 74HC125 и дал прямое программирование цели, и это действительно сработало. Затем я удалил несколько резисторов и конденсаторов и оставил только самые необходимые.

Я преобразовал разъем ISP и USB-разъем в контактные разъемы, и после того, как я выполнил свою работу, у него осталась основная микросхема Attiny2313, один кристалл 12 МГц и четыре резистора.Похоже на версию 1.0 Usbtiny, но в ней еще меньше деталей. Usbtiny v2.0 состоит всего из 17 отдельных частей, кроме разъемов, а Usbtiny v1.0 состоит из 15 отдельных частей. В моей модифицированной версии 6 дискретных частей (менее 40%),

  1. Attiny2313 основная микросхема
  2. , кристалл, 12 МГц
  3. Подтяжной резистор 3,3 кОм сброса
  4. 1.5K D- подтягивающий резистор
  5. Шинный резистор USB 2x 68R.

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

Я настроил расположение выводов заголовка ISP в соответствии с нужной мне последовательностью. Это VCC-GND-MISO-MOSI-SCK-RST.
Я использовал его для программирования Attiny2313, Atmega8, Atmega32, все работало нормально. В схеме нет ни фильтрующего конденсатора, ни заземляющих конденсаторов на 18-22 пФ для кристалла, но все исправно.

Я сильно урезал оборудование и удалил два светодиода, которые были для
1. Программирование: конечно, я знаю, когда я программирую, поэтому светодиод не нужен, и
2. USB OK: если устройство не инициализировано правильно и подключенный к USB, я получаю сообщение об ошибке от avrdude как «Ошибка : не удалось найти устройство USBtiny (0 × 1781 / 0xc9f) », зачем тогда нужен светодиод.

Затем я подумал о минимизации программы, но потом подумал, что в этом нет необходимости.Прошивка размером 2046 байт плотно умещается в 2048 байт пространства Attiny2313. Сокращение кода позволит разместить его на меньшем пространстве, но это пространство никогда не пригодится ни в одном пользовательском проекте. Поэтому я выбрал прошивку v2.0 по умолчанию.

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

Инструкция по программированию для загрузки прошивки на Attiny2313

  1. Загрузите драйвер USB, а также прошивку для v2.0 с сайта Ladyada.
  2. Запишите прошивку с помощью AVRdude или PonyProg и установите плавкие вставки в качестве примера
     avrdude -c stk200 -p t2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m 

Справочный источник: Ladyada and Instructables.

Обновление

: дизайн печатной платы и финальная версия

Комментарии к этой статье до 07-12-2011 , здесь переход к последним комментариям.

Как я сделал свой крошечный программатор AVR — сделайте кое-что

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

Крошечный программист AVR

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

Если у вас просто микросхема AVR, вам нужно что-то для ее программирования. наиболее распространенный способ — через ICSP (внутрисхемный последовательный программатор). просто, это плата с 6 контактами, обычно это 0.Заголовок шага 1 ″, который может общаться с вашей микросхемой AVR через протокол SPI. С другой стороны, он также может общаться с вашим ПК через протокол USB. Итак, после компиляции вашего кода C с помощью avr-gcc плата программатора примет и отправит его напрямую на ваш AVR-чип. Вы можете думать об этом как о мосте между вашим ПК и микросхемой AVR.

Я провел свое исследование для программистов AVR и нашел много интересных ресурсов. это особенно привлекло мое внимание. Это программатор FabOptimus AVR, созданный Али Штарбановым, который построен на программаторе FabISP, созданном проф.Нил из MIT Media Lab. документация FabOptimus очень хороша и проста в использовании, если вы новичок. Я решил сделать очень небольшую модификацию программатора FabOptimus AVR, поскольку у него нет светодиода индикатора питания, я хочу добавить его!

  • FabISP bt Prof. Neil
  • FabOptimus Али Штарбанов

Дизайн печатной платы и углубленный анализ схемы

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

  • FabOptimus Исходная схема и макет платы

Этот программатор AVR основан на микросхеме AVR ATtiny44, которая по умолчанию пуста, в нее не загружается код или что-либо еще, как в любой микроконтроллер, который вы покупаете. Поскольку мы создаем программатор AVR, нам необходимо загрузить в чип ATtiny44 очень конкретную прошивку, которая точно указывает роль, которую он должен выполнять и выполнять. Это просто отправка некоторых шестнадцатеричных файлов на другие микроконтроллеры AVR. Эта прошивка называется прошивкой FabISP (подробнее об этом позже.)

Итак, нам нужно иметь возможность загрузить прошивку FabISP в программатор AVR, а затем отключить возможность ее перепрограммирования.

Чтобы иметь возможность загрузить прошивку FabISP в микросхему AVR программатора, нам нужно перевести его вывод сброса в положение LOW (0 вольт). и чтобы отключить возможность его перепрограммирования после того, как он был запрограммирован, нам нужно вытащить его вывод сброса, чтобы он всегда был ВЫСОКИМ (5 вольт). Итак, нам нужно спроектировать схему таким образом, чтобы вывод сброса был ВЫСОКИМ (5 вольт) по умолчанию.Но, как только к нему подключен другой программатор, он может подтянуть вывод сброса микросхемы AVR программатора к НИЗКОМУ (0 вольт). Вот почему мы используем подтягивающий резистор 10 кОм на выводе сброса.

Как вы заметили, вывод сброса микросхемы ATtiny44 подключен к выводу RST на разъеме ISP через резистор 0 Ом. после загрузки прошивки на микросхему ATtiny44 мы удалим этот резистор с нулевым сопротивлением, чтобы отключить возможность повторного перепрограммирования платы.

Поскольку нам нужно использовать нашу плату программатора для программирования других плат AVR, наша плата программатора должна будет иметь возможность подавать сигнал сброса на другие платы AVR, которые нам нужно запрограммировать.Итак, мы также подключаем вывод ввода / вывода от микросхемы ATtiny44 к выводу RST заголовка вывода ISP, чтобы передать сигнал сброса другим микросхемам AVR, которые нам нужно запрограммировать.

Чтобы уменьшить любой высокочастотный шум или любые падения напряжения, исходящие от источника питания, мы используем разделительный конденсатор 1 мкФ между VCC (5 В) и GND.

Мы также используем резонатор с частотой 20 МГц в качестве источника тактовой частоты для микросхемы ATTiny44 вместо внутренних часов, чтобы добиться большей точности.

Мы используем два стабилитрона 3,3 В в качестве ограничителей напряжения для регулирования напряжения от 5 до 3,3 В. Согласно спецификациям V-USB и USB, напряжение на линиях передачи данных USB не должно превышать 3,3 В. Кроме того, мы используем подтягивающий резистор 1,5 кОм на выводе D USB, чтобы его можно было распознать как низкоскоростное устройство на стороне хоста.

Наконец, я сделал простое редактирование платы. Я добавил на плату светодиодный индикатор питания.

Лучше всего отсоединить вывод VCC от разъема вывода ISP, чтобы убедиться, что программатор AVR не пытается подавать питание на плату, которую мы хотим запрограммировать. плата, которую мы хотим запрограммировать, должна обеспечивать собственное питание. Если мы не отключили контакт VCC на заголовке ISP, программатор AVR и программируемая плата будут получать ток через порт USB (с вашего компьютера). если ваш USB-порт не может обеспечить такой большой ток или при каких-либо обстоятельствах короткого замыкания, это может вызвать огромные проблемы для вашего компьютера.

Производство печатных плат

Как видите, я изготовил эту плату на фрезерном станке с ЧПУ в Fab Lab Egypt. Но если вы ищете производство высококачественных печатных плат с паяльной маской и шелкографией по очень справедливой цене и быстрой доставкой по всему миру без минимальных требований, вы можете заказать всего 10 штук за 5 долларов. Вы можете заказать свой на PCBWay. Вы также можете поддержать меня, просто заказав эту доску по моей ссылке.


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

Пайка печатных плат и размещение компонентов

SMONATOR 20.00 901-4 RES 1.0K 1% 1206 SMD 3,3
Название детали Количество
Микроконтроллер ATTINY44A чип 1
CER 1
6-позиционный соединитель заголовка 0.100 ″ SMD 1
CAP CER 1UF 50V 10% SMD 1206 1
RES 10.0K OHM 1-4W 1% 1206 SMD 1
1
Смола 499 Ом 1-4Вт 1% 1206 SMD 2
Смола 100 Ом 1-4Вт 1% 1206 SMD 2
DIODE ZEN SOD123- 2
Синий светодиод CLEAR 1206 SMD- 1
Компоненты платы программатора AVR

Загрузка микропрограммы в программатор

Чтобы загрузить прошивку FabISP на плату программатора FabISP AVR, нам нужен другой программист, который поможет нам загрузить прошивку на нашу плату FabISP.мы будем использовать плату Arduino UNO в качестве программатора ISP и подключим ее к нашей плате программатора FabISP AVR.

Во-первых, нам нужно загрузить скетч «ArduinoISP» на плату Arduino UNO. Вы можете найти этот эскиз в файлах-> Примеры-> ArduinoISP-> ArduinoISP.

После загрузки на плату Arduino UNO. Давайте подключим наш программатор FabISP AVR (Target) к плате Arduino UNO (Programmer).

D10 (Arduino) -> Reset (Target)
D11 (Arduino) -> MOSI (Target)
D12 (Arduino) -> MISO (Target)
D13 (Arduino) -> SCK (Target)
GND (Arduino) -> GND (цель)

Как вы можете заметить, мы подключаем конденсатор 10 мкФ между выводом Reset и выводом GND платы Arduino UBO.Как вы заметили, мы не обеспечиваем питание целевой платы напрямую от платы Arduino. Мы обеспечиваем питание платы программатора FabISP AVR (целевой), подключив ее отдельно к ноутбуку через порт USB. И не забудьте сделать общий GND между двумя платами, подключив GND платы программатора FabISP AVR (целевой) к GND Arduino UNO (программатор).

После подключения платы Arduino UNO (программатор) к плате FabISP (Target) нам необходимо скомпилировать прошивку FabISP и загрузить ее на плату FabISP.Плата Arduino UNO будет действовать как мост между моим ноутбуком и платой FabISP. Поскольку я использую компьютер Mac, я скачаю AVR CrossPack. CrossPack — это среда разработки микроконтроллеров Atmel AVR®, работающая в Mac OS X от Apple, аналогичная AVR Studio в Windows. Он состоит из компилятора GNU, библиотеки C для AVR, программы загрузки AVRDUDE и нескольких других полезных инструментов ». После перехода на веб-сайт AVR CrossPack нажмите кнопку «Загрузить» и установите файл .dmg .Вот и все!

Затем нам нужно скачать прошивку FabISP по ссылке ниже. Makefile , который находится внутри исходной папки прошивки, готов к использованию с avrisp2 или usbtiny, , если вы будете использовать другой программатор из этих двух вариантов, он не будет работать. Итак, я внес некоторые изменения в этот Makefile , чтобы сделать его совместимым с Arduino Uno , который я использую как программист.И теперь он готов к использованию с вашим Arduino UNO в качестве программиста, вы можете скачать его по ссылке ниже.


Теперь мы откроем терминал и перейдем в папку с прошивкой. Затем очистите всех ранее скомпилированных файлов, написав make clean . Затем нам нужно сгенерировать новый .hex , который соответствует нашему новому MakeFile . Мы будем использовать команду make hex .

Затем нам нужно написать команду make fuse , чтобы установить предохранители, чтобы плата использовала внешние часы.Вы должны увидеть ответ, как на первом изображении. Наконец, используйте команду make program , чтобы записать нашу прошивку на плату для работы в качестве программиста AVR.

Тестирование программиста FabISP AVR

После выполнения предыдущих шагов ваш компьютер должен теперь распознать плату как ISP. Поскольку я использую машину MAC, щелкните логотип Apple, затем щелкните «Об этом MAC», затем «Отчет о системе».

Затем в левом меню в разделе «Оборудование» нажмите «USB».ваш программатор должен быть опознан вашим компьютером по имени FabISB . Это означает, что ваш провайдер AVR теперь готов к работе!

FabISP AVR Programmer 3D-печатный корпус

Я разработал корпус для программатора Tiny AVR, вы можете скачать его по ссылкам ниже. Я распечатал эти детали на 3D-принтере с заполнением 20% без опор.

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

Невероятный двухголовый программатор AVR

Если ваши домашние дела склоняются к программированию, есть большая вероятность, что вы знакомы с микроконтроллерами AVR. Также велика вероятность того, что вы были сбиты с толку, когда прямо из ниоткуда Atmel (компания, которая разработала семейство AVR) изменила интерфейс внутрисистемного программирования AVR (ISP) с 10 контактов на 6 контактов. Что еще хуже, AVRISP mkII, потрясающий программатор USB ISP от Atmel, использует только — современный 6-контактный интерфейс.Здесь нет устаревшей поддержки для вашего старого оборудования, связанного с AVR, ребята. Так что же делать плохому начинающему программисту AVR?

Создайте двуглавого программиста AVR с поддержкой устаревшего интернет-провайдера. Это то что!

Чтобы вы не думали, что 10-контактные интерфейсы ISP ушли в прошлое, ознакомьтесь с фантастической линейкой продуктов от Olimex. 10-контактный интерфейс ISP жив-здоров, большое вам спасибо. Таким образом, программатор AVR, который может работать с современными Arduino 0010 Diecimila и Olimex AVR-MT, действительно был бы универсальным инструментом.

AVRISP Два разъема

Программатор Atmel AVRISP mkII, модифицированный как для 6-контактного, так и для 10-контактного ISP.

Если у вас еще нет AVRISP mkII, вы можете приобрести его примерно за 36 долларов. Независимо от того, есть ли у вас Mark II или вы покупаете новый, для этого простого мода требуется только одна недорогая деталь, чтобы вы могли программировать любой AVR ISP.

Мой Mark II сломлен

Вау, что за оплошность. Компания Atmel произвела несколько Mark II (с октября 2007 г. по январь 2008 г.), которые не могут программировать AVR целевого провайдера.Если у вас есть один из этих капризных программистов-провайдеров, поспешите в Atmel, чтобы получить бесплатное обновление прошивки, которое исправит ваш сломанный программатор. Теперь ваш Mark II должен работать.

Время: 1 час
Стоимость: 1,50 $
Сложность: Easy

Детали

Ступени **

1. Загрузите заметку по применению AVR042. См. Страницу 5 для подключения нашего 10-контактного кабеля к 6-контактному разъему Mark II. ПРИМЕЧАНИЕ: Интернет изобилует неправильными проводными соединениями для 10-контактного интерфейса.Используйте эту заметку по применению Atmel, и у вас не будет никаких проблем.

2. Осторожно отделите пластмассовую оболочку AVRISP mkII. Освободите два пластиковых ушка, которые удерживают плату на месте, и извлеките плату из пластикового корпуса. Найдите 6-контактный разъем ISP и переверните печатную плату. Нижняя сторона этого 6-контактного разъема — это место, где вы будете паять 10-контактный ленточный кабель. На нижней стороне штифт 1 обозначен квадратом.

3. Отрежьте один из разъемов ленточного кабеля IDC 2 × 5 контактов.Осторожно отделите каждый из десяти проводов; около одного дюйма длины будет достаточно. Зачистите, скрутите и залудите каждую проволоку.

4. ЭТО ВАЖНЫЙ ШАГ — НЕ торопитесь. Найдите провод 1 ленточного кабеля IDC 2 × 5 контактов. Это MOSI для 10-контактного ISP. Контакт 4 на 6-контактном интерфейсе Mark II — это MOSI. Найдите этот вывод MOSI на нижней стороне 6-контактного интерфейса Mark II. ПОМНИТЕ, что 6-контактный интерфейс находится ВЕРХОМ ВНИЗ. Убедитесь, что вы правильно расположили контакт 4, а затем припаяйте провод 1 к НИЖНЕЙ ЧАСТИ 6-контактного интерфейса печатной платы Mark II.Понятно? Прочтите этот шаг несколько раз, изучите диаграмму Application Note, затем выполните подключение.

5. Повторите тот же процесс идентификации для каждого из оставшихся 9 контактов 10-контактного интерфейса. Подключите провод 3 ленточного кабеля IDC 2 × 5 контактов к земле. Кроме того, провода 4, 6, 8 и 10 — это , все подключены к контакту 6 6-контактного интерфейса Mark II. Это заземление (GND). Я использовал черный удлинительный провод, чтобы связать все провода GND вместе, прежде чем припаять только удлинительный провод к контакту 6 GND Mark II.

Программатор AVRISP mk II

6. Проверьте все паяные соединения с помощью мультиметра, затем вставьте печатную плату в пластиковый корпус, выведите 6-контактный плоский кабель и 10-контактный плоский кабель через прорезь в пластиковом корпусе Mark II и защелкните корпус обратно. Это сложно, но как только корпус складывается, это прекрасный мод.

7. Попробуйте запрограммировать AVR из среды FREE AVR Studio 4.13 (сборка 528) с 10-контактным разъемом ISP на печатной плате Olimex AVR-MT (или выберите другую 10-контактную плату разработчика ISP).Он должен работать без сбоев.

Наслаждайтесь своим невероятным двуглавым программистом AVR. Особое примечание : этот программатор будет использоваться в следующем проекте.

Используемый AVRISP

Модифицированный AVRISP mkII используется для программирования 10-контактной платы ISP Olimex.

Как использовать USBTiny с Atmel Studio

Когда я впервые начал работать с Atmel Studio, я был немного озадачен стоимостью программистов, необходимых для прошивки моих программ на микроконтроллер.После небольшого исследования я наткнулся на отличный проект — USBTinyISP. Это поставило меня в тупик: это был проект с открытым исходным кодом, его было легко собрать самостоятельно (если вы так предпочитаете), и его было дешево купить (если вы не хотели его создавать). Я постоянно использую USBTiny, чтобы программировать свои доски для поганок.

Найдите USBTiny

USBTinyISP — результат совместных усилий в духе разработки оборудования с открытым исходным кодом. Узнайте больше о проекте, как создать свой собственный или купите комплект в Adafruit.

Если вы хотите начать работу еще быстрее, то Sparkfun продает карманный программатор AVR, основанный на USBTinyISP от Adafruit и USBTiny Дика Стрифланда. Я пошел по этому пути, так как у меня был микроконтроллер Atmel, который мне нужно было быстро программировать.

Использование USBTiny — AVRDude

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

Плюс USBTiny в том, что он работает с AVRDude — классной программой с классным названием (ну, не так круто, как кажется… она происходит от «AVR Downloader / UploaDEr»). Эта программа позволяет вам прошивать ваши шестнадцатеричные программные файлы на определенный набор микроконтроллеров AVR, и это то, что Arduino IDE использует в фоновом режиме. У Леди Ады есть еще одно полезное руководство по использованию AVRDude.Я рекомендую вам загрузить последнюю версию AVRDude, прежде чем продолжить.

Обратной стороной USBTiny является то, что он не поддерживается Atmel Studio.

Получите USBTiny, работающий с Atmel STudio

Не паникуйте! К счастью, Atmel Studio позволяет настраивать другие инструменты программирования. В этом случае мы собираемся настроить его для использования AVRDude из командной строки.

Разверните каждый шаг, щелкнув заголовок

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

В меню Инструменты щелкните Внешние инструменты

Настройка программатора USBTiny
Щелкните Добавить и введите следующее:

Параметр Значение
Заголовок: присвойте этому параметру конфигурации имя
Команда: Это путь к AVRDude плюс «avrdude.exe». На свой компьютер я установил его в D: \ WinAVR \ bin \ avrdude.exe
Аргументы: Содержит аргументы командной строки для AVRDude. Для этого проекта я использовал самые основные настройки:
-c usbtiny -p m328p -v -v -v -U flash: w: $ (TargetDir) $ (TargetName) .hex: i
  • -c Параметр указывает используемый программатор
  • -p параметр указывает микроконтроллер (найдите его в файле avrdude.conf).
  • Параметры
  • -v обеспечивают подробный вывод, чтобы я мог проверить, если что-то пойдет не так
  • $ (TargetDir) и $ (TargetName) — это переменные Atmel Studio, указывающие на папку проекта и шестнадцатеричное имя файла
Начальный каталог: Это путь к AVRDude

Наконец, нажмите ОК

Программирование микроконтроллера AVR
Теперь вы готовы загрузить программу.
  • Подключите контроллер и подключите разъем ICSP к разъему платы.
  • Нажмите «Инструменты », «», затем заголовок конфигурации сверху — например, Миниатюрный банкомат USB
  • Программа должна загрузиться, и AVR должен начать делать свое дело.

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

Выходите за рамки Arduino

Я только что завершил работу над своим новым руководством Arduino to AVR: начало работы за 3 шага .
Получите на Payhip всего за 1,65 доллара.

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

В качестве бесплатного бонуса получите шпаргалку с распиновкой ATmega328P.

USB Key AVR Программатор | fabiobaltieri

Итак, вы видели несколько микроконтроллеров AVR и решили, что они симпатичные (они действительно такие!). Если вы решите работать на простом C, вам понадобится просто набор инструментов (у вас, вероятно, есть готовый пакет для вашего дистрибутива), библиотека avr-libc, программное обеспечение для программирования, такое как avrdude, и аппаратный программатор!

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

В этом посте я публикую свою версию популярного USBasp, разработки программатора USB AVR с открытым исходным кодом от Thomas Fischl.

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

Я использовал микроконтроллер ATMega168-20AU, SMD-версию с пакетом TQFP. Все пассивные компоненты находятся в корпусе 0805, зажимные диоды в корпусе SMA, разъем USB представляет собой посадочное место PTH (но SMD подойдет), а разъем для программирования смонтирован сбоку.

Заголовок программирования

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

Распиновка следующая:

Обратите внимание, что вывод VCC может использоваться либо для питания логического сигнала программатора при правильном целевом напряжении (как это происходит с AVRISP mkII), либо для питания целевого оборудования от самого программатора.

Джемперы

Эта конструкция USBasp, как и оригинальная, предусматривает перемычку 2 × 1 для подачи питания 5 В на цель, но есть дополнительный последовательный резистор для защиты от короткого замыкания.

Также дополнительная перемычка 2 × 1 используется для начального программирования и перепрограммирования прошивки устройства. Если у вас нет другого программиста и вам нужно запрограммировать своего первого «умного» программиста, попробуйте BSD-программатор параллельного порта (который я использовал впервые).

Третья перемычка 2 × 1 используется для ручного выбора режима низкоскоростного программирования, который вам понадобится при первом программировании устройства AVR, так как по умолчанию микроконтроллер работает на частоте 1 МГц, а скорость программирования по умолчанию USBasp слишком высок (максимальная скорость программирования составляет 1/4 от системных часов).

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

Прочая информация

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


Кроме того, вы должны использовать это только для программирования устройств с напряжением 5 В… Устройства с напряжением 3,3 В должны работать, но вы можете значительно превысить целевую логику.Это может сработать в течение некоторого времени, но не вините меня, если это воспламенит ваш последний самый крутой проект! Во всяком случае, я делаю это довольно часто. Только никому не говори … Хорошо?

И последнее замечание: эта конструкция несовместима с микропрограммой Томаса, так как назначение выводов GPIO было изменено для упрощения компоновки.

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

Схемы в формате PDF можно скачать здесь.

Удачного программирования!

Обновление!

Печатная плата доступна на BatchPCB!

Нравится:

Нравится Загрузка …

Связанные

Pololu USB AVR Programmer v2.1

Этот внутрисистемный программатор может использоваться для программирования микроконтроллеров AVR и плат контроллеров на основе AVR, таких как наши A-Star 328PB Micro, контроллеры роботов Orangutan и робот 3pi.Программатор имитирует STK500 на виртуальном последовательном порту, что делает его совместимым со стандартным программным обеспечением AVR, и поддерживает устройства, работающие от 3,3 В или 5 В. Программатор также имеет последовательный порт уровня TTL, обеспечивающий универсальную последовательную связь. для отладки или программирования микроконтроллеров с последовательным загрузчиком. Кабель ISP и двусторонний штекерный разъем 1 × 6 входят в комплект поставки этого полностью собранного программатора.

Программатор Pololu USB AVR v2.1 (продукт # 1372) представляет собой заменяемую замену нашему более старому Pololu USB AVR Programmer v2 (продукт # 3170) с тремя аппаратными улучшениями:

  • Дополнительная функция вывода VCC программатора v2 (который позволяет вам питать AVR от программатора) не был разработан для питания нагрузок с емкостью более нескольких микрофарад.Программатор v2.1 имеет лучшую выходную схему VCC, поэтому он может питать платы с более высокой емкостью, что привело бы к тому, что программист v2 постоянно испытывал бы аварийные сбросы. Несмотря на то, что все еще существует предел допустимой емкости, мы ожидаем, что функция вывода v2.1 VCC будет работать с большинством небольших целевых плат AVR, которые имеют емкость менее 33 мкФ на VCC, и мы протестировали ее с A-Star 328PB Micro.
  • Подключение программатора v2 к роботу 3pi может привести к тому, что один из двигателей на короткое время заработает на полной скорости, потому что схема программатора для измерения VCC может непреднамеренно подтянуть один из выводов программирования 3pi (который также служит входом драйвера двигателя) перед тем, как GND соединение установлено.В программаторе v2.1 улучшена схема измерения VCC, которая ограничивает рабочий цикл этого эффекта примерно до 0,2%, поэтому двигатель не двигается (но может издавать щелкающий звук с частотой 25 Гц).
  • Программатор v2 обычно отключался, если на его вывод RST был подан сигнал 5 В, когда он работал при 3,3 В. Программатор v2.1 не имел этой проблемы.

Программатор Pololu USB AVR — RobotShop

  • Программатор для контроллеров на базе AVR
  • Включает кабель USB A — mini-B и 6-контактный кабель для программирования ISP
  • Последовательный порт уровня TTL для связи общего назначения
  • SLO-прицел для контроля сигналов и уровней напряжения
  • Поддерживает стандартное внутрисистемное программирование (ISP)

Программатор Pololu USB AVR — это чрезвычайно компактный и недорогой внутрисистемный программатор (ISP) для микроконтроллеров AVR компании Atmel, что делает это устройство привлекательным программным решением для контроллеров на основе AVR, таких как контроллеры роботов Pololu Orangutan.Программатор USB AVR подключается к USB-порту вашего компьютера с помощью прилагаемого кабеля USB A — mini-B и связывается с вашим программным обеспечением для программирования, таким как AVR Studio или AVRDUDE, через виртуальный COM-порт с использованием протокола AVRISPV2 / STK500. Программатор подключается к вашему целевому устройству с помощью прилагаемого 6-контактного кабеля для программирования ISP (старые 10-контактные соединения ISP напрямую не поддерживаются, но легко создать или приобрести адаптер ISP с 6 на 10 контактов) .

Это устройство представляет собой программатор для контроллеров на основе AVR, таких как наши контроллеры роботов Orangutan и робот 3pi.Программатор имитирует AVRISP v2 на виртуальном последовательном порту, что делает его совместимым со стандартным программным обеспечением для программирования AVR. Две дополнительные функции помогают в создании и отладке проектов: последовательный порт уровня TTL для связи общего назначения и SLO-область для мониторинга сигналов и уровней напряжения (см. Вкладку «Полезные ссылки»).

Поддерживаемые микроконтроллеры

Программист должен работать со всеми AVR, которые могут быть запрограммированы ISP AVR, но он не был протестирован на всех устройствах (он был протестирован со всеми контроллерами роботов Orangutan и роботом 3pi).Программатор имеет обновляемую прошивку, позволяющую обновлять будущие устройства. В настоящее время он не работает с линейкой микроконтроллеров Atmel XMega. Программатор питается от шины питания USB 5 В и предназначен для программирования AVR, работающих при напряжении, близком к 5 В (обратите внимание, что программатор не подает питание на целевое устройство).

Поддерживаемые операционные системы

Программатор был протестирован под Windows XP, Windows Vista, Windows 7 и Linux.Он несовместим ни с одной версией Mac OS или со старыми версиями Windows.

Примечание: Этот программатор поддерживает стандартное внутрисистемное программирование (ISP), которое также иногда называют внутрисхемным последовательным программированием (ICSP).

alexxlab

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

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