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

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

  1. bamian

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

    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    16
    Пол:
    Мужской
    Адрес:
    г. Липецк
    Все больше схем появляется на форуме на микроконтроллерах, поэтому создал новую тему. Для прошивки МК нужны программаторы, схем их много в интернете, одни работают другие нет, или приходится мучиться с их настройкой.
    Поэтому и решил выложить проверенные схемы иожет кому пригодится.
    Спаял 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 Новичок

    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    0
    Нет НИЧЕГО более ненужно, чем самосборные программаторы, когда есть 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.133
    Симпатии:
    0
    Баллы:
    0
    Адрес:
    Tallinn, Estonia
    1. У нас AVR Dragon стоит 1900 в рублях
    2. Я собрал программатор на FT232RL, он обошёлся мне в 200 рублей
    3. Если бы стояло условие отдать 1900 - я бы никогда не начал изучать МК.
    Наверное самый популярный вопрос, который каждый перед собой ставит: А вдруг куплю, что-то пойдёт не так и выброшу деньги на ветер? 1900 при такой постановке вопроса отдавать глупо. А вот FT232 всегда пригодится в хозяйстве.
    4. Если кому-то надо прошить разово - тоже плохой выбор.

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

    suslox Пушистикс Staff Member

    Сообщения:
    10.207
    Симпатии:
    2.703
    Баллы:
    113
    Пол:
    Мужской
    Адрес:
    Москва
    а как насчет дров и по для него?
     
  5. INFERION

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

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

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

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

    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    16
    Пол:
    Мужской
    Адрес:
    г. Липецк
    STK500 на FT232RL и меге8 прошивается после сборки просто переставить перемычку и понипрогом загнать прошивку. Поддерживается AVR студией и Кодевизион протокол stk500v2
     
  7. yuri

    yuri Новичок

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

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

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

    Сообщения:
    1.870
    Симпатии:
    10
    Баллы:
    38
    Пол:
    Мужской
    Адрес:
    Украина, г. Полтава
    Собрал я себе программатор на 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 Пользователь

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

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

    Сообщения:
    1.351
    Симпатии:
    25
    Баллы:
    48
    Адрес:
    г. Уфа
    INFERION, а какой программой прошиваешь?
     
  11. suslox

    suslox Пушистикс Staff Member

    Сообщения:
    10.207
    Симпатии:
    2.703
    Баллы:
    113
    Пол:
    Мужской
    Адрес:
    Москва
    :oops: мне бы так платы делать и паять такие микры...хны :cry:
    хм..инферион, а почему тогда в твоих лазерах нету мк, раз ты их там во всю программируешь?
     
  12. INFERION

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

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

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

    Вложения:

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

    ViNT Новичок

    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Адрес:
    СПб
  14. INFERION

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

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

    yuri Новичок

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

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

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

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

    Сообщения:
    1.870
    Симпатии:
    10
    Баллы:
    38
    Пол:
    Мужской
    Адрес:
    Украина, г. Полтава
    Откуда в 24-й тиньке UART? Только не надо программный предлагать...
     
  17. Armer

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

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

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

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

    ViNT Новичок

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

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

    Сообщения:
    1.870
    Симпатии:
    10
    Баллы:
    38
    Пол:
    Мужской
    Адрес:
    Украина, г. Полтава
    Да не думаю я что бут много места займёт. У меня и не такие алгоритмы в килобайт вписывались. Я же на ассемблере пишу. Он в десятки раз компактнее языков высокого уровня. Основная программа у меня максимум пол килобайта займёт. Это уже с RGB индикатором, умной кнопкой, стабилизацией и т.п...

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

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