Разработка USB программатора для AVR микроконтроллеров.

Автор: | 06.03.2010

Титл для USB программатора для AVRПри выборе USB программатора я оказался на распутье. Сам я пользуюсь USB программатором для Algorithm Builder, но он довольно дорог и сложен в исполнении. Для целей блога (просто, надежно, дешево) он не подходит. Есть несколько вариантов простых USB программаторов для AVR, подходящих под идеологию блога.

Варианты такие:

1 Дешевый и простой в исполнении (в том числе и для начинающих) – USBasp. Несложное схемное решение, недорогой контроллер ATMega48, хорошая скорость программирования, широко распространен. Я склоняюсь к этому варианту, но есть недостаток, который меня сдерживает – необходима начальная прошивка микроконтроллера ATMega48. А это значит нужно первоначально собрать LPT или COM программатор, а если нет ни LPT, ни COM порта где-то их еще и найти.

2 Схема на микросхеме FT232RL (преобразователе USB – COM) умеющая работать в режиме Bitbang. Схема несложная, не имеющая вспомогательного контроллера, а значит, не требует предварительной прошивки. Недостатки – микросхема FT232RL не из дешевых и достать ее почему-то проблематично (в магазинах предлагают аналоги, которые дешевле, но я подозреваю, они не смогут работать в режиме Bitbang). Еще микросхема имеет довольно плотное расположение мелких ножек – начинающим будет сложно сделать печатную плату и припаять к ней эти ножки.

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

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

 

Внимание!
Вот и появился один USB программатор — USBtiny.

Смотрим статью: 056-USB-программатор – легко! (USBTiny).

На этом не останавливаемся — будут еще варианты!

(Visited 4 821 times, 5 visits today)

Разработка USB программатора для AVR микроконтроллеров.: 22 комментария

  1. Stor

    Если изначально МК нового программатора запрограммировать нечем, отличный вариант
    «AvrUsb500 by Petka» http://www.mindrunway.ru/PetkaAvrUsb.html
    Из трудностей для начинающих — миниатюрные ножки FT232RL, да и TQFP атмегу не сразу удастся припаять (хоть там и не все ножки задействованы). Как вариант — купить макетку с секцией планарных контактов для TF232RL и навесным монтажем спаять DIP атмегу (автор подготовил схему для DIP).
    Второй минус — FT232RL стоит 160-200р — общая себестоимость программатора получится от 300р. Но это в 2-5 раз дешевле продаваемых в магазинах.
    Автор упоминает, что в микросхемах «шнурков для мобильных телефонов» могут отсутствовать нужные сигналы, используемые в его программаторе — нужно проверять.

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

    Как вариант рассматривать можно, но Вы правы стоимость и доступность FT232RL оставляет желать лучшего. И еще, FT232RL умеет работать в Bitbang режиме, а значит не нужна дополнительная ATmega, но скорость программирования будет немного ниже.

  3. taimag

    Хочу предложить простой для повторения и дешевий программатор USBBit
    Сайт автора:
    http://www.reddylab.eu
    Я бы не сказал что по стоимости он дорог (33 грн. на ft232rl) а вместе со всем-то есть smd резисторами, гнездами и логикой, около 40 грн. — 5$). Сделал себе такой, сижу и радуюсь теперь.
    Ну, как вам? (P.S. только ищите версию 1.0 или ждите следующую версию после 1.1, так как у меня 1.1 не заработала.) То есть заработала версия 1.0

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

    Да, такой программатор прост и надежен, но по факту дешевле сделать USB программатор на ATtiny2313.

    Как плюс в сторону USBBit можно добавить то, что параллельно с USB программатором мы получаем отличный преобразователь USB то UART (это довольно большой плюс). Так что есть над чем подумать.

  5. pinco

    @GetChiper
    Предлагаю использовать для начальной прошивки контроллера программатора сам его собственно контроллер — поясняю — есть AVR контроллеры с встроенным USB портом , и есть кажется ,утилитки ,фирменные , для заливок чистых контроллеров таких сразу в их USB от компа по USB , а вот затем уже после включения таким образом прошитых контроллеров они начин работать как преобразователи. Теперь по поводу куда должно поступать уже в штатном режиме USB от компа в контроллер — тут могут быть варианты как в штатный порт USB AVR микроконтроллера ,либо как сделано в проекте с тиньками — отработка USB-шных сигналов от компа программно на выводы порта контроллера ,в общем кому как какие варианты понравятся на выбор . В любом случае предлагаемая идея в том чтобы для первоначальной заливки контроллера программатора больше вообще ничего не использовать кроме чистого контроллера который потом и будет затем стоять в преобразователе интерфейсов , и обычного кабеля USB до компа .И плюс также потом предлагаю подцепить затем MAX232 на вых UART контроллера , чтобы иметь еще и полный нормальный COM порт , наряду с +5V UART-ом — и установленные рядом — пользоваться удобно и тем , и тем — можно будет +5 UART сигналами например для логики налаживаемых устройств , и от MAX232 — если собираемое устройство понимает только уровни +/-12 настояшего COM .

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

    @ooogo
    Хорошая реализация — можно забабахать универсальную плату для различных устройств! Нужно будет поработать в этом направлении по свободе.

  7. GetinaX

    Дорого времени суток!
    Нашел на e-bay вот такой программатор http://www.ebay.com/itm/1PCS-AVR-Programmer-USB-USBasp-USBISP-3-3V-5V-ATMEGA8-New-/121027022945?_trksid=e11010.m263&_trkparms=algo%3DSIC%26its%3DI%26itu%3DUCI%252BIA%252BUA%252BFICS%252BUFI%252BDDSIC%26otn%3D5%26pmod%3D121023301916%26ps%3D63%26clkid%3D3713160693624185801&_qi=RTM1240449
    Хотелось бы знать мнение специалистов. Стоит ли его брать. будет ли такой программатор работать со стандартными прогами типа CvAVR и AVR studio? ПОнадобиться ли искать какие ли бо дополнительные драйвера. В списке доступных программаторов в вышенахванных программах нету. Но может быть это какото аналог? Заранее благодарен за ответ.

  8. GetinaX

    Большое спасибо! Значит буду заказывать

  9. Toxa12345

    @GetinaX
    Конечножэ брать его стоит (сам пользуюсь похожим http://www.ebay.com/itm/170813851774?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649)
    Драйвера легко находятся в интернете например вот: http://avrproject.ru/publ/instrument/usbasp_in_bascom/3-1-0-35 ссылка на скачивание в конце.
    На счёт программ- не знаю так как пользуюсь либо BASCOM-AVR либо Extreme burner

  10. GetinaX

    И в догонку еще вопрос…
    А будет ли он работать под Вин7 ???

  11. mcmega

    Здравствуйте! Подскажите, собрал схему USB программатора Громова для AB с опторазвязкой. В оригинальную прошивку надо внести изменения портов:
    Led — D.5
    Reset — B.2
    Data Out (MOSI) — B.0
    SCK — B.3
    Data In (MISO) — B.4
    DBG (CLKI) — B.1
    Я внёс эти изменения в таблице CommAdapter (Bits), SPI (Bits), Monitor (Bits).
    В результате не видит кристал. В алгоритм не лез вообще. Закорачиваю ноги RX и TX на FT232RL обратно посылки в терминале проходят, делаю заварот после опторазвязки, тоже всё ОК.
    Помогите!!!

  12. mcmega

    Разобрался!!! Если, кто-нибудь будет повторять программатор Громова для AB с опторазвязкой на 6n138 (http://www.yarst.org/USBprogAB.htm) и понадобится изменить назначение портов (особенности разводки платы), необходимо поменять не только значение портов в таблице алгоритма, но и в файле SPI, в блоке spi_Open:
    PortB ^ (значение «0» для всех задействованых выводов)
    DDRB ! (значение «1» для выводов MOSI, Reset, SCK).
    Программатор получился просто СУПЕР, отладка на кристале работает безупречно (на данный момент сбоев не выявлено).

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

    Спасибо, будем знать.

  14. Dederik

    Vsem privet))) Ya reshilsya kupit programmator no ix tak mnoga((( neznayu daje kotoriy iz nix kupit` mojet posovetuyete?! mne priglidelsya prog Triton kak vi dumayete o nem??? Zaraneye vsem spasibo

  15. GetinaX

    Доброго времени суток. Примерно год назад,приобрел на е-бее програматор USBasp (ссылка дана в постах выше). За этот год много раз прошивал с его помощью Мегу16. Причем и на разведенных платах и на макетках (соединение проводками). Тут рпонадобилось запрограммировать Тиньку 2313. Собрал макетную платку и… началась какая то мистика. Чистый контроллер легко прошивается, сразу начинает «шевелить ножками» (мигать светодиодами), но… при попытке считать с него что то или просто стереть программа «eXtrime Burner» выдает сообщение, что чип не соответствует выбранному. Проверил несколько контроллеров — ситуация та же. Однако обнаружилось следующее — если раз 10…15 пытаться считать контроллер (команда Read all) контроллер вдруг сбрасывается и становиться вновь доступным для чтения и записи. После зашивки программы опять пропадает. Попробовал прошить древним программатором LPT (с буферной микрухой 74HC244) собранным буквально на коленке сто лет назад на куске текстолита — никаких аномалий. Все шьёться и контроллер никуда не пропадает. Люди добрые, подскажите в чем может быть дело??? Заранее спасибо

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

    Может партия МК с небольшими отклонениями.

  17. serenbkii

    Не думаю, что USBasp проблема у китайцев за 80 рублей заказать (или у местных барыг за 200-300 купить). Там и шлейф и заводская плата и разъемы- бери и пользуйся. Её даже если на комплектуху распаять- выгода будет. Если и делать программатор своими руками- то с дебагером и прочими плюшками, да чтоб из под IDE работал. Китайский ЮСБасп и атмегафьюзбит доктор просто must have для начинающего работать с МК.

  18. GetinaX

    Я тоже подумал, что может это партия такая. Это было бы самое легкое и приятное объяснение. Но ведь контроллеры без проблем шьются через ЛПТ. Может Тинька «не успевает» за быстрым УСБ?

  19. den737

    Здравствуйте. Можно ли заменить микросхему FT232RL на FT245BM ?

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