Программатор Для Avr Своими Руками

Печатную плату можно сделать своими руками. Для программатора. Программатор avr. Подставка для паяльника своими руками. Для понижения. Usb программатора avr. У Вас теперь есть usb программатор для avr!!! Тудым-сюдым свой старенький. Схема USB программатора на Atmega8 своими руками. Данная схема USB программатора, построенного.

  1. Простой Программатор Avr Своими Руками
  2. Декор Своими Руками
  3. Самоделки Своими Руками
  4. Универсальный Программатор Avr Своими Руками

Программатор предназначен для работы под управлением программы ICProg, является функциональным аналогом «5 проводков» (до предела упрощенная схема STK200+/300, о которой ниже) и представляет собой несколько резисторов. Программатор подключается к LPT-порту. Разъем устанавливается непосредственно на плату программатора, кроме того, на плате предусмотрена кроватка для программирования контроллера AT90S2313, а также выведены сигналы SCK, MOSI/MISO и Reset. Программируемая микросхема может брать питание с порта LPT, в этом случае, на выводах 2, 3, 4 порта должны быть установлены единицы, а вывод 2 разъёма ISP должет быть подключен к выводу Vcc микросхемы. Некоторые порты могут не потянуть такой нагрузки, в этом случае придётся использовать внешний источник питания (5В).

Простой Программатор Avr Своими Руками

Источником тактовых импульсов для микросхемы также может служить LPT порт. В этом случае вывод 3 разъёма ISP (LED) должен быть подключен к выводу XTAL 1 программируемой микросхемы. Естественно, программа программатора на PC должна понимать эти режимы работы (для работы с этой схемой нужно воспользоваться программой IC-Prog, где при выборе типа программатора следует установить 'Fun-Card Programmer'). Печатная плата в формате SL5 –, программа ICProg и драйвер под ХР –. Схема программатора STK200+/300. Большая часть нижеследующего описания и сама схема взята со странички, крайне рекомендую посетить ее.

Адаптер получил свое название от комплектующихся им отладочных плат фирмы Atmel для быстрого начала работы с микроконтроллерами At90s8515 и Atmega103. На самом деле приведенная схема соответствует одновременно обоим адаптерам, в ней присутствуют перемычки для определения наличия как адаптера STK200 (выводы 2-12 разъема X1), так и STK300 (выводы 3-11).

При необходимости программной генерации тактового сигнала XTAL1 используется линия LED адаптера, исходно предназначенная для включения светодиода (на печатной плате ver.1 установлен только светодиод, сигнал XTAL1 на разъем программирования не заведен, а вот в ver.2 на третьем контакте есть сигнал XTAL1). Буферизованные адаптеры запитываются от платы с программируемым процессором, т.е.

Питание подаётся на программируемую плату, а с неё на адаптеры поступает через шлейф. Адаптер собран на основе шинного формирователя 74HC244 (аналог 1564АП5).

Возможно также использование 555АП5 (74LS244) и 1533АП5 (74ALS244) либо, при соответствующем изменении схемы, любые другие неинвертирующие формирователи с тремя состояниями выходов. Применение буфера с третьим (высокоимпедансным) состоянием позволяет по окончании программирования снять сигнал разрешения выходов и, 'отключив' адаптер от схемы, не влиять на её работу (за исключением паразитных емкостей между проводами шлейфа от адаптера до платы устройства). Поскольку разводка рассчитана на установку LPT-разъема непосредственно на плату, для этих адаптеров рекомендуется изготовить удлиннитель порта LPT длиной 1.5-1.8м со всеми линиями (земель не жалеть:-) и вывести с программатора шлейф до платы с микроконтроллером длиной 20-25 см.

На плате предусмотрена установка светодиодов «питание» и «программирование» (на схеме не показаны). Схема работает с программами AVR ISP, CodeVision AVR, WinAVR и другими. В ряде случаев (например, для программирования нескольких контроллеров одной и той же прошивкой или в случае отсутствия на плате места под ISP-разъем) могут оказаться полезными «платы расширения» для различных контроллеров, содержащие кроватку для установки контроллера и минимально необходимую для работы обвязку. Я сделал такие платы под AT90S2313/ATTiny2313, ATTiny26, ATTiny13, ATMega8 и ATMega16. Кроме того, в версии ver.1 кроватки для ATTiny26 и ATTiny13 есть непосредственно на плате. Обе версии платы программатора и все «платы расширения» в формате SL5 –. Вот так выглядит один из моих STK в окружении плат расширения.

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

Традиционно все эти программаторы собираются на основе микроконтроллера AT90S2313 или (в редких случаях, при наличии модифицированной прошивки) ATTiny2313. На схеме представлен программатор, способный работать как через CОМ, так и через USB. Переключение типа интерфейса происходит при помощи джампера J1. При работе через USB питание программатора осуществляется непосредственно от этого порта компьютера, причем в этом режиме имеется полная гальваническая развязка программатора (и, соответственно, программируемого устройства) от компьютера, более того, при замыкании перемычки J2 программируемое устройство может питаться от программатора (до 100 мА).

При работе через СОМ-порт развязка отсутствует, а питание программатора осуществляется, как обычно, от программируемого устройства. Интерфейс USB реализован на микросхеме FT232BM в стандартной схеме включения, в качестве согласователя уровней для СОМ-порта применена MAX232. Вариант разводки печатной платы, схема и прошивка лежат. Разводка платы не оптимальна, поскольку осуществлялась для конкретного корпуса с заранее заданным расположение разъемов, органов управления и индикации. Кроме того, на плате разведена кнопка для принудительного сброса программируемого МК, реально она не нужна, поскольку сброс корректно осуществляется программным образом. Также на плате присутствует разъем для программирования МК самого программатора. Для подключения программатора к СОМ-порту служит трехконтактный разъем PLS и потребуется изготовить специальный шнурок.

Замечу, что поскольку здесь используется стандартная разводка шнурка для ISP, с этим программатором можно использовать платы расширения от STK200+/300. Этот комплект у меня выглядит вот так. Этот программатор работает у меня под управлением CodeVision AVR 25-ой сборки. Такой выбор обусловлен возможностью регулирования скорости порта непосредственно из программы. Программатору свойственны некоторые особенности в силу применения микросхемы FT232BM, в частности, необходимо выставить минимальную задержку в свойствах соответствующего виртуального СОМ-порта (подробнее смотрите статью ).

После этого программирование осуществляется довольно быстро (хотя и чуть медленнее STK200+/300, что, естественно, вызвано последовательным способом передачи данных в программатор). Схема AVR910-совместимого USB программатора (схема Prottoss'a) Автором этой конструкции является Рыжков Андрей, известный также под ником PROTTOSS. Описанию этого программатора посвящена, там же можно найти контакты для связи с автором. Здесь этот материал публикуется с разрешения автора, так что все формальности соблюдены.:) Программатор выполнен на основе драйвера от и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL.

Описание оригинальной схемы программатора можно взять в, а список поддерживаемых команд можно посмотреть в Исходно схема устройсва выглядит следующим образом. Светодиоды VL1, VL2 сигнализируют о текущих действиях программатора, и, соответственно, обозначают режимы чтения и записи. Светодиод VL3 служит для сигнализации подачи питания на программатор. Резисторы R10 - R14 предназначены для согласования уровней сигналов контроллера программатора и программируемого контроллера.

С помощью J3 LOW SCK возможно понижать тактовую частоту порта SPI МК программатора до 20 кГц. При разомкнутом джампере частота SPI нормальная, при замкнутом - пониженная. Переключать джампер можно 'на ходу', так как управляющая программа МК программматора проверяет состояние линии PB0 при каждом обращении к порту SPI.

Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к., скорее всего, это приведет к искажению операции записи/чтения. Данный джампер введен для возможности программирования МК AVR, тактированных от внутреннего генератора 128 кГц. Схема была несколько переработана, в нее внесены следующие изменения. Питание МК осуществляется от USB, но не через диоды, как в исходной схеме, а через LDO стабилизатор LM1117 на 3.3В. Замечу, что при таких напряжениях питания (как 3.3 В здесь, так и 3.6 В в исходной схеме) и частоте кварца 12 МГц Atmel не гарантирует устойчивую работу своих МК, однако к чести производителя ни один из тестировавшихся микроконтроллеров работать не отказался. Тем не менее, стоит учитывать такую возможность.

Еще раз: чем больше напряжение питания (в пределах до 5В, естественно), тем выше вероятность того, что контроллер запустится и будет устойчиво работать, поэтому многие отказываются от LDO в пользу двух диодов. Да, предохранитель тоже отсутствует, но, если добавить, хуже точно не будет. В обе цепи питания МК (VCC и AVCC) введены дополнительные LC-фильтры в виде SMD-индуктивностей на 10мкГн и конденсаторов 0.1 мкФ (в принципе, дроссель в AVCC можно заменить перемычкой, его установка - совсем уж перестраховка), кроме того, на плате появился дополнительный джампер, позволяющий запитывать целевую плату от программатора напряжением 5В или 3.3 В или, естественно, вообще не питать ее от программатора. В цепь питания целевой платы также включена индуктивность и установлен диод 1N4148, препятствующий попаданию питающего напряжения с целевой платы (если оно там есть) на программатор.

Декор Своими Руками

Замечу, что поскольку на диоде имеет место падение напряжения, то напряжение питания целевой платы будет меньше заявленного на величину этого самого падения. В зависимости от диода и некоторых других условий теоретически оно может снизиться настолько, что его не хватит для нормального функционирования целевой платы. Для уменьшения эффекта можно использовать в этой цепи диод Шоттки, а вообще, может быть стоит вообще отказаться от такой возможности, решайте сами, насколько оно вам надо.:) Исчез джампер NORM/MOD, предназначенный для ввода программатора в режим обновления прошивки, вместо этого на плате установлен полноценный разъем для программирования МК программатора (разъем имеет несколько нестандартный вид и представляет собой контактную гребенку PLS-6, на которую выведены следующие сигналы в последовательности MOSI-MISO-SCK-Reset-Vcc-GND. В такой же последовательности эти сигналы расположены на выводах МК ATMega16 в корпусе DIP-40, именно оттуда я ее и 'срисовал'. Такой разъем занимает меньше места на плате и как правило проще разводится, чем стандартный 10-ти контактный ISP-коннектор, поэтому лично я часто им пользуюсь в своих конструкциях). Кроме того, уменьшены до 220 Ом последовательные резисторы в линиях программирования (вообще, их номинал - отдельный открытый вопрос) и до 22 Ом в линиях USB. Все эти изменения можно проследить на печатной плате (кроме изменения номиналов резисторов, в подписях элементов они оставлены прежними), разводку которой можно скачать в конце статьи.

Плата получилась односторонняя с парой перемычек и рассчитана на установку МК ATMega8 в кроватке, у которой удалены неиспользуемые выводы. Можно, конечно, и впаять туда Мегу, откусив лишние выводы, но это на ваш страх и риск. Собранный программатор выглядит так. Теперь, если все собрано правильно, при подключении программатора к ПК обнаружится новое устройство и потребуется установка драйверов. Драйвера, естественно, без цифровой подписи, так что просто игнорируем предупреждения ОС по этому поводу. В общем-то, на этом установка и заканчивается. Если у вас не ХР, а Win2000, то требуются некоторые дополнительные манипуляции, за подробным описанием которых (как, впрочем, и всей конструкции вцелом) я попрошу вас обратиться на сайт автора.

Своими

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

Самоделки Своими Руками

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

Универсальный Программатор Avr Своими Руками

Лично я свой первый МК AT90S2313 программировал с помощью Fun Card, потом собрал и до сих пор плотно использую несколько вариантов STK200+/300, а с AVR910 работаю в основном в 'полевых условиях', когда требуется подключение программатора к ноутбуку без LPT-порта. Вот такая вот эволюция. Вопросы, как обычно, складываем.

Одним из самых простых программаторов AVR является программатор для LPT порта. Это обусловлено тем, что уровни сигналов LPT порта совместимы с уровнями сигналов необходимыми для программирования АВР. Поэтому сигналы с LPT порта можно напрямую подать на микроконтроллер (резисторы нужны лиш для защиты порта от случайных замыканий). Такой программатор можно собрать из подручных материалов буквально за 5 минут!

Как Вы видите схема LPT программатора для AVR предельно проста: Для изготовления LPT программатора нам понадобится: Резисторы можно использовать любые, какие найдете в пределах от 100 до 150 Ом. Можно программатор собрать вообще без резисторов, но тогда спалить порт станет еще легче. В качестве шлейфа можно заюзать IDE шлейф. При подключении шлейфа, для более устойчивой работы программатора, каждый «сигнальный» провод должен чередоваться с «земляным» проводом.

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

Для разового программирования устройства я рекомендую использовать на программаторе (такими разъемами к материнской плате подключаются кнопки и светодиоды корпуса компьютера) и штырьки PLS «папы» на плате. Это позволяет максимально упростить разводку платы устройства, так как штырьки для программатора устанавливаются в непосредственной близости возле ножек микроконтроллера. Ножки MOSI, MISO, SCK у микроконтроллеров AVR всегда расположены вместе, поэтому для них можно применить строенный разъем. Отдельно делаем подключение для «земли»-GND и «сброса»-Reset. Сборка LPT программатора за 5 шагов: Перемычки между ножками разъема 2-12 и 3-11 нужны для того, чтобы наш программатор был виден для программ как программатор STK200/300 (STK200/300 своего рода стандарт и поэтому наш программатор станет виден для многих программами). Для того чтобы наш LPT программатор заработал нужна, к которой мы подключим программатор и для микроконтроллера. Общие рекомендации: — LPT порт довольно нежен — его очень легко «пальнуть», поэтому при работе с портом будьте аккуратны.

— Отдельное подключение для «земли» я бы рекомендовал делать во всех программаторах. Это нужно для того, чтобы «землю» можно было подключить первой и уравнять потенциалы «земли» программируемого устройства и компьютера. (Для тех кто не знает — если у Вас компьютер включен в обычную розетку без заземляющего контакта, то в виду особенности фильтра блока питания компьютера, на корпусе компьютера всегда присутствует потенциал в 110В. При «удачном» подключении программатора этого вполне достаточно для того чтобы сжечь микроконтроллер или LPT порт компьютера. Заключение: -Если Вы надумали собрать свой первый программатор и у Вашего компьютера есть LPT порт, то программатор «5 проводков» лучший вариант! Он предельно прост и его повторить не составит труда.

Кроме того, программатор совместим с классическими программаторами STK200/300, а значит, он будет поддерживаться многими программами для программирования AVR.Если Вы планируете программировать довольно часто, с целью обезопасить LPT порт, рекомендую собрать LPT программатор с буферными элементами (можно посмотреть на изиэлектроникс) или собрать такой же простой (COM порт гораздо выносливей и сжечь его трудней). Делаем LPT программатор для AVR микроконтроллеров.: 119 комментариев. suxov: Вопрос наверное не сможет ли этот шнурок прошивать смарт-карты, а поддерживает ли программа для прошивки смарт-карт этот шнурок. Проверьте Вашу программу на предмет поддержки STK200/STK300 IC-Prog поддерживает STK200+/300 отсюда вывод что этим шнурком можно програмировать фанку.Но есть пара вопросиков,нужно ли подавать дополнительное питание на смарт карту или хватит лпт порта,если нужно то на какой сигнал.Далее как выглядит распиновка с сигналами смарт карта FUN 2.Помогите пожалуйста сам не разберусь.Заранее благодарен. suxov: С ЛПТ питание не подается, его придется подать с другого источника.

По смарткартам ничего не подскажу – никогда не шил, но я думаю тема довольно частая в сети – поисковик должен помочь Вот первая ссылка на топик описывающий процес Вот распиновка FUNCARD 2 c подписаными сигналами URL=Если я правильно понял VCC- +5В,VSS-ОБЩИЙ GND,а что за сигнал XTAL у Вас на схеме его нет. dfyz Добрый день!

У меня такая проблема. Собрал программатор, как в статье, без резисторов правда.

Несколько дней всё работало прекрасно. Сегодня включил комп (а питание беру с USB), а микроконтроллер не запустился (ну скажем не замигал светодиод). Стал разбираться, оказалось постоянно идет сигнал Reset. Как только отключаешь эту ножку, начинает работать и мигать.

При этом прошивка и чтение проходят без проблем (даже при подключенной ножке). Уже менял адрес порта в биосе, выключал полностью питание, не помогло P.S. Пока писал этот текст, сделал ещё раз чтение Flash и бах всё заработало нормально.

Но на будущее может подскажете, что это было?)).