Простой программатор для программирования микроконтроллеров AVR через COM порт

Рейтинг пользователей: / 10
ХудшийЛучший 
Проекты - Электроника

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

Выбор мой пал на микросхему GD75232, часть элементов которой, при соответствующем включении я задействовал для данного программатора.Обязательно 10-я и 11 ножки микросхемы должны соединяться с землёй.(общим проводом)

Микросхема gd75232Эта микросхема стоит на материнских платах, её роль - как раз согласование сигналов внешних устройств с COM портом. На иллюстрации из даташита видно, какие элементы как подсоединены, (не стану расписывать, что как и зачем, об этом можно прочитать в описании микросхемы). Я её специально не покупал, а снял с "убитой" материнки.

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

1- питание +5в

2- разъём com порта

3- разъём ISP для программирования

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

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

Схема проверена и испытана.

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

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

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

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

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

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

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

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

Программатор с буфферизацией

Рекомендую всем обладателям простых программаторов доработать имеющуюся у вас схему таким же образом, если при программировании вы сталкивались с подобными проблемами, добавив микросхему буффера ,не обязательно эту, можно использовать и другие подобные по функциональным свойствам микросхемы типа 74HC125, 74HC126 на базе этих микросхем,можно переводить выходы программатора вообще в высокоимпедансное состояние,что позволит не отключать разъём ICSP от платы ,особенно это удобно при работе с макетной платой, вариаций применения моего программатора в качестве базового модуля очень много,это и программирование микросхем типа 24Схх 93Схх а так же для программирования PIC контроллеров, но эту тему я возможно разовью чуть позже в данной статье.

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

Лучшее- враг хорошему (с).

Всё вроде работает,но стоит добавить в схему ,что либо ещё,как она из маленькой превращается в "монстра", а что делать? Иногда в процессе отладки приходится идти на это ради комфорта в работе , ведь порой по нескольку десятков раз надо втыкать разъём ICSP повторно перепрограммируя микроконтроллер, так это занятие надоедает порой, а если оставить программатор постоянно подключенным,к схеме ,то схема программатора будет влиять на работу устройства , но есть решение о котором я упоминал выше, это перевести состояние шин в высокоимпедансное - Z состояние , тогда схема программатора может быть подключена сколь угодно долго и не будет теперь шунтировать шины микроконтроллера ,ради такого случая нашёл эту микросхему и использовал её в качестве буффера .Осуществлять эту процедуру мы будем посредством кнопки S1 которая при замыкании будет переводить выходы программатора в рабочий режим, программирования подсоединяя его сигналы к схеме. На момент программирования, надо кнопку удерживать в нажатом состоянии,а после того, как процедура программирования пройдёт успешно ,отпустить.При разомкнутом состоянии кнопки выходы программатора переводятся в состояние Z

Из даташита 74HC125 ,по схеме и таблице истинности видно ,что если подать на выводы А "единицу" схема переводит выходы в высокоимпедансное состояние ( фактически вообще отключается от нагрузки) и вдобавок у этой микросхемы ещё большая нагрузочная способность ,чем у микросхемы,которую я выбрал в качестве буффера в предыдущей схеме..

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

Владимир Науменко

г. Калининград.

Файлы для загрузки:
ФайлОписаниеРазмер файла
Скачать файл (Программатор AVR.GIF)монтаж 29 Kb
Скачать файл (74HC125_TAB.jpg)Таблица истинности 74HC125 21 Kb
Скачать файл (74HC125.jpg)Buffer_74HC125 27 Kb
Скачать файл (Progr_buf_Z.GIF)Программатор с Z состоянием шин 106 Kb
Скачать файл (Панельки AVR.rar)панельки AVRпанельки AVR19 Kb
 Обсудить на форуме (13 комментариев).

Возможно, вас так же заинтересует:



Темы форума

Нет сообщений для показа

Комментарии
Статистика
Просмотров:
mod_vvisit_counterСегодня1814
mod_vvisit_counterВчера4801
mod_vvisit_counterНа этой неделе6615
mod_vvisit_counterНа прошлой неделе24305
mod_vvisit_counterВ этом месяце82212
mod_vvisit_counterЗа все время16227115

Ваш IP: 54.80.146.251
 , 
21 Ноя. 2017