USB ПРОГРАММАТОР

Программатор USBTiny-MkII slim

USB ПРОГРАММАТОР

USBTiny-MkII slim – компактный и быстрый USB-программатор для микроконтроллеров AVR, совместимый с фирменным программатором AVRISP-MKII от Atmel.

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

Устройство может программировать все 8-разрядные AVR-микроконтроллеры, обладающие возможностью внутрисхемного программирования (поддерживаются интерфейсы ISP, TPI и PDI).

MkII обладает следующими возможностями:

  • Поддержка интерфейса программирования ISP (для микроконтроллеров ATTiny и ATMega)
  • Поддержка интерфейса программирования TPI (актуально для некоторых моделей ATTiny)
  • Поддержка интерфейса программирования PDI (для микроконтроллеров XMega)
  • Возможность запитать программируемый микроконтроллер от 3.3В или 5В (выбирается джампером)
  • Это быстрый программатор. 128 Кб флеша ATMega128 полностью считываются за 35 секунд (для сравнения, usbasp делает это за 70 секунд), и пишутся чуть медленнее (скорость записи ~15 Кб/сек)
  • Работа как с утилитой avrdude, так и с IDE AtmelStudio (которая видит программатор как родную железку)
  • Есть вывод CLK для воскрешения микроконтроллера с “испорченными” FUSE битами

Интерфейс TPI (Tiny Programming Interface) используется для программирования low-end микроконтроллеров Atmel серий ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40.

TPI по сути обычный USART с двунаправленной линией данных (TPIDATA), тактовым сигналом (TPICLK) и линией сброса (RESET). Подробнее об этом интерфейса можно почитать в атмеловском документе AVR918.

Также для этого документа доступны исходные коды прошивки программатора TPI на основе микроконтроллера ATmega324P.

Про интерфейс PDI можно почитать в атмеловском документе AVR1612.

Схема программатора

Высокая скорость работы обеспечивается использованием микроконтроллеры AT90USB162 с аппаратной поддержкой USB. Кроме микроконтроллера на плате программатора имеется двунаправленный преобразователь уровня напряжения GTL2003, LDO-стабилизатор (MCP1825S-3302ED) на 3.3В, джампер для выбора напряжения питания программируемого МК (3.3В/5В) и пара светодиодов-индикаторов режима работы.

Схема показана на рисунке:

Сборка и прошивка

Сборка печатной платы не должна вызывать проблем. Стоит только заметить, что стабилизатора IC3 имеет специфическую цоколёвку и не получится вместо его поставить распространённую микросхему вроде AMS1117.

Тут надо ставить LF33, либо MCP1825S-3302ED, либо другой, совместимый по выводам.

Также не стоит пытаться заменять преобразователь уровней GTL2003 на более распространённый и дешёвый MAX2003 – с последним будет работать плохо и нестабильно.

Светодиод LED1 можно поставить зелёного цвета свечения – он сигнализирует о подаче питания, LED2 горит при активности устройства (т.е., при чтении/записи в МК), тут более уместен, например, красный цвет свечения.

Плата в сборе выглядит так:

Микроконтроллеры AT90usb162 хороши тем, что для их программирования не нужен программатор, т.к. они поставляются с уже прошимым bootloader-ом, и прошивку можно “залить” подключив устройство через USB порт. Но это (как правило) не относится к микросхемам, купленным в Китае. У последних bootloader традиционно отсутсвует.

Если вы оказались “счастливым” обладателем такого МК, то придётся прошивать загрузчик самостоятельно. Это можно сделать любым другим AVR-программатором (например, usbasp) временно подпаяв проводки MISO/MOSI/SCK/RESET и питание прямо к платке. Я для этих целей соорудил платку-адаптер под разъём TQFP-32. Прошивку загрузчика можно найти в сети, либо скачать по ссылке внизу этой статьи.

Также не помешает проверить FUSE-биты, они должны бать такие: HIGH = 0xD9, LOW = 0xDE

Когда загрузчик на месте, программатор можно подключать к USB и загружать в него прошивку. Для этого в интернетах обычно предлагают использовать утилиту FLIP, которая выложена на сайте Atmel, причём, разных версий и под разные ОС. Последняя верися 3.4.7 без встроенной явы не запустится на 64-битных ОС выдав ошибку о том, что Java-виртуальная машина не найдена (хотя ява стоит).

Аналогичная сборка со встроенной явой выдаст точно такую же ошибку. Чтобы выяснить причину такого безобразия, я расковырял файл flip.exe и обнаружил внутри его jar-файл (он расположен почти в самом начале экзешника, и легко ищется в hex-редакторе по сигнатуре 'PK' и последующему характерному заголовку jar-ки).

Вырезав и запустив этот jar, я получил ошибку JNI при загрузке динамических библиотек, которые оказались 32-битными. Вывод: дання утилита в принципе не будет работать в 64-битной Windows (причём, на сайте Atmel об этом ни слова не сказано). Ещё можно скачать старую версию FLIP 2.4.6, которая написана на чистой яве и прекрасно работает везде, в том числе и на 64-битных ОС.

Но эта версия не поддерживает AT90usb162. Итог – про FLIP лучше навсегда забыть.

Atmel Studio умеет прошивать AT90usb162 “из коробки”. Для этого идём в главное меню, Сервис -> Device Programming, или нажимаем Ctrl+Shift+P. В появившемся окне выбираем инструмент “Atmel Mega DFU” и микроконтроллер AT90USB162:

Теперь перейдя на вкладку Memories, можем читать и писать прошивку и фьюзы:

Прошивка программатора основана на проекте AVRISP-MKII из библиотеки LUFA с открытым исходным кодом. Пара слов о её конфигурировании:

Частота кварца может быть 8 МГц или 16 МГц и задаётся в файле Projects/AVRISP-MKII/makefile, параметр F_CPU, по умолчанию там 16 МГц.

В файле конфигурации Projects/AVRISP-MKII/Config/AppConfig.h помимо конфигурации выводов МК есть парочка интерсных параметров:

#define RESET_TOGGLES_LIBUSB_COMPAT// #define FIRMWARE_VERSION_MINOR 0x11

Первый параметр включает возможность быстрого переключения между режимами Jungo (который для Avr/Atmel Studio) и LibUSB (для avrdude) драйвером в одной прошивке.

Для переключения режимов достаточно замкнуть джампер сброса (RST), после чего в системе появится отдельное устройство с другим серийным номером. При этом программатор моргнёт светодиодами два раза, если находится в режиме Jungo и четыре раза, если включен режим LibUSB.

В обоих случаях потребуется установка соответствующих драйверов (это касается Windows, в Linux и MacOS libusb установлен “из коробки”). Кстати, программатор запоминает последний выбранный режим, и после повторного подключения он стартует именно в нём.

А ещё он запоминает последнюю используемую частоту SCK. И всё это включается параметром RESET_TOGGLES_LIBUSB_COMPAT. По умолчанию этот параметр включен.

Иногда после выхода очередного обновления для AtmelStudio возникали проблемы – программатор переставал поддерживаться, т.к. его версия оказывается ниже требуемой. В этом случае надо раскомментировать параметр FIRMWARE_VERSION_MINOR и указать в нём версию прошивки.

Например, у меня AtmelStudio 7 захотела прошивку версии не ниже 1.18, вместо обнаруженной 1.14. После раскомментирования параметра FIRMWARE_VERSION_MINOR и установки его в 0x18 проблема была решена.

На всякий случай, я увеличил его (с запасом) до 0x30, скомпилированную прошивку можно скачать в конце статьи.

Корпус

Корпус я решил распечатать на 3d-принтере, для чего была спроектирована моделька. Т.к.

для программирования через ISP-разъём обычно используются 10-проводные шлейфы, то для удобства работы решено было добавить ещё 10-пиновый ISP-разъём. Последний вынесен на заднюю стенку корпуса.

Сам корпус состоит из двух половинок, которые склеиваются между собой. Под джамперы, светодиоды и разъёмы программатора (и подписи к ним) сделаны окошки.

Вот так выглядит получившаяся 3d-моделька:

В нижней половине сделаны углубления для выступающих частей джамперов, в итоге плата ложиться на дно корпуса и плотно там фиксируется.

Корпус я печатал из ABS-пластика. Для придания ему большего эстетизма, корпус был отшлифован и обработан в ацетоновой бане. Т.к. под рукой не было мелкой наждачки, шлифовал лезвием обычного канцелярского ножа, располагаемым перпендикулярно обрабатываемой поверхности. После того, как поверхность распечатки стала более-менее ровной, детали были помещены на 30 минут в ёмкость с парами ацетона.

Вот как выглядел корпус до (снизу на фото) и после (сверху на фото) постобработки:

Плата в корпусе:

Для 10-пинового разъёма был вырезан небольшой кусок макетной платы (из стеклотекстолита) чтобы предотвратить продавливание контактов в будущем.

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

В завершении две половинки корпуса склеивались между собой.

Работа с программатором

При использовании avrdude надо в командной строке задать тип программатора так: -c avrisp2 -P usb или так -c avrispmkII -P usb.

При работе с AtmelStudio сначала необходимо установить драйвера. После первого включении программатора в USB-порт чего драйвера должны установиться автоматически. Если этого не произошло, то надо вручную указать каталог, в который установлена AtmelStudio. Устройство успешно работает как с AvrStudio4, так и с AtmelStudio6, как в 32-битный, так и в 64-битных версиях Windows.

Не знаю, на счёт более ранних версий, но AtmelStudio7 точно умеер работать с libusb-драйвером. Таким образом, можно смело переводить программатор в режим libusb (замыканием джампера RST так, чтобы после перезапуска оба светодиода моргнули два раза одновременно) и забыть про режимы.

Драйверы LibUSB под Windows проще всего установить автоматическим установлятором драйверов Zadig. Под Linux и MacOS ничего устанавливать не продётся. После скачивания Zadig в меню Options включаем “List All Devices”. После чего из списка устройств выбираем “AVRISP mkII” (сначала надо перевести программатор в режим libusb). Осталось нажать кнопку для смены текущий драйвера на libusb-win32.

Если в будущем возникнет необходимость обновить прошивку MkII, то сначала замыкается джампер HWB, затем RST, после чего устройство определяется студией как “Atmel Mega DFU”.

Скомпилированная прошивка
Файлы модели корпуса (STL)
Исходники, прошивка, схема и плата
Bootloader для AT90USB162

Источник: https://trolsoft.ru/ru/articles/usbtiny-mkII-slim

Универсальный usb программатор

USB ПРОГРАММАТОР

10.10.2018

Быстрый рост объемов программируемой памяти, существенно повышает значимость такой характеристики программатора, как скорость программирования.

Так например, хороший, и по обычным меркам ” скоростной программатор ” с USB интерфейсом (но не “заточенный” под действительно скоростное программирование флэш памяти большой плотности) требует на программирование 1Gbit/8 NAND Flash в среднем 300 …400 сек.

Быстрый USB программатор ChipProg-481 проектировался с целью обеспечения максимально высокой скорости программирования.
Использование современной высокопроизводительной элементной базы, и применение некоторых программно аппаратных решений, позволило добиться:

  1. Скорость программирования: NAND Flash K9F1G08U0A (1Gbit/8) – 20 сек.
  2. Скорость программирования: NOR Flash JS28F256P30BF (256Mbit/16) – 31 сек.
  3. Скорость программирования программатора ChipProg-481 превышает скорость программирования программатора ChipProg-48 в 18 …20 раз.

  Что делает ChipProg-481 самым быстрым программатором среди выпускаемых сегодня универсальных программаторов с USB интерфейсом.

Реальная скорость программирования не существенно, но зависит от операционной системы и технических характеристик PC, к которому подключен USB программатор. Чтобы обеспечить максимально быстрое программирование на PC пользователя, надо в настройках Windows, в разделе: “Свойства системы” > “Параметры быстродействия” выбрать параметр “Обеспечить наилучшее быстродействие”.

При работе с NAND Flash программатор позволяет пользователю выбрать и настроить алгоритм и параметры программирования с учетом особенностей конкретной NAND Flash. При работе с NAND Flash программатор обеспечивает максимально быстрое программирование.
ChipProg-481 – программатор для Flash NAND. 

USB программатор ChipProg-481 – основные характеристики 

  • Универсальный USB программатор обеспечивает предельно быстрое программирование микроконтроллеров, FLASH, EEPROM, EPROM, NVRAM, PLD;
  • Количество программируемых микрocхем не имеет аппаратных ограничений;
  • Программирование только по спецификациям от производителей;
  • Универсальная 48 DIP колодка с нулевым усилием с возможностью установки микрocхем с шириной корпуса 300 mil ~ 600 mil; Подключение к компьютеру через USB 2.0 совместимый порт;
  • Поддержка программирования микрocхем в устройстве пользователя. (режим ISP);
  • Возможность работы нескольких быстрых USB программаторов под управлением одного компьютера (мильтипрограмматорный режим).
  • Скоростной программатор ChipProg-481 использован как базовый элемент при разработке скоростного программатора копировщика ChipProg-G41.

USB программатор ChipProg-481 ~ характеристики аппаратуры

  • Реализация USB программатора на базе высокопроизводительного 32-разрядного процессора и высокоскоростной программируемой матрицы (FPGA) большого объема. Расширение списка поддерживаемых устройств, путем простого обновления версии программного обеспечения;
  • Реализация логических драйверов на базе FPGA, способных подвести логические сигналы низкого, высокого уровня, внешнего генератора, а также Pullup, Pulldown на любой вывод колодки;
  • Наличие 10-ти разрядных цифро-аналоговых преобразователей для программирования аналоговых источников напряжения;
  • Возможность программирования фронта подъема и спада аналогового напряжения;
  • Автоматическая подстройка аналогового напряжения;
  • Возможность подключения аналоговых напряжений питания и программирования на любой вывод микросхемы;
  • Возможность коммутации любого вывода микросxeмы с “землей”;
  • Аппаратный контроль каждого вывода программируемой микросхемы на наличие контакта перед программированием;
  • Быстродействующие схемы защиты от перегрузки по току, увеличивающие надежность программатора. Защита неправильно подключенных микросxeм;
  • Защита всех выводов колодки от электростатического разряда;
  • Кнопка, запускающая выполнение любой выбранной операции или последовательности операций;
  • Программируемый синтезатор частоты;
  • Самотестирование.

Характеристики программного обеспечения USB программатора ChipProg-481

  • Работа под управлением Windows XP/Vista/7/8/10 (Windows 32/64 бита);
  • Дружественный, интуитивно понятный, двуязычный интерфейс;
  • Поддержка всех процедур работы с микросxeмами: чтение, сравнение, контроль чистоты, запись, стирание, установка защиты, программирование конфигурационных битов, работа с памятью данных и т.п.;
  • Тестирование всех выводов микросxeмы на наличие контактов перед программированием;
  • Режим записи серийного номера в память микросxeмы с автоматическим изменением данного номера;
  • Режим подсчета контрольных сумм с возможностью ее записи в любую область памяти микроcxeмы;
  • Режим записи сигнатуры пользователя в любую область памяти микрocxeмы;
  • Поддержка проекта;
  • Многобуферный интерфейс с возможностью создания неограниченного числа буферов. Буфера разбиты на подслои, имеющие структуру адресного пространства микрocxeм;
  • Режим автоматического распознавания присутствия микpocхемы в колодке с автоматическим запуском выбранных процедур: программирование, чтение, сравнение и т.д.;
  • Возможность работы нескольких быстрых USB программаторов под управлением одного компьютера (мильтипрограмматорный режим работы). Количество USB программаторов в этом режиме не ограничено. Работа каждого USB программатора независима, скорость и функциональные характеристики неизменны. Быстрый USB программатор ChipProg-481 может быть объединен как с подобными ему быстрыми USB программаторами, так и с любыми другими программаторами из серии  ChipProg с USB интерфейсом;
  • Полноценный двоичный редактор с возможностью ручного редактирования данных, а также функции заполнения, сравнения, копирования, поиска и замены, инвертирования, вычисления контрольной суммы, логических операции OR, AND, XOR;
  • Загрузка и сохранение файлов в двоичном, Standard Extended Intel HEX, Motorla S-record, POF, JEDEC, PRG, Holtek OTP, ASCII HEC, ASCII OCTAL, Angstrem SAV форматах;
  • Встроенный язык сценариев, обеспечивающий доступ ко всем ресурсам быстрого USB программатора. Применение языка значительно облегчает работу с программатором, автоматизируя рутинные операции.

Количество программируемых микpocхем не имеет аппаратных ограничений;

Номенклатура поддерживаемых микpocxeм обновляется постоянно.

Универсальный USB программатор обеспечивает быстрое программирование FLASH NOR, FLASH NAND, EPROM, EEPROM, NVRAM, PLD, микроконтроллеров;

Поддержка всех микросхем в корпусах DIP в колодке USB программатора без дополнительных адаптеров;

Поддержка микpocхем в корпусах до 48 выводов в универсальных адаптерах;

Поддержка микросхем в корпусах: SDIP, PLCC, SOIC, SOP, PSOP, TSOP, TSOPII, TSSOP, QFP, TQFP, VQFP, QFN, SON, BGA, CSP с помощью дополнительных адаптеров;

Совместимость быстрого USB программатора с адаптерами сторонних производителей

Источник:

USB ПРОГРАММАТОР

   Данный программатор не нуждается в первичном программировании – протравил печатную плату, спаял и пользуйся. Автор данного устройства указан в конце статьи, а здесь приведу небольшую выдержку из руководства, чтоб было понятнее, о чём речь: правильный USB-программатор – вещь, фактически, универсальная.

Его можно воткнуть в любой современный компьютер и без проблем перешить нужный микроконтроллер с любым объемом FLASH-памяти на довольно высокой скорости. Но ключевое слово здесь – “правильный”, который нормально работает без настройки и танцев с бубном над ним сразу же после установки и монтажа деталей.

Который не глючит при переходе от одного ПК к другому или смене ОС. Правильный – это такой, драйвера на который есть для любой современной широко используемой версии ОС, и эти дрова неглючные.

Каждый определит еще с десяток критериев правильности для себя лично, но вышеперечисленные – основные, без соблюдения которых нормально работать с микроконтроллером невозможно будет в принципе.

   В настоящее время в Интернете полно различных схем USB-программаторов для AVR. Условно их можно разделить на две большие группы.

   Первая группа включает в себя программаторы, построенные на основе микроконтроллеров (в частности, AVR). Собирал несколько штук программаторов от Prottoss’а (AVR910), себе и своим знакомым, а также несколько штук USBasp. Двое из знакомых, одаренных сиими дывайсами, в восторге. Удачно шьют камни в течение уже нескольких лет.

У остальных (в частности – у меня лично) собранные программаторы особой радости не вызвали. Не говорю, что они плохие, просто вот так складывались обстоятельства: на одном компьютере работает, на другом нет. Или, проработав пару часов, оказывались невидимыми для софта, через который шьется камень. И много еще чего.

Сразу оговорю – я не разбирался с прошивкой контроллеров, на которых данные программаторы собраны. Правда, перепробовал кучу программ-прошивальщиков, через которые данные программаторы, вроде как без проблем должны шить камни. Однако, результат в виде частых глюков меня не особо удовлетворил.

Исключение составила только программа AVRDUDE в комплексе с графической оболочкой SinaProg, но о ней я узнал слишком поздно. Кстати, заметил такую тенденцию: чем древнее железо ПК, тем лучше работают данные программаторы.

Ну и самый неприятный момент для тех, кто выбрал второй вариант знакомства с микроконтроллерами AVR – чтобы программатор заработал, нужно чем-то прошить входящий в его состав камень. То есть получается так: чтобы пользоваться программатором нужно сделать/найти программатор, чтобы прошить мозги этого программатора. Вот такой вот замкнутый круг.

   И вторая группа USB-программаторов включает в себя решение на базе специализированной микросхемы FT232Rx. В свое время данная микросхема стала своего рода революцией. Мало того, что она без особых заморочек для разработчика преобразует USB в UART (и, наверное, 95% разработчиков используют ее именно в этих целях).

Она еще умеет эмулировать полноценный COM-порт, причем состояние «второстепенных» линий (таких, как RTS, CTS, DTR и т.д.) можно задать/считать не из виртуального COM-порта, а напрямую через драйвер FTDI (разработчика FT232Rx).

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

Принципиальная схема программатора USB

   Данная схема просто направляет сигналы MOSI, MISO, SCK и RESET, которые формируются на выводах DCD, DTR, RTS и DSR микросхемы DD1 (FT232RL) соответственно, на нужные выводы прошиваемого микроконтроллера (т.е., фактически является аналогом «древних» программаторов).

Причем, делает это только в момент программирования камня, в остальные моменты времени программатор отключен от прошиваемой платы за счет 4-х буферных элементов микросхемы DD2 (74HC125D). Состояние линий MOSI, MISO, SCK и RESET устанавливается/считывается прошивающим софтом на компьютере.

Передача данных между ПК и микросхемой FT232RL идет по шине USB (от которой еще и получает питание программатор).

   Светодиод HL2 («PWR») сигнализирует о подаче на программатор напряжения питания с шины USB. Светодиод HL1 («PROG») индицирует процесс прошивки микроконтроллера (горит только во время прошивки).

Вот, в принципе, и все описание собственно схемы электрической принципиальной.

Единственное что хотелось бы отметить: во-первых, для подключения программатора к прошиваемой плате используется разъем IDC-10MR (XP2 «ISP»), распиновка которого совпадает с широко распространенной распиновкой разъема программатора
STK200/STK300:

XP3 “MISC” разъем для использования дополнительных функций программатора

   В общем микросхема FT232RL имеет довольно серьёзный потенциал для разработчика (например, линии шины CBUS можно использовать как обычные линии ввода-вывода микроконтроллера), поэтому неплохо бы иметь доступ ко всем ее выводам.

Ну и доступ к напряжениям +5,0 В и +3,3 В тоже лишним никогда не будет. В приклеплении печатная плата и полное подробное описание. Разработка и мануал – podkassetnik@yandex.ru, испытание – SssaHeKkk.

   Форум по программаторам

Источник:

Программатор usb 35

Со склада11 300 руб. ×от 2 шт. — 10 600 руб.от 8 шт. — 10 213 руб.
USB AVRISP CH, Внутрисхемный AVR программатор1 день1 590 руб. ×от 2 шт. — 1 450 руб.от 20 шт. — 1 410 руб.
Со склада2 690 руб. ×от 2 шт. — 2 450 руб.от 20 шт. — 2 375 руб.
3 дня2 300 руб. ×от 2 шт. — 1 890 руб.от 20 шт. — 1 814 руб.
1 день2 450 руб. ×от 2 шт. — 2 180 руб.от 20 шт. — 2 088 руб.
ChipProg-40, Программатор , USBСо склада20 800 руб. ×от 3 шт. — 18 900 руб.от 12 шт. — 18 350 руб.
ChipProg-48, Программатор , USB1 день28 900 руб. ×от 3 шт. — 26 300 руб.от 12 шт. — 25 500 руб.
ChipProg-481, Программатор , USB1 день40 000 руб. ×от 3 шт. — 35 600 руб.от 12 шт. — 34 700 руб.
ТРИТОН+V5.7TU, Автономный программатор, USBСо склада22 590 руб. ×от 3 шт. — 20 600 руб.от 12 шт. — 19 940 руб.
WizardProg87, Программатор , USB1 день6 120 руб. ×от 5 шт. — 5 460 руб.от 50 шт. — 4 960 руб.
Со склада434.70 руб. ×
Со склада580 руб. ×от 10 шт. — 560 руб.от 100 шт. — 555 руб.
2-3 недели8 700 руб. ×
2-3 недели52 610 руб. ×
2-3 недели35 710 руб. ×
2-3 недели8 520 руб. ×
2-3 недели90 570 руб. ×

Источник: https://electshema.ru/elektrotehnika/universalnyj-usb-programmator.html

AVR USB программатор USBasp

USB ПРОГРАММАТОР

Схема программатора USBasp представлена на рисунке ниже. Я взял за основу схему с сайта автора http://www.fischl.de/usbasp и немного изменил ee. Были добавлены диоды VD1 – VD3, чтобы уменьшить напряжение питания и согласовать логические уровни микроконтроллера и USB порта без стабилитронов. Были выкинуты цепи подключенные к UART`у, так как они не использовались, и добавлен джампер JP1.

Расскажу о назначении светодиодов и джамперов. 

– HL1 сигнализирует о том, что идет процесс программирования. Он зажигается на время записи прошивки.- HL2 показывает, что программатор находится в рабочем состоянии. Он зажигается при подаче питания.

– JP1 закорачивает цепочку из диодов, что позволяет изменять напряжение на разъеме программирования с 3 на 5 В. Однако без стабилитронов это прокатит не со всеми компьютерами. Многие компы не опознают USBASP, если у него 5-и вольтовые логические уровни.

– JP2 изменяет частоту SCK сигнала. При разомкнутом джампере частота SCK будет 375 кГц, при замкнутом — 8 кГц. Это требуется для программирования микроконтроллеров с низкой тактовой частотой (меньше 1.5 МГц). – JP3 подключает вывод RESET к разъему программирования.

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

– JP4 подключает к разъему программирования +5В от USB порта. Эта функция может понадобиться, чтобы запитать программируемую плату от программатора.

Сборка USBASP

Для сборки программатора USBASP понадобятся следующие компоненты:

Изготовление платы методом ЛУТа не представляет особых сложностей — плата односторонняя, дорожки широкие. При печати не надо зеркалить рисунок платы. 

После сборки платы ее нужно тщательно проверить на предмет замыканий. Особенно по цепям питания. Если все в порядке, то можно записать в микроконтроллер прошивку. Ее можно в конце статьи. На сегодняшний день это самая последняя версия, но на всякий случай загляните на сайт автора. 

Запрограммировать микроконтроллер можно прямо в составе платы. Для этого нужно замкнуть джампер JP3 и JP4, подключить USBasp к компьютеру для подачи питания и подключить программатор к разъему BH-10. Остальные действия зависят от того, какой программатор вы используете.

После того как микроконтроллер запрограммирован, нужно настроить Fuse биты, чтобы он тактировался от внешнего кварцевого резонатора. Значения Fuse битов такие:atmega8 HFUSE=0xc9 LFUSE=0xefatmega88 HFUSE=0xdd LFUSE=0xffЯ прошивал USBASP родным атмеловским программатором.

У меня в Atmel Studio окно с Fuse битами выглядело так. 

Разницы никакой, так что не задавайте вопросы какие Fuse биты установить.

Установка драйверов для USBasp

Для работы с программатором под Windows требуется установить драйвера. Их можно скачать с сайта автора. Для операционных систем Linux и MacOS X USBasp`у драйвера не требуется.

Подключаем собранный и запрограммированный USBasp к компьютеру. Операционная система оповестит нас о нахождении нового оборудовании и предложит установить драйвера.

Выбираем опцию –  установить из указанного места Указываем папку в которой лежат драйвера для программатора. Система немного потупит, а затем начнется процесс установки. Если все прошло удачно, мастер оборудования завершит работу.  А Windows оповестит нас об установке нового оборудования Теперь программатором можно пользоваться.Описанная процедура может немного отличаться в зависимости от версии операционной системы, но суть одна – подсунуть драйвера из папки.

Оболочки для работы с USBasp

Для работы с USBasp`ом есть несколько программ — avrdude, eXtremeBurner, Khazama и.. какие то еще.

На мой взгляд наиболее удобная в использование программа для USBaspa – это Khazama. Она имеет простой и интуитивно понятный оконный интерфейс. Процесс программирования микроконтроллера выполняется в три шага.

Программирование EEPROM (память предварительно должна быть стерта) выполняется аналогичным образом. В меню Command  > Program Options можно задать настройки программы. В частности, набор операций, которые будут выполняться при нажатии на кнопку Auto Program. По умолчанию там задано стирание чипа и запись во флэш память. Можно также выбрать запись в EEPROM и верификацию (проверку данных после записи).С помощью Khazama также можно  устанавливать FUSE биты
Все операции можно выполнять как с помощью меню, так и с помощью меню бара. Также есть удобная опция AutoProgram. 1 — загрузить в буфер прошивку для Flash памяти2 —  загрузить в буфер прошивку для EPROM памяти3 — записать прошивку во Flash память4 — записать прошивку в EPROM память5 — прочитать Flash память6 — прочитать EPROM память7 — стереть кристал8 — установка FUSE и LOCK биты9 — установить Khazama поверх всех окон

Файлы

Схема и печатная плата USBasp в формате Eagle
Win драйвер и прошивка USBasp
KhazamaAVRProgrammer

У вас недостаточно прав для комментирования.

Источник: https://chipenable.ru/index.php/item/71

USB ПРОГРАММАТОР

USB ПРОГРАММАТОР

   Данный программатор не нуждается в первичном программировании – протравил печатную плату, спаял и пользуйся. Автор данного устройства указан в конце статьи, а здесь приведу небольшую выдержку из руководства, чтоб было понятнее, о чём речь: правильный USB-программатор – вещь, фактически, универсальная.

Его можно воткнуть в любой современный компьютер и без проблем перешить нужный микроконтроллер с любым объемом FLASH-памяти на довольно высокой скорости. Но ключевое слово здесь – “правильный”, который нормально работает без настройки и танцев с бубном над ним сразу же после установки и монтажа деталей.

Который не глючит при переходе от одного ПК к другому или смене ОС. Правильный – это такой, драйвера на который есть для любой современной широко используемой версии ОС, и эти дрова неглючные.

Каждый определит еще с десяток критериев правильности для себя лично, но вышеперечисленные – основные, без соблюдения которых нормально работать с микроконтроллером невозможно будет в принципе.

   В настоящее время в Интернете полно различных схем USB-программаторов для AVR. Условно их можно разделить на две большие группы.

   Первая группа включает в себя программаторы, построенные на основе микроконтроллеров (в частности, AVR). Собирал несколько штук программаторов от Prottoss’а (AVR910), себе и своим знакомым, а также несколько штук USBasp. Двое из знакомых, одаренных сиими дывайсами, в восторге. Удачно шьют камни в течение уже нескольких лет.

У остальных (в частности – у меня лично) собранные программаторы особой радости не вызвали. Не говорю, что они плохие, просто вот так складывались обстоятельства: на одном компьютере работает, на другом нет. Или, проработав пару часов, оказывались невидимыми для софта, через который шьется камень. И много еще чего.

Сразу оговорю – я не разбирался с прошивкой контроллеров, на которых данные программаторы собраны. Правда, перепробовал кучу программ-прошивальщиков, через которые данные программаторы, вроде как без проблем должны шить камни. Однако, результат в виде частых глюков меня не особо удовлетворил.

Исключение составила только программа AVRDUDE в комплексе с графической оболочкой SinaProg, но о ней я узнал слишком поздно. Кстати, заметил такую тенденцию: чем древнее железо ПК, тем лучше работают данные программаторы.

Ну и самый неприятный момент для тех, кто выбрал второй вариант знакомства с микроконтроллерами AVR – чтобы программатор заработал, нужно чем-то прошить входящий в его состав камень. То есть получается так: чтобы пользоваться программатором нужно сделать/найти программатор, чтобы прошить мозги этого программатора. Вот такой вот замкнутый круг.

   И вторая группа USB-программаторов включает в себя решение на базе специализированной микросхемы FT232Rx. В свое время данная микросхема стала своего рода революцией. Мало того, что она без особых заморочек для разработчика преобразует USB в UART (и, наверное, 95% разработчиков используют ее именно в этих целях).

Она еще умеет эмулировать полноценный COM-порт, причем состояние «второстепенных» линий (таких, как RTS, CTS, DTR и т.д.) можно задать/считать не из виртуального COM-порта, а напрямую через драйвер FTDI (разработчика FT232Rx).

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

XP3 “MISC” разъем для использования дополнительных функций программатора

   В общем микросхема FT232RL имеет довольно серьёзный потенциал для разработчика (например, линии шины CBUS можно использовать как обычные линии ввода-вывода микроконтроллера), поэтому неплохо бы иметь доступ ко всем ее выводам.

Ну и доступ к напряжениям +5,0 В и +3,3 В тоже лишним никогда не будет. В приклеплении печатная плата и полное подробное описание. Разработка и мануал – podkassetnik@yandex.ru, испытание – SssaHeKkk.

   Форум по программаторам

   Обсудить статью USB ПРОГРАММАТОР

Источник: https://radioskot.ru/publ/mk/usb_programmator/9-1-0-866

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.