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

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

Описание

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

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

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

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

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

Плата AVR программатора (вид спереди) с 9-контактным последовательным разъемом (гнездо).
Плата программатора AVR (вид сзади).
Размещение платы программатора AVR в корпусе разъема RS232.
Законченный программатор со стандартным 6- контактным разъемом ICSP.

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

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

Плата с 28-выводным микроконтроллером Atmega в корпусе DIP.
В схеме есть 2 разъема: ICSP, к которому подключается AVR программатор и разъем для внешнего источника питания.

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

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

Плата для 28 выводного микроконтроллера AVR Atmega8 в DIP корпусе.

ПО PonyProg

Чтобы иметь возможность загружать hex файлы из компьютера в микроконтроллер, вам потребуется скачать и установить ПО PonyProg2000. После установки, первое, что предстоит сделать, это сконфигурировать 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 микроконтроллер был запрограммирован и теперь готов к использованию.

Источник

Простой программатор для прошивки AVR микроконтроллеров через СОМ порт (RS232)

Схема и описание простого программатора для прошивки AVR микроконтроллеров, используя СОМ порт (RS232) компьютера.

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

Принципиальная схема

Вариаций применения моего программатора в качестве базового модуля очень много — это и программирование микросхем типа 24Схх-93Схх, а так же для программирования PIC контроллеров.

Мой выбор пал на микросхему GD75232 (рис. 1), часть элементов которой, при соответствующем включении, я задействовал для данного программатора (рис. 2).

Рис. 1. Схема микросхемы GD75232.

Рис. 2. Схема программатора для AVR микроконтроллеров через RS-232 на микросхеме GD75232.

Обязательно 10-й и 11-й выводы микросхемы должны соединяться с землей (общим проводом). Микросхема GD75232 установлена на материнских платах, ее роль — как раз согласование сигналов внешних устройств с СОМ портом. На рис. 1 из даташита [1] видно, какие элементы как подсоединены.

Микросхему специально не покупал, а снял с “убитой” материнской платы. Использовать программатор можно с известной программой Pony Prog, в установках выбрать интерфейс (Serial, СОМ1) для СОМ-порта и любой из 3-х видов интерфейсов, которые в программе перечисляются, без разницы, работает со всеми (JDM API, Si Prog API, SI Prog I/O), картинки это поясняют (рис. 3-5 соответственно). Остальные установки в настройке порта остаются в программе по умолчанию.

Рис. 4. Si Prog API.

Рис. 5. SI Prog I/O.

Печатную плату не привожу, так как отрезал ножницами по металлу кусок платы вместе с микросхемой, в итоге размеры платы получились 20×30 мм, проводники припаял к 3-м разъемам:

  • 1 — питание +5 В;
  • 2 — разъем СОМ порта;
  • 3 — разъем ISP для программирования.

Программатор настолько прост, что не содержит ни резисторов, ни конденсаторов — только одна — единственная микросхема. Цепляете питание +5 В, подключаете к панельке, в которую вставлен микроконтроллер AVR, приготовленный для программирования, и программируете, как обычно, в ISP режиме.

Читайте также:  Корица для рыбалки своими руками

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

Рис. 6. Как сделать монтаж AVR-программатора без печатной платы.

Буфферизация

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

Есть отработанные хорошие схемы простых программаторов с буфферизированными шинами типа STK200/300, собранные на микросхемах серии 244, 245, но они предназначены для подключения к LPT порту, который в последнее время уже редкость на современных материнских платах.

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

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

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

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

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

Для того, чтобы не делать новый программатор, есть простой путь улучшить нагрузочные характеристики программатора — это буфферизиро-вать уже имеющиеся шины для сигналов, всего лишь добавив еще одну микросхему. В данном случае я взял, что у меня было под руками — микросхему 561ПУ4 [2] (или можно ее западный аналог CD4050 [3], см. рис. 7).

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

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

Рис. 7. Структура микросхемы 561ПУ4 (CD4050).

Рис. 8. Схема элементов микросхемы 561ПУ4 (CD4050).

Рис. 9. Программатор для AVR с повышенной нагрузочной способностью.

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

У нас три сигнала с СОМ порта работают на прием, и один сигнал (MISO) работает на передачу. Припаяв к уже имеющейся схеме посредством коротких проводков еще одну микросхему буффера, я протестировал работу новой схемы и, сравнив с тем, что было прежде, убедился, что эффект есть.

Читайте также:  Лайфхак матрас своими руками

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

Рекомендую всем обладателям простых программаторов доработать имеющуюся у вас схему таким же образом. Если при программировании вы сталкивались с подобными проблемами, добавив микросхему буффера, не обязательно эту, можно использовать и другие подобные по функциональным свойствам микросхемы типа 74НС125, 74НС126 [4].

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

Z-состояние шин на выходе

Все вроде работает, но стоит добавить в схему что-либо еще, как она из маленькой превращается в “монстра”, а что делать? Иногда в процес се отладки приходится идти на это ради комфорта в работе, ведь порой по нескольку десятков раз надо втыкать разъем ICSP, повторно перепрограммируй микроконтроллер.

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

Но есть решение, о котором я упоминал выше — это перевести состояние шин в высокоимпедансное Z-состояние, тогда схема программатора может быть подключена сколь угодно долго и теперь не будет шунтировать шины микроконтроллера. Ради такого случая применил микросхему 74HC125 и использовал ее в качестве буффера (рис. 10).

Рис. 10. Структурная схема ир подключение микросхемы 74HC125.

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

На момент программирования надо удерживать кнопку в нажатом состоянии, а после того, как процедура программирования пройдет успешно, отпустить. При разомкнутом состоянии кнопки выходы программатора переводятся в состояние Z.

Рис. 11. Струткутрная схема микросхемы 74HC125.

Рис. 12. Состояния входов и выходов микросхемы 74HC125.

Из даташита микросхемы 74НС125, по схеме (рис. 11) и таблице истинности (рис. 12) видно, что если подать на выводы А “единицу”, схема переводит выходы в высокоимпедансное состояние (фактически вообще отключается от нагрузки), и вдобавок у этой микросхемы еще большая нагрузочная способность, чем у микросхемы, которую я выбрал в качестве буффера в схеме рис. 9.

В. Науменко. г. Калининград. РМ-04-17, 05-17.

  1. GD75232 — www.datasheetcatalog.org/datasheet/texasinstruments/ad75232.pdf
  2. 561ПУ4 — www.voshod-krlz.ru/files/datasheets/561pu4.pdf
  3. CD4050 — www.datasheetcataloa.Org/datasheets/70/109093DS.pdf
  4. 74НС125, 74НС126 — www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXrytxt.pdf
  • PCBWay — всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН.
  • Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет.
  • Проекты с открытым исходным кодом — доступ к тысячам открытых проектов в сообществе PCBWay!

Добрый день. (Вам не болеть. Это сейчас актуально) Подскажите, а можно поставить вместо 74НС125 отечественную 155ЛП8 . Большое спасибо за любой ответ. С уважением.

Источник

Оцените статью
Своими руками