Делаем COM программатор для AVR микроконтроллеров.

Автор: | 03.03.2010

титл COM программатораЕще одним несложным, в плане изготовления, является COM программатор. При условии использования альтернативного режима COM порта Bitbang, отпадает необходимость в преобразовании интерфейса RS232 COM порта в SPI, необходимый для программирования. Остается только привести уровни сигналов COM порта (-12В, +12В) к необходимым (0, +5В). Это и делает
схема COM программатора для AVR микроконтроллеров:

Схема COM программатора для AVR

Данная схема программатора достаточно распространена и известна как программатор Громова. Название пошло от автора программы Algorithm Builder Геннадия Громова, который и предложил такую схему.

Чтобы собрать программатор Громова нам нужно следующее:

Детали для COM программатора для AVR

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


Если Вы планируете серьезно заняться микроконтроллерами, сделайте разъемы стандартными. Для разового программирования устройства я рекомендую использовать разъемы BLS «мамы» на программаторе (такими разъемами к материнской плате подключаются кнопки и светодиоды корпуса компа — именно их я и взял) и штырьки PLS «папы» на плате. Это позволяет максимально упростить разводку платы устройства, так как штырьки для программатора устанавливаются в непосредственной близости возле ножек микроконтроллера. Ножки MOSI, MISO, SCK у микроконтроллеров AVR всегда расположены вместе, поэтому для них можно применить строенный разъем. Отдельно делаем подключение для «земли»-GND и «сброса»-Reset.

Собрать COM программатор не составит труда:

Собираем COM программатор для AVR

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

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

Общие рекомендации:

— Так как режим Bitbang нестандартный для COM порта компьютера, то возможны сбои в работе (хотя у меня такого не было). Особенно это касается ноутбуков. Как вариант решения этой проблемы можно рекомендовать «поиграться» настройками COM порта (скорость, биты данных, варианты управления потоком, величины буфера …).
— Отдельный разъем для «земли» желательно подключить первым, чтобы уравнять потенциалы «земли» программируемого устройства и компьютера. Для тех, кто не знает, если у Вас компьютер включен в обычную розетку, без заземляющего контакта, то в виду особенности фильтра блока питания компьютера, на корпусе компьютера всегда присутствует потенциал в 110В.

Заключение:

— COM программатор Громова простой и надежный. Я не перестал пользоваться им даже собрав USB программатор (если какой либо микроконтроллер перестает программироваться USB программатором я обязательно перепроверю его на программаторе Громова).
— Так как программатор Громова собран на пассивных элементах он не требует для себя питания. Мало того, из-за паразитного питания, микроконтроллер можно запрограммировать вообще не подключая к нему источника питания! Хотя так программировать я не рекомендую, но сам факт интересен.
— Для пользователей Algorithm Builder есть приятный бонус! Этот программатор можно использовать для внутрисхемной отладки кристалла (программный JTAG).

Ссылки:
Сайт Геннадия Громова, автора Algorithm Builder


(Visited 59 585 times, 86 visits today)

Делаем COM программатор для AVR микроконтроллеров.: 271 комментарий

  1. Владимир-Малахов

    Можно им прошить мульт kb9012qf ? Подскажите какой к какому выводу подключать ? И какую прогу использовать

  2. admin Автор записи

    Вряд ли

  3. Ильгиз-Фасхутдинов

    Здравствуйте. Можно им программировать ATtiny85? А нет схемы на монтажной плате? Для меня так удобнее- монтажные платы есть. На одной уже собрана отладочная плата для ATtiny85. И об этом «Так как программатор Громова собран на пассивных элементах он не требует для себя питания. Мало того, из-за паразитного питания, микроконтроллер можно запрограммировать вообще не подключая к нему источника питания! Хотя так программировать я не рекомендую, но сам факт интересен.» подробнее. Подавать питание или нет? отдельно привести от USB?

  4. Ильгиз-Фасхутдинов

    Не получается че-то. Собрал все. Проверил несколько раз. Все по схеме. Запускаю унипроф. Пишет «Что-то не ладно с Lpt, код=2; проверьте наличие файла LPTWDMIO.SYS в каталоге uniprof!»

  5. kombats75

    товарищи, что-то вы меня совсем запутали со схемой. на самой первой картинке, там где типа схема, вроде все понятно, на 5м контакте GND, первый свободен. НО, если верить написаному на вскрытом у меня разьеме, то отсчет идет против часовой, и будет примерно так 5 4 3 2 1
    9 8 7 6 это все так со стороны пайки. а у вас на фотках, гда показана распайка, выходит три резюка припаяно на первый контакт. где правда?! или я совсем непонимаю 🙁

  6. kombats75

    да это я все пересмотрел. я к тому, что если верить написанным на «маме» цифрам, то на фото, где изображено как паять, типа в реальности, то там неверно. сюда немогу( либо не знаю как) прикрепить фото, ссылка на яндекс диск https://yadi.sk/i/uDN8pFt33Q6a6F, а должно я так понимаю быть примерно так, https://yadi.sk/i/KtKTnkZr3Q6aqz это схема уже со стороны пайки нарисована. или я не прав опять? поправьте. неохото напартачить.

  7. kombats75

    ааааааа, жесть. вот прогнал я. на маме же нада….. вот я дурень. а у меня папа. тфу. пойду искать маму.

  8. kombats75

    три раза пересобрал, все согласно схемы, ну не работает хоть убей. ошибиться не мог, где-где, а уж тут в «трех проводах» точно разберусь. скажите, на выходе программатора, относительно GND должно же быть какое-то напряжение, там в пределах 5в.? у меня нету ни на одной. может диоды шиворот на выворот. хотя в магазе вроде 1N4148 дали. катод на чорной полоске, так и запаял. уже не знаю, хоть головой о стену….

  9. GetChiper Автор записи

    Да, в процессе программирования на ногах должны присутствовать импульсы около 5 вольт.
    Может проблема с портом?
    Можно проверить, посмотрев что на линиях самого порта при программировании превосходит (тут уже должны быть уровни + — 12 вольт).

  10. kombats75

    нет, имел в виду когда програматор без МК подключен. Порты на двух компах, везде рабочие. завтра на 10 проводным шлейфом соединю, может помехи…

  11. kombats75

    тинька в гирлянде, по схеме Евгения, там нету ИК приемника, и 7 нога на GND это не может повлиять? особенно 7 нога.

  12. GetChiper Автор записи

    Нет 7-я нога никак не скажется на программировании. Главное чтобы МК был запитан от от отдельного источника питания 5 вольт (батареек например).

  13. kombats75

    забил пока на ком схему, собрал лпт, мучал-мучал, не подключается и все. (было это с БП, называется ИПС-1, стабилизированный, приобретенный в 90м через посылторг). а подцепил батарейки, тоже не подключился, но на кнопку прочитать, пошла полосочка внизу, и ниже выбора портов, считает какие-то циферки. но ооочень медленно. стоит тормоз, и задержку уже аж на 50 поставил. где-то читал, что типа вручную выбирают МК, я не нашел где это сделать. подскажите.

  14. GetChiper Автор записи

    Какая программа для программирования используется?
    МК новый? с заводскими фьюзами?

  15. kombats75

    программа uniprof. сегодня уже понипрог поставил, только толку никакого. МК новая. с магазина. даже купил сегодня новую, уже навесом подключил, ЧЕРЕЗ ЛПТ программатор. порты прописал как в описаловке. провод уже укоротил до примерно 30 см. чередованы 10 проводов через общий. где бл….дь можно накосячить????? ну тут вообще же только резюки. зла уже нету. еще и нога минуса отвалилась какого-то…. пробовал на двух компах. на одном вин 8.1, на втором ХП. куда мне его еще всунуть? разве что в мусорку и забыть все как страшный сон… 🙁

  16. kombats75

    Ё-маё….. полез в биос, поменял SPP на ECP+EPP, и все заработало. я в шоке. почему тогда дефолтно не стоят эти настройки? это для ЛПТ порта. может что и для сом порта там не так в биосе? ща подцеплю вторую тиньку, проверю. жесть, нада идти за пивом… для снятия стрессу…

  17. kombats75

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

  18. kombats75

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

  19. GetChiper Автор записи

    Может действительно МК проблемный?
    Пару раз у меня было что новый МК не прошивался нормально (ну уже очень давно такой проблемы не было).

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