Программаторы для микроконтроллеров.

Тема в разделе 'Общий раздел', создана пользователем bamian, 17 май 2010.

  1. bamian

    bamian Пользователь

    Все больше схем появляется на форуме на микроконтроллерах, поэтому создал новую тему. Для прошивки МК нужны программаторы, схем их много в интернете, одни работают другие нет, или приходится мучиться с их настройкой.
    Поэтому и решил выложить проверенные схемы иожет кому пригодится.
    Спаял AVR010 by PROTTOSS
    http://prottoss.com/projects/AVR910.usb ... rammer.htm
    Схема, печатная плата, прошивка и драйвер в архиве:
    [attachment=4:1c4m0z3f]AVR910.rar[/attachment:1c4m0z3f]
    и STK500 by Petka
    http://electronix.ru/forum/index.php?showtopic=68372
    Схема печатная плата, прошивка инструкция по прошивке в архиве:
    [attachment=3:1c4m0z3f]STK500.rar[/attachment:1c4m0z3f]
    Драйвер для STK500:
    [attachment=2:1c4m0z3f]Драйвер STK500.rar[/attachment:1c4m0z3f]
    Заработали оба сразу!!! Оба на мегах 8. Причем контроллер STK500 прошивается при переустановке перемычки, не нужен внешний программатор, заодно и прошил мегу для AVR010. STK500 работает намного и заметно быстрее.
    Плата переходник-адаптер для разных AVR:
    [attachment=1:1c4m0z3f]Переходник-адаптер AVR.rar[/attachment:1c4m0z3f]
    Нашел альтернативную прошивку для AVR010 но пока не пробовал ее.
    Эта прошивка превратит AVR010 в программатор AVR-Doper с протоколом STK500v2, пишут "Работает быстрее родной раз в пять на STK = 460 000. Родная еле ползала на 115 000."
    Существует 4 модификации прошивки:
    а) Стандартная CDC (эмуляция COM-порта), без отладочного интерфейса. Рекомендуется в большинстве случаев.
    б) CDC с отладочным интерфейсом - дополнительно к COM-порту реализован "свой" протокол для передачи информации через UART программатора (подробнее см. ниже).
    в) Бездрайверное HID-устройство, без отл. интерфейса. Т.к. CDC на V-USB нарушает стандарт USB, иногда бывают проблемы с работой программатора (хоть и решаемые). HID стандарт не нарушает и не требует драйверов вообще. К сожалению, поддержка есть пока только в avrdude.
    г) Бездрайверное HID-устройство с отл. интерфейсом.
    Отладочный интерфейс предназначен для обмена данными между программируемым устройством и ПК. Для его работы нужно подключить RxD и TxD программатора к TxD и RxD устройства. Настроить в устройстве UART на 19200, 8N1. На ПК необходимо установить библиотеку libusb (подробнее см. архив в прошивками) и запустить файл avrdebug.exe (идет в комплекте с прошивками). При этом все, что отправляет устройство в UART, будет приходить в терминал, а все что набрано в терминале будет уходить в устройство.
    Прошивка в архиве:
    [attachment=0:1c4m0z3f]avr910_avrdoper_hex.zip[/attachment:1c4m0z3f]
    Надеюсь кому то поможет эта информация, а у кого есть что выложить выкладывайте.

    PS: Собираюсь следующий делать программатор для пиков PICKIT2, или студенческий PICKIT2Lite но пока не нашел нужных плат под smd-мк

    Вложения:

  2. yuri

    yuri Новичок

    Нет НИЧЕГО более ненужно, чем самосборные программаторы, когда есть AVR Dragon.
    При цене в 1600р у него
    • вместе со стандартным ISP[/*:m:3r3f1eex]
    • есть параллельное программирование (пока ещё не было нужно, но кому-то, может, пригодится), [/*:m:3r3f1eex]
    • высоковольтное программирование (! - нужно, если, например, RESET отрублен через FUSE-биты, намеренно или по случайности)[/*:m:3r3f1eex]
    • debugWIRE (!!!)[/*:m:3r3f1eex]
    • JTAG (!!!!!!!!!!!!!11111111111)[/*:m:3r3f1eex]
    • официальная поддержка всем, чем угодно[/*:m:3r3f1eex]
    • USB-интерфейс - ну это стандартно, в принципе, хотя многие некрофилические самоделки работают через COM или LPT[/*:m:3r3f1eex]
    Изготовление самоделок в такой ситуации - просто возможность поупражняться в пайке, не более.
  3. SviMik

    SviMik Новичок

    1. У нас AVR Dragon стоит 1900 в рублях
    2. Я собрал программатор на FT232RL, он обошёлся мне в 200 рублей
    3. Если бы стояло условие отдать 1900 - я бы никогда не начал изучать МК.
    Наверное самый популярный вопрос, который каждый перед собой ставит: А вдруг куплю, что-то пойдёт не так и выброшу деньги на ветер? 1900 при такой постановке вопроса отдавать глупо. А вот FT232 всегда пригодится в хозяйстве.
    4. Если кому-то надо прошить разово - тоже плохой выбор.

    Сам программатор кстати:
    http://easyelectronics.ru/img/readydev/ ... g/ftbb.JPG
  4. suslox

    suslox Пушистикс Команда форума

    а как насчет дров и по для него?
  5. INFERION

    INFERION Пользователь

    Я себе тоже планирую собрать на FT232RL. Дрова к нему есть. По-сути это микруха-переходник USB<->COM, поддерживающая битбанг. Но вот мне ненравится что такой программатор не поддерживается AVRовской студией. Меня, например, сильно интересует возможность дебагинга в самом кристалле, через debugWIRE. Правда поговаривают что это с ним возможно...
    Но даже если микруха не пойдёт как программатор - связать ею МК с компом через USB, заюзав интерфейс USART, тоже заманчиво...
    Если с МК подружусь - понятное дело куплю себе нормальный программатор, если мне не хватит функционала самодельного...

    А ещё мне интересна тема бут-лоадеров (когда МК сам себя прошивать может) :).
    P.S. http://easyelectronics.ru/skorostno...-ft232rl-bez-vspomogatelnogo-kontrollera.html
  6. bamian

    bamian Пользователь

    STK500 на FT232RL и меге8 прошивается после сборки просто переставить перемычку и понипрогом загнать прошивку. Поддерживается AVR студией и Кодевизион протокол stk500v2
  7. yuri

    yuri Новичок

    Но, кстати, не могу не отметить огромный плюс FT232RL - его можно использовать как USART, которого на Dragon нет. Так что он у меня тоже есть, но не как программатор. Я им читаю свои петросянские сообщения, прошитые в микроконтроллер. :)

    Под Linux, кстати, он не требует никаких драйверов, а сразу определяется как виртуальный COM-порт, к которому можно подключиться стандартным эмулятором терминала (screen /dev/ttyUSB0).
  8. INFERION

    INFERION Пользователь

    Собрал я себе программатор на FT232RL. Поделюсь наработками, может кому-нибудь пригодится.
    По вот этой схеме:[attachment=7:sp2e54at]Программатор.PNG[/attachment:sp2e54at]Индикацию решил выкинуть. Во первых она только для красоты и острой необходимости в ней нет, во вторых я жадный на место и в третьих мне влом сверлить дырки в штекере...
    Решил я расположить его в самом USB штекере, и развёл вот такую плату:[attachment=1:sp2e54at]Плата.PNG[/attachment:sp2e54at]Вот что в итоге получилось:[attachment=6:sp2e54at]PA013869.JPG[/attachment:sp2e54at][attachment=5:sp2e54at]PA013875.JPG[/attachment:sp2e54at][attachment=4:sp2e54at]PA023877.JPG[/attachment:sp2e54at][attachment=3:sp2e54at]PA023879.JPG[/attachment:sp2e54at][attachment=2:sp2e54at]PA023878.JPG[/attachment:sp2e54at]Система сразу же нашла новое оборудование и потребовала драйвер. Качается он ТУТ. Чтоб поиграться с настройками контроллера (сменить ему название и т.п.) - нужно установить утилиту MProg3.5.zip.
    Вот архив с печаткой и схемой:[attachment=0:sp2e54at]Программатор на FT232.rar[/attachment:sp2e54at]P.S. Распиновку конектора лучше делать стандартную:
    [​IMG]

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

    Вложения:

  9. Armer

    Armer Пользователь

    Для программирования AVR-ок пользуюсь алгоритм билдером - http://algrom.net/russian.html
    Здесь в простейшем случае программатор представляет из себя набор резисторов и диодов, которые легко умещаются в разъеме сом-порта. А в ранних версиях программы и вовсе была возможность программировать через lpt-порт с прямым подключением к контроллеру.
  10. ArtDen

    ArtDen Пользователь

    INFERION, а какой программой прошиваешь?
  11. suslox

    suslox Пушистикс Команда форума

    :oops: мне бы так платы делать и паять такие микры...хны :cry:
    хм..инферион, а почему тогда в твоих лазерах нету мк, раз ты их там во всю программируешь?
  12. INFERION

    INFERION Пользователь

    Подправленной для этой задачи "Дудкой" (спасибо SviMik'у):[attachment=0:3j5gncu6]avrdude.rar[/attachment:3j5gncu6]Но пока ещё не прошиваю. Программатор этот сегодня ночью только заработал. Я им ещё ничего не делал...
    Потому что ещё не научился нормально ими управлять преобразователями. Сейчас только экспериментирую. Да и лепить в драйвер МК ради галочки, как многие тут делают, я не хочу. Если лепить, так чтоб он и делал хоть что-то интересное...

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

    Вложения:

    • avrdude.rar
      Размер файла:
      176,1 КБ
      Просмотров:
      252
  13. ViNT

    ViNT Новичок

  14. INFERION

    INFERION Пользователь

    Я там читал уже. Понял только что он из себя представляет и всё. Мне нужно в 24-ю тиньку написать такой, чтоб прикидывался сброшенным МК и прошивался через обычный последовательный программатор с обычного софта. Да, фьюзы не покрутить, но мне это и не надо. Загрузчик должен загружаться при старте МК, опрашивать порт ввода, на котором когда-то был ресет. Если там ноль - продолжать свою работу, если один - прыгать в начало программы и заводить МК. Такой себе программный сброс...
  15. yuri

    yuri Новичок

    Делаешь активным fuse-бит RSTDISBL, и нога RESET сановится портом PB3.

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

    Я, правда, совсем не понимаю, зачем делать бутлоадер, имитирующий микр без бутлоадера. Если в бутлоадере будет функция прошивки через UART, то и прошивать его тогда всё время через UART, без программатора.
  16. INFERION

    INFERION Пользователь

    Откуда в 24-й тиньке UART? Только не надо программный предлагать...
  17. Armer

    Armer Пользователь

    INFERION, я конечно тоже любитель забивать контроллеры под-завязку, но это ни есть правило хорошего тона :)
    Может все же имеет смысл на мегу8 перейти? Она и дешевле... Ресет должен оставаться ресетом :)
  18. INFERION

    INFERION Пользователь

    А габариты? Она тоже 4х4мм? Это критично. А ещё критично наличие дифференциального АЦП с 20х усилением. Есть ещё вариант с 26-й тинькой, но у меня уже схема собрана на 24-й. Да и загрузчик освоить мне не помешает. Да и изящнее схема получается. Контактные площадки, заюзанные для RGB индикатора и кнопки, юзаются и для прошивки...
    Мега дороже тиньки раза в полтора. Другое дело что её достать гораздо проще...
    Что-то начало оффтопом попахивать. Надо бы в другое место перебираться :)...
  19. ViNT

    ViNT Новичок

    Ну мега8 в TQFP не такая уж и большая.
    Вопрос еще вот в чем - по идее, нужно получать данные с аппаратного SPI и зашивать их во флеш, так? Плюс еще инициализация, обработка условия выхода и т.д. В итоге код бута получится немаленький, может пол флеша занять, для основного кода места не хватит.
  20. INFERION

    INFERION Пользователь

    Да не думаю я что бут много места займёт. У меня и не такие алгоритмы в килобайт вписывались. Я же на ассемблере пишу. Он в десятки раз компактнее языков высокого уровня. Основная программа у меня максимум пол килобайта займёт. Это уже с RGB индикатором, умной кнопкой, стабилизацией и т.п...

    Есть две новости, напишу их тут.
    1. Прошил драйвер к синему тестовой программой. С пол пинка завёлся и держит стабильно 3,4V. Т.е. механизм работает, ЦАП вместо резистивного делителя принят. Теперь можно зашить калибратор и прогнать ЦАП на определение зависимости выходного напряжения от числа. записанного в него (к сожалению она логарифмическая).
    2. Программатор сразу не заработал. Продолбался весь день, пока со SviMik'ом не нашли причину - я забыл провести одну дорожку на плате (подключить VCCIO к питанию). Как только допаял перемычку - всё завелось с пол пинка. Скорость прошивания ппц. 128 байт (да, понимаю, программка мелкая) в 24-ю тиньку залило за 0,14с.

Поделиться этой страницей