Site Loader

Содержание

Com программатор avr своими руками

Добро пожаловать, Гость. Логин: Пароль: Запомнить меня. Забыли пароль? Забыли логин? Программатор для AVR своими руками.


Поиск данных по Вашему запросу:

Схемы, справочники, даташиты:

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам.

Содержание:

  • Программатор для AVR usb. (AVR910)
  • ПРОГРАММАТОР AVR USB
  • Программатор для AVR — аналог AVRISP
  • Программатор AVR своими руками
  • USB программатор своими руками на микроконтроллере Atmega8. Схема
  • Схема USB программатора на Atmega8 своими руками
  • Простейший программатор для ATmega8
  • Программатор Громова
  • Программатор для AVR — аналог AVRISP
  • USB ПРОГРАММАТОР AVR

ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: USBasp программатор AVR. Прошиваем микроконтроллер.

Программатор для AVR usb. (AVR910)


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

Хотя если посмотреть с другой стороны, заказ с ebay будет идти по почте не меньше месяца, а собрать программатор avr usb своими руками, в силу его простоты, можно за вечер.

Более того, если начинающий радиолюбитель сам соберёт программатор, то в дополнении к программатору он получит опыт, бесценный опыт, а это дорогого стоит.

Это второй мой USB программатор для AVR, первым я сделал программатор USB-asp, но он мне не очень понравился, так как иногда отваливался от моего компьютера, хотя на другом компьютере ничего подобного не наблюдалось. Я решил попробовать собрать другой программатор, и мой выбор пал на программатор AVR У данного программатора немного по другому реализована схема подключения по USB, и как позже оказалась, на моём компьютере всё работает очень хорошо.

Я забыл о проблемах, которые у меня были с моим прошлым программатором. Питается программатор от USB порта. Для того чтобы не требовалось согласование с уровнями линий данных USB порта 3. Для получения из 5В в USB порте 3.

На каждом диоде падает по 0. Диоды должны быть кремниевыми, не допускается использование диодов шотки, так как на них падает меньше 0,7В. Выходы разъёма программирования подключены через резисторы на Ом для согласования уровней.

Работает устройство на микроконтроллере AtMega на тактовой частоте 12МГц. Программатор имеет индикацию записи, чтения, наличия питания. Также данный программатор имеет выход, на котором всегда присутствует меандр, частотой 1 МГц. Это очень классная и полезная штука для восстановления микроконтроллеров, у которых из-за ошибочно запрограммированных Fuse битов тактирование сконфигурировано от внешнего источника тактовых импульсов.

Я таким образом уже несколько раз восстанавливал микроконтроллеры. Нужно всего лишь посмотреть в даташите на конкретный микропроцессор AVR, к какому выводу подключается внешний источник тактового сигнала, и подпаять к данному выводу источник меандра. Подключить программатор, и перепрограммировать fuse. Всё очень просто, но иногда здорово выручает! Имеющиеся варианты реализации печатных плат под программатор AVR не совсем меня устраивали, и я выполнил трассировку своего варианта скачать файлы проекта можно в конце статьи.

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

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

Но затем я купил широкую прозрачную термоусадку и усадил в неё программатор. Что в итоге получилось вы видите на фото. По моему довольно интересно и даже симпатично. С термоусадкой всё кажется просто, но мне было сложно сделать отверстия под штыри. Если протыкать отверстия шилом, то при усадке термоусадочная трубочка рвётся начиная от данных отверстий.

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

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

Всё работает очень хорошо и никаких проблем не возникает. Проблемы возникли у меня когда я попытался установить драйвера для 64 битной Windows 7.

Дело в том, что этот драйвер не имеет цифровой подписи Microsoft и 64 битный Windows 7, будучи более защищенным в безопасности, блокирует все драйвера без цифровой подписи.

Эту блокировку можно отключить, но это не совсем просто….. Так что имейте ввиду. Заливаю прошивку в микроконтроллер я при помощи программы AvrOsp2. Она очень простая, не требует установки, бесплатна, поддерживает программатор AVR и огромное кол-во микроконтроллеров АВР, хорошо работает и имеет очень удобное меню для работы с FUSE битами. В общем, классная программка, мне она очень нравится, рекомендую! В видео ниже я показал процесс установки драйверов для AVR, как настроить и пользоваться программой AvrOsp2.

В моей версии программатора я не установил выводной электролитический конденсатор на 22 мкФ, который устанавливается со стороны противоположной дорожкам и паяется в отверстия, которые находятся возле разъёма USB. Возможно потребуется установить дополнительный электролитический конденсатор ёмкостью мкФ параллельно впаянному керамическому конденсатору 0. Ниже на картинке, от руки показаны места подключения. Для работы программатора необходим микроконтроллер способный работать до 16 МГц.

Есть и обычная версия, которая работоспособна вплоть до частоты 16 МГц. Это то, что нам нужно. Ниже представлен кусочек даташита AVR AtMega8, в котором вычеркнуты версии микроконтроллеров которые не буду работать в данном программаторе, и выделены зелёной рамкой версии микроконтроллеров которые будут работать в данном проекте. Скачать файлы проекта можно по ссылке — Programmator-dlja-AVR-usb. Модификация заключается в смене разъёма на ISP Pingback: Программирование AVR. Здравствуйте спаял данный программатор но когда подключаю его к компьютеру не горит светодиод хотя система его видит и драйвера ставятся нармально поставил резисторы на ом все равно не горит что может быть.

Какой именно не горит? Тот который индицирует питание зелёный? Проверьте полярность его включения. Какой прогромматор нужен и програма к ней? Скажите пожалуйста, куда надо подвести LED с данного программатора и как восстановить Тиньку, ведь по описанию им можно это сделать?

Каким именно программатором вы смогли запрограммировать данный бит? От чего этот глюк, и как бы его можно пофиксить? Скорее всего данный голюк из-за софтового USB на данном программаторе.

Часто бывает что на одном компьютере работает прекрасно, а на другом вообще не заводится, но это редкость. Если хочешь — пришли в zip архиве свой проект платы и я его прикреплю к статье, возможно ещё кто-то захочет его повторить. Перед загрузкой Windows 7 нажмите F8. Загрузите ОС. Поставьте драйвер. Недостаток такого способа один: когда нужно будет работать с программатором, то при загрузке заходить в вышеописанный режим.

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

А ещеее… можно взять просто бутылку из-под напитков — они тоже термоусаживаемые… Может даже круто выглядеть будет, лучше чем покупная термоусадка.. Неужели нужно тыкать в плату кочергой судя по качеству пайки!

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

День добрый! Я в принципе так и делал, прочитал чип, загрузил прошивку, проверил. Потом прочитал фьюзы, потом сбросил все, как сказано в статье снял галочки на нужных трёх, и больше не считывал их , точка стояла на прямых фьюзах, потом нажал программирование. В конце он написал вроде как окей, но чип перестал читаться, ни прошивку ни фьюзы, а при подключении определился и встал драйвер, попробовал им тиньку 13, программируется и читается, а две smd 8-х меги, которые я пред этим программировал, так и не читаются.

В дип корпусе такая же мега читается.


ПРОГРАММАТОР AVR USB

Usb программатор для AVR Здравствуйте! Программатор AVR? Блоги программистов и сисадминов. Vkontakte ,.

Решено: Программатор для AVR своими руками Atmega AVR микроконтроллер Ответ. Я не могу найти схему программатора для МК.

Программатор для AVR — аналог AVRISP

Вот продолжение эпопеи по прошивке МК, разбираем подключение программатора. Самый простой и доступный способ прошить микроконтроллер Atmel, например ATtiny13 или ATmega8, это собрать собственными силами программатор stk Очень хорошо и подробно об этом написано здесь и еще здесь. Главный недостаток программатора — это порт подключения LPT, которого на вашем компьютере может и не быть. Но есть один неоспоримый плюс — это его доступность! Также стоит отметить высокую скорость работы программатора. Ну приступим к делу! Для сборки программатора нам понадобится немного радиодеталей и один начинающий электронщик goga26rus , жаждущий научиться программировать МК!

Программатор AVR своими руками

Модифицировал печатную плату под свой корпус. Результат превзошел мои ожидания. Переносим рисунок с чудо-бумаги на плату. Дорожки немного расплылись — не беда.

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

USB программатор своими руками на микроконтроллере Atmega8. Схема

С развитием компьютерной техники, с каждым разом становится все меньше и меньше компьютеров оснащенных COM и LPT портами. Это в свою очередь вызывает затруднения, в частности у радиолюбителей, связанные с сопряжением средств программирования микроконтроллеров с персональным компьютером. Построен он на микроконтроллере Atmega8 и способен работать от USB разъема компьютера. Данный программатор совместим с STK v2. USB программатор построен на плате, сделанной из одностороннего фольгированного стеклотекстолита по технологии ЛУТ. После того как все детали будут запаяны нужно прошить микроконтроллер Atmega8 прошивкой приведенной в конце статьи.

Схема USB программатора на Atmega8 своими руками

Два универсальных программатора. Возможность их программирования по последовательному интерфейсу SPI позволяет использовать для этих целей очень простые программаторы, например PonyProg. Но в последнее время энтузиасты — программисты share ware программаторов для AVR просто не в силах своевременно вводить корпектную поддержку всех новых типов. Но даже те радиолюбители, которых вполне устраивают старые типы контроллеров, могут оказаться в сложной ситуации. Например, класс AT90S полностью снят с производства. На смену ему пришли ATtiny и ATmega, которые имеют несколько иные алгоритмы программирования. В такой ситуации логично будет не изобретать велосипед, а воспользоваться схемой программатора микроконтроллеров AVR, которую предлагает производитель AVR — фирма Atmel.

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

Простейший программатор для ATmega8

Кроме этого, разные программаторы предназначены для прошивки разных микроконтроллеров: AVR или PIC, при том, что алгоритм программирования этих двух типов микроконтроллеров отличается незначительно. Оптимальной нам показалась приведённая ниже схема программатора. Он подключается к COM-порту компьютера и содержит известную микросхему MAX, которая корректно работает с любым COM-портом у разных компьютеров уровни порта могут существенно отличаться от стандарта , защищая его при случайных ошибках монтажа или подключения.

Программатор Громова

Для программирования микроконтроллеров AVR требуется программатор. Но я работаю на ноутбуке, а в них сейчас устанавливаются только USB порты. Сейчас, я скорее всего купил бы данный программатор. На ebay они стоят недорого, наверное, даже дешевле чем купить детали, сделать плату и всё спаять. Хотя если посмотреть с другой стороны, заказ с ebay будет идти по почте не меньше месяца, а собрать программатор avr usb своими руками, в силу его простоты, можно за вечер. Более того, если начинающий радиолюбитель сам соберёт программатор, то в дополнении к программатору он получит опыт, бесценный опыт, а это дорогого стоит.

Авторизация Зарегистрироваться Логин или эл. Напомнить пароль Пароль.

Программатор для AVR — аналог AVRISP

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

USB ПРОГРАММАТОР AVR

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


Делаем простой USB программатор USBTinyISP – RoboCraft

Очень многие люди, начиная свое знакомство с микроконтроллерами, испытывают трудности с инструментом для их программирования. И это реально может охладить творческий пыл. Да что там говорить, я и сам после сборки своего первого Arduino долго пытался «вдохнуть» жизнь в «железяку». Здесь очень хорошо описаны мучения. Конечно, самый простой вариант «5 проводков» — это здорово! Но, в моем окружении (как я понимаю, и у многих) дома, на работе в компах и ноутбуках напрочь отсутствует LPT-порт! Да и COM-порт становиться достаточно редкой «экзотикой». Что же делать? Естественно, на сцене появляется вездесущий USB.

Да, готовый программатор для AVR легко можно купить. Но цена на них неадекватно завышена (у нас в г. Минске, на радиорынке что-то около 30..50 у.е.). Как говорил Киса Воробьянинов — «ОДНАКО!!!». Хорошо, что есть братья-китайцы, с нормальными ценами. Только придется прилично подождать. Да и судя по последним тенденциям, ОГРОМНЫЙ поток посылок из Китая ОЧЕНЬ заинтересовал государственные органы… И боюсь, что в скором времени превратится в жалкий ручеек 🙁
Да и к тому же, как говорит мой хороший друг: «Это не наш метод. Мы сделаем сами, пусть по выходу окажется и в два раза дороже!».

Спешу обрадовать, что затраты на изготовление — мизерные. Самые дорогие компоненты — это Attiny2313 (примерно 2$) и разъем USB.

Итак, приступим. Нам нужен программатор который максимально прост и относительно дешев, подключается по USB, и при этом, поддерживается всеми современными ОС (LINUX, WINDOWS, MAC OSX) через программу avrdude. Изначально я рассматривал для повторения самый «примитивный» вариант. Дальнейшие поиски меня привели к — USBTinyISP!!! Стремясь к компактности, я выбрал для «клонирования» версию 1 (без буферной микросхемы). Ниже схема программатора.

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

(Номиналы деталей можно увидеть в SprintLayout при наведении курсора на нужный элемент)

Нам понадобится:

— кусок текстолита 63х33 мм
— МК Attiny2312 с колодкой под нее
— Разъем USB (тип B)
— Разъем 10х2 (как он правильно называется ???? Не знаю..)
— 4 резисторa 1.5 кОм (smd, маркировка 152)
— 1 резистор 1.5кОм (выводной 0.125Вт)
— 2 резисторa 33 Ом (smd, маркировка 330)
— 1 резистор 10к (smd, маркировка 103)
— 2 стабилитрона на 3.6В
— 2 конденсатора 22 pF (smd)
— 1 конденсатор 0.1 мF (smd)
— 2 светодиода (зеленый и красный)
— кварц на 12Mhz
— электролитический конденсатор 100x16V
— самовосстанавл. предохранитель (я выпаял из старой мат. платы). Если нету, можно поставить перемычку (на http://www.ladyada.net/ так и сделали).
— два штырька для перемычки

Естественно, ЛУТ.

После ЛУТа

После травления:

Мой любимый сплав Розе

Паяем SMD элементы

Теперь перемычки и оставшиеся элементы

Готово!

Небольшое лирическое отступление. Давным давно,в 2000-х годах у меня один приятель жаловался со сложностями в поиске НОРМАЛЬНОЙ работы (он работал водителем). Дело в том, что у него был на тот момент очень маленький стаж вождения :). Чувствуете подвох? На нормальную работу без стажа не берут. Стажа нет, потому что на работу не берут…. И так замкнутый круг.

Так и в нашем случае, для изготовления программатора нужно запрограммировать контроллер….т.е. нужен программатор. Слава богу, это нужно проделать всего один раз. Выходов несколько:
— берем пиво и навещаем приятеля с программатором 🙂
— ищем компьютер с LPT-портом и паяем «5-проводков»
— нету LPT, но есть COM? Прекрасно, делаем программатор Громова!
— есть люди, предлагающие свои услуги по прошивке МК за небольшую «денюжку»
— другие варианты

У меня ситуация более, чем шикарная — у меня уже был программатор AVR910. Так, что вся процедура заняла не более минуты. «Прошиваем» МК с помощью AVRDUDE. (Все необходимое для этого сложено в архив и находиться в каталоге Firmware).

avrdude.exe -p t2313 -c avr910 -P COM12 -U flash:w:usbtinyisp_(v.1).hex -U hfuse:w:0xdf:m -U lfuse:w:0xef:m

Кому менее повезло и пришлось прибегнуть к «5 проводкам» (кстати, официально он называется DAPA):

avrdude.exe -p t2313 -c dapa -U flash:w:usbtinyisp_(v.1).hex  -U hfuse:w:0xdf:m -U lfuse:w:0xef:m

вот, вариант когда программатор USBTinyISP используется для прошивки себе подобного, а-ля «овечка Долли»:

avrdude.exe -p t2313 -c usbtiny -U flash:w:usbtinyisp_(v.1).hex -U hfuse:w:0xdf:m -U lfuse:w:0xef:m

Почему вариант с AVRDUDE более предпочтителен для начинающих? При выполнении вышеприведенных команд сразу же прошиваются и нужные фьюзы, т.е. ухера.. «убить» микроконтроллер достаточно сложно.

Итак, устанавливаем на плату свежепрошитый микроконтроллер. Еще раз советую проверить изготовленную плату на качество пайки, отсутствие «коротышей» и тому подобных неприятностей. И только если ВЫ на 100% уверены, подключаем наш программатор к разьему USB. После сообщения об обнаружении нового оборудования (речь идет о Windows), ставим как обычно драйвера. Они сложены в архиве в папке usbtinyisp w32 driver v1.12.

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

Если Вам удалось увидеть такую же картинку, то поздравляю! Все готово. У Вас теперь есть USB программатор для AVR!!!
Не знаю как Вы, но мне ОЧЕНЬ захотелось сразу же опробовать изделие в действии. А давайте прошьем бутлодер в Ардуино.

Запускаем Arduino IDE, [Сервис]->[Программатор]->[USBTinyISP]

Жмем [Сервис]->[Записать загрузчик]

Буквально проходит 7 секунд, мерцание красного светодиода на программаторе… и ОПА!! Все готово. Получите, распишитесь 🙂


А теперь небольшой БОНУС, расширяющий область применения нашего программатора. А именно, маленький адаптер для DIP корпусов наиболее распространеных AVR контроллеров. Мне приходилось иметь дело с ATTiny13/45 — 8 ножек, Attiny 2313 (тут смайлик)- 20 ножек, Atmega 8/48/168 — 28 ножек. За основу берем схему соединения колодок (схема откуда-то из инета):

Для простоты я не использовал сигналы тактирования XT1. (Для всяких неприятных случаев, у меня есть собранный FUSE Doctor :)) И еще, я не ставил на адаптер колодку под Atmega16 (DIP-40). Пока у меня не возникало необходимости в программировании таких контроллеров.

Ну, если осилили изготовление программатора, то сделать такой адаптер — вообще плевое дело!

Кстати, некоторые неиспользуемые контакты я просто-напросто удалил, во избежание ненужного контакта 🙂

Приклеиваем (для удобства) соответствующие надписи:

И вот, все в сборе, программатор и адаптер! Пользуйтесь на здоровье.
Весь материал (печатку, прошивку,драйвера и фото) для повторения можно забрать одним архивом тут.

Ghost_D

Разное

Программатор UPDI для микроконтроллеров AVR

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

Достаточно упомянуть новые микроконтроллеры ATtiny series-0 и series-1, которые объединяют возможности, ранее зарезервированные для старших братьев из серии Xmega, включая систему событий, преобразователи АЦП и ЦАП и независимые от ядра периферийные устройства. Кроме того, они имеют большой объем флэш-памяти, RAM и EEPROM и доступны в небольших корпусах. Аналогичная ситуация и в случае семейств Xmega и Mega, где был введен ряд улучшений и функциональных расширений, а также ранее неизвестная периферия. Я говорю о таких системах, как MegaAVR-0 или AVR-DA.

Новый интерфейс программирования и отладки UPDI (Unified Program and Debug Interface) обладает уникальной особенностью использования только одного вывода микроконтроллера (UPDI/RESET) для программирования и отладки схемы. Производитель обеспечил соответствующую программную и аппаратную поддержку нового стандарта. Программное обеспечение Atmel Studio (и, следовательно, новая Microchip Studio) поддерживает все новые микроконтроллеры, а также поддержку нового недорогого программатора под названием MPLAB SNAP, который оснащен интерфейсом UPDI.

Однако ситуация усложняется при использовании других сред IDE, таких как Eclipse с подключаемым модулем AVR, который позволяет программировать микроконтроллеры с помощью приложения AVRdude. Верно, что в случае AVRdude и нового интерфейса UPDI мы можем использовать поддерживаемый им программатор Atmel ICE (ранее обновленный), но для многих радиолюбителей это очень дорогое решение и, следовательно, практически недоступное.

Значит, мы полагаемся исключительно на программное обеспечение Atmel? Должны ли мы отказываться от удобной среды разработки, которой, несомненно, является Eclipse? К счастью, нет. На помощь нам приходит сообщество Github, пользователь с ником ElTangas. Он подготовил специальную версию программы AVRdude (фактически новый файл конфигурации) и новый тип поддерживаемого программатора, помеченный как jtag2updi. Благодаря этому и с помощью простого программатора мы можем программировать большинство новых микроконтроллеров AVR, оснащенных интерфейсом UPDI, с помощью программы AVRdude.

В дополнение к программному обеспечению, необходимому на стороне ПК (AVRdude), необходим простой чип, который перекодирует протокол JTAGICE mkII, используемый на стороне ПК, в новый интерфейсный протокол UPDI. Автор программы решил сделать конструкцию на базе популярной платы Arduino Uno/Nano и микроконтроллера ATmega328P, но для людей, желающих поэкспериментировать с другими типами систем, с помощью которых может быть построен программатор, автор сделал доступным все исходное программное обеспечение в виде репозитория GitHub.

Сборка и эксплуатация

Блок-схема и функциональная схема цепи между программным обеспечением ПК, программатором, содержащим микроконтроллер ATmega328P, и программируемой системой с интерфейсом UPDI показаны на рисунке 1. На основе этой простой, но очень интересной блок-схемы я разработал простой программатор, который назвал sUPDI, схема которого показана на рисунке 2. Была создана очень простая микропроцессорная система в соответствии с предположениями пользовательского проекта ElTangas с некоторым расширением функциональности.

Рассматриваемое расширение представляет собой простой интерфейс USB-Serial в виде хорошо известного чипа FT232RL, который вместе со стандартным драйвером VCP предоставляет виртуальный последовательный порт в операционных системах ПК.

Кроме того, как и в исходном решении, был реализован простой преобразователь напряжения с использованием резистора R2, который позволяет программировать микроконтроллер, питающийся от напряжения, отличного от напряжения системы ATmega88, которая является частью программатора. На последний из-за относительно высокой тактовой частоты 16 МГц подавалось 5 В от разъема USB. Дополнительно использовалась ПЕРЕМЫЧКА, с помощью которой можно установить уровень напряжения VTAR (3,3 В или 5 В) на выходе интерфейса UPDI программатора (разъем PRG). Конечно, сам интерфейс состоит только из одного вывода UPDI (и земли), но дополнительный вывод питания позволяет запитать запрограммированную систему от нашего программатора. Следует помнить о малой токовой эффективности этого источника напряжения, которая составляет всего 50 мА для напряжения 3,3 В и 100 мА для 5 В.

Вышеупомянутый резистор R2 играет в нашей системе еще одну роль, а именно служит для защиты программатора, если при этом была попытка передать передачу через обе системы (наш микроконтроллер ATmega88 и программируемую систему с интерфейсом UPDI). Встроенный светодиод VUSB используется для сигнализации напряжения интерфейса USB.

Монтаж и наладка

Схема сборки устройства sUPDI показана на рисунке 3. Очень тонкая печатная плата была разработана с подавляющим большинством SMD-компонентов, установленных только на ВЕРХНЕЙ стороне печатной схемы. Приступаем к применению устройства с пайки интегральных схем. Самый простой способ сделать это — использовать термовоздушную паяльную станцию и подходящие припои.

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

Затем мы припаиваем оставшиеся полупроводниковые элементы, затем резисторы и конденсаторы и, наконец, кварцевый резонатор, выводы VTAR (снабженные перемычкой), разъемы PRG и USB. Из-за уплотнения выводов интегральных схем перед первым подключением системы к источнику питания необходимо еще раз проверить качество соединений, чтобы избежать возможных коротких замыканий. Вышеупомянутый осмотр будет намного проще, если собранную плату промыть изопропиловым спиртом, чтобы смыть излишки флюса.

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

Напоследок несколько слов о работе устройства. Первый шаг — подключить программатор sUPDI к любому USB-порту ПК. Первое подключение должно сопровождаться установкой соответствующего драйвера виртуального последовательного порта VCP под именем COMx (где x — число), доступного порта, например, из панели управления Windows. Стоит запомнить имя нашего виртуального последовательного порта, так как оно понадобится для следующих шагов.

В случае, когда мы используем среду Eclipse и приложение AVRdude, нам понадобится следующее:

обновленная версия приложения AVRdude (на данный момент 6.3) и его конфигурационный файл (avrdude. conf), поддерживающий новый тип программатора (jtag2updi) и определения новых типов микроконтроллеров AVR,
новая версия инструментария из пакета Atmel с поддержкой новых типов микроконтроллеров, которые мы укажем в среде Eclipse.

Самый простой способ получить оба необходимых пакета — загрузить последнюю бесплатную версию приложения Arduino и программное обеспечение Atmel Studio (или Microchip Studio) в его последней компиляции. Первая среда предоставит нам последнюю версию приложения AVRdude, а вторая предоставит нам последнюю версию инструментальной цепочки, необходимой для использования среды Eclipse. Имея вышеупомянутое программное обеспечение, достаточно указать соответствующие пути доступа в среде Eclipse, и мы уже можем наслаждаться возможностью создания приложений для новейших микроконтроллеров AVR и их программирования с помощью приложения AVRdude.

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

Само программирование с участием приложения AVRdude может быть выполнено из среды Eclipse, настроив соответствующий программатор (jtag2updi). Тем не менее, лучше выполнять эту операцию вручную, в консольном режиме, что я особенно рекомендую. Это не должно быть проблемой, потому что соответствующие команды очень просты, и мы можем легко запомнить эти несколько деталей. Итак, начнем с тестирования соединения AVRdude с запрограммированным микроконтроллером с помощью программатора sUPDI. Соответствующая команда (на примере процессора ATtiny1614) выглядит так:

avrdude -c jtag2updi -P comx -p t1614

где comx — это имя виртуального последовательного порта нашего программатора sUPDI.

Если все пойдет правильно, мы должны получить следующее (или подобное) сообщение:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x1e9422 (probably t1614)

avrdude done. Thank you.

Затем вводим команду, позволяющую записать файл .hex во Flash-память микроконтроллера (в данном случае ATtiny1614), которая выглядит следующим образом:

avrdude -c jtag2updi -P comx -p t1614 -U flash:w:plik.hex

На этом этапе пришло время для команды, которая позволяет записать fuse-биты «fuse6» микроконтроллера (в данном случае ATtiny1614) в значение 0x00:

avrdude.exe -c jtag2updi -P comx -p t1614 -U fuse6:w:0x00:m

И аналогичная команда, но для чтения fuse-битов и записи их значения в HEX-файл:

avrdude.exe -c jtag2updi -P comx -p t1614 -U fuse6:r:»fuse6.hex»:i

Это отличие от более ранних микроконтроллеров AVR, поскольку в последних моделях конфигурация оборудования хранится в большем количестве fuse-битов, чем в старых моделях.

Вот и все об основных командах. За подробностями обращайтесь к приложению AVRdude, описание которого содержит подробную информацию о требуемом синтаксисе команд. Я также рекомендую следить за репозиторием Github по адресу https://github.com/ElTangas/jtag2updi, потому что автор этой реализации может разместить в нем последнее программное обеспечение, поддерживающее новые функции.


Файлы к статье «Программатор UPDI для микроконтроллеров AVR»
Описание:

Файл прошивки микроконтроллера

Размер файла: 4.22 KB Количество загрузок: 32 Скачать

Понравилась статья? Поделиться с друзьями:

Как сделать простой программатор для PIC-ов и AVR-ов

  • Характеристики
  • Программирование PIC-ов
  • Программирование AVR-ов
  • Структура конфигурационных файлов
  •  

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

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

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

  • Испытан под Windows 98, Windows Me, Windows 2000 c процессорами Celeron, AMD Duron, AMD Athlon T, Pentium III до частоты 1000 МГц
  • Программирование ведется через порт RS232
  • Программа не требует инсталяции и дополнительных драйверов.
  • Программирует микроконтроллеры семейства PIC (отладка производилась на PIC16F84 и PIC16F877) по последовательному протоколу и микроконтроллеры семейства AVR (отладка производилась на AT90S8535)
  • Предостовляет возможность самостоятельно добавлять новые чипы из указанных семейств с идентичным протоколом программирования с помощью конфигурационных файлов.
  • Позволяет произвольно менять структуру и содержание меню программируемых чипов и информационных полей связанных с программируемым чипом.
  • Позволяет загружать и редактировать бинарные и HEX файлы, выполнять блочные операции с данными, расчет CRC по нескольким алгоритмам
  • Позволяет индивидуально программировать различные области чипа (память программ, память данных, биты опций, биты защиты)

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

 

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

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

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

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

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

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


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

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

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

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

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

Param_5_Content=ID | ID | ID
Param_5_Choice1=0000

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

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

ParaPROG

ParaPROG

AVR ParaPROG
Параллельный программатор для микроконтроллеров AVR
 

Новую версию управляющей программы для PC смотрим внизу странички.
Что и зачем:
Поводом для создания данного устройства послужило появление новых чипов AVR поддерживающих отладку по протоколу debugWIRE. Так как он не является протоколом программирования, то после смены исходного кода во время отладки и, естесственно, забыв отключить фуз DWENAVRStudio не может заново «подключиться» к отлаживаему кристаллу. Это значит, что фуз DWEN не может быть «сброшен» и, следовательно, отлаживаемый чип больше не может быть запрограммирован через SPI.
После «убийства» двух tiny2313 была написана программа для mega16, которая позволяла, подключившись к меге через житаг, в AVRStudio перепрограммировать фузы тини в параллельном режиме.
Правда это было несколько неудобно и была написана программа для PC, в которой была возможность программирования всех бит фузов для tiny2313.
Дальнейшим развитием стало введение возможности программирования, проверки и чтения Flash памяти, а также введена поддержка других МК.
Поддержка программирования EEPROM не вводилась в виду ненадобности. Вообще программа для МК должна быть написана таким образом, чтоб она сама устанавливала начальные значения EEPROM.
 
Самым очевидным недостатком данного устройства является то, что для сборки программатора AVR необходимо запрограммировать mega16. Однако такой подход имеет право на существование, т.к. даже Atmel предлагает для своего программатора AVRISP схему на своем же микроконтроллере.
Mega16, используемая в данном устройстве, может быть запрограммирована при помощи программатора AVReal и схемы FBPRG («6 проводков на LPT»). Или через интерфейс JTAG с помощью AVR miniICE
К сожалению COM порт компьютера не позволил реализовать «супербыстрое» программирование. Однако на глаз все равно оно проходит быстрее чем последовательное.
DIP корпуса использованы исключительно потому, что автором при отладке используются именно они. Желающие могут сами переделать всю эту конструкцию под SMD.
 
Все приводимое на этой страничке программное обеспечение распространяется свободно. Автор не несет никакой ответсвенности за возможный причиненный ущерб.
Исходные коды программного обеспечения не распространяются.
Дальнейшее развитие этого проекта будет производиться по мере необходимости автора и наличия свободного времени.
 
По всем вопросам можно писать на [email protected]

Особенности:

  • Программирование AVR в параллельном режиме.
  • Возможность «безболезненно» программировать фузы DWEN и RSTDISBL
  • Возможность программирования фуза SPIEN

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

  • ATtiny 2313
  • ATmega32, ATmega16, ATmega8515, ATmega8535, ATmega8, ATmega48, ATmega88, ATmega168

Схема:

Схема проста и не имеет каких то особенностей.

  • На микросхеме DA1 собран стабилизатор напряжения +5V
  • На транзисторах VT1 и VT2 реализован конвертер TTL — RS232
  • Микросхема DD2 может быть применена с любым буквенным индексом
  • Разъем XS2 служит для подключения к COM порту компьютера
  • К разъему XS3 подключается программируемый микроконтроллер.
  • Разъем XS4 предназначался для внутрисхемной отладки и может быть исключен или же использован для программирования mega16 по интерфейсу JTAG
  • Питание устройства осуществялется от внешнего стабилизированного источника +12V
Mega16 должна быть запрограммирована файлом code.hex из прилагаемого архива.
Фузы mega16 должны быть запрограммированы следующим образом:
  • CKSEL = 1110
  • SUT = 00
В архиве также имеется схема в форматах PDF и PCAD2002, разведенная печатная плата для головного модуля устройства и адаптеров для различных видов МК.

Пример реализации:

центральный модуль

плата адаптеров


Работа с устройством:

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

После старта управляющая программа имеет следующий вид:

Доступна только одна кнопка «Read Chip». При нажатии на эту кнопку программа ParaPROG осуществляет поиск программируемого микроконтроллера и пытается прочесть фузы и лок биты.

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

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

Значения фузов и лок битов выводятся в формате принятом Atmel. Т.е. 1 = бит не запрограммирован (соответсвует установленному флажку) и 0 = бит запрограммирован (соответсвует снятому флажку)

Кнопки выполняют следующие функции:

Read Chip
Нажатие на эту кнопку осуществляет синхронизацию управляющей программы и центрального модуля программатора, поиск программируемого микроконтроллера, читает сигнатуру, фузы и лок биты
Write Fuses
Запись фузов в соответсвии со значениями заданными флажками для фузов
Write Lock Bits
Запись лок битов соответсвии со значениями заданными флажками для фузов
Chip Erase
Стирает Flash память программируемого микроконтроллера и сброс лок битов
Write Flash
Программирование Flash памяти в соответсвии с файлом, имя которого задано в поле рядом с этой кнопкой
Verify Flash
Сравнение Flash памяти с содержимым файла, имя которого задано в поле рядом с кнопкой Write Flash
Read Flash
Считывание Flash памяти в файл, имя которого задано в поле рядом с этой кнопкой

Программа принимает для записи/сравнения, а также выходным для чтения Flash является файлы binary формата. Получить их можно при помощи утилиты hex2bin из прилагаемого архива.

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


Замеченные и пока не устранненные ошибки:

  • Так как при постоянно поданном напряжении +12V на Reset программируемые МК довольно сильно грелись, алгоритм работы устройства был сменен на временное включение режима программирования и немедленное выключение его после выполнения действия. Вледсвие этого при работе с некоторыми МК (например мега48) происходит рассинхронизация управляющей программы и основного модуля программатора. Поэтому рекомендуется иногда нажимать кнопку «Read Chip» проводя этим повторную синхронизацию (желательно перед каждым новым действием)
  • Иногда имя выходного файла при операции «Read Flash» самопроизвольно меняется на имя «Reading Flash»

Прилагаемые файлы:

Прошивка, управляющая программа, схема и печатные платы


Дополнения:

Вы все еще пользуетесь COM портом ? Тогда мы идем к Вам ! :-))
Вариант ParaPROG c USB

09. 01.2006


Новая версия управляющей программы 0.2.0.7

Добавлено:

  • Поддержка ATmega162.
  • Возможность добавления пользователем новых кристаллов. Поддержка различных процессоров вынесена в INI-файлы. Теперь для добавления нового процессора достаточно создать для него файл. В этом файле помимо всего прочего есть дефолтные значения для фузов (из даташита).
  • После считывания битов конфигурации с чипа для каждого байта отображается его HEX-представление (для более удобного переноса значений, например, в скрипт пакетной прошивки PonyProg).
  • Значения фузов, не соответствующие дефолтным, отображаются красным цветом.
  • Окошко ввода ком-порта и сохранение этой информации, а также путей к файлам BIN и HEX, в файл конфигурации.
  • Ручной выбор программируемого кристалла. Это полезно, когда у программируемого чипа испортились байты сигнатуры и обычным способом он не видится программатором (иногда бывает 🙂 ).
  • Автоматический запуск конвертера hex2bin при выборе для заливки во флэш файла типа HEX.
  • Исправлена ошибка самопроизвольного изменения имени выходного файла при операции «Read Flash».

 

 

ParaPROG v 0.2.0.7

Благодарности выражаем Олегу Шепелю
oleg@shepel. ru      http://www.shepel.ru

13.03.2007


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

Дополнения от Sailanser.

22.02.2008


Программатор AVR за 3$ (USBasp). |

Привет друзья.

Покупал тут — AVR за 3$ (USBasp)

В этом видеоролике я расскажу про программатор AVR, который я купил на ebay. Стоит этот программатор avr usb 3$. Это программатор avr микроконтроллеров. Я покажу как им пользоваться, как его первый раз включить, установить драйвера, какой для него есть софт, для него немного другой софт, то есть не такой софт как я показывал в видео о AVR910 программаторе, кстати, видео о AVR910 программаторе, точнее ссылка на это видео будет у меня в конце ролика, можете дождаться конца ролика, кликнуть по ней и вы перейдёте на видео об этом AVR910 программаторе.

Программатор usbasp avr я купил именно потому, что видео с AVR910 программатором, очень популярно, и мне задают очень много вопросов, задают как в комментариях, так и в личке. В комментариях задают мало вопросов, в личке задают очень много вопросов. Я пользуясь случаем, хотел попросить вас, если у вас есть вопросы, конкретно к теме которую я затронул в каком-то видеоролике, пишите мне пожалуйста в комментариях к данному видеоролику. Я на все комментарии получаю уведомления, и я вам обязательно отвечу. Я прошу, так как мне в личку, как правило, задают одни и те же вопросы. Я на них отвечаю, но эти вопросы и ответы видят только те, кто их задавал. Если вы спрашивали бы меня в комментариях, и я ответил, то скорее всего человек прочёл бы комментарий, и у него если и возник вопрос, как и у кого то кто уже спросил меня в комментариях, он получил мой ответ. На комментарии я обязательно отвечу.
Я зашёл на ebay и выбрал самый дешёвый программатор AVR. Это программатор за 3 $. Если посчитать, то себестоимость AVR910 программатора, если у нас в Молдавии покупать — микросхема AtMega8 стоит 2 $, гнездо USB mini стоит 0,4 $, кварц тоже стоит центов 0. 35-0.40 $. В общем, тут наберётся как раз на 3 $. Может немного меньше, может немного больше, но это только детали.

Вам ещё нужно сделать плату, запаять всё. Я когда делал программатор AVR910, я его делал чисто из спортивного интереса. Мне было интересно, это были первые пробы SMD компонентов, у меня было очень много свободного времени, так как я был студентом, и я занимался им в своё удовольствие, более того для того, чтобы сделать этот программатор (AVR910), с микроконтроллером, нужно обязательно иметь другой программатор, которым вы запрограммируете микроконтроллер в программаторе AVR910.
Ну и давайте поговорим об программаторе usbasp avr. Первое что я вам скажу — купите себе их два. Не покупайте один, купите два. Объясню почему, сделан он мягко говоря по-китайски. Если посмотрите, вы увидите, что многие детали криво стоят, пайка, сказать что ужасная — ничего не сказать. Отверстия не заполнены припоем, то есть он работает, но качество его… Видно, что повторяемость очень плохая, есть большая вероятность, что какой-то из них может не работать.

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

Да, я и забыл сказать, я купил программатор не AVR910, он тоже для AVR, но это программатор USBasp. Программатор в свободном доступе, это товарищ из Германии его разработал, есть схемы, есть документация на него. У меня под данным видео будет ссылка на мою статью, в которой будут даны все ссылки на софт, на автора проекта. Но китайцы сюда добавил стабилизатор, то есть они немного модернизировали USBasp. Здесь стандартный ISP10 разъём. С программатором идёт такой шнурок, я уже его разрезал и подключил к микроконтроллеру. Я Толику обещал снять видео, и я подпаял к микроконтроллеру провода. Данный программатор USBasp имеет возможность выбора питания, то есть на программируемую схему я могу выбрать что именно я хочу, то есть я могу вообще не питать от программатора схему, вообще не поставив джампер, либо я могу выбрать питание от 5 В сразу от USB,

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

Схема соединения разъёма ISP10 (кликни для увеличения):

О программаторе для AVR больше нечего сказать, остаётся его только вставить в USB порт. Сейчас мы посмотрим, как он определился, поставим не него драйвера, и я покажу программы, с помощью которых можно им программировать. В AVR910 я показывал программу AVRosp, которой можно программировать, используя AVR 910 программатор. AVRosp нельзя пользоваться для использования программатора USBasp. На моём сайте вы скачаете архив, в котором найдёте несколько папок, папка драйвер, и папка софт. В папке драйвер находятся драйвера для этого программатора (UABasp). Я их люблю ставить по ближе к диску С, потому что потом их проще указать. Я их временно копирую на диск С. Теперь я в диспетчере устройств правой кнопкой выбираю «обновить драйверы», он конечно же не может найти, выполняем поиск, показываем откуда искать. Мы хотим с диска С искать. Жмём далее. У меня сейчас стоит Windows 7 x64. Образ оригинального диска, без никаких паков, это чистый windows. В ней ничего не отключено, всё по умолчанию. Я это всё говорю к тому, что AVR910 не хотел работать, точнее драйвера не имели цифровой подписи и windows их блокировал. AVR910 у меня в 64 битной windows 7 не работал. Я когда снимал видео, снимал в 32 битной WIndows, у меня стоят две системы. Всё, USBasp видится как устройство для windows 32.

Дальше уже нужны программы чтобы работать с программатором usbasp avr. Открываем папку софт.

Мне очень понравился avrdudeprog, это графический интерфейс под консольную программку AVR dude. Эта программа поддерживает как AVR910 программатор, так и USBasp. Кстати, данный avrdudeprog программирует при использовании 910 программатора в несколько раз быстрее по скорости, чем стандартный ARVRosp который я показывал в видео. Так что я вам рекомендую перейти на avrdudeprog, даже если у вас есть AVR910 программатор.

Подключаем наше устройство. Устройство запустилось, выбираем AtMega 16, и выбираем стереть всё. Микроконтроллер чист, и как видим он действительно чист, так как на дисплей у меня ничего не выводится.
Дальше выбираем, что мы хотим запрограммировать, ну и жмём программирование. Обратите внимание, как быстро будет идти программирование. Выводится информация, что биты сброшены, флешь очищена перед прошивкой. Было запрограммировано флешь, а потом флешь была прочитана и сверена с тем, что программировалось, то есть проверено, что ошибок нет. То есть была проведена верификация. Ну и как видим, у меня устройство запустилось.
Чем мне avrdudeprog не нравится, так это fuse. Дело в том, что с fuse всё очень и очень сильно напартачено в AVR, дело в том, что по datasheet запрограммированный fuse считается 0. То есть по умолчанию должны быть прямые fuse, то что запрограммировано — 0. Многие программисты считают, что если запрограммировано — должно быть 1. И программистов таких много, программ для программирования очень много, и кто-то придерживается того как в datasheet написано, а кто-то придерживается того, как он считает лучше. Галочка это запрограммировано, или галочка это не запрограммировано? В настройках можно выбрать прямые либо инверсные, и галочки меняются. В этих fuse начинающий 200% запутается. Даже 300%, то есть он залочит себе несколько раз микроконтроллер. Поэтому, я так же приложил несколько других программ для программирования. Обратите внимание, что avrdudeprog сразу работает, её не нужно устанавливать, просто запускаете exe файл, можно даже себе на рабочий стол отправить этот exe, то есть создать ярлык, и оттуда его открывать.
Есть ещё две очень интересные программы. Мне нравится, именно из-за fuse битов. Вообще мне очень нравится avrdudeprog, но для начинающих я бы рекомендовал всё таки eXtreme Burner, устанавливается она также как и обычные программы, ничего в этом сложного нет, просто жмём далее, далее, иногда читайте что написано, установили и пользуемся. Программа eXtreme Burner предлагает пойти на перезагрузку, но я не хочу этого делать, будет и без рестарта работать. Выбираем наш микроконтроллер. Мне не нравится, что ни в одной из них нет как в AVRosp кнопки AutoDetect, нажав на которую, программа считывает с микроконтроллера сигнатуры и сразу определяет что именно за микроконтроллер подключен. Удобно работать с fuse. В eXtreme Burner интерфейс имеет несколько вкладок, flach, eeprom, ну и fuse, вы разберётесь.

Нажимаем сначала прочесть все, программа считала fuse с микроконтроллера. И можно, нажав на кнопку «детали», поменять fuse. В программе eXtreme Burner нет непонятных галочек, а сразу написано, не запрограммировано, запрограммировано. И сделано точно так, как в спецификации AVR, то есть запрограммированно — 0. Единственное чем мне нравится eXtreme Burner, так это тем, что можно сбросить fuse по умолчанию. В данной программе всё тоже не совсем удобно.
Ещё более удобно с fuse в программе Khazama AVR Programmer. Вот такая наипростейшая программа, выбираем AtMega 16. В этой программе постоянно вылезает очень интересная ошибка.

Она не имеет ничего страшного, и сейчас я объясню почему она происходит. Дело в том, что AVR910 программатор как вы помните, имеет штыри, куда мы ставим джампер, и программатор понижает частоту. Дело в том, что по умолчанию идёт 1.5 МГц, а когда вы ставите джампер, частота падает в 4 раза. Так как программатор USBasp сделан таким образом, чтобы он был совместим с Arduino, то он сам переключает частоты, с быстрой на медленную, и Khazama AVR Programmer, уже может прошить любые контроллеры. AVR910 я AtMega которая тактируется на частоте 1 МГц, уже не могу запрограммировать без джампера, то есть мне приходится понижать частоту, для того, чтобы запрограммировать микроконтроллер. USBasp сам переключает частоты, и мне никакой джампер никуда ставить не нужно. Но по спецификации, AVR программатор, то есть программа, отправляет на программатор скорость, с которой должен тактироваться тактовый сигнал, то есть частоту. И в данной программе, можно выбрать частоту, но как я уже сказал, этот программатор сделан совместимым с arduino, то он уже не поддерживает b команды. И поэтому постоянно выходит данная ошибка. Она сильно напрягает, но она стоит того. Нужно много раз нажимать ОК, ОК, ОК. Но обратите внимание, что вы можете выбрать что вы хотите. Начинающему это очень удобно. К примеру, частота. Вот смотрите, нужно поменять частоту процессора — да ради бога, на что хочешь меняй. В avrdudeprog нужно сидеть и выбирать галочки, то есть по хорошему нужно будет сначала посмотреть datasheet, и потом, переключать частотные fuse, так как вам нужно. Естественно, легко ошибиться и можно накосячить. Здесь же всё есть. Но нужно постоянно нажимать ОК. fuse считываются в несколько приёмов, и поэтому нужно много раз нажимать. Если я буду считывать флешь — то мне только один раз нужно нажать ОК. Начинающим я рекомендую эту программу, из-за того, что вы не напортачите со fuse, то есть что-то испортить с fuse будет очень и очень сложно. Ссылку на программы я выложу в своей статье, ссылка будет под данным видео.
Я считаю, что покупка программатора usbasp avr — выгодная покупка, потому что стоит он копейки, примерно столько же, сколько и собрать его с нуля, то есть по стоимости компонентов. Работает программатор хорошо, единственное что хромает — культура производства, как я уже сказал — тут всё криво, микросхема даже запаяна со смещением, я рекомендую купить таких программаторов два. Реально ребята, стоят они копейки уже с доставкой, купите два, один будет как резервный. Вполне возможно, что один из них окажется нерабочим, я допускаю это. Лучше уже потратить 3 $ сверху, но сэкономите месяц времени, если вы вдруг будете покупать второй. Покупка, на мой взгляд, очень и очень выгодна, и я вам рекомендую это сделать.
Ну вот и всё, я надеюсь что это видео было вам полезным, ставьте лайки если вам оно понравилось, подписывайтесь на канал, если вы ещё не подписаны, и желаю вам всех благ, всего вам доброго. Пока, удачи.

Ниже распиновка гнезда ISP 10 в программаторе USBasp.

Материалы:
Архив с драйвером и софтом для USBasp

Ссылки:
Автор проекта USBasp
AVRDUDE PROG для работы с USBasp
eXtreme Burner — AVR для работы с USBasp
Khazama AVR Programmer для работы с USBasp

Рубрики: Инструменты радиолюбителя | Тэги: AtMega8, AVR, avr usb, AVR910, ebay, USB, usbasp, usbasp avr, Инструменты радиолюбителя, Интернет магазины, программатор avr usb | Ссылка

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

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

Это простые AVR программаторы. Я спроектировал и построил четыре разных программатора для различных сред: параллельный программатор, управляемый LPT, адаптер ISP, управляемый LPT, адаптер ISP, управляемый COM, и универсальный мост SPI, управляемый COM. Кроме того, адаптеры, управляемые COM, можно использовать в качестве кабеля связи между хост-компьютером и целевой платой, что полезно для отладки.

Эти программаторы AVR не имеют контроллера на программаторе и напрямую управляются сигналами порта. Таким образом, время программирования сокращается по сравнению с любым другим программатором, поскольку отсутствует задержка связи, такая как последовательность команд/результатов между ПК и программатором. Этот программатор также можно использовать с AVR studio :-).

Если у вас есть загрузочный кабель JTAG, управляемый через порт LPT для устройств Xilinx, Lattice или Altera, его также можно использовать для программирования AVR.

Метод программирования на AVR

AVR имеет два разных режима программирования: Режим параллельного программирования (Параллельный режим) и Режим последовательной загрузки (Режим ISP).

В параллельном режиме программируемое устройство подключается к гнезду программатора и требуется напряжение программирования +12 вольт на его вывод RESET. Связь между программатором и устройством осуществляется в командах параллельного программирования, так что скорость программирования в два раза выше, чем в режиме ISP. Этот режим программирования используется для предварительного программирования многих устройств и/или режима ISP, который нельзя использовать из-за конструкции платы. Однако большинство программаторов, кроме STK500, похоже, не поддерживают этот режим программирования.

В режиме ISP устройство связывается через интерфейс SPI для программирования и проверки. Этот режим требует только трех сигнальных линий без напряжения программирования +12 вольт, так что он также может программироваться в целевой системе, это называется ISP (внутрисистемное программирование). Однако режим ISP не может изменять фьюз-биты на некоторых устройствах, а некоторые устройства не имеют функции ISP. Такие устройства должны быть запрограммированы в параллельном режиме. Но большинство программистов AVR используют этот режим программирования, даже если в нем есть сокет, у них та же проблема.

Кроме того, существует режим последовательного программирования с использованием напряжения программирования +12 В, который называется Режим последовательного программирования высокого напряжения . Этот режим программирования эквивалентен режиму Parallel и доступен только в 8/14-контактных устройствах. Подробную информацию о каждом режиме программирования см. в технических описаниях устройств.

Параллельный программатор

  • Принципиальная схема (для всех устройств)
  • Гнездовые преобразователи
  • Принципиальная схема (только для 8/14 контактов)

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

  • Программирование tiny10/11/28, которая не имеет возможности интернет-провайдера.
  • Замена любого бита предохранителя ранних устройств 90S1200/2313/4414/8515.
  • Изменение бита предохранителя SPIEN или RSTDISBL.

Поэтому в большинстве случаев параллельный программатор не требуется, подойдет только адаптер ISP. Однако 8-контактным устройствам часто требуется режим программирования HVS, чтобы настроить контакт сброса в качестве порта ввода-вывода.

Этот программатор использует 20-контактный разъем ZIF для монтажа устройства, поэтому для программирования устройств не с 20-контактным разъемом требуется любой преобразователь разъема (8,28,40). SOIC, TQFP, PLCC также требуют преобразователя сокетов для каждого пакета.

Выходное напряжение высокого уровня на порту LPT может не достигать 3,5 вольт на некоторых компьютерах. В этом случае преобразователь уровней TTL-CMOS, например 74HC T 541, необходимо поставить в место, указанное штриховой линией. Параллельный программатор управляется с помощью AVRPP.EXE (Win32).

Адаптер ISP (управляется через порт LPT)

Этот адаптер ISP разработан для снижения стоимости и простоты сборки. В упрощенных адаптерах не используются какие-либо полупроводниковые компоненты, сигналы портов напрямую привязаны к целевому устройству, как показано на принципиальных схемах. Таким образом, этот адаптер очень прост, так что он будет построен в течение нескольких минут и будет хорош для пробного использования. Но этот программатор ограничивает целевой диапазон напряжения питания до 4,5-5,5 В, потому что они не преобразуют уровни сигнала между ПК и целью, он может не соответствовать целевому уровню сигнала.

Это программное обеспечение поддерживает пять типов программаторов, оригинальную схему, ключ STK200 и кабели JTAG для устройств Xilinx, Lattice, Altera, управляемых через порт LPT. Связь между сигналами JTAG и сигналами AVR-ISP: TDO-MISO, TDI-MOSI, TCK-SCK и TMS-RESET. В этом случае целевое напряжение питания может составлять 3–5 В. Тип программатора, подключенного к порту LPT, определяется автоматически. Программатор ISP, управляемый портом LPT, управляется с помощью AVRSP.EXE (Win32) .

  • Оригинальный адаптер интернет-провайдера. Упрощенный и буферизованный.
  • Интернет-ключ STK200. Самый популярный AVR-ISP для порта LPT.
  • JTAG-кабель Xilinx. Скачать кабель для Xilinx CPLD/FPGA.
  • Решетка ISP-кабель. Скачать кабель для Lattice CPLD/FPGA.
  • Альтера ByteBlasterMV. Скачать кабель для Aletra PLD.

ISP-адаптер (управляется COM-портом)

  • ISP-адаптер для COM-порта

Это адаптер интернет-провайдера, который управляется через COM-порт. Уровни сигналов линии RS-232C преобразуются в целевой уровень, чтобы целевое устройство могло работать во всем диапазоне VCC. А также его можно использовать в качестве коммуникационного кабеля для связи между хост-компьютером и целевой программой (это объясняется в следующем разделе). Этого адаптера ISP будет достаточно для разработки большинства приложений AVR.

На правом изображении показан встроенный адаптер провайдера для COM-порта. Он имеет переключатель для подключения/отключения адаптера ISP от целевой платы. Эта функция хороша для процесса отладки, который называется «Load-Runner» (программирование/запуск снова и снова).

При сборке лучше поставить преобразователь уровней рядом с целевой платой с точки зрения стабильности и управляемости. Я построил и использовал несколько адаптеров ISP и установил эту форму. Этот адаптер интернет-провайдера управляется с помощью AVRSP.EXE (Win32) или avrdude 5.1+ .

USBspi — мост SPI для USB

  • Мост SPI Rev.4 документ

Последние настольные ПК на рынке, как правило, не имеют устаревших портов (COM/LPT), в частности, устаревшие порты на ноутбуках полностью исключены и заменены портами USB. USBspi — это SPI-мост общего назначения, подключаемый к USB-порту. На мосту SPI R4 добавлена ​​специальная команда AVR, и достигается время программирования (Стирание+Запись+Проверка) 6,6 секунды при 32 Кбайтах. Это в два раза быстрее, чем адаптер COM-порта.

На правом изображении показан построенный мост SPI. Он довольно маленький 46 мм/15 мм/6 мм (Д/Ш/Т) из-за использования устройств в корпусе MLF. Источник питания можно выбрать из «Питание от цели (от 3 до 5 вольт)» или «Подача 5/3,3 вольта на цель (может быть, зависит от цели)». Это позволяет программировать/отлаживать целевую плату без источника питания, если только есть ноутбук.

Поскольку он называется мостом SPI общего назначения , его можно использовать не только для AVR, но и для обычных устройств SPI (с ограничением режима 0). Это пример сброса карты памяти SD. Конечно, он будет работать с адаптером ISP, управляемым портом, с небольшими изменениями в модуле управления SPI. 8 сентября 2007 г.

Использование управляющих программ

Для каждого AVR-программатора есть несколько управляющих программ, и они запускаются в окне консоли. Их также можно использовать для быстрого перетаскивания с правильными настройками PIF (DOS) или . ini (Win32).

Главной особенностью управляющих программ является то, что они могут автоматически определять тип устройства и действовать в соответствии со свойствами обнаруженного устройства. Поэтому подойдет только указание шестнадцатеричных файлов для программирования. Любая опция устройства не требуется. Параметры командной строки также могут быть установлены с файлом PIF или файлом .ini по умолчанию.

Для параллельного программирования доступна тестовая программа на основе DOS, которая может манипулировать любым выводом сокета вручную. Для программиста ISP команда avrsp -z выводит тестовый сигнал на линию SCK для проверки совместимости системы.

Разработка схемы с учетом ISP

При использовании AVR с режимом ISP целевая плата должна быть спроектирована с учетом функции ISP, контакты ISP, RESET, SCK, MISO и MOSI должны быть зарезервированы для функции ISP. Однако в реальном приложении количество портов может оказаться недостаточным.

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

  1. Вставьте резистор между контактом сброса и цепью сброса, чтобы избежать помех от цепи сброса.
  2. Убедитесь, что действия провайдера не влияют на другие функции.
  3. Не подавать питание от внешней цепи во время работы ISP, иначе следует вставить резистор.
  4. Не подключайте тяжелую нагрузку, которая может повлиять на работу интернет-провайдера.
Стандартный разъем ISP

Atmel рекомендует такое расположение контактов, расстояние между контактами 3×2 2,54 миллиметра. При сборке кабеля или печатной платы ISP рекомендуется такое расположение контактов разъема ISP.

Нет места для разъема ISP

Если на целевой плате нет разъема ISP, она может выполнять действия ISP с контактным пломбом, как показано на правом рисунке.

Последовательная связь через кабель ISP

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

  • MISO и MOSI должны быть назначены для последовательной связи.
  • Инициализировать MISO как выход и MOSI как вход.
  • Связь через MISO и MOSI в программно реализованном UART.

Запись устройств PIC24 через кабель ISP

Адаптер ISP-ICSP

Компания Microchip выпустила семейство 16-битных PICmicro. Это мощные микроконтроллеры типа AVR и кому-то из пользователей AVR эти чипы будут интересны. Я создал инструмент для программирования PIC, используя кабели AVR-ISP. Это подойдет для пользователей AVR, которые собираются ненадолго опробовать 16-битные PICmicro.

Средство программирования pic24sp основано на avrsp и имеет те же функции и использование. Поддерживаемые устройства: PIC24F , PIC24H и dsPIC33F . При использовании моста SPI он должен поддерживать набор команд расширения PIC (R3 или более поздней версии). 8-битные PICmicro в настоящее время не поддерживаются, но когда устройства поддерживают функцию LV-ICSP, их можно будет запрограммировать с помощью некоторых модификаций инструмента программирования. Устройства, требующие высокого напряжения на выводе MCLR во время ICSP, такие как dsPIC30F и старые PIC, не поддерживаются. Последовательная связь через кабель ISP по-прежнему поддерживается с учетом того, что целевое устройство должно управлять линией данных в Pch с открытым стоком (Mark = H-Z, Space = High), поскольку связь осуществляется через общую линию данных. 10 декабря 2007 г.

Технические характеристики

  • Принципиальная схема программатора Parallel/HVS 30 янв. 2006 г.
  • Преобразователи сокетов
  • для параллельного программатора 11 ноября 2004 г.
  • Принципиальная схема для 8/14-контактного программатора HVS 30 янв. 2006 г.
  •  
  • Схема адаптера AVR ISP (COM). Оригинальная схема. 30 апр. 2004 г.
  • Принципиальная схема адаптера AVR ISP (LPT). Оригинальная схема. 30 апр. 2004 г.
  • Мост SPI Rev.2. Документы, принципиальная схема, прошивка и т. д. Дек. 16, 2007
  • Принципиальная схема ключа STK200 ISP (LPT). Самый популярный адаптер провайдера. 30 апр. 2004 г.
  • Принципиальная схема кабеля Xilinx JTAG (LPT). 30 апр. 2004 г.
  • Принципиальная схема кабеля Lattice ISP (LPT). 30 апр. 2004 г.
  • Принципиальная схема для Altera ByteBlasterMV (LPT). 30 апр. 2004 г.
  •  
  • Управляющие программы на основе Win32 для Windows 9X/Me/NT/2k/XP или более поздних версий с некоторыми ограничениями10 июля 21 г.
  • PIC24SP для Windows9X/Me/NT/2k/XP9 января 2009 г.
  • Программы управления на базе DOS для DOS, Windows3.X/9X/Me и HP200LX11 ноября 2004 г. (устарело)
  • Ответвление AVRSP от BKK (Win32 (bcc), Linux (x86/ARM))
  •  
  • Образцы программных кодов мониторов UART и AVR (ASM) 29 мая 2002 г.
  • Образцы программных кодов мониторов UART и AVR (GCC) 30 января 2005 г.
  • Откройте окно консоли в открытой папке: Реестр для установки | Добавлен пункт меню 24.09.2006

Программирование AVR 02: Аппаратное обеспечение

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

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

Если вы пропустили часть 1, уделите несколько минут изучению этой части руководства, а затем присоединяйтесь к нам после перерыва.

Дорожная карта серии:

  • Программирование AVR 01: Введение
  • Программирование AVR 02: Аппаратное обеспечение
  • Программирование AVR 03: Чтение и компиляция кода
  • Программирование AVR 04: Запись кода

Программаторы

Как я уже говорил, если вы хотите получить это на чипе, вам нужен программатор. Вариантов огромное количество, но я расскажу о самых простых и недорогих. Мы сосредоточены на внутрисистемном программировании (ISP), что означает, что вы можете программировать чип, не удаляя его из схемы.

Кабель DAPA

Прямой параллельный доступ к AVR или кабель DAPA — невероятно простой и дешевый метод программирования. Вы можете построить его очень быстро, заплатив несколько долларов за детали, но удобство сопряжено с несколькими подводными камнями. Во-первых, на вашем компьютере должен быть параллельный порт; то, чего нет у современных ноутбуков и некоторых современных настольных компьютеров. Но если у вас есть старый компьютер, на котором он есть, это поможет вам быстро начать программирование.

Фактически, первый прототип AVR, который я сделал, был с одним из этих кабелей. То есть, пока я не обнаружил еще один глюк. Это запрограммирует только низкоскоростные чипы. Если вы попытаетесь запустить часы чипа на полной скорости (путем изменения настроек предохранителя… подробнее в части 3), вы больше не сможете использовать кабель DAPA для связи с ним. Также существует возможность повреждения параллельного порта или, что еще хуже, если вы сделаете что-то не так. Но если вы все равно хотите пойти на это, вот как я построил свой.

Он подключается к компьютеру с помощью разъема DB25. Как вы можете видеть на схеме, я использовал резисторы на 1 кОм на контактах Reset, SCK, MISO и MOSI для защиты по току. Я не использовал резистор на выводе заземления. Я использовал кусок ленточного кабеля, припаяв один конец к каждой из пяти сигнальных линий, показанных на схеме. На другом конце ленточного кабеля я использовал корпус разъема с шестью слотами, заполнив один из них заглушкой, чтобы можно было отслеживать сигналы. Его легко подключить к штырьковому разъему или к перемычкам, как показано выше. Оглядываясь назад, возможно, было бы лучше использовать разъем IDC 2 × 3 и маршрутизировать сигналы с использованием стандарта AVR ISP (из AVR: In-System Programming PDF). Если вы пойдете по этому пути, скорее всего, вы скоро обновитесь, так что не мучайтесь над деталями дизайна.

Arduino


Было бы упущением пропустить использование Arduino в качестве программатора. Они вездесущи среди встраиваемых систем, и если у вас их еще нет, вы можете попытаться найти кого-нибудь, кто одолжит вам их ненадолго. Все, что требуется, — это написать скетч программатора AVR на Arduino и установить соединения для программирования. Мы рассмотрим этот метод позже в посте.

USBtinyISP


USBtinyISP — это внутрисистемный программатор, основанный на ATtiny2313, который использует соединение USB (посмотрите, откуда взялось это название?). Это неплохой выбор для вашего первого программиста. Если вы уверены в своих силах, вы можете собрать схему самостоятельно и использовать кабель DAPA, чтобы установить прошивку для программирования на чип. Или вы можете просто купить его у Adafruit Industries. Но если вы думаете, что серьезно относитесь к разработке AVR, вам следует подумать о том, чтобы выложить дополнительные деньги на профессионального программиста.

Профессиональные программисты


Программисты Ateml являются золотым стандартом. Они предлагают то, чего нет ни в одном другом оборудовании, которое мы рассмотрели, — возможность восстановить испорченный чип. Если вы хотите использовать контакт сброса в качестве ввода-вывода, вам нужно будет использовать высоковольтное параллельное программирование для связи с вашим чипом. Даже если вы не решите сделать это, в какой-то момент вы облажаетесь, и вам нужно будет восстанавливать процесс, что поможет компенсировать дополнительные расходы на профессионального программиста. Можно использовать Arduino для параллельного программирования высокого напряжения, чтобы восстановить ваш AVR, но это сам по себе еще один хак.

Мы используем AVR Dragon практически для всего. Но STK500 — очень популярная плата, даже несмотря на то, что для ее использования необходим последовательный порт. Он имеет разъемы для чипов, кнопки и светодиоды для встроенного прототипирования. Dragon оставляет опции открытыми с незаполненными сокетами и использует USB-соединение.

Если вы в этом надолго, ничто не заменит ни один из этих вариантов.

Мы должны хотя бы упомянуть MKII, программатор, который предлагает ISP так же, как USBtinyISP, но также предоставляет JTAG, провод отладки и некоторые другие. У нас нет опыта работы с этим устройством, поэтому вам придется провести собственное исследование, если вы хотите узнать больше. Что касается других программистов, используйте Google или проверьте комментарии к этому сообщению, поскольку люди обычно не любят держать в секрете свой предпочтительный выбор программиста.

Загрузчик

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

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

Установка нашей тестовой схемы

Хватит разговоров, давайте что-нибудь построим! Нам нужны четыре вещи: микроконтроллер, что-то для его питания, какой-то способ его программирования и что-то, чтобы показать нам, что он работает.

Оборудование:

  • Макет без пайки
  • Проволочные перемычки
  • Микроконтроллер ATmega168
  • 78L05 регулятор напряжения
  • Электролитический конденсатор 100 мкФ
  • Электролитический конденсатор 10 мкФ
  • Светодиод
  • Резистор 180 Ом (подойдет любой резистор от 180 до 330 Ом)
  • Программатор (мы покажем и DAPA, и Arduino)

Что мы делаем

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

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

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

Схема цепи

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

Вы также можете заметить, что микросхема на схеме обозначена как AVR-MEGA8. Используемый нами ATmega168 совместим по выводам с ATmega8. Это означает, что вы можете поменять местами один на другой, и все 28 контактов будут там, где они должны быть, так что это не вызовет проблем.

Рекомендуется добавить несколько компонентов, которых здесь нет. Для развязки должно быть два конденсатора по 0,1 мкФ; они отфильтровывают колебания на шинах питания, называемые шумом. Один между VCC и GND, другой между AVCC и AGND (как можно ближе к контактам). На контакте сброса также должен быть подтягивающий резистор, который позволяет невероятно небольшому количеству тока просачиваться на контакт на уровне 5 В. Это микросхема от случайного сброса, когда она плавает (не подключена, поэтому нет четкого значения 0 или 5 В). Я опустил эти части для простоты, и это не должно быть проблемой с этим простым проектом. Но по мере того, как ваши проекты становятся все более сложными, пренебрежение этими соображениями вернется к вам.

Схема, собранная на макетной плате

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

Важно прочитать техническое описание вашего регулятора напряжения (пример: LM7805), чтобы выяснить, какой вывод является входным, заземленным и выходным. Ваш регулятор может отличаться от моего, так как они поставляются в разных упаковках. На изображении выше входной провод находится слева, земля — посередине, а выходной — справа.

Теперь я завершил блок питания, добавив конденсатор 100 мкФ между входной ветвью и заземляющей ветвью стабилизатора и конденсатор 10 мкФ между выходной ветвью и заземляющей ветвью. Обратите особое внимание на эти конденсаторы, один вывод должен быть помечен как отрицательный (полоса со знаком минус) на корпусе каждого конденсатора. Перед добавлением микроконтроллера было бы неплохо проверить выходное напряжение с помощью мультиметра. Слишком много сока может разрушить ваш новый чип.

Убедившись, что у меня есть стабильный источник 5 В, затем отключив аккумулятор, я добавил микроконтроллер ATmega168 на плату. Обратите внимание, что ямочка указывает налево. Это важно, так как стандартная ориентация и нумерация выводов корпуса DIP показывают, что контакт 1 теперь находится в левом нижнем углу, что позволяет нам легко найти другие нужные нам выводы.

К микросхеме также подключено питание и земля. Контакт 7 (VCC) и контакт 20 (AVCC) были подключены к 5V. Контакт 8 (GND) и контакт 22 (AGND) подключены к земле.

Последним шагом является подключение светодиода к выводу 0 на порту D. Наша схема говорит нам, что мы хотим подключить положительный вывод светодиода к выводу 2 на ATmega168, а отрицательный вывод должен быть подключен к незанятому ряд на макетной плате (убедитесь, что вы не присоединяете его к контакту 1). Светодиоды обычно имеют небольшую выемку, сплющенную на одной стороне пластикового корпуса, чтобы обозначить отрицательную ножку устройства. Последняя часть головоломки — соединить отрицательную сторону светодиода с землей с помощью нашего резистора.

На изображении выше я подключил 9-вольтовую батарею, но ничего не произошло. Это потому, что на чипе еще нет прошивки, чтобы светодиод мигал. Нам нужно будет исправить это на следующем шаге.

Программирование нашей тестовой схемы

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

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

Всего шесть подключений, чтобы запрограммировать наш чип:

  • Напряжение
  • Земля
  • Ведущий в ведомом выходе (MISO)
  • Главный выход Ведомый вход (MOSI)
  • Сброс (RST)
  • Ведомые часы (SCK)

Это справедливо для любого программиста, использующего внутрисистемное программирование. Есть даже стандартизированный 6-контактный разъем, который я проектирую в большинстве своих схем, чтобы вы могли легко повторно подключить программатор к печатной плате и обновить прошивку в будущем. Но в этом примере мы просто используем несколько перемычек для соединения. Одна вещь, о которой следует помнить, это использовать только один источник напряжения при программировании. Вы должны либо отключить питание вашей схемы во время программирования, либо не подключаться к линии напряжения на вашем программаторе.

Подключение Arduino в качестве программатора

Использовать Arduino в качестве программатора очень просто. Первое, что вам нужно сделать, это открыть среду разработки Arduino, а затем открыть пример программного обеспечения: ArduinoISP.pde (в папке examples/ArduinoISP). Прошейте его на Arduino обычным способом. Теперь следуйте инструкциям по нацеливанию AVR на макетную плату (внизу этой страницы). Важно: Выберите один источник питания. То есть либо подключите напряжение на плате Arduino к макетной плате, либо подключите аккумулятор к источнику питания, который мы подключили. Выполнение обоих действий может привести к повреждению вашего оборудования.

Вот как мой выглядел после подключения.

Теперь, когда все готово к работе, переходите к следующему разделу: Прошивка прошивки с помощью AVRdude.

Подключение с помощью кабеля DAPA

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

Если вы не уверены в правильности подключения, вернитесь назад и сравните конструкцию кабеля DAPA со схемой. Сопоставьте наши пять соединений: MISO, MOSI, RST, SCK и GND.

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

Если вы выполняли домашнее задание из части 1 этой серии, у вас уже должны быть установлены инструменты кросс-компилятора. Сначала загрузите пакет прошивки и перейдите в этот каталог в оболочке или в командной строке. Следующие команды можно использовать в системах Linux и OSX для программирования чипа.

Arduino как программатор:

 avrdude -P usb -b 19200 -c avrisp -p m168 -U flash:w:main.hex 

DAPA как программатор:

 avrdude -P /dev/parport0 -c dapa -p m168 -U flash:w:main.hex 

AVR Dragon в качестве программатора:

 avrdude -P usb -c dragon_isp -p m168 -U flash:w:main.hex 

USBtinyISP в качестве программатора:

 avrdude -P usb -c usbtiny -p m168 -U flash:w:main.hex 

Вы можете получить помощь от программы AVRdude, выполнив:

 avrdude -h 

Это распечатает список доступных команд, или вы можете прочитать онлайн-документацию. Пользователям Windows потребуется изменить часть /dev/* команды , чтобы она соответствовала вашему подключению. Вы должны найти страницу Windows онлайн-руководства особенно полезной для этого. Стандартные имена портов Windows включают com0, com1 и т. д. для последовательных портов и lpt0, lpt1 и т. д. для параллельных портов.

Что касается других флагов, используемых в приведенных выше командах программирования:

При использовании Arduino в качестве программатора ISP вы должны указать скорость, используя ‘-b’. Это значение установлено в скетче Arduino и по умолчанию должно быть 19200.

Вам всегда нужно будет указывать какой чип подключен к программатору. Здесь я использовал «-p m168» для нашего ATmega168. Получите список всех совместимых микропроцессоров, набрав

 avrdude -p ? 

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

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

Отладка

В этот момент ваш светодиод должен мигать довольно счастливо. Это что? Это не? Время начать настоящее обучение. Вот список для начала:

  • Вы успешно запрограммировали чип? Вы должны получить сообщение: «258 байт флэш-памяти проверено» и «avrdude готово. Спасибо.»
  • Если у вас возникла ошибка во время программирования, сначала проверьте, подается ли питание на ваш чип.
  • Попробуйте еще раз ввести команду программирования, используя «-v» вместо «flash:w:main.hex». Это просто попытается поговорить с чипом, а не писать в него, и очень удобно при работе с программными ошибками
  • .
  • Перепроверьте соединения для программирования, чтобы убедиться, что правильные сигналы подключены к нужным контактам
  • Убедитесь, что у вас есть правильный порт на компьютере и что у вас есть разрешение на использование этого порта. Пользователи Linux могут попробовать обратиться к чипу с флагом -v как ROOT, чтобы узнать, есть ли проблема с правами доступа. Если это работает, вам нужно добавить своего пользователя в группу, имеющую разрешение на доступ к порту, к которому подключен программатор 9.0028
  • Если вы успешно запрограммировали чип, вам следует перепроверить оборудование. Установлен ли светодиод задом наперед, чтобы он не загорался?
  • Отправляйтесь в Google и начните поиск… обычно это играет роль в процессе разработки, так что не расстраивайтесь. Многие люди уже столкнулись с проблемой, с которой столкнулись вы, и в конце концов они справились.

Заключение

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

Следуйте за ME

@SZCZYS

Ресурсы

Пакет прошивки: загрузка пакета или GitHub Page

Atmel AVR AMEGA168 DataShieT (PDF)

AVR Dude Online Documentation

AVR in-SYSYST PRECMTEM PRECMINGESMEST PRECMINGESMEST PRECMINGESST PRECMINGESST PRECMINGING).

AVR ISP Programming Header:

Программатор USBasp для Atmel AVR v1.0

Введение

Этот проект направлен на разработку и создание собственного USBasp, который можно использовать для внутрисхемного программирования микроконтроллеров Atmel AVR. Этот проект/программатор совместим со многими микроконтроллерами серии Atmega с логикой 5V. Проект с открытым исходным кодом Томаса Фишла. Приведенный ниже дизайн основан на его работе и вкладе. Идея этой версии USBasp состоит в том, чтобы спроектировать ее с использованием компонентов THT и при этом сохранить малый форм-фактор. В этом конкретном варианте разъем ISP представляет собой 6-контактный разъем, который находится непосредственно на платах Arduino, таких как Arduino UNO, MEGA, Nano и многих других платах разработки Atmega. Интерфейс USB представляет собой разъем USB Micro B, который поддерживает любой кабель Micro USB.

Основными преимуществами использования USBasp являются:

  1. Экономия флэш-памяти, потребляемой загрузчиком
  2. Выполнение основной программы начинается сразу после включения MCU, нет задержки загрузчика
  3. Последовательное соединение USB к Arduino бесплатен для последовательной связи в любое время
USBasp : Внутрисхемный программатор для Atmel AVR MCU Компоновка печатной платы

Необходимое условие

Для этого проекта хорошо иметь базовые знания о проектировании печатных плат и пайке компонентов. Это не очень сложный проект. Базовое понимание электроники также полезно для определения компонентов и правильной их сборки.

Спецификация оборудования

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

  • Soldering Station / Soldering Iron
  • Soldering Flux
  • Soldering Wire
  • PCB Helping Hands
  • Multimeter
  • 4.7uf Capacitor x 1
  • 100nf Capacitor x 1
  • 22pf Capacitor x 2
  • 3.6v Zener Diode x 2
  • Micro USB B Connector x 1
  • 3mm LED x 2
  • 330Ω Resistor x 1
  • Male 2.54mm Header Connector x 1
  • Atmega 8 TQFP32 x 1
  • 12Mhz Crystal Oscillator x 1

Software bill of materials

  • KiCad
  • Программа установки USB-драйвера Zadig
  • AVRDUDE поддерживает USBasp, начиная с версии 5. 2.

Описание оборудования

AVR Atmega8

ATmega8 — это маломощный 8-разрядный микроконтроллер CMOS на основе архитектуры AVR RISC. Выполняя мощные инструкции за один такт, ATmega8 достигает пропускной способности, приближающейся к 1 MIPS на МГц, что позволяет разработчику системы оптимизировать энергопотребление в зависимости от скорости обработки.

ATmega8 обеспечивает следующие функции: 8 Кбайт внутрисистемно программируемой флэш-памяти с возможностью чтения при записи, 512 байт EEPROM, 1 Кбайт SRAM, 23 линии ввода-вывода общего назначения, 32 рабочих регистра общего назначения, три гибкие таймеры/счетчики с режимами сравнения, внутренними и внешними прерываниями, последовательный программируемый USART, двухпроводной последовательный интерфейс, ориентированный на байты, 6-канальный АЦП (восемь каналов в корпусах TQFP и QFN/MLF) с 10-битной точностью, программируемый сторожевой таймер Таймер с внутренним генератором, последовательный порт SPI и пять программно выбираемых режимов энергосбережения. Режим ожидания останавливает ЦП, позволяя
SRAM, таймер/счетчики, порт SPI и система прерываний для продолжения работы.

  • AVR ATMEGA8 Блок-схема
  • AVR ATMEGA8 PIN-Диаграмма
  • 3D рендера USBASP
  • 3D Render of USBASP

Программное обеспечение. пакет для автоматизации электронного проектирования (EDA). Это облегчает проектирование схем электронных схем и их преобразование в проекты печатных плат. Он включает в себя интегрированную среду для создания схем и проектирования компоновки печатных плат, а также включает в себя инструменты для создания списка материалов, иллюстраций, файлов Gerber и трехмерных изображений печатной платы и ее компонентов.

Zadig

Zadig — это приложение для Windows, которое устанавливает стандартные драйверы USB, такие как WinUSB, libusb-win32/libusb0.sys или libusbK, для облегчения доступа к USB-устройствам.

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

  • необходимо получить доступ к устройству с помощью приложения на основе libusb
  • необходимо обновить универсальный драйвер USB
  • необходимо получить доступ к устройству с помощью WinUSB «на базе libusb» выше означает приложение, которое использует libusb, libusb-win32 или libusbK.

    AVRDUDE

    AVRDUDE — это утилита для загрузки/выгрузки/манипулирования содержимым ПЗУ и EEPROM микроконтроллеров AVR с использованием технологии внутрисистемного программирования (ISP).

    Он имеет интерфейс командной строки для загрузки и выгрузки функций / двоичных файлов (включая обработку байтов предохранителей). Поддерживает широкий спектр оборудования для программирования, от дешевых разъемов ISP, которые подключают интерфейс ISP AVR напрямую к параллельному порту компьютера (без дополнительных схем) или последовательному порту (необходимы некоторые дополнительные схемы), более продвинутые адаптеры ISP с использованием микросхемы буфера/драйвера ( как 74HC373), вплоть до (более сложных) последовательно подключенных программаторов, таких как AVR910 устройств ISP, плата Atmel STK500 и Atmel JTAG ICE mkII. Большинство популярных адаптеров поставляются предварительно определенными, добавить новый адаптер параллельного порта так же просто, как отредактировать файл конфигурации (перекомпиляция не требуется).

    AVRDUDE также поддерживает USBasp в качестве устройства программирования.

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

    Схема

    Приведенная ниже схема проста и не содержит сложных схем. Сначала схема разрабатывается в KiCad. Файлы доступны для скачивания в конце страницы.

    Основными компонентами конструкции USBasp являются микроконтроллер Atmega8, разъем USB и разъем ISP.

    Поскольку у Atmega8 нет выделенного периферийного USB-устройства, контакты PD2, PB0, PB1 перепутаны для эмуляции связи по USB. Первоначальный дизайн включает 10-контактный разъем ISP с двумя контактами для UART Tx и Rx, но он практически не используется, поэтому на этой схеме эти два контакта удалены и используется 6-контактный ISP.

    USBasp: внутрисхемный программатор для Atmel AVR MCU Схема печатной платы

    Компоновка печатной платы

    Компоновка печатной платы полностью разработана в KiCad. В KiCad также доступен 3D-вид/рендеринг печатной платы. Программатор USBasp предназначен для повышения удобства использования, уменьшения занимаемой площади и эстетики.

    • USBasp: внутрисхемный программатор для Atmel AVR MCU Layout PCB
    • Визуализация с трассировкой лучей внутрисхемного программатора USBasp для микроконтроллера Atmel AVR
    • Визуализация с трассировкой лучей внутрисхемного программатора USBasp для микроконтроллера Atmel AVR

    Заключение

    Этот конкретный проект позволяет узнать о конструкции печатной платы, выборе компонентов, стоимости продукта, планировании и многом другом. Лучшее в этом проекте то, что он поощряет культуру DIY и Maker, что само по себе удивительно. Я призываю всех сделать этот проект и сделать свои собственные модули и доски для своих проектов.

    Объем улучшений

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

    Скачать

    Спасибо за чтение этого проекта, я очень ценю ваше время и усилия.

    Программатор USBasp для Atmel AVR www.ArnabKumarDas.comЗагрузить

    Программатор AVR ISP (внутрисистемный программатор)

    Программатор AVR ISP (внутрисистемный программатор)

     

     

     

     

      Это Схема программатора ISP на базе AT9Устройство 0С1200.

    я нашел схема этого программатора в моем «Программное и техническое обеспечение AVR». Библиотека — апрель 2003 г.» компакт-диск и решили опубликовать его. Причина заключалась в том, что этот программатор очень стабилен и отлично работает с AVR Studio 4. перед публикацией тестировал его с AT90s2313, и он работал нормально!!!

    К работай этим программистом ты необходимо для подключения кристалл л 4 МГц на ведомое устройство на контактах XTAL1 и XTAL2 или, если у вас есть устройство с внутренним генератором (AT90S2343, ATmega161 и т. д.) и его включенным , ему не нужен внешний генератор.

    Если вы хотите, вы можете использовать MAX232 или MAX202 вместо транзисторов, конденсаторов и резисторов для подключения мастера AT90S1200 с персональным компьютером (ПК). Нет проблем (я проверяю это оборудование с помощью MAX202).

     

     

    Поддержка устройств Список:   

     

    АТтини12

    АТтини15

    АТ90С1200(А)

    АТ90С2313

    АТ90С2323

    АТ90С2333

    АТ90С2343

    АТ90С4414

    АТ90С4433

    АТ90С4434

    АТ90С8515

    АТ90С8535

    ATmega83

    ATmega103

    ATmega161

    ATmega163

    ATmega603

     

     |

    Команда внутрисистемных программистов AVR®:

     

        Оле Саэтер

        Терье Фростад

        Ингар Фредриксен

        Мортен В. Лунд

        Хокон Скар

        Паал Кастнес

     

        Руководство по данному проекту в формате pdf

     

        Исходный код и шестнадцатеричный файл (AT90S1200) этого программиста (v2.2)

     

        Программное обеспечение для этого программатора (AVR prog 1. 37)

     

     

     

    Подробнее АВР устройства?

     

    Джон Samperi внес некоторые изменения в файл AVR910.asm и создал AVR910_2313_v3.asm. Этот код может запрограммировать больше устройств, чем AVR910.asm v2.2. Программа AVR 1.37 показывает все эти устройства. Я не знаю, действительно ли они запрограммированы v3.0. Все устройства, которые (возможно) могут быть запрограммированы версией 3:

     

     

    AT90Sxxxx

    ATtinyXX

    ATmegaXXXX

           

          AT90S1200 рев. А*

          AT90S1200 рев. Б*

          AT90S1200 рев. С*

          АТ90С1200*

          АТ90С2313*

          АТ90С2323*

          АТ90С2333

          АТ90С2343*

          АТ90С4414*

          АТ90С4433

          АТ90С4434

          АТ90С8515*

          АТ90С8535*

       

      АТтини12

      АТтини15

      ATtiny19

      Attiny28

      АТтини26 *

       

     

     

     

     

     

     

     

     

     

     

     

     

    908:00

             

          ATmega8 *

          ЗАГРУЗКА ATmega8 *

          ATmega16*

          ЗАГРУЗКА ATmega16*

          ATmega32*

          ЗАГРУЗКА ATmega32*

          ATmega64*

          ЗАГРУЗКА ATmega64*

          ATmega8515*

          ЗАГРУЗКА ATmega8515*

          ATmega103

          ATmega603

          ATmega128

          ЗАГРУЗКА ATmega128

          ATmega161

          ATmega161 ЗАГРУЗКА

          ATmega163

          ATmega83

          ATmega163 ЗАГРУЗКА

          ATmega83 ЗАГРУЗКА

          ATmega8535*

          ЗАГРУЗКА ATmega8535*

     

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

     

     

    Это Схема программатора ISP на базе микросхемы AT90S2313.

     

     

     

      Оборудование модификации:

     

    — вместо BAS16 . диоды можно использовать 1N4001

    — вместо BC847C вы можете использовать BC547C

    — вместо BC857C вы можете использовать BC557C

       

     

      Скачать файлов этого проекта:

       

        Исходный код и шестнадцатеричный файл (AT90S2313) этого программиста (v3. 3).

        Исходный код и шестнадцатеричный файл (AT90S2313) этого программиста (v3.2).

        Исходный код и шестнадцатеричный файл (AT90S2313) этого программиста (версия 3.0).

         

     

     

     (с) 03. 01.2005 Серасидис Василис

     

     

     

     

    ISP Programmer/Burner со схемой для микроконтроллера AVR Atmega

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

    Микроконтроллеры серии ATmega32 поддерживают 3 типа программирования

    • Параллельное программирование
    •   Программирование через интернет-провайдера или последовательное программирование
    •  Программирование через JTAG

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

                   Программное обеспечение, о котором я говорю, называется PONY PROGRAMMER 2. 06 . Моя схема адаптирована с сайта Pony Programmer. Он использует COM-порт ПК для загрузки программы в микроконтроллер. Он имеет амплитуду сигнала от +5 до +12 вольт, представляющую двоичную «1», и от -5 до -12, представляющую «0».

                   Микроконтроллер ATmega32 запрограммирован с использованием контактов, предназначенных для связи по SPI. Чтобы включить программирование, микроконтроллер должен быть переведен в состояние RESET, потянув его контакт сброса в НИЗКИЙ (логический 0 или, скажем, 0 В). В этом состоянии микроконтроллер можно программировать в любом режиме (параллельное программирование или последовательное программирование). Микроконтроллер всегда принимает 0 В как логический 0 и +5 В как логическую единицу.

                    Сигналы, передаваемые с ПК, не имеют формы, которая может быть принята непосредственно микроконтроллером. Эти сигналы от ПК должны быть приспособлены для микроконтроллера. В программаторе стабилитроны обеспечивают необходимую обработку сигналов. Он подключен таким образом, что преобразует сигнал ±12 вольт в сигнал +5-0 вольт, который подходит для микроконтроллера. Сопротивление необходимо для ограничения тока в узлах стабилитронов, без которого стабилитрон может сгореть. Внутренние схемы компьютера также могут быть повреждены.

    Высокий уровень сигнала (+5В) на выводе « Reset » микроконтроллера переводит его в рабочее состояние. Низкий уровень сигнала (земля) переводит его в режим программирования. На контактах сброса предусмотрены внутренние подтягивающие резисторы, и если к этому контакту ничего не подключено, микроконтроллер пытается выполнить программу, написанную внутри него. Конструкторы могут предусмотреть схему сброса сопротивления и емкости, но это не всегда необходимо. Как бы то ни было, в большинстве случаев для обеспечения возможности сброса используется кнопка. Здесь в схеме горелки выход с открытым коллектором подается на вывод сброса, и он управляется программатором через порт. Этого достаточно.

     Необходимая часть работы по передаче и приему данных выполняется программистом пони. Перейдите по предоставленным ссылкам, чтобы скачать Pony Programmer. Следующая схема горелки может сжечь микроконтроллер ATmega32. Подключите полученные сигналы к соседним контактам, подключите кабель к COM-порту, включите питание устройства, то есть микроконтроллера, и микроконтроллер готов к программированию.

    Схема ISP Programmer

    Изображение: Принципиальная схема кабеля ISP BurnerProgramming Схема подключения

    Вот как устроена цепь. Теперь позвольте мне сказать вам, что микроконтроллер работает на внутреннем калиброванном RC-генераторе, изображенном на рисунках. Так что нет кристалла прилагается. Тем не менее, микроконтроллер является программируемым. Посмотрим настройки ПО. Прежде всего, выберите порт, к которому вы подключили устройство! И программатор из меню «Set Up>Interface Set Up…». Выберите «SI Prog I/O», это обеспечивает самую высокую скорость программирования. А по поводу портов, должно быть com порт для этого кабеля для программирования! Теперь выберите порт, к которому подключен кабель.

    Выбор программатора

    Теперь переходим в меню выбора устройства. Здесь ATmega32 принадлежит к семейству AVR. Таким образом, он указан в разделе « Устройства> AVR micro» . Выберите ATmega32 в качестве своего устройства. Автоопределение тоже подойдет.

    Выбор устройства

    Теперь после этого проверьте две важные вещи, работает ваша схема или нет. Выберите «Command>Read All».

    Меню команд.

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

    Work ProgressRead Successful

    Вы можете записать с его помощью свой шестнадцатеричный файл (компиляторы предоставляют шестнадцатеричные файлы для программирования микроконтроллеров). Просто откройте «Файл»> «Открыть файл устройства…», теперь откроется окно, теперь найдите свой шестнадцатеричный файл, загрузите его в программатор пони и запишите. Программист Pony также поддерживает операцию щелчка и перетаскивания. Это означает, что если вы закинете шестнадцатеричный файл в программатор пони, он автоматически его поймает.

    Компоненты:

    • Розетка DB9
    • 2 резистора по 1 кОм
    • 2 х 5,1 В стабилитрон
    • 1 резистор 15 кОм
    • Доска Веро
    • BC 547 или любой NPN-транзистор общего назначения
    • Штекерный разъем Relimate (6-контактный и 2-контактный)
    Ссылки для справки:

    ATMEGA32 DataSheet

    Скачать Pony Programmer Page Page

    PONY Programmer 2.06 Скачать

    Примечание: 1.

    2323. Конечно. операционная система его распознает. Проверьте это в «Панель управления > Администрирование > Управление компьютером». В области каскадного списка найдите следующие

    «Управление компьютером > Системные инструменты > Диспетчер устройств > Порты (com и LPT)». Если COM-порты присутствуют в этом списке, эта схема будет работать нормально. В противном случае ищите записывающее устройство на базе USB.

    Примечание 2 . Этот пишущий привод отлично подойдет и для ATmega16. Для ATmega8 вам необходимо подключить сигналы к соответствующим контактам.

    Примечание 3 . 2-контактный штыревой разъем Relimate можно не использовать

    Библиография

    Lancos.com и Atmel

    Блог мистера Гаурава Чаудхури

    ATATMEL-ICE-BASIC — внутрисхемный программатор для микроконтроллеров SAM и AVR

    Отзывов пока нет Написать рецензию

    Microchip Technology
    ATATMEL-ICE-BASIC — внутрисхемный программатор для SAM и AVR MCU

    Рейтинг Обязательно Выберите рейтинг1 звезда (худший)2 звезды3 звезды (средний)4 звезды5 звезд (лучший)

    Имя

    Электронная почта Обязательно

    Тема отзыва Обязательно

    Комментарии Обязательно

    Эвелта Артикул:
    024-ATATMEL-ICE-BASIC
    Номер детали производителя:
    ATATMEL-ICE-BASIC

    ₹ 14 213,10 вкл. ГОСТ

    ₹ 12 045,00 экз. GST

    Запросите предложение для больших количеств

    в наличии Распродано | Обычно доставляется в течение 2-5 дней

    Описание

    Найдите комплексное решение для отладки и программирования микроконтроллеров SAM и AVR на базе ARM Cortex-M с новейшим программатором и отладчиком Atmel-ICE. Устройство представляет собой мощный инструмент разработки с возможностью отладки на кристалле.

    Atmel-ICE поддерживает:

    • Программирование и встроенную отладку всех 32-разрядных микроконтроллеров AVR на интерфейсах JTAG и aWire
    • Программирование и встроенная отладка всех устройств семейства AVR XMEGA на двухпроводных интерфейсах JTAG и PDI
    • Программирование JTAG и SPI и отладка всех 8-разрядных микроконтроллеров AVR с поддержкой OCD на интерфейсах JTAG или debugWIRE
    • Программирование и отладка всех микроконтроллеров SAM ARM Cortex-M на интерфейсах SWD и JTAG

    Программирование всех 8-разрядных микроконтроллеров tinyAVR с поддержкой интерфейса TPI

    В частности, Atmel ICE-BASIC поставляется в инкапсулированном основном блоке, кабеле USB и плоском кабеле (10-контактный разъем 50 мил и 6-контактный разъем 100 мил)

    Характеристики

    • Поддерживает интерфейсы JTAG, SWD, PDI, TPI, aWire, SPI, debugWIRE и UPDI
    • Полная отладка на уровне исходного кода в Atmel Studio
    • Поддерживает все встроенные аппаратные точки останова в целевом микроконтроллере (количество зависит от модуля OCD в целевом устройстве)
    • До 128 программных точек останова
    • Целевое рабочее напряжение от 1,62 до 5,5 В
    • Питание от USB
    • Обеспечивает разводку разъема отладки ARM Cortex (10-контактный) и разводку разъема AVR JTAG

    Соответствующие ресурсы:

    Руководство пользователя Atmel-ICE

     

    Дополнительная информация

    Технология микрочипов

    Информация о гарантии

    Все товары, поставляемые Evelta, являются подлинными и оригинальными. Мы предлагаем 14-дневную гарантию замены в случае производственного брака. Для получения более подробной информации, пожалуйста, посетите нашу страницу отмены и возврата.

    Сопутствующие товары

    Быстрый просмотр

    SparkFun

    Эвелта Артикул: 057-PGM-11801

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

    ₹ 1 595,00 экз. GST

    Обычно доставляется в течение 2-5 дней

    9 В наличии

    Количество Добавить в свой список

    Быстрый просмотр

    Texas Instruments

    Evelta Артикул: 035-CAPTIVATE-PGMR

    Программатор микроконтроллеров MSP430 MSP CapTIvate

    ₹ 2 495,00 экз.

alexxlab

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

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