1. Уважаемый Гость! При написании вопросов в раздел форума [ArduCopter] Вопросы, проблемы и решения обязательно придерживаться шаблона сообщения, оговоренного в правилах раздела! Если сообщение не будет оформлено должным образом, то и ответ на вопрос будет с наименьшим приоритетом. Старайтесь дать максимально полную информацию по вашей проблеме, чтобы можно было более детально рассматривать вопрос!
    Скрыть объявление
  2. Уважаемый Гость! Хотите получать кэшбэк с покупок в online-магазинах? Сервис "Zozi.ru" дает такую возможность!
    Скрыть объявление
  3. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

Клон программатора AVRISP-MKII

Тема в разделе "Инструмент и приспособления", создана пользователем Xichnik55, 29 янв 2016.

Реклама. Купить это место.
  1. Xichnik55

    Xichnik55 Старший научный сотрудник

    Регистрация:
    10 сен 2015
    Сообщения:
    665
    Город:
    Омск
    Имя:
    Иван
    Пара часов работы паяльником - и у Вас мощный USB-программатор AVRISP-MkII, прошиваюший весь ассортимент 8-битных микроконтроллеров AVR(ATtiny, ATmega и даже XMEGA) компании Atmel. На частоте ISP 125 кГц память FLASH чипа ATmega32 (32 кбайта) читается за 10 секунд, пишется за 12 секунд, а на частоте ISP 4 МГц полная операция записи 32 килобайт (вместе с предварительным стиранием) длится примерно 3 секунды.

    Firmware программатора основано на проекте AVRISP-MKII из библиотеки LUFA. По ссылке [2] можно скачать готовую прошивку AVRISP-MKII-AVR-USB162MU-16Mhz.hex (находится в папке LUFA101122\Projects\AVRISP-MKII\hex\ архива). В архиве есть также и исходники, по которым Вы можете при необходимости доработать или изменить firmware программатора (makefile и проект AVRStudio). Вся документация и комментарии к исходникам на русском языке.

    СХЕМА AVRISP-MKII
    Схему долго описывать нужды нет, так как она состоит главным образом из проводочков и коннекторов. Сердце схемы - макетная плата AVR-USB162MU, так что всю основную обвязку микроконтроллера AT90USB162MU паять не нужно, и программатор получается очень компактным (меньше спичечного коробка) и дешевым. Резисторы R1..R6 номиналом 68 ом - защитные, и их можно не устанавливать. Перемычка SJ1 переключает питание портов ввода/вывода, перемычка JP1 управляет подачей питания на программируемое устройство, коннекторы ISP, PDI, TPI предназначены для подключения к программируемым микроконтроллерам (подробнее о перемычках и коннекторах программатора см. далее). Питается программатор от интерфейса USB (и может подавать питание на программируемое устройство).

    AVRISP-MKII_01.png

    ИЗГОТОВЛЕНИЕ AVRISP-MKII

    Вот все запчасти, необходимые для изготовления программатора:

    AVRISP-MKII_02.jpg

    Внешний вид готового программатора AVRISP-MkII:

    AVRISP-MKII_03.jpg

    AVRISP-MKII_04.jpg

    Шлейфик мама-мама 6 pin. Он простой сквозной - первый контакт разъема соединен с со первым на противоположном конце, второй со вторым и т. д. Подходит для всех режимов программирования - ISP, PDI и TPI. Теперь коротко - как заливать прошивку, пользоваться программатором, и какие у программатора коннекторы и перемычки.

    AVRISP-MKII_05.jpg

    Заливается прошивка программатора через утилиту Flip прямо через интерфейс USB, благодаря прошитому в чип AT90USB162MU бутлоадеру DFU Flip(этот бутлоадер прошивается на заводе Atmel). Поэтому для изготовления программатора AVRISP-MkII Вам не потребуется программатор (проблема "курицы и яйца" решена). Достаточно скачать утилиту Flip с сайте Atmel, установить, и залить готовую HEX-прошивку (см. [2]) через нехитрый интерфейс.

    AVRISP-MKII_06.png

    Для управления программатором AVRISP-MkII лучше всего использовать утилиту AVRStudio. Она бесплатна, открывает доступ ко всем возможностям программатора, и работает с максимальной скоростью. Кроме того, среда программирования CodeVision AVR тоже поддерживает работу с программатором AVRISP-MkII. В среде Linux возможна работа через avrdude, при этом для firmware программатора потребуется изменение настроек в makefile и перекомпиляция (все описано в документации к исходникам).

    AVRISP-MKII_07.png

    У программатора имеется три коннектора - ISP, PDI и TPI. Коннектор ISP используется чаще всего, через него программируются большинство микроконтроллеров Atmel (применена стандартная цоколевка ISP6PIN). На фото показана прошивка микроконтроллера ATmega32.

    AVRISP-MKII_08.jpg

    Коннектор PDI используется для программирования микроконтроллеров серии XMEGA. На фото показана работа с микроконтроллером ATxmega128A1 через интерфейс PDI (макетная плата Olimex AVR-PX128A1).

    AVRISP-MKII_09.jpg

    Коннектор TPI используется редко, так как предназначен для программирования low-end микроконтроллеров, которые в России редко встречаются (ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40). Я не смог протестировать интерфейс TPI, так как не нашел чипа с таким интерфейсом программирования.


    ПЕРЕМЫЧКИ И КОННЕКТОРЫ AVRISP-MKII

    AVRISP-MKII_10.jpg

    USB - через этот разъем (miniUSB) программатор подключается программатор к компьютеру. В системе Windows перед подключением нужно установить AVRStudio (лучше версий 4.18 или 5.XX), так как в составе дистрибутива AVRStudio имеются драйвера для программатора (нигде в другом месте драйверов Вы не найдете!). После установки AVRStudio можете подключать программатор AVRISP-MkII к компьютеру. На системе, где установлена AVRStudio, мастер установки драйвера автоматически находит и устанавливает нужный драйвер.
    S1 - кнопка для активизации бутлоадера DFU Flip чипа AT90USB162MU. Она нужна только тогда, когда Вам необходимо по какой-то причине перепрошить firmware программатора AVRISP-MkII (через фирменную утилиту Flip компании Atmel). После перепрошивки бутлоадер не стирается, и его при необходимости можно запустить заново простым нажатием кнопки S1.
    SJ1 - перемычка, которая управляет переключением рабочего напряжения портов ввода-вывода программатора - либо 3.3, либо 5 вольт. Её положение зависит от используемого напряжения питания в програмируемом устройстве. На фотографии перемычка установлена в положение 5 вольт.
    JP1 - перемычка, через которую подается питание на программируемое устройство. Если она установлена, то на программируемое устройство подается питание от программатора. Если перемычка JP1 снята, то тогда программируемое устройство должно быть запитано от собственного источника питания.
    4MHz - с этого штырька можно снять тактовую частоту 4 МГц, и подать её на программируемый микроконтроллер. Может понадобиться, когда в программируемом устройстве отсутсвует кварц, и перемычки (fuses, фьюзы) ошибочно установлены в состояние, соответствующее подключаемому внешнему кварцу. Это позволяет запустить микроконтроллер от внешнего тактового сигнала, и он станет доступен для программирования памяти и фьюзов.
    ISP - коннектор ISP со стандартной цоколевкой (для программирования большинства AVR).
    PDI - коннектор PDI со стандартной цоколевкой (для программирования XMEGA).
    TPI - коннектор TPI со стандартной цоколевкой (для программирования ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40).

    Первый штырек каждого коннектора помечен белой меткой.

    https://yadi.sk/d/NxSepI9fnwhNn (Я.Диск raefa. Архив проверен)
    http://dfiles.ru/files/j2jn96wwq Исходный код лежит в папке LUFA101122\Projects\AVRISP-MKII\, скомпилированная прошивка в подпапке hex, документация в подпапке doc.
    http://microsin.ru/index.php?option=com_frontpage&Itemid=1 https://www.terraelectronica.ru/catalog_info.php?CODE=288839 http://microsin.net/programming/avr/avr-usb162mu.html по третьей ссылочке внизу цена 500р и контакты;)
     
    Последнее редактирование модератором: 29 янв 2016
    ACE$ и raefa нравится это.
  2. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
    Иван, спасибо! Очень ценная информация!
    Только картинки сейчас переделаю (чтобы лежали на форуме) и архив переложу на свой Я.Диск. Готово.

    А ссылочку, где чудо продается?
     
    Последнее редактирование: 29 янв 2016
  3. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
  4. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
    Дешевле, чем у китайцев. :) Спойлер в шапке подправил чуток.
     
  5. Xichnik55

    Xichnik55 Старший научный сотрудник

    Регистрация:
    10 сен 2015
    Сообщения:
    665
    Город:
    Омск
    Имя:
    Иван
    Готовая макетная плата AVR-USB162MU стоит 500 рублей. Для заказа напишите мне на email (см. Контакты).
    --- Сообщения объединены, 29 янв 2016 ---
    Там дорого 2р за платку с чипом.В Москве плата 100р и чип 160р.Но вроде сейчас нету.Если есть знакомые поищи там.
     
    5yoda5, ACE$ и raefa нравится это.
Реклама. Купить это место.