Программатор для attiny2313 своими руками: Программатор atmega8, attiny2313 своими руками

Программатор attiny2313

Узнаем как подключить микроконтроллер к программатору используя интерфейс ISP при помощи нескольких проводников. Чтобы правильно подключить микросхему-микроконтроллер к программатору нужно разобраться где у него и какие выводы. Для получения исчерпывающей информации о интересующем нас микроконтроллере качаем на официальном сайте даташит datasheet на интересующий нас чип — Даташиты по микроконтроллерам ATMEL. На первой страничке даташита приводится подробное описание возможностей микроконтроллера, а далее приведена распиновка микросхем под каждый из типов корпусов.


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

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

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

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

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

По завершению появится ссылка для доступа к найденным материалам. ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Программатор AVR за 1$ (USBasp).

ПРОГРАММАТОР AVR :: AVRDUDE :: USB-программатор USBasp


Создано при помощи КотоРед. Несколько китайских клонов Arduino Nano у меня имелось, поэтому и использовал их. Все бы хорошо, но мне не недоставало одного вывода. Точнее он имеется у тини вывод RESET , но чтобы задействовать его как цифровой вход, нужно запрограммировать соответствующий фьюз. Если дальнейшей модификации скетча программы не требуется, то и проблем нет, но в процессе разработки какого то устройства требуется неоднократная перепрошивка мк.

Выход из этой ситуации один — использование высоковольтного программатора. Для AVR контроллеров с выводами 8, 14 используется высоковольтное последовательное программирование, а для мк с выводами 20 и больше — высоковольтное параллельное.

Я озадачился поиском подобного программатора, но для меня было принципиально важно, чтобы он был на основе Arduino и работал из под Arduino IDE. Рассматривал вариант использования восстановителя фьюзов для тини, но уж очень хлопотная получается перепрошивка. Это нужно сначала восстановить фьюз, затем перепрошить мк, затем фьюз и т. В силу своих скромных способностей в программировании, вариант самому написать скетч для высоковольтного программатора на Arduino отпадал.

А вот поиск в инете увенчался успехом. Спасибо парню по имени Matthias Neerache , который создал для нас этот уникальный софт для ардуино.

Из мануала -. ScratchMonkey использует расширенную версию протокола STKv2. Он реализует следующие методы программирования:. Главный недостаток — при определенных установках фьюзов может быть не пригодным для использования. Однако, ScratchMonkey немного более универсальный, поддерживает микроконтроллеры с более чем КБ флэш-памяти, и может работать с различными настройками фьзов определяющих режим генератора тактовой частоты мк.

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

Кроме того, ScratchMonkey может эмулировать SPI на те же пины на более низкой частоте чем аппаратный SPI Limp Mode , что позволяет программировать мк с внутренним генератором тактовой частоты, настроенным на кГц.

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

Для начала тестирования составил простейшую схему рис. Транзистор любой n-p-n. Вставляем эти строки в аналогичный файл IDE: arduino Добавляем к этим строчкам еще по 3 строки выделены на рис.

Я не знаю с какой целью автор это упустил, но при параллелном программировании питание отключается после обращения к мк. Компилим и заливаем скетч в Arduino без шилда. Что бы сделать действительно универсальный программатор AVR микроконтроллеров из Arduino родилась такая схема, Рис. Как видим схема гораздо проще, по сравнению с программаторами с аналогичными возможностями. На линии портов установлены ограничительные резисторы 1кОм, с целью предотвращения кз на этих линиях при неблагоприятных условиях.

Или самодельный на MC, Рис. SA1 включает высокое напряжение и переключает низковольтный и высоковольтный режимы. Светодиоды показывают состояние программатора.

Разъем XR1 Debag для дополнительной отладки программатора, если что-то пойдет не так и сообщений avrdude не достаточно. На компе запускается еще один ArduinoIDE и включается монитор предварительно выбранного порта.

В мониторе будет выводиться информация ввиде как на рис. Расшифровка этой информации также показана на рисунке. Залить скетч заново в Arduino. При параллельном программировании к разъему HVPP контроллеры подключаются согласно таблице 1 и даташиту. Чтобы работали индикаторы и программатор TPI, как заявляет автор, необходимо пропатчить исходники avrdude, заново собрать и скомпилировать.

Patch —файл можно найти в папке ScratchMonkey — avrdude. Пропатченные и скомпилированные файлы avrdude. В файл programmers. Так как ScratchMonkey использует avrdude, то он будет работать и с оболочками дуды. Оболочки удобны при заливке HEX-файлов.

Файлы: Пропатченная дуда Схемы. ЕвгенийП пишет: Почему-то часть картинок у меня отсутствуют :. Как только статья перестанет существовать или ее адрес изменится — картинки перестанут отображаться в теме.

В схеме указан транзистор 2SD, у нас сейчас трудно доступный. К тому же, непонятна цель применения именно его, ну да ладно. А вот на фотографии платы виден корпус совсем не похожий. Внесите, пожалуйста ясность. И чем его можно заменить? Админы, сделайте при регистрации проверки на минимальный IQ и адекватность. А гадить в детсве ещё научился? Меняеца даже на савецкий КТ На фотографии платы ты такой видишь, болтун который хуже шпиона?

Или в самом деле счтаешь, что кроме тебя писать и читать никто не умеет? Да и глаз к тому же не имеют! И потом, там дают рекомендации по замене именно го, а не наоборот. У меня их десятка два лежит и ни у одного bст нет более Так что волну ты гонишь зря. В общем, погавкал — молодец! Получишь орден Сутулова. Продолжай гавкать дальше. Мне, на сайте заносчивых шавок делать нечего! LodjiNN , какие требования 12В по току?

Могу я 12 сделать преобразователем от USB? Хочу такой же, но чтобы был только один разъём. Всё шьёт без проблем , провел все три режима -обычный ISP, высоковольный последовательный и высоковольтный паралельный. Уважаемый — как то потерялся в теме, имеется 7 Atmegap с залочеными 6 hig битом отключеный последовательный порт. Нарвался на стойтью на радиокоте и заинтересовала меня эта приблуда. Но Ардуино я не особо изучал и в теме есть некоторые сомнения по схеме, не могли бы вы пояснить — пожалуйста Если да тогда остается вопрос — по какому принципу происходит программтирование atmegap-pu?

Вам лучше сюда пойти. Пока dimax отошёл кофе попить я помогу ему ответить. Один режим — SPI программирование, другой — высоковольтное. Когда в программаторе и то и другое — то он по крайней мере двухрежимный.

Могу ли я выбрать в среде Arduino режим HV и прошить стандартный загрузчик, со стандартными настройками fuses? Или надо какие-то дополнительные колдунства по приведению SPI порта в работоспособное состояние, и только потом выставлять фьюзы на загрузчик и шить загрузчик? Сбросить «неправильные» фьюзы. Сбросить можно или программатором или «сбрасывателем».

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

Остается что? Тока ставить atmegap и н автоматом сбрасывает фьюзы? Jaeger, а вы работали с этим программатором в HVPP режиме? Я на коте писал про глюки , но почему-то никто не отписался. Резисторы на Ом ставил, но есть сильное подозрение, что не в резисторах дело, так как я смотрел все сигналы осциллографом и там были вполне нормальные прямоугольники.. Jaeger, отпаял резисторы, запаял перемычки, но к сожалению не помогло. Ошибки как сыпались, так и сыпятся : Фронты нормальные, 12 вольт тоже не проседает.

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


USBASP: USB AVR программатор для микроконтроллеров ATmega, ATtiny

Он собран на микроконтроллере Atmega8 или Atmega48 , требует минимум внешних компонентов, имеет несколько готовых вариантов разводки печатной платы и оболочек для программирования, а также может работать под Linux и MacOS. Правда есть одно НО! Схема программатора USBasp представлена на рисунке ниже. Были добавлены диоды VD1 — VD3, чтобы уменьшить напряжение питания и согласовать логические уровни микроконтроллера и USB порта без стабилитронов.

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

Программатор atmega8, attiny2313 своими руками

Запросить склады. Перейти к новому. Программатор для attiny и atmega8. МК программатора прошью с LPT порта. Меню пользователя Vlad71 Посмотреть профиль Найти ещё сообщения от Vlad Re: программатор для attiny и atmega8. Меню пользователя jump Посмотреть профиль Отправить личное сообщение для jump Найти ещё сообщения от jump. Re: Программатор для attiny и atmega8.

Программатор USBASP ISP для ATMEGA, ATTINY + 10 pin кабель

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

Для прошивки микроконтроллера attiny необходимо: 1.

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

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

Простой программатор AVR910

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

avr usb programmer отличного качества с бесплатной доставкой по всему миру на all-audio.pro

как прошить attiny2313

Arduino это просто, быстро, а самое главное удобно для реализации идей. Но когда всё отлажено и схема, и код настает момент, когда избыточность плат просто не нужна. Идею то можно реализовать значительно дешевле и компактнее. Без горы проводов.

Программатор для Attiny2313

ВИДЕО ПО ТЕМЕ: Осваиваем микроконтроллер AVR за один день

Создано при помощи КотоРед. Несколько китайских клонов Arduino Nano у меня имелось, поэтому и использовал их. Все бы хорошо, но мне не недоставало одного вывода. Точнее он имеется у тини вывод RESET , но чтобы задействовать его как цифровой вход, нужно запрограммировать соответствующий фьюз.

Log in No account? Create an account.

Компьютерные разъемы. FM жучок. Предлагаю вашему вниманию схему простого и недорогого программатора для микроконтроллера Attiny Для программирования контроллера используэтся COM — порт компьютера. Программа которую я использую для заливки программы в этот чип — Pony Prog. Для питания микроконтроллера необходимо напряжение 5В Рис. Удобно использовать как источник питания для данного программатора USB.

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


Делаем простой 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). Пока у меня не возникало необходимости в программировании таких контроллеров.

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

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

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

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

Программатор из флешки своими руками. Миниатюрный USB программатор для AVR микроконтроллеров. Интерфейс внутрисистемного программирования ISP

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

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

Первая группа включает в себя программаторы, построенные на основе микроконтроллеров (в частности, AVR). Собирал несколько штук программаторов от Prottoss’а (AVR910), себе и своим знакомым, а также несколько штук USBasp. Двое из знакомых, одаренных сиими дывайсами, в восторге. Удачно шьют камни в течение уже нескольких лет. У остальных (в частности – у меня лично) собранные программаторы особой радости не вызвали. Не говорю, что они плохие, просто вот так складывались обстоятельства: на одном компьютере работает, на другом нет. Или, проработав пару часов, оказывались невидимыми для софта, через который шьется камень. И много еще чего. Сразу оговорю – я не разбирался с прошивкой контроллеров, на которых данные программаторы собраны. Правда, перепробовал кучу программ-прошивальщиков, через которые данные программаторы, вроде как без проблем должны шить камни. Однако, результат в виде частых глюков меня не особо удовлетворил. Исключение составила только программа AVRDUDE в комплексе с графической оболочкой SinaProg, но о ней я узнал слишком поздно. Кстати, заметил такую тенденцию: чем древнее железо ПК, тем лучше работают данные программаторы. Ну и самый неприятный момент для тех, кто выбрал второй вариант знакомства с микроконтроллерами AVR – чтобы программатор заработал, нужно чем-то прошить входящий в его состав камень. То есть получается так: чтобы пользоваться программатором нужно сделать/найти программатор, чтобы прошить мозги этого программатора. Вот такой вот замкнутый круг.

И вторая группа USB-программаторов включает в себя решение на базе специализированной микросхемы FT232Rx. В свое время данная микросхема стала своего рода революцией. Мало того, что она без особых заморочек для разработчика преобразует USB в UART (и, наверное, 95% разработчиков используют ее именно в этих целях). Она еще умеет эмулировать полноценный COM-порт, причем состояние «второстепенных» линий (таких, как RTS, CTS, DTR и т.д.) можно задать/считать не из виртуального COM-порта, а напрямую через драйвер FTDI (разработчика FT232Rx). Таким образом, появилось новое, без необходимости первичной прошивки мозгов программатора, решение, для прошивки микроконтроллеров, причем, довольно быстрое.

Принципиальная схема программатора USB

Данная схема просто направляет сигналы MOSI, MISO, SCK и RESET, которые формируются на выводах DCD, DTR, RTS и DSR микросхемы DD1 (FT232RL) соответственно, на нужные выводы прошиваемого микроконтроллера (т.е., фактически является аналогом «древних» программаторов). Причем, делает это только в момент программирования камня, в остальные моменты времени программатор отключен от прошиваемой платы за счет 4-х буферных элементов микросхемы DD2 (74HC125D). Состояние линий MOSI, MISO, SCK и RESET устанавливается/считывается прошивающим софтом на компьютере. Передача данных между ПК и микросхемой FT232RL идет по шине USB (от которой еще и получает питание программатор).

Светодиод HL2 («PWR») сигнализирует о подаче на программатор напряжения питания с шины USB. Светодиод HL1 («PROG») индицирует процесс прошивки микроконтроллера (горит только во время прошивки). Вот, в принципе, и все описание собственно схемы электрической принципиальной. Единственное что хотелось бы отметить: во-первых, для подключения программатора к прошиваемой плате используется разъем IDC-10MR (XP2 «ISP»), распиновка которого совпадает с широко распространенной распиновкой разъема программатора
STK200/STK300:

XP2 «ISP» разъем для подключения устройства к программируемому микроконтроллеру

XP3 «MISC» разъем для использования дополнительных функций программатора

В общем микросхема FT232RL имеет довольно серьёзный потенциал для разработчика (например, линии шины CBUS можно использовать как обычные линии ввода-вывода микроконтроллера), поэтому неплохо бы иметь доступ ко всем ее выводам. Ну и доступ к напряжениям +5,0 В и +3,3 В тоже лишним никогда не будет. В приклеплении печатная плата и полное подробное описание. Разработка и мануал — [email protected] , испытание — SssaHeKkk .

Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа — «прошивка», а также программатор.

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

Цена готовых USB-программаторов довольно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны).

Основная часть.

Панель установки МК.

Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является «облегчённой» копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite , что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор — это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

Необходимые изменения.

В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.

Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом «Data». При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.

Также добавлен «подтягивающий» резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.

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

Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.

В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал . Кому интересно, загляните.

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

Ядром устройства является микроконтроллер PIC18F2550-I/SP .

Это единственная микросхема в устройстве. МК PIC18F2550 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.

Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
Микроконтроллер DD1 8-ми битный микроконтроллер PIC18F2550-I/SP
Биполярные транзисторы VT1, VT2, VT3 КТ3102
VT4 КТ361
Диод VD1 КД522, 1N4148
Диод Шоттки VD2 1N5817
Светодиоды HL1, HL2 любой на 3 вольта, красного и зелёного цвета свечения
Резисторы R1, R2 300 Ом
R3 22 кОм
R4 1 кОм
R5, R6, R12 10 кОм
R7, R8, R14 100 Ом
R9, R10, R15, R16 4,7 кОм
R11 2,7 кОм
R13 100 кОм
Конденсаторы C2 0,1 мк К10-17 (керамические), импортные аналоги
C3 0,47 мк
Электролитические конденсаторы C1 100 мкф * 6,3 в К50-6, импортные аналоги
C4 47 мкф * 16 в
Катушка индуктивности (дроссель) L1 680 мкГн унифицированный типа EC24, CECL или самодельный
Кварцевый резонатор ZQ1 20 МГц
USB-розетка XS1 типа USB-BF
Перемычка XT1 любая типа «джампер»
Для панели установки микроконтроллеров (МК)
ZIF-панель XS1 любая 40-ка контактная ZIF-панель
Резисторы R1 2 кОм МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 кОм

Теперь немного о деталях и их назначении.

Зелёный светодиод HL1 светится, когда на программатор подано питание, а красный светодиод HL2 излучает в момент передачи данных между компьютером и программатором.

Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа «B» (квадратная). В компьютере же используется USB-розетка типа «А». Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно. Для этого нужно намотать 250 — 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. VD2 — это диод Шоттки . Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

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

Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force — с нулевым усилием установки).

Благодаря ей можно «зашить» МК практически в любом корпусе DIP.

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

Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).

А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).

Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима «Печать» не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении .

Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат , с помощью цапонлака (так делал я) или «карандашным» методом .

Вот рисунок позиционирования элементов на печатной плате (кликабельно).

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

«Прошивка» микроконтроллера PIC18F2550.

Файл «прошивки» — PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800 .

Залить «прошивку» в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).

Также стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex ) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex — «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex» . У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex» .

Ну, а если разрешить проблему «курицы и яйца» не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал .

Обновление «прошивки» программатора.

Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться — чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить «прошивку».

Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню «Tools» — «Download PICkit 2 Operation System» открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.

После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута . Узнать версию ПО программатора можно через меню «Help» — «About» в программе PICkit2 Programmer.

Это всё по техническим моментам. А теперь о софте.

Работа с программатором. Программа PICkit2 Programmer.

Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы — PICkit2 Programmer. Рекомендую.

После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод («питание»), а операционная система опознает устройство как «PICkit2 Microcontroller Programmer» и установит драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.

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

Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.

Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг .

Необходимые файлы:

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

Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами.
Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:

На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.

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

Прошивка управляющего микроконтроллера
Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом:) Простейший программатор на пяти проводках для AVR
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:

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

Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:

Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:

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

Все, теперь программатор готов к работе.

Khazama AVR Programmer
Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer . Замечательная программка, с минималистичным интерфейсом.

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

Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

Скачать файл печатной платы в SprintLayout можно по

06-01-2011

Описание

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

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

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

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

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

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

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


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

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

ПО PonyProg

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

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

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

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

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

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

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

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

А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора — USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!

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

и схему USB программатора USBTiny (домашняя страница)

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

Теперь все по порядку.
1 Для начала нужно собрать преобразователь (это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
Если интересно — вот .
В собранном виде преобразователь выглядит так:

2 Немного модифицируем плату
Для того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен — можно варьировать).


3 Теперь нужно прошить микроконтроллер.
Линии для программатора выведены на общий разъем платы (кроме сброса — стоит отдельно).

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


Схема шлейфа проста.

Из особенностей — я вынес индикаторный светодиод и балластный резистор для него за плату на разъем — это для того, чтобы плату без перепайки можно было использовать для других устройств (ну и так прикольней — светодиод мигает прямо в разъеме:)). Кроме того, линия Vcc отделена от общего разъема — это на случай если программируемое устройство запитывается не от USB, а от своего источника (что, в принципе, желательно). Сигнальные линии (SCK, MISO, MOSI) желательно экранировать (например чередованием сигнальных и земляных линий в шлейфе). Длину шлейфа не стоит делать большой — до 50 см, не больше. Если нужно программировать удаленное устройство всегда можно применить USB удлинитель — так надежней. Вот мой готовый шнурок:


5 Сам программатор готов, теперь нужно установить драйвер для того, чтобы Винда смогла с ним работать (для Mac OS X & Linux, вродь-как, драйвера вообще не нужно). Тут все просто:

5.1 Скачиваем драйвер, разархивируем его.
Страничка с драйверами


5.2 Вставляем наш программатор в USB порт.



5.3 В трее появится сообщение о том, что найдено новое устройство.


5.4 Запустится мастер нового оборудования.


5.5 Указываем в окошке «место поиска» папку с драйвером.


5.6 Пройдет процесс установки драйвера. Появится окошко сообщающее о том, что драйвер установлен. Чтобы проверить, что мы там наустанавливали— заходим в «Мой компьютер/Свойства/Оборудование/Диспетчер устройств» и находим там наш программатор

Винда увидела новое устройство и готова с ним работать.

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

Я с USBTiny до этого не работал, но отзывы о нем в сети положительные (отличается надежностью и быстротой программирования) — мои тестовый прошивки это подтвердили. ATtiny2313 прошивается за 10 секунд (это вместе с проверкой). Микроконтроллер определяется и программируется надежно — не было ни одной ошибки во время моих тестов. Приятный в использовании программатор!

Файлы к статье:
— Рисунок печатной платы UART-USB на ATtiny2313
— Прошивка USBtiny программатора для ATtiny2313
— Фьюз-биты ATtiny2313 для USBtiny
— Схема кабеля для USBtiny программатора

Простейший программатор для ATmega8 | Полезное своими руками

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

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

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

Схема первая

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее Setup -> Interface Setup. Выбираем «SI Prog API» и нужный порт, внизу нажимаем «Probe», должно появиться окно «Test OK». Далее выбираем микроконтроллер «Device -> AVR micro ATmega8».

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

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

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

Тщательно все проверяем и жмем «OK». Далее нажимаем Command -> Write All -> Yes. Идет прошивка и проверка. По окончании проверки появляется окно «Write Successful».

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

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

Схема вторая

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

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

Программировать только программой Uniprof. Тут хорошее описание программы: http://www.getchip.net/posts/025-uniprof-universalnyjj-programmator-dlya-avr/

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

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

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

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

USBTiny программатор AVR на основе ATTiny2313 — Программаторы — Каталог статей — Микроконтроллеры

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

А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в прошлой статье мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора – USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!

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

)

и схему USB программатора USBTiny

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

Теперь все по порядку.
1 Для начала нужно собрать преобразователь (это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
T2313-SMD-2 v2.0 — Рисунок печатной платы UART-USB на ATtiny2313
Для того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен – можно варьировать).


2 Теперь нужно прошить микроконтроллер.
Линии для программатора выведены на общий разъем платы (кроме сброса – стоит отдельно).


usbtinyisp-T2313.hex v1.04 — Прошивка USBtiny программатора для ATtiny2313
T2313-FuseBit — Фьюз-биты ATtiny2313 для USBtiny
Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставяться инверсно.

3 Далее нам нужен шлейф для того, чтобы соединить программируемое устройство с нашим программатором. Все линии, необходимые для программирования находятся на одном разъеме.


Схема шлейфа проста.


Из особенностей – я вынес индикаторный светодиод и балластный резистор для него за плату на разъем – это для того, чтобы плату без перепайки можно было использовать для других устройств (ну и так прикольней – светодиод мигает прямо в разъеме ). Кроме того, линия Vcc отделена от общего разъема – это на случай если программируемое устройство запитывается не от USB, а от своего источника (что, в принципе, желательно). Сигнальные линии (SCK, MISO, MOSI) желательно экранировать (например чередованием сигнальных и земляных линий в шлейфе). Длину шлейфа не стоит делать большой – до 50 см, не больше. Если нужно программировать удаленное устройство всегда можно применить USB удлинитель – так надежней. Вот мой готовый шнурок:


4 Сам программатор готов, теперь нужно установить драйвер для того, чтобы Винда смогла с ним работать (для Mac OS X & Linux, вродь-как, драйвера вообще не нужно). Тут все просто:

4.1 Скачиваем драйвер, разархивируем его.
usbtinyisp w32 driver v1.12 — Win драйвер для USBtiny программатора
Если у Вас Винда 64 битная, Vista или Windows 7 нужно установить другой драйвер:
usbtinyisp_libusb-win32_1.2.1.0.zip — Драйвер USBtiny для х64, Vista или Windows 7


4.2 Вставляем наш программатор в USB порт.

4.3 В трее появится сообщение о том, что найдено новое устройство.

4.4 Запустится мастер нового оборудования


4.5 Указываем в окошке «место поиска» папку с драйвером.


4.6 Пройдет процесс установки драйвера. Появится окошко сообщающее о том, что драйвер установлен. Чтобы проверить, что мы там наустанавливали — заходим в «Мой компьютер/Свойства/Оборудование/Диспетчер устройств» и находим там наш программатор


Винда увидела новое устройство и готова с ним работать.

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

ДОПОЛНЕНИЯ.
1 Дмитрий Шпак сделал довольно удачную разводку программатора. Программатор получился небольшого размера, имеет стандартный разъем для программирования и, я считаю, будет удобен в работе. Плата двусторонняя.

USBtiny.lay — Разводка USBtiny от Дмитрия Шпака

2 Еще один вариант разводки от Андрея Баранова (Andru_48)



USBtiny.lay — Разводка USBtiny от Андрея Баранова 

3 Вариант от mebadboy
Доброе время суток.
Новую печатку я не собирал. Я просто исправил старую — Дмитрий Шпак . Там минимум исправлений – одну дорожку перерезать, кинуть проводок, впаять резистор и диод впаять в другое место.
USB-tiny-mebadboy — Печатка USBtiny от mebadboy
Вот лог dmesg при подключении под linux:
usb 4-2: new low speed USB device using uhci_hcd and address 2
usb 4-2: New USB device found, idVendor=1781, idProduct=0c9f
usb 4-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 4-2: Product: USBtiny


Программатор для прошивки микроконтроллеров Atmega8 и Attiny2313

Всем привет.

Схема программатора, которая здесь представлена считается более простенькой и её без труда  может собрать любой начинающий радиолюбитель, который решил опробовать свои силы в сфере создания устройств на микроконтроллерах. В данной схеме не содержится дефицитных элементов и даже не нужно изготавливать печатную плату, всё можете сделать навесным монтажём либо на макетной плате (к примеру здесь развели печатку под неё за 15 мин на кусочке некондиционного стеклогетинакса). Этот программатор подойдёт для прошивки микроконтроллеров Atmega8 и Attiny2313 , это вам может пригодится, например для изготовления импульсных металлоискателей типа ClonePI-W или TrakerPI.

Поскольку схема этого программатора простая и не вызовет вопросов при её сборке, то далее предлагаем поэтапную инструкцию по использованию прибора (начинающим) при прошивке микроконтроллера Atmega8 для сборки металлоискателя ClonePI-W.1.

Устанавливаем программу PonyProg

Скачайте архив с программой и разархивируйте его. Щелкните на setup.exe. Будет обыкновенная инсталляция. Затем зайдите на системный диск и в папке Program Files найдите папку Pony Prog2000. Заходите в неё и удалите файл PonyProg2000.exe. Из разархивированного материала копируйте в эту папку файл PonyProg 207 rus.exe, это позволит русифицировать, а также модифицировать программу. Создайте в этой папке ярлык и разместите его на Рабочем столе. Всё, вы установили программу.

Настраиваем программу

Подключайте программатор и запускайте программу. В меню «Настройки» выберите «Калибровка» и выполните её. Затем, в меню «Настройки», выберите «Настройка оборудования» и выставите Последовательный, COM1 и SI Prog API. Остальные окна-пустые. Жмите «Проверка», ОК. Вот и всё, на этом настройка окончена. Если она проведена успешно, значит всё хорошо, если нет, тогда ищите и устраняйте ошибку в железе.

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

Вставляйте контроллер в панель. В окошке вверху программы выберите AVR Micro, а в соседнем Atmega8. Затем щёлкните Команды — Читать всё. Начнётся чтение данных с микроконтроллера. Когда оно закончится появится сообщение о успешном завершении чтения. Такое чтение, даже чистой микросхемы, даёт возможность более лучшим образом »сдружить» связку Компьютер — Программатор — Микроконтроллер и если всё пройдет хорошо, значит теперь вы можете уверенно надеяться на успех. Теперь можно загружать в программатор дамп самой прошивки. Файл — Открыть содержимое устройства из файла и проводником найдите необходимый нам файл дампа с расширением .hex. Открывайте, его содержимое появится в большом окне программы.

Теперь нужно правильно расставить конфигурационные биты контроллера

Посмотреть их можете на сайте разработчика ClonePI-W. Жмите на пиктограмму с замочком. В окнах расставьте галочки согласно требуемому. Жмите ОК. Затем записывайте программу на микроконтроллер. Команды — Записать всё. Пойдёт запись, а потом проверка. Когда закончится проверка появится табличка «Запись выполнена». Если всё прошло так, как описано выше, то вынимайте контроллер и ставьте его в изготавливаемое устройство, подключайте питание и радуйтесь полученному результату :).

Напоследок еще пара советов

Питание для схемы программатора можете взять с USB порта компа либо применить для этих целей БП (блок питаня) ADSL модема, который на время программации контроллера можете отключить. Кроме этого (в некоторых случаях) на время программирования камня нужно отключить антивирусы и файерволы (к примеру NOD32 блокирует некоторые действия с передачей данных через COM порт).

Вот вкратце и всё по этому девайсу. Всего вам доброго.

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

   В жизни каждого юзера наступает такой момент, когда надо апгрейдить компьютерное железо. Но не все так радосто, как казалось – производители компьютеров сейчас выкидывают такие ненужные по их мнению вещи, как COM- и LPT-порты (тоже относится и к владельцам ноутбуков). И что же делать несчастному юзеру, если необходимо прошить очередной МК AVR для девайса? Выход один – делать USB-программатор (или прикупить). Сегодня мы этим и займемся… (я имею ввиду сборку). И так, наша цель – создание программатора USBasp.

   Однако при изготовлении данного программатора есть одна проблема – нужно прошить контроллер, используемый в данном программаторе. Так что ищем друга, у которого есть рабочий COM- или LPT-порт в компьютере и, прикупив пивка, идём к нему (уж за такой презент он не откажет). Когда делал свой USBasp, пользовался простейшим ISP программатором – программатором Громова (Громов – разработчик Algorithm Builder). Так что расскажу как сделать USBasp с помощью него. Вначале паяем программатор Громова по следующей схеме:

   Вопросы типа: «А где рисунок платы?» будут оставлены без ответа, т.к. ответ в архиве. Замечу один момент: на прошиваемый контроллер необходимо подача питающего напряжения 5 вольт (+ и -), которое можно взять с компьютерного блока питания (использовал разъем от флоппика). Для этого в плате программатора AVR предусматриваем место для подключения 2-х питающих проводов. Выглядеть будет примерно так:

   Основные подготовительные операции выполнены и теперь приступаем к действиям для достижения основной цели – сборка USBasp.

   Про сборку и описывать особо нечего, так как тут всё ясно. Для себя исключил из схемы перемычки Jmp1 и Jmp3, Jmp2 заменил переключателем, а вместо разъема ISP типа BH-10 поставил DB-9M. Контроллер прошивал отдельно с использованием вот такой платы:

   Собранный USB программатор AVR засунул в подходящий пластмассовый корпус:

   А теперь расскажу, как же все таки заставить работать USBasp. Что у нас имеется в распоряжении (весь софт скачиваем в архиве):

 1. программатор Громова;
 2. софт под названием Uniprof;
 3. программатор USBasp;
 4. прошивка для контроллера USBasp;
 5. драйвера для установки USBasp в системе.

   На собранном USBasp ставим перемычки Jmp1 (цепь RESET) и Jmp2 (+5V), подключаем к нему программатор Громова и все это дело подключаем к COM-порту компа, не забыв подать питание 5 вольт. Запускаем Uniprof, если все собрано и подключено правильно, то должнен определиться тип прошиваемого контроллера:

 

   Нажимаем кнопку с рисунком папки и надписью HEX и указываем путь к файлу прошивки контроллера USBasp. В итоге получаем следующее:

   Осталось нажать на кнопку Prog с красной стрелкой, чтобы запустить режим прошивания. Ждем окончания заливки hex-файла. А теперь самые большие грабли – прошивка fuse-битов. В чекбоксе «Тормоз» (тот что над пивной кружкой) ставим галку (особенно актуально для шустрых системников), нажимаем кнопку «Fuse» (ала серп и молот :-D) и выставляем фьюзы как указано на картинке:

   После установки галок нажимаем кнопки «Write» в каждом из байтов. 

   Примечание (вдруг кто будет пользовать программатор Громова и дальше): в Uniprof галка напротив фьюза означает, что он установлен в 1 (в PoniProg галка означает установку в 0).

   Прошили? Отлично! Снимаем перемычку J1 и втыкаем программатор в компьютер. Теперь скармливаем дрова и в системе появляется новое устройство под названием USBasp. Для прошивки контроллеров качаем avrdude, но у нее есть недостаток – она консольная. Однако добрые дяди не оставили нас в беде и сделали графическую оболочку для avrdude, называется она USBASP_AVRDUDE_PROG. При прошивке fuse-битов через avrdude галка в чекбоксе напротив бита означает 0.

   Вот вроде и всё. Будут вопросы по запуску программатора — справшивайте, вместе как-нибудь разберемся. Автор: skateman.

Originally posted 2019-01-29 07:07:43. Republished by Blog Post Promoter

Загрузка микропрограммы на ATtiny с помощью самодельного программатора UPDI

Сокращение проектов

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

Для проекта Клема Майера он хотел заменить свой текущий MCU на ATtiny, но при этом не программировать его через протокол ICSP из-за дополнительных контактов и затрат. Поэтому он решил опробовать интерфейс UPDI, собрав самодельный программатор.

Что такое UPDI?

Аббревиатура UPDI расшифровывается как Unified Program and Debug Interface. Это преемник PDI, оба из которых являются проприетарными интерфейсами, изобретенными Microchip. UPDI позволяет программировать и отлаживать определенные микроконтроллеры по одному проводу.Сигнал, который он передает, является полудуплексным, что означает двунаправленную связь, а также асинхронным, что означает, что он не имеет внешнего источника синхронизации. Это позволяет использовать меньше соединений и меньший заголовок программирования.

Компоненты

Вместо того, чтобы тратить целое состояние на дорогой программатор, Майер смог найти недорогой Arduino Nano, основанный на ATmega328P. Что касается пассивных компонентов, резистор 4,7 кОм необходим для установки между выходным контактом программатора (в данном случае D6) и контактом UPDI целевого устройства.Конденсатор 10 мкФ также был помещен между контактами RESET и GND Arduino Nano.

Преобразование USB в UDPI

Необходимость запрограммировать собственную микропрограмму, которая принимает последовательные данные из порта USB и преобразует их в сигнал UPDI, была бы очень сложной задачей, поэтому вместо этого Майер взялся за проект под названием jtag2updi из Пользователь GitHub ElTangas. Эта программа, однажды загруженная в Nano, выполняет всю тяжелую работу, связываясь с Arduino IDE и выводя правильные сигналы по мере необходимости.

Изготовление программатора

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

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

Установив пакет платы megaTinyCore Arduino, Клем мог легко выбрать свой ATtiny212 из раскрывающегося меню, а также источник тактового сигнала, включенные таймеры и, что наиболее важно, свой собственный программатор. Нажатие кнопки «Прошить с программатором» немедленно заставило Nano начать посылать сигнал UPDI на цель, а после быстрого сброса светодиод ATtiny212 начал мигать.

Чтобы узнать больше об этом проекте, вы можете посмотреть видео Майера здесь, на YouTube, или прочитать о нем на странице сообщества element14.

Плата для программирования ATtiny DIY — Arduino Project Hub

Если вы ищете небольшую и маломощную плату Arduino, ATtiny — действительно хороший вариант, поскольку она удивительно функциональна для своего размера. Он имеет 5 контактов GPIO, 3 из которых аналоговые и 2 с выходом PWM. Он также очень гибок к напряжению, от которого он работает (от 2,7 В до 5,5 В), поэтому он идеально подходит для разрядки батарей. Я также упоминал, что это стоит всего около 1 доллара!? Проблема с ATtiny заключается в том, что вы не можете просто подключить USB-кабель, чтобы запрограммировать его, но на самом деле несложно создать для него программатор, и это то, что мы собираемся пройти в этом руководстве.

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

Приступим!

Шаг 1: Схема программатора на макетной плате

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

Шаг 2: Что вам понадобится

Для сборки программатора вам потребуются следующие детали:

Плата Mega, которую я использовал*, хотя подойдет любая плата Mega или Uno.

Вам также понадобится паяльник и несколько проводов,

*= Партнерские ссылки

Шаг 3: Макет щита

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

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

Шаг 4: Сборка щита

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

Штифты я сделал следующим образом:

  • Обрежьте вилочные штифты так, чтобы они подходили к верхнему и нижнему рядам вашего Mega/Uno.
  • Вставьте их в Arduino.
  • Поместите макетную плату сверху и пометьте маркером.
  • Снимите разъемы с Arduino.
  • Прижмите пластик разъемов к одному концу штифтов (я использовал для этого макетную плату, просто придвинул ее к столу). В итоге они должны выглядеть как контакты на картинке выше
  • Вставьте контакты через верхнюю часть макетной платы (сверху пластик)
  • Припаяйте их на место, припаяйте ровно настолько, чтобы они удерживались на месте на данный момент.

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

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

Если у вас есть мультиметр, я бы посоветовал проверить контакты на наличие перемычек между ними, особенно нижние контакты, так как они являются контактами питания.

Шаг 5: Настройка вашего программатора

Чтобы использовать Arduino в качестве программатора, нам сначала нужно прошить на него скетч.Сначала подключите ваш шилд к Arduino, затем подключите USB-кабель к Arduino. Откройте среду разработки Arduino, затем нажмите File -> Examples -> 11.ArduinoISP -> ArduinoISP

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

Прокрутите этот файл вниз, пока не увидите закомментированную строку // #define USE_OLD_STYLE_WIRING

Удалите комментарий из этой строки (теперь он должен выглядеть как #define USE_OLD_STYLE_WIRING )

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

Шаг 6: Настройка Arduino IDE для ATtiny

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

Первое, что нам нужно сделать, это добавить новую строку к нашим URL-адресам менеджера дополнительных досок, которые можно найти в разделе File -> Preferences

URL-адрес, который вам нужно добавить:

https://raw. githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Нажмите кнопку справа от поля URL-адрес менеджера досок и введите вышеуказанное в новой строке.

Теперь вы хотите открыть Диспетчер плат, перейдите к Инструменты -> Плата: «все, что выбрано» -> Менеджер плат

Найдите «attiny» и нажмите «Установить».

Шаг 7: Программирование ATtiny

Теперь мы готовы приступить к программированию ATtiny.

В разделе Tools выберите следующее:

  • Выберите ATtiny25/45/85 из раскрывающегося списка Boards .
  • Выберите ATtiny85 из раскрывающегося списка Processor .
  • Выберите Internal 8 MHz из раскрывающегося списка Clock .
  • Порт должен быть COM-портом для Arduino, который вы используете в качестве программатора.
  • Выберите Arduino в качестве ISP из раскрывающегося списка Programmer .

Теперь мы можем записать загрузчик, здесь есть хорошее описание того, что делает загрузчик, плюсы и минусы.Снова перейдите в Tools и выберите Burn Bootloader.

Далее нам нужно запрограммировать скетч для ATtiny

Откройте простой пример мерцания: Файл -> Примеры -> Основы -> Мигание

Поскольку контакт 9 для ATtiny0 отсутствует 8 LED_BUILTIN , нам нужно заменить его в нашем скетче на 0 , так как наш светодиод находится на контакте 0. Затем вы сможете загрузить этот скетч на свою плату, нажав «Загрузить».Светодиод должен мигать!

Шаг 8: Будьте свободны, маленькая Аттини!

Теперь, когда он вырос, пришло время убрать аттини из дома щита программирования.

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

Теперь вы можете использовать attiny в любом проекте после подключения V и земли.В последнем примере я показываю, как вы можете использовать даже батарейку типа «таблетка» для питания!

Надеюсь, этот урок был вам полезен. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь спрашивать! Видео: посмотрите мой канал на YouTube, чтобы увидеть больше видео

Прямые трансляции: каждый понедельник я работаю над электронными проектами на Twitch в прямом эфире

И Я говорю об электронике и других случайных вещах в Твиттере — @witnessmenow

Брайан

Создание FabTinyISP

Создание FabTinyISP

Содержание

Введение

FabTinyStar — это еще одна версия программатора/платы AVR ISP, которая может быть изготовлен в производственной лаборатории с использованием фрезерованной печатной платы и легко доступен компоненты.Проект основан на усилиях многих людей. Для большего историю FabTinyStar и людей, которые внесли свой вклад, пожалуйста обратитесь к Zaerc’s Страница FabTinyStar.

Эта версия («FabTinyISP Minimal» является незначительным изменением Версия Zaerc’а 0.3 (Bas), с небольшими изменениями:

  • Переключатель сброса и целевой переключатель питания удалены. Сброс переключатель увеличивает стоимость и не очень полезен для программиста интернет-провайдера, так как цель может быть легко сброшена с помощью команды программного обеспечения.Целевая мощность swtich был удален как обеспечивающий питание цели через порт программирования обычно не рекомендуется. Пользователи, понимающие Последствия этого приветствуются для создания одного из проектов FTS с выключатель.
  • Заливка медного грунта удалена и заменена индивидуальной следы земли; это позволяет начинающим паяльникам отшлифовывать больше медь. Все компоненты припаяны к четко определенным контактным площадкам с обеих сторон.
  • Удалены дополнительные контактные площадки для подключения к линиям передачи данных USB; это версия предназначена исключительно для того, чтобы быть программистом интернет-провайдера, а не быть универсальная плата tiny45.
  • Термистор PTC удален; так как этой части в настоящее время нет в инвентарь, большинство пользователей в любом случае построили бы его с резистором 0 Ом. Как убрана возможность обеспечения мощности цели, ее должно быть гораздо больше трудно создать условия, при которых полифьюз был бы необходим.
  • Makefile заменен. Цели для программирования предохранителей на были добавлены ATtiny45. Исходный Makefile также приводит к проблемы с файловыми системами, нечувствительными к регистру (т.е. окна).

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

Примечания

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

Заметки о современном USB

FabTinyISP — это «низкоскоростное» устройство USB 1.1. Это самый медленный (и один из самых старых) типов USB-устройств. Обычно используется для мышей и клавиатур низкоскоростные устройства работают на частоте 1,5 МГц и имеют гораздо меньшую строгие временные требования, что позволяет реализация используемого протокола USB (у ATtiny45 нет аппаратная возможность USB).

Хотя все более поздние версии USB должны быть обратно совместимы со старыми таких устройств, как FabTinyISP, следует помнить о нескольких вещах, чтобы избежать выпусков:

  • Избегайте использования USB 3 концентраторы. Они не всегда хорошо работают с низкоскоростными устройствами и могут влияют на синхронизацию сигналов, от которых зависит FabTinyISP. USB-концентраторы 2 кажется, работает нормально в большинстве случаев.
  • Если вам нужно адаптироваться от USB-C, лучше всего использовать переходник кабельного типа. Это ставит намного меньше нагрузка на порты (на вашем ноутбуке, сам адаптер и программатор) по сравнению со штекерным адаптером без кабеля.
  • Остерегайтесь адаптеров USB-C с несколькими портами, так как они, скорее всего, содержат концентратор USB3. Если вам нужно несколько портов USB-A, лучше всего подключить концентратор USB2 в адаптер USB-C.

Изготовление печатных плат

Загрузите файлы PNG для дорожек и контура платы:

Исходные файлы Altium доступны здесь, если вы хотите изменить дизайн.

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

Готовая печатная плата должна выглядеть примерно так:

В зависимости от количества смещений, которые вы фрезеровали, может быть немного медь слева на краю платы перед контактами USB. 5 смещений должно быть достаточно, чтобы удалить всю медь в процессе фрезерования, но требуется немного больше времени для фрезерования. Если вы фрезеруете меньше смещений (я сделал 3 в приведенном выше фото), лишнюю медь можно удалить ножом.Только медь в передние колодки нужно снять; медь слева по бокам отлично.

Сборка печатной платы

Получить компоненты:

  • 1x ATtiny45 или ATtiny85
  • 2 резистора по 1 кОм
  • 2 резистора по 499 Ом
  • 2 резистора по 49 Ом
  • 2 стабилитрона 3,3 В
  • 1 красный светодиод
  • 1 зеленый светодиод
  • 1 конденсатор 100 нФ
  • 1 штырьковый разъем 2×3

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

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

Обратите внимание на компоненты, которые должны быть установлены в правильной ориентации:

  • Стабилитроны маркируются, как на чертеже, так и на упаковках, с линией со стороны катода.
  • Катоды светодиодов на чертеже печатной платы отмечены точками и толще линии. Условные обозначения для маркировки упаковки различаются у разных производителей светодиодов, но на катодной стороне обычно видна зеленая или черная линия. эпоксидная линза. Некоторые светодиоды имеют дополнительный медный маркер на катодной площадке. дно. Некоторые печатают маленькую стрелку внизу, что соответствует условное обозначение: стрелка указывает на катод. Если сомневаешься, можно использовать мультиметр в режиме проверки диодов; светодиод будет светиться слегка, когда красный щуп находится на аноде, а черный щуп на катод (это также полезно для определения цвета).
  • ATtiny45 помечает контакт 1 точкой, выгравированной лазером в углу пакет. Контакт 1 также отмечен на чертеже точкой.

Используйте припой для создания перемычки на перемычке возле разъема ISP (J1). Этот временно подключает V CC к V prog закрепить на заголовке ISP, чтобы заголовок мог использоваться для программирования tiny45. (Программа подает напряжение на этот пин и программатор это обнаружит).Как только это будет запрограммировано, мы удалим это мост, чтобы превратить плату в программатор, а не программатор.


Перемычка под пайку, с перемычкой и без.

Улучшение разъема USB

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

Сначала нанесите немного припоя на контакты USB на плате, чтобы нарастить их. совсем немного. Нагрейте площадку и нанесите припой, перемещая жало вдоль поверхности. подушечка для его распределения.Как только у вас будет достаточно припоя, протрите наконечник утюга. подушечку одним непрерывным движением, чтобы выровнять ее в гладкий слой. если ты не получите гладкого слоя, вам нужно больше флюса: очистите кончик утюга на губкой, нанесите немного припоя на контактную площадку и снова протрите ее. Избыток припоя отойдет от наконечника утюга. (См. приведенное выше изображение готовый программатор того, как должны выглядеть USB-колодки).

В большинстве случаев этого достаточно, но я все же предпочитаю добавлять немного увеличить толщину, приклеив дополнительный материал к нижней части печатной платы.Небольшой кусочек пластиковой раскладушки упаковка работает хорошо. Я использую крошечную каплю клея CA, чтобы прикрепить небольшой кусочек в нижней части области USB-разъема, затем обрежьте лишнее пластик, как только он установлен. (Будьте осторожны, чтобы суперклей не попал на остальную часть плату, особенно контакты USB на другой стороне).

Проверьте свою работу

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

  • Сравните свою плату со схемой и изображением компоновки печатной платы, чтобы сделать убедитесь, что вы установили правильные компоненты в правильные места и ориентиры.
  • Осмотрите плату. Компоненты должны лежать на плате ровно, не наклоняется булавками в воздухе. Паяные соединения должны быть гладкими и припой должен был затекать и на штифт, и на контактную площадку.если ты все еще видно много оголенной меди на контактной площадке, или припой комковатый и доходит до точки, где вы сняли утюг, у вас, вероятно, нет хорошая связь. Оплавление путем применения тепла и флюса (либо из флюсовой ручки или добавив чуть больше припоя). Также ищите нежелательный припой мосты между соседними дорожками и штырями.
  • С помощью мультиметра проверьте наличие коротких замыканий между V CC и GND.

Установка программного обеспечения

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

Вы будете использовать оболочку командной строки (bash) в терминале вашей платформы для выполните все приведенные ниже команды. Если вы не знакомы с использованием командной строки, вы можете просмотреть руководство.

Linux (настоятельно рекомендуется)

Для Ubuntu и других дистрибутивов на основе Debian введите следующее команда, за которой следует ваш пароль при появлении запроса:

 sudo apt установить avrdude gcc-avr avr-libc сделать 

МакОС

Загрузите и установите CrossPack.

Windows

Установка цепочки инструментов в Windows немного сложнее. Отдельный инструкции приведены здесь.

Получить и собрать прошивку

Загрузите исходный код прошивки и распакуйте zip-файл (в Linux распакуйте fts_firmware_bdm_v1.zip). Открыть вашу терминальную программу и перейдите в каталог исходного кода.

Запустить сделать. Это создаст шестнадцатеричный файл, который будет запрограммирован на ATtiny45. Когда команда завершится, у вас должен появиться файл называется fts_firmware.шестнадцатеричный Если команда не завершается успешно, что-то не так с вашей установкой набора инструментов. Проконсультируйтесь сообщения об ошибках для информации, которая поможет вам отладить его.

Запрограммируйте ATtiny45

Сначала обновите Makefile для типа программатора, который вы собираетесь использовать чтобы запрограммировать вашу доску. Makefile по умолчанию предполагает, что вы собираетесь используйте программатор семейства usbtiny (например, другую плату FabISP). Если вы используете другой программатор, сначала выясните, что такое avrdude. (программное обеспечение) называет это.Вот некоторые часто встречающиеся AVR программисты:

Отредактируйте файл Makefile. Важно использовать текст редактор, предназначенный для программистов; такие программы, как Блокнот или WordPad, могут добавлять информация о форматировании, которая разрушает файл. В Linux gedit (графический интерфейс) или nano (командная строка) — хорошие варианты; Пользователи Windows могут захотеть используйте Блокнот++. TextEdit в OS X обычно работает, просто убедитесь, что вы сохраняете как обычный текст, а не RTF (и сделайте убедитесь, что к имени файла не добавляется «.txt»). Sublime Text — еще один популярный выбор на нескольких платформах.В общем, все, что вы используете для редактирования своего HTML-кода, наверное нормальный выбор.

В верхней части файла найдите строку, которая говорит:

.
 ПРОГРАММИСТ ?= usbtiny 

и измените usbtiny на любой программатор, который вы используете.

Вставьте плату в порт USB. Используйте порт USB 2.0, а не чем порт USB 3.0, если он у вас есть. Также рекомендуется использовать короткий Удлинительный кабель USB или USB 2.0 концентратор, а не подключаться непосредственно к порту, особенно если ваши USB-порты находятся вверх ногами.Это снимет напряжение и уменьшит риск повредить встроенные порты USB. Например:

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

Подключите программатор к разъему ISP на вашей плате. Обратите внимание, что там есть две разные ориентации, в которых можно подключить кабель; это важно, чтобы вы получили контакт 1 в нужном месте.Контакт 1 отмечен на схема платы отмечена точкой и к ней подключен сигнал MISO. если вы посмотрите на пластиковом разъеме на кабеле программатора должен быть небольшой стрелка, точка или название производителя, обозначающие угол с контактом 1. Обратите внимание, что нет обязательного стандарта, в каком направлении кабель выходит из разъем, поэтому ищите маркер контакта 1.

Запустите make flash. Это удалит целевой чип и запрограммирует его флэш-память с содержимым файла .hex, который вы создали ранее.Вы должны увидеть несколько индикаторов выполнения, пока avrdude стирает, программирует, и проверяет чип.

Если что-то пошло не так, проверьте:

  • что программатор подключен правильно и пин 1 на разъеме соответствует контакту 1 на плате
  • что ваша плата хорошо встала в порт USB
  • что ATtiny45 установлен в правильной ориентации
  • , что ваша пайка выглядит нормально на разъеме ATtiny45 и ISP (примечание что короткое замыкание может произойти там, где дорожки проходят под разъемом)

Если вы проверили все вышеперечисленное, но по-прежнему не можете запрограммировать плату, используйте мультиметр, чтобы проверить, есть ли непрерывность между контактами на чипе и заголовок ISP, и что нет преемственности там, где не должно быть (короткое замыкание между соседними контактами или дорожками).

После того, как вы успешно запрограммировали флэш-память, пришло время установить конфигурационные предохранители. Сделаем это поэтапно:

  • Для начала установим фьюзы, которые контролируют куда попадает микроконтроллер его источник часов от. (USB требует, чтобы часы поступали от PLL, и не делиться на 8). Это позволит нам проверить, что плата работает как USB-устройство, но пока не сможет программировать другие доски.
  • Только после подтверждения работы USB ставим фьюз отключающий контакт сброса и превращает его в обычный контакт GPIO.Это позволит чип использует контакт сброса для программирования других плат, но отключит возможность повторного программирования этого чипа. Потому что это не легко обратимо, мы хотим сначала убедиться, что все остальное работает!

Запустите команду make fuses. Это установит все предохранители , кроме , который отключает вывод сброса. Опять же, вы должны увидеть несколько индикаторов выполнения от avrdude. Если этот шаг не удается, но предыдущий работал, у вас, вероятно, где-то прерывистое соединение.

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

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

Линукс

Введите lsusb в терминале, в котором появится список USB-устройств. если ты см. устройство «USBtiny от нескольких поставщиков», оно сработало! Если это не так, команда dmesg может предоставить дополнительную информацию о том, что пошло не так.Ты хотите увидеть сообщение о «Новом низкоскоростном USB-устройстве» без каких-либо дальше ошибки. (Обратите внимание, что sudo dmesg -c очистит сообщения после их распечатки, что полезно сделать перед подключением платы так что вы сможете точно сказать, какие сообщения являются результатом его подключения в). Если вы не видите сообщение «новое низкоскоростное устройство», проверьте подтяжка на линии USB (резисторы 1 кОм и 499 Ом, R1 и R2, последовательно между V CC и D-) для правильных значений и хорошего соединений (компьютер использует эти резисторы и их значения для обнаружения какой тип USB-устройства был подключен).Если вы видите «новый низкоскоростное устройство», но после него появляются другие ошибки, попробуйте следующее:

  • Иногда просто плохое соединение с портом; попробуй отключить и переподключение. Убедитесь, что контакты USB чистые и одинаковое количество припоя на всех из них, и что поверхности гладкий.
  • Порты USB 2.0 работают с большей вероятностью, чем порты USB 3.0. если ты нет портов USB 2.0, попробуйте подключить через USB 2.0 концентратор.
  • Проверьте дорожки и компоненты между контактами данных USB и микроконтроллер. Убедитесь, что стабилитроны установлены правильно. ориентации, что последовательные согласующие резисторы (R3 и R4) являются правильные значения (49 Ом) и что соединения хорошие. Мера непрерывность между резисторами и контактами USB, и резисторы и выводы микроконтроллера, к которым они подключаются (выводы 2 и 3). Проверить на предмет короткого замыкания между выводами 2 и 3 микроконтроллера и другими соседними следы.
  • Попробуйте подключиться к компьютеру, который, как вы знаете, работал с кем-то чужую плату или попробуйте подключить чужую известную рабочую плату к своей компьютер. Это поможет вам определить, есть ли у вас несовместимость с вашими портами USB или проблема с вашей платой.

MacOS

Откройте приложение Apple System Profiler (меню Apple → «Об этом Mac» → «Дополнительная информация»; или из папки «Утилиты»). Выберите USB из списка слева, и вы должен увидеть USBTiny в списке устройств справа.Если он появится, значит работает должным образом. В противном случае следуйте приведенным выше инструкциям по отладке (примечание что в MacOS нет команды dmesg, хотя похожая информация может быть доступно где-то в консольном приложении). Либо все проверить выше, или подключитесь к компьютеру с Linux, чтобы увидеть, получите ли вы Сообщение «новое низкоскоростное устройство» в dmesg.

Windows

Windows отображает USB-устройства в диспетчере устройств (Пуск → Панель управления → Система). → Диспетчер устройств), хотя он не всегда говорит вам, что это такое, пока установлены правильные драйвера.Устройства USB также могут отображаться в разделе «Устройства». и принтеры» или «Оборудование и звук». Если вы не знаете Машина Windows достаточно хороша, чтобы определить, является ли устройство USBtiny появится, вы можете захотеть подключиться к чьему-то Linux-компьютеру или Mac, чтобы проверьте наверняка, работает ли он.

Перегорел предохранитель сброса

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

Во-первых, нам нужно изменить бит, который поворачивает вывод сброса ATtiny45. в контакт GPIO. Еще раз, это лишит нас возможности перепрограммировать это ATtiny45 в будущем, поэтому мы хотели убедиться, что все работать до этого. Подключите ваш ISP программатор к вашей плате еще раз раз и запустите make rstdisbl. Это делает то же самое, что и команда make fuses, но на этот раз она будет включать этот сброс отключить бит, а также.Вы должны увидеть несколько индикаторов выполнения, и с этим, avrdude больше никогда не сможет связаться с этим чипом через провайдера заголовок.

Во-вторых, нам нужно отключить V CC от V prog пин на шапке провайдера сняв бридж на перемычке для пайки. Иногда излишки припоя прилипают к чистой жало паяльника; если нет, используйте демонтажную оплетку, чтобы удалить припой из перемычку, тем самым разорвав соединение.

Проверьте свой программатор

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


Это работа находится под лицензией Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Международная лицензия.

Плата для программирования Attiny своими руками —

Если вы ищете небольшую и маломощную плату Arduino, Attiny — действительно хороший вариант, поскольку она удивительно функциональна для своего размера. Он имеет 5 контактов GPIO, 3 из которых аналоговые и 2 с выходом PWM. Он также очень гибок к напряжению, от которого он работает (от 2,7 В до 5,5 В), поэтому он идеально подходит для разрядки батарей.Я также упоминал, что это стоит всего около 1 доллара!?

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

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

Посмотрите приведенное выше видео, в котором я просматриваю всю информацию, содержащуюся в этом руководстве.

Давайте приступим!

Шаг 1: Макет программатора

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

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

Шаг 2: Что вам понадобится

Для сборки программатора вам потребуются следующие детали:

Attiny85* – Вероятно, понадобится один из них 🙂
Protoboard (10 шт.)*
Штыревые контакты* Набор конденсаторов из 120 шт. и резистор 1К, который нам нужен)*


Плата Mega, которую я использовал* – подойдет любая плата Mega или Uno.

Вам также понадобится паяльник и несколько проводов,


*= Партнерские ссылки

Шаг 3: Расположение щита

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

.

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

Шаг 4: создание щита

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

Я сделал булавки следующим образом:

  • Обрежьте штифты разъема, чтобы они подходили к верхнему и нижнему рядам вашего Mega/Uno.
  • Вставьте их в Arduino.
  • Поместите макетную плату сверху и пометьте маркером.
  • Снимите разъемы с Arduino.
  • Прижмите пластик разъемов к одному концу штифтов (я использовал для этого макетную плату, просто придвинул ее к столу). В конечном итоге они должны выглядеть как контакты на картинке выше.
  • Вставьте контакты через верхнюю часть макетной платы (сверху пластик)
  • Припаяйте их на место, припаяйте ровно настолько, чтобы они удерживались на месте в данный момент.

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

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

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

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

Шаг 5: Настройка вашего программатора

Чтобы использовать нашу Arduino в качестве программатора, нам сначала нужно прошить на нее скетч.

Сначала подключите ваш шилд к Arduino, затем подключите USB-кабель к Arduino.

Откройте среду разработки Arduino, затем нажмите  Файл  ->  Примеры  ->  11.ArduinoISP  ->  ArduinoISP

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

Прокрутите этот файл вниз, пока не увидите закомментированную строку  // #define USE_OLD_STYLE_WIRING

Удалить комментарий из этой строки (теперь он должен выглядеть как #define USE_OLD_STYLE_WIRING )

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

Шаг 6: Настройка Arduino IDE для Attiny

Нам нужно установить программное обеспечение Attiny через диспетчер платы, прежде чем мы сможем программировать на Attiny

.

Первое, что нам нужно сделать, это добавить новую строку в наши URL-адреса менеджера дополнительных досок, которые можно найти в разделе Файл -> Настройки

URL-адрес, который вам нужно добавить:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Нажмите кнопку справа от поля URL-адреса Boards Manager и введите вышеуказанное в новой строке.

Теперь вы хотите открыть Диспетчер досок, перейдите к Инструменты -> Доска: «все, что выбрано»  ->  Менеджер досок

Найдите «attiny» и нажмите «Установить».

Источник: DIY Attiny Programming Shield

c — ATtiny программирует функцию — зависает

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

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

efreedom dot com/Question/E-27081/Using-Avr-Gcc-Delay-Ms-Causes-Chip-Freeze

Если это не помогло, попробуйте опубликовать свой Makefile.

Кроме того, нет причин вызывать _delay_ms(10) 100 раз, вы можете просто вызвать _delay_ms(1000) напрямую. Он будет использовать более низкое разрешение.

Редактировать: После просмотра Makefile кажется, что ваша тактовая частота может быть установлена ​​неправильно. Параметр CLOCK указывает, на какой скорости вы работаете с AVR, если он настроен на что-то далекое (например, 8 МГц, а ваш PIC работает на 1 МГц), цикл задержки займет 8 секунд, когда вы ожидаете, что это займет одну — если это проблема: ваши светодиоды будут казаться замороженными, но если вы подождете достаточно долго, они действительно изменятся.Попробуйте удалить оператор -DF_CPU=$(CLOCK) и посмотрите, изменится ли это.

Кроме того, в вашем Makefile есть много неиспользуемых/ненужных вещей, и, поскольку в данный момент у меня нет работающей установки avr-gcc, за этим трудно следить, поэтому будет полезно, если вы попробуете упростить Makefile, как показано ниже. , и посмотрите, работает ли это — это будет близко, пожалуйста, прокомментируйте ниже, если у вас возникнут какие-либо проблемы!

  УСТРОЙСТВО = attiny2313
ЧАСЫ = 8000000
ОБЪЕКТЫ = main.o

# Настраивайте строки ниже, только если вы знаете, что делаете:

AVRDUDE = avrdude $(ПРОГРАММИСТ) -p $(УСТРОЙСТВО)
КОМПИЛЯЦИЯ = avr-gcc -Wall -Os -DF_CPU=$(ЧАСЫ) -mmcu=$(УСТРОЙСТВО)

# символические цели:
все: основное.шестигранник

вспышка: все
    $(AVVRDUDE) -U flash:w:main.hex:i

чистый:
    rm -f main.hex main.elf $(ОБЪЕКТЫ)

main.elf: $(ОБЪЕКТЫ)
    $(СОСТАВИТЬ) -o main.elf $(ОБЪЕКТЫ)

main.hex: main.elf
    rm -f main.hex
    avr-objcopy -j .text -j .data -O ihex main.elf main.hex
    avr-size --format=avr --mcu=$(УСТРОЙСТВО) main.elf
  

Использование программатора ManRob ATTiny / ATTiny Arduino Shield

Недавно я нашел на eBay этот щит Arduino, который позволит вам программировать ATTiny 24, 44, 84, 13, 2313, 4313, 25, 45 и 85 с Arduino.

Выглядит так:

и я купил его здесь:

http://www.ebay.com/itm/171471780143?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Хотя я нигде в Интернете не нашел упоминаний о «ManRob ATTiny Programmer», я называю его именно так, поскольку именно он выгравирован на печатной плате.

Я покажу, как я запустил этот шилд и использовал его для программирования ATTiny84 и ATTiny85.

Установка экрана

Шилд довольно просто подключается к ардуино.Я выравниваю контакты с маркировкой 13 и RST. После подключения к моей Arduino Uno 2 верхних левых контакта экрана (первый без маркировки, второй с маркировкой Ref) не имеют разъема для подключения. Это не вызывает никаких проблем.

Настройка Arduino в качестве ISP Programmer

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

Запустите Arduino IDE. Откройте скетч Arduino ISP из примеров.

Взгляните на функцию сердцебиения в этом скетче. Если в этой функции есть задержка (20), измените ее на задержку (40).

Выберите подходящий тип платы и COM-порт для вашего Arduino. Скомпилируйте и загрузите скетч в Arduino.

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

http://highlowtech.org/?p=1706

Перейти к разделу Превращение Arduino в программатор .

Настройте Arduino IDE, чтобы разрешить выбор плат ATTiny

Я сделал это для другого проекта, поэтому просто укажу на этот

https://bigdanzblog.wordpress.com/2014/07/29/programming-attiny85-using-sparkfun-tiny-avr-programmer/

(перейти к разделу Настройка Arduino IDE )

Дополнительная официальная страница для этого находится здесь:

http://highlowtech.org/?p=1695

Когда я сделал это на этот раз, я поместил каталог attiny в c:\users\documents\arduino\hardware, и все заработало нормально.

Теперь, когда вы запускаете arduino IDE и заходите в Tools | Платы, вы увидите кучу плат ATTiny.

Программирование ATTiny85 на частоте 1 МГц

Мы готовы записать код на микросхему ATTiny. Я начал с ATTiny85, хотя процесс действительно одинаков как для 84, так и для 85, но тестовые скетчи немного отличаются, потому что контакты разные.

Загрузите скетч с миганием из примеров Arduino IDE. Измените контакт светодиода с 13 на 0.

Теперь замените плату на ATTiny85 (внутренняя частота 1 МГц) . Установите программатор на Arduino ISP .Скомпилируйте и загрузите скетч.

Обратите внимание, при загрузке скетча вы получите сообщение

укажите сигналы PAGEL и BS2 в файле конфигурации для части ATtiny85

дважды. Хорошо.

Как только программа начнет выполняться на ATTiny85, тест на экране начнет мигать с интервалом в 1 секунду.

Программирование ATTiny85 на частоте 8 МГц

Можно запустить ATTiny85 на частоте 8 МГц, используя его внутренние часы.Основная причина этого, по-видимому, заключается в том, чтобы позволить ATTiny использовать библиотеку SoftwareSerial. Эта библиотека позволяет ATTiny осуществлять последовательную связь без чипа UART. Возможно, мне придется углубиться в это в будущем.

Чтобы использовать внутренние часы с частотой 8 МГц, выполните следующие действия (взято с http://highlowtech.org/?p=1695):

  • В Arduino IDE установите плату на ATTiny85 (внутренняя 8 МГц).
  • Установите программатор на Arduino как ISP .
  • Нажмите «Записать загрузчик » в меню «Инструменты».

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

Обратите внимание, что это фактически не записывает загрузчик на чип. Он просто устанавливает соответствующие биты предохранителей на ATTiny85, чтобы сообщить ему, что он должен использовать тактовую частоту 8 МГц.

Теперь, чтобы запрограммировать ATTiny85 на тактовую частоту 8 МГц, просто выберите плату ATTiny85 (внутренняя 8 МГц) .

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

Несовместимые настройки часов

Для fun я настроил ATTiny на использование тактовой частоты 8 МГц (прожиг загрузчик для установки фьюз-битов). Затем я скомпилировал и загрузил скетч мигания, используя плату 1 МГц.

При этом ошибок не получено; однако задержка больше не работает должным образом, поскольку реальные часы не совпадают с часами, выбранными во время компиляции. В этом случае тестовая лампочка мигала намного быстрее, чем раз в секунду (моя догадка была бы ближе к 8X в секунду).

Программирование ATTiny84

Все, что я написал о ATTiny85, относится и к ATTiny84 , ЗА ИСКЛЮЧЕНИЕМ : тестовый светодиод на плате программатора ATTiny привязан к контакту 6, а не 0. Поэтому, чтобы скетч мигания заработал, вы должны изменить контакт на 6. В противном случае , я смог сделать все для 84 так же, как я сделал это для 85, включая настройку часов.

 

Нравится:

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

Родственные

Использование микроконтроллеров AVR: минималистичные целевые платы

Это краткое руководство по созданию сверхпростых отладочных плат для программирования микроконтроллеров AVR.Самые последние винтажные AVR можно запрограммировать через подключение к ISP (внутрисистемный программатор); все, что действительно нужно, — это место для чипа и способ подключения к программатору.

Вот тут-то и появляются эти минималистичные «целевые платы» AVR. Эти маленькие платы стоят всего около 2 долларов, а их изготовление занимает всего несколько минут.

Оказывается, я строю много таких, потому что спрашиваю: «Как сделать схему для программирования AVR?» на самом деле то же самое, что спрашивать, как вы можете запрограммировать AVR, который находится в цепи.И мы могли бы также начать с простой схемы.

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

Де-факто стандартным USB-программатором AVR в системе является Atmel AVRISP mkII, номер по каталогу ATAVRISP2-ND от Digi-Key, за 36 долларов. На самом деле я немного писал об использовании этого программатора в прошлом году. Это хороший программатор с очень небольшими излишествами, и он работает довольно хорошо.Он имеет жесткий пластиковый корпус с разъемом USB «B» на одном конце и кабелем, заканчивающимся 6-контактным разъемом ISP на другом конце. (Если снять корпус с AVRISP mkII, на печатной плате также есть место для добавления 10-контактного кабеля ISP, но это неопубликованная функция.)

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

Новый USBtinyISP AVR Programmer от Adafruit Industries (обзор здесь), вероятно, лучший выбор для большинства приложений. Он поставляется в виде простого комплекта для 18,00 долларов США 22,00 долларов США и включает в себя как 6-контактный, так и 10-контактный интерфейсы. Отличительной чертой по сравнению с AVRISP mkII является то, что он позволяет вам использовать питание USB для прямого питания вашей целевой платы.Ну, это и то, что он поставляется с и 6-контактным и 10-контактным кабельным соединением ISP.

Еще один удобный вариант (для некоторых из вас): вы можете использовать Arduino в качестве программатора AVR-ISP.

Для тех, кто не хочет USB, нет недостатка в последовательных и параллельных программаторах ISP. Большинство из них используют 10-контактный интерфейс. Adafruit имеет по одному последовательному и параллельному. Вы также можете получить их из других источников (например, SparkFun), но обычно по более высокой цене. И, если у вас есть параллельный порт, давайте не будем забывать, что вы можете почти сделать из воздуха
.

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

Типичные разновидности доступны от SparkFun Electronics, которые в основном производятся Olimex. Также есть отличная плата от Futurlec, а также десятки других из других источников. (В частности, эти превосходные эталонные проекты с открытым исходным кодом от Паскаля Станга.)

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

Итак, когда имеет смысл паять собственные мишенные платы? Во-первых, проще использовать AVR со сквозным отверстием (DIP).

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

Начнем.

Для начала сделаем минимальную целевую плату для программирования ATtiny2313, популярного 20-контактного микроконтроллера AVR.

Вот компоненты: перфорированная плата для прототипирования (номер детали BG Micro ACS1053, 0,99 долл. США), DIP-разъем 2 × 3 (часть детали BG Micro, номер ACS1019, 0 долл. США.33) и 20-контактный DIP-разъем (номер детали BG Micro soc1029, 0,55 доллара США). У нас также есть несколько дополнительных компонентов: гнездо с нулевым усилием вставки (ZIF) и батарейный отсек с тремя батареями AAA. Сокеты ZIF, как правило, довольно дорогие — мы нашли их на eBay всего по несколько долларов за штуку, поэтому мы фактически создадим эту плату с одним.

Первым шагом является размещение разъема и разъема ISP на макетной плате, а затем (важно!) пометить один конец разъема ISP как конец, содержащий контакт 1.Когда вы в конечном итоге подсоедините кабель разъема ISP к разъему, вам нужно будет убедиться, что у вас правильная ориентация.

 

Следующим шагом является определение того, как соединить контакты разъема ISP с контактами сокета. Atmel Application Note 42 описывает разводку 6-контактных и 10-контактных интерфейсных разъемов ISP. Сверху они выглядят так:


Контакты на 6-контактном интерфейсе — питание (+Vcc) и земля, а также четыре «сигнала» разъема ISP, которые называются RESET, SCK, MISO и MOSI.Вы заметите, что 10-контактный интерфейс просто набит жиром — он не предоставляет дополнительных функций.

(Примечание. Тип линии питания (Vcc) зависит от контекста, и вам нужно будет подумать о том, каким образом питание проходит через этот разъем. Если вы используете AVRISP mkII или большинство других программаторов, ожидается, что Vcc предоставить программисту целевую плату из . Это используется для указания программисту, что целевая плата «активна» и готова к программированию.В этом случае вы должны предоставить отдельный источник питания для целевой платы. Если вы используете USBtinyISP, у вас есть опция для использования контакта Vcc на интерфейсе ISP для подачи питания на целевую плату. Эту опцию следует отключить, если ваша целевая плата подает питание на вывод Vcc интерфейса ISP.)

Далее нам нужно идентифицировать контакты AVR, которые подключаются к контактам разъема ISP.
Вы можете начать с просмотра таблицы данных для вашего конкретного варианта AVR (список здесь) и найти шесть контактов, которые соответствуют названиям контактов на разъеме ISP.Здесь я выделил соответствующие контакты трех устройств AVR, которые мне понравились и представлены в 8-контактном (ATtiny45), 20-контактном (ATtiny2313) и 28-контактном (ATmega168) DIP-корпусах:


Многие , но не все устройства AVR в данном корпусе (например, DIP-8) имеют одну и ту же распиновку разъема ISP, поэтому эти целевые платы иногда (с осторожностью) можно использовать даже для разных микроконтроллеров AVR. Например,
ATmega8, ATmega48, ATmega88 и ATmega168 имеют одинаковые 28-контактные выводы.Обратите внимание, что на рисунке выше показано более шести подключений к ATmega168. Это связано с тем, что к аналоговой схеме микросхемы идут дополнительные линии питания и заземления, которые следует подключать, даже когда аналоговая секция не используется.

Теперь, когда мы знаем, где находятся различные контакты ISP на разъеме и чипе, мы можем подключиться. Нам нужно шесть проводов (очевидно) — соедините MISO с MISO, MOSI с MOSI и т. д. и припаяйте линии. Не забудьте проиндексировать заголовок с конца, который вы отметили ранее, конца с контактом 1.

Вот, собственно, и все, остальное — глазурь.

 

 

Вот как выглядит обратная сторона; не на что смотреть!

 

 

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

 

 

Чтобы использовать целевую плату, вставьте AVR в разъем и подключите программатор к разъему ISP. Обратите внимание на ориентацию. Конец с контактом 1 часто отмечается полосой на кабеле и/или маленьким треугольником на разъеме.

 

 

      

Вы можете создать более простую, меньшую и гораздо более дешевую версию этой целевой платы, исключив сокет ZIF. Это сложнее использовать, если вы вынимаете чип *много*, но в остальном это хорошее решение.И, конечно же, если вы используете программатор, который подает питание на целевой микроконтроллер, вы можете вообще обойтись без батарейного отсека. Стоимость менее 2 долларов и время сборки менее 5 минут. Хороший.

Итак, куда вы пойдете дальше? Во-первых, приобретите этот программатор, если у вас его еще нет. Затем установите цепочку инструментов GNU, подходящую для вашей системы (например, winavr для Windows или OSX-AVR для Mac), а затем загрузите пример кода и отправляйтесь в город — недостатка в крутых проектах AVR нет, и мы надеемся, что что эти подсказки дадут толчок в правильном направлении.

0 comments on “Программатор для attiny2313 своими руками: Программатор atmega8, attiny2313 своими руками

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

Ваш адрес email не будет опубликован.