8-900-374-94-44
[email protected]
Slide Image
Меню

Usb isp: Купить USB ISP Программатор Arduino/ESP/Raspberry Pi (Доставка РФ,СНГ)

Alex_EXE » Переделка программатора USB ISP в USB ASP

Многим знаком один из самых распространённыхи и доступных программаторов для прошивки AVR микроконтроллеров USB ASP. Который можно без особых проблем изготовить самостоятельно или приобрести в различных магазинах и на интернет площадках. Есть множество различных программ, которые без проблем работают с этим, народным, программатором. Так же в интернет магазинах имеет большое распространение программатор USB ISP, который схож по схемотехники с USB ASP, но отличается прошивкой и ПО, которое менее разнообразно и менее распространено.


Бывший программатор USB ISP, теперь USB ASP

Т.к. данные программаторы схожи схемотехникой — следовательно можно без особых проблем переделать и перепрошить ISP программатор в ASP, только для этого ненадолго понадобится ещё один программатор для AVR микроконтроллеров.

Зачем может понадобиться приобретать программатор ISP вместо ASP, а потом его перепрошивать:

  1. при покупки их можно перепутать
  2. продавец может ввести в заблуждение или сам перепутать
  3. в наличии остался только ISP
  4. у него оказалась более выгодная цена
  5. Вам USP ISP программатор достался в подарок

Собственно когда я приобретал второй программатор USB ASP для того, что бы он валялся на работе про запас, у продавца значился он, как ASP, а вот пришёл второй вариант. Что оказалось неприятным сюрпризом, к счастью не надолго.

USB ISP программатор очень похож на оригинал. Версий ISP программатора несколько, у них разные платы, следовательно может отличатся расположение перемычек, может немного отличаться схемотехника (не разбирался). Так же они бывают с разными контроллерами ATMega8, ATMega48, ATMega88.

Мне достался программатор USB ISP Version 2.0 с контроллером Atmega88V, маркировка на плате USB ISP mx-usbisp-v4.00. На его примере и покажу, как можно его превратить в распространённый USB ASP. Если у Вас другая версия программатора то его схемотехника, название и расположение перемычек могут отличатся. На официальном сайте USB ASP приведена принципиальная схема оригинального программатора, ссылка в конце статьи. С другими версиями программаторов USB ISP дел не имел, если встречусь — дополню статью.


Вид платы программатор USB ISP сверху


Вид платы программатор USB ISP снизу (уже модифицирован)

  1. Нужно раздобыть второй программатор.
  2. Нужно убрать перемычку B с обратной стороны платы (рядом с чёрным уплотнителем справа, на фотографии заметны следы моего вмешательства).
  3. Для замены прошивки программатора нужно будет установить прошивку UP (на время перепрошивки контроллера). Её можно припаять на время обновления, замкнуть острым пинцетом или установить любым другим способом. Данная перемычка соединяет линию сброса (reset) микроконтроллера с одноименным выводом на разъёме программирования. На схеме оригинального программатора эта перемычка имеет имя — Selfprogramming.
  4. Скачать прошивку под нужную версию контроллера с официального сайта USB ASP — http://www.fischl.de/usbasp/
  5. Подключить ПО ISP разъёму второй программатор.
  6. Перепрошить.
  7. Убрать перемычку UP.


Соединённые программаторы USB ISP и USB ASP

Так как разработкой данного программатора я не занимался, то в статье заметке, не привожу оригинальную схему и прошивку, а предлагаю перейти на оригинальный сайт программатора USB ASP — http://www. fischl.de/usbasp/ .

Дополнение от 1.01.2022


USB ISP версии MX-USBISP-V6.00, вид сверху


USB ISP версии MX-USBISP-V6.00, вид снизу

Попала в руки ещё одна версия USB ISP программатора MX-USBISP-V6.00 на чипе ATMEGA88-20AU. С переделкой этого программатора в USBASP почти всё то же самое. Единственное отличие у него перемычка B обозвана перемычкой A, т.е. у этого программатора, что бы USB определился нужно удалить перемычку A.

Статья обновлена 1.01.2022

Alex_EXE | 30.09.2017 | AVR |

Оставьте отзыв

Каталог :: для РЕМОНТА :: Arduino :: Программаторы Arduino :: Программатор USB ISP ASP AVR ATMEGA8 ATMEGA128

Описание USBASP программатора AVR:
Программатор AVR USBASP позволит радиолюбителю получить простой, компактный и надежный программатор
всех микроконтроллеров с режимом последовательного программирования семейства AVR компании ATMEL,
подключаемый к USB-порту персонального компьютера. Что очень актуально, т.к. COM-порт для программатора
существует далеко не на всех современных компьютерах, и тем более на ноутбуках. Использование USB
программатора avr и функции внутрисистемного программирования (SPI) дают возможность быстро и
многократно программировать ваше микропроцессорное устройство в собранном виде, не отключая его
питания. При этом процесс отладки программного обеспечения с помощью данного AVR программатора заметно
упрощается, сокращается затрачиваемое на это время.
Технические характеристики USB программатора AVR:
● Напряжение питания: 5 В (по шине USB)
● Интерфейс подключения к ПК: USB
● Интерфейс программатора: ISP (внутрисхемное программирование)
● Программатор совместим с Windows 98 / 2000 / XP / Vista / Seven / Linux
● Габаритные размеры: 54 х 25 x 9 мм
Поддерживаемые ОС: Windows, MacOS, Linux
Процессор: Atmega8A
Интерфейс подключения к ПК: USB
Интерфейс программирования: ISP (внутрисхемное)
Напряжение программирования: 5В или 3. 3В (в зависимости от положения перемычки JP2)
Частота программирования: 375кГц (по умолчанию) и 8кГц (при замкнутой перемычке JP3)

Список поддерживаемых AVR микроконтроллеров:
USBASP Программатор AVR поддерживает все микроконтроллеры ATMEL с режимом последовательного
программирования ISP (In System Programming), это все микроконтроллеры у которых есть порт SPI (Serial
Peripheral Interface):
● ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261,
ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861
● AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515,
AT90S8535
● ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164,
ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325, ATmega3250,
ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490,
ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406,
ATmega8515, ATmega8535
● AT90CAN32, AT90CAN64, AT90CAN128
● AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
● AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647
● AT89S51, AT89S52
● AT86RF401.

USB ISP USB ASP ATMEGA8 ATMEGA128 — простой внутрисхемный USB-программатор для микроконтроллеров Atmel AVR. Программатор построен на микроконтроллере ATMega128 (или ATMega8). Может использоваться для восстановления Arduino, заливки кода в чипы. И других целей.

Может использоваться совместно с ISP AVR системная плата.

SB-Projects — Обзор — Обзор китайского программатора Atmel USB ISP

AVR Programmer From Banggood

Просматривая интернет-магазин подарков/веб-магазин Banggood, я наткнулся на этот красивый маленький программатор AVR. И, как и большинство продуктов, которые вы найдете на Banggood, этот был смехотворно дешев с доставкой. Поэтому я решил, что хочу один. Не то чтобы у меня еще не было программатора AVR. У меня уже был старый оригинальный программатор Atmel, который подключался к устаревшему последовательному порту. Просто пришло время для чего-то нового, чего-то современного, чего-то маленького, чего-то дешевого.

Обычно я бы не стал писать обзор на эту вещь, потому что особо не о чем писать.

Он должен просто работать, и все. Однако оказалось, что эта штука не работает.
Как и большинство вещей, которые вы покупаете на Banggood, это устройство не поставлялось с руководством пользователя, поэтому мне пришлось самостоятельно выяснить, как подключить это устройство к avrdude. Мне удалось узнать, что я должен был сказать avrdude, что я использую программатор USBasp, но почему-то он все еще отказывался делать то, что должен был делать.
Погуглив, я обнаружил, что прошивка программатора явно несовместима ни с одним программным обеспечением, известным за пределами Китая. Прошивку я перепрошил оригинальной прошивкой USBasp, что довольно легко сделать, если под рукой есть другой программатор AVR. К сожалению, безрезультатно, это все еще не сработало. Вот тогда я и потерял к ней интерес, на какое-то время. Всего 4 евро потрачено впустую. Какая разница.

Недавно я снова нашел его в ящике стола. Почему я не могу заставить эту штуку работать? Это не должно быть слишком сложно.

И после еще нескольких поисков в Google я нашел веб-сайт, объясняющий, что не так с этой вещью. Очевидно, схема не была полностью совместима с исходной конструкцией. Есть один дополнительный провод, соединяющий D- от USB-порта с контактом ввода-вывода PD3 ATmega88 внутри программатора. Это не было бы проблемой, если бы этот вывод был настроен как вход. Но поскольку прошивка USBasp настроила его как выход, он просто боролся с сигналом USB.
Впрочем, пока теория. Мне было интересно, относится ли то же самое к моему программисту. И вроде бы так и было, по крайней мере лишняя связь была. Так что мои надежды заставить его работать снова возродились.

Ссылки

Вот список веб-сайтов, которые помогли мне починить мой программатор USBasp:

  • Оригинальный сайт разработчика программатора USBasp Томаса Фишла.
  • На этой странице описывается проблема программатора V3.00, работающего на ATmega8, производства Uwezi.
  • Эта страница является продолжением версий 3. 02 и V4.00, работающих на ATmega88, от Uwezi.
  • А вот еще одна страница Дарелла Тана с описанием той же проблемы.

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

Версии и номенклатура

Этот программатор выпускается не только в разных цветах, но и под разными названиями, напечатанными на его боковой стороне. Обычно USB ISP напечатан на устройстве. Хотя аппаратное обеспечение почти совместимо с USBasp.
У меня снаружи была напечатана версия 2.0, а на плате внутри было указано, что это версия MX-USBISP-V4.00. Описанные выше веб-сайты говорят о версиях печатных плат 3.00 и 3.02. Иногда печать на устройствах даже обнажает логотип Atmel.

Во всяком случае, насколько я понимаю (вы знаете, у меня есть только одна), есть две разные версии. Более старые, кажется, это версия V3.00 и ниже, работают на процессоре ATmega 8. Принимая во внимание, что все более новые версии работают на ATmega 88. Мой имеет версию V4.00 и работает на ATmega 88.

Открытие программатора

Открыть программатор довольно просто. Просто наденьте корпус на разъем USB и полностью снимите его. Сборка его просто выполняется в обратном порядке. Никаких специальных инструментов или навыков не требуется.
И если вы не помните, какой стороной вверх, просто посмотрите на светодиоды рядом с кристаллом и маленькое отверстие в корпусе, они должны совпадать.

Решение 1. Удаление лишней трассировки

Возможным решением является перерезание трассы между USB D- и PD3. Должен признаться, что сам я этого не пробовал.

К сожалению, трасса до вывода 1 микроконтроллера (PD3) сразу пропадает под микросхемой, так что неизвестно, куда она идет. Поэтому самый простой способ отрезать дорожку — отрезать контакт 1 непосредственно от чипа. Это может быть немного сложно, потому что контакты на корпусе TQFP довольно маленькие.
После перерезания штифта вам все равно придется прошивать новую прошивку в чип. Вы можете использовать оригинальную прошивку с веб-сайта Томаса Фишла. Я бы выбрал последнюю версию для вашего типа процессора.

Решение 2. Перепрошивка модифицированной прошивки

Вот как я починил свой процессор. Вы можете загрузить эту модифицированную прошивку с веб-сайта Uwezi, либо версию ATmega8, либо версию ATmega88, в зависимости от того, что применимо к вашему программатору. Я позволил себе загрузить версию ATmega88 на своем веб-сайте, потому что она мне подошла. Однако вся заслуга в этом программном обеспечении принадлежит Увези, который его скомпилировал.

Благодаря изменениям в прошивке вам не нужно ничего менять на плате вашего программатора.

Прошивка новой прошивки

Независимо от того, какое решение вы выберете, вам все равно придется прошить новую прошивку в ваш программатор. Хотя это довольно легко. Я не буду объяснять вам, как прошить программное обеспечение в процессор Atmel. Я думаю, вы уже должны знать, как это делается, когда вы зашли так далеко.
Однако у вас может быть проблема с курицей и яйцом. Вам временно нужен другой программатор AVR. Если у вас его нет, вы можете одолжить его. Если вы не можете одолжить один, возможно, вам лучше купить другой программатор вместе.

Прежде чем вы сможете прошить новую прошивку в ваш программатор USBasp, вы должны соединить две контактные площадки с надписью «Up» вместе.

Если этот другой программатор не запитан, как мой, вам нужно будет подключить USBasp к USB-порту, который затем запитает оба программатора. И если ваш другой программатор действительно подает питание на свою цель, вы можете продолжать как есть.

Не забудьте отсоединить перемычку между двумя контактными площадками «Вверх», прежде чем снова закрыть программатор USBasp.

В качестве дополнительного примечания

Во всяком случае, у меня снова работает программатор. По стечению обстоятельств я также только что закончил небольшой адаптер для программирования, который позволяет мне программировать 8-контактные и 24-контактные DIP-устройства Atmel, которые у меня случайно завалялись. Он может даже программировать 8-контактные процессоры PIC (помойте рот с мылом).
Этот адаптер для программирования отлично работал с моим старым программатором AVR ISP на моих процессорах ATmega8, ATmega88 и ATtiny13. Однако я смог заставить ATmega88 работать только с моим новым программатором USBasp. Avrdude продолжал жаловаться, что подпись устройства, считанная с устройства, не совпадает. И вдобавок ко всему сигнатура устройства, считываемая с устройства, менялась каждый раз, когда я пытался его запрограммировать.
Сначала я подозревал, что источник питания загрязнен, потому что это была единственная разница между двумя установками. Я даже пробовал гораздо более короткий провод между программатором и целевой системой. Вскоре я обнаружил, что USBasp просто слишком быстр для стандартных тактовых частот ATmega8 и ATtiny13. По-видимому, интернет-провайдер Atmel был недостаточно быстрым, чтобы это стало проблемой.
К счастью, решение довольно простое. Добавьте параметр -B 3 в команду avrdude. Вот пример команды для программирования более медленных процессоров:

avrdude -c usbasp -B 3 -p m8 -U flash:w:targetfile.hex
 

ISP Программатор USBasp (случайный цвет)

ДОМ > МАГАЗИН > ISP USBasp Programmer (случайный цвет)

{% конец%}

    {% для продукта в продуктах %} {% присвоить first_available_variant = false %} {% для варианта в product.variants %} {% if first_available_variant == false and variant.available %}{% assign first_available_variant = variant %}{% endif %} {% конец для %} {% if first_available_variant == false %}{% assign first_available_variant = product.variants[0] %}{% endif %} {% если product.images[0] %} {% assign feature_image = product.images[0] | img_url: ‘350x’ %} {% еще %} {% присвоить Featured_image = no_image_url | img_url: ‘350x’ %} {% конец%}
  • id}}»> {%, если box.template.elements содержит ‘saleLabel’ и first_available_variant.compare_at_price > first_available_variant.price %} {{перевод.продажа}} {% конец%} {% если только продукт.доступен %} {{translation.sold_out}} {% бесконечный %} {{продукт.название}} {% присвоить варианты_размера = продукт.варианты | размер %}

    {% для варианта в product.variants %} {{variant.title}}{%, если только вариант.доступен %} — {{translation.sold_out}}{% endunless %} {% конец для %}

    {%, если box.template.elements содержит ‘цену’ %} first_available_variant.price %} ga-product_have_oldprice {% endif %}»>{{first_available_variant.price | деньги}} {% if first_available_variant.compare_at_price > first_available_variant. price %} {{first_available_variant.compare_at_price | деньги}} {% конец%} {% конец%} {%, если box.template.elements содержит ‘addToCartBtn’ %} {% конец%}
  • {% конец для %}

{% elsif box.template.id == 2 или box.template.id == ‘2’ %}

{% if box.title и box.title.text и box.title.text != » %}

{{box.title.text}}

{% endif %} {% if box.subtitle и box.subtitle.text и box.subtitle.text != » %}

{{box.subtitle.text}}

{% endif %} {% присвоить total_price = 0 %}

{% для продукта в продуктах %} {% присвоить first_available_variant = false %} {% для варианта в product.variants %} {% if first_available_variant == false and variant. available %}{% assign first_available_variant = variant %}{% endif %} {% конец для %} {% if first_available_variant == false %}{% assign first_available_variant = product.variants[0] %}{% endif %} {%, если first_available_variant.available и box.template.selected %} {% присвоить total_price = total_price | плюс: first_available_variant.price %} {% конец%} {% если product.images[0] %} {% assign feature_image = product.images[0] | img_url: ‘350x’ %} {% еще %} {% присвоить Featured_image = no_image_url | img_url: ‘350x’ %} {% конец%}

{% если только продукт.доступен %} {{translation.sold_out}} {% бесконечный %}

{% конец для %}

{%, если box.template.elements содержит ‘цену’ %}

{{translation. total_price}} {{total_price | деньги}}

{% конец%} {%, если box.template.elements содержит ‘addToCartBtn’ %} {% конец%}

    {% для продукта в продуктах %} {% присвоить first_available_variant = false %} {% для варианта в product.variants %} {% if first_available_variant == false and variant.available %}{% assign first_available_variant = variant %}{% endif %} {% конец для %} {% if first_available_variant == false %}{% assign first_available_variant = product.variants[0] %}{% endif %} {% если product.images[0] %} {% assign feature_image = product.images[0] | img_url: ‘350x’ %} {% еще %} {% присвоить Featured_image = no_image_url | img_url: ‘350x’ %} {% конец%}
  • {% if product.id == cur_product_id %} {{translation.this_item}} {% endif %}{{product.title}}{%, если только product. available %} — {{translation.sold_out}}{% бесконечный %} {% присвоить варианты_размера = продукт.варианты | размер %}

    {% для варианта в product.variants %} {{variant.title}}{%, если только вариант.доступен %} — {{translation.sold_out}}{% endunless %} {% конец для %}

    {%, если box.template.elements содержит ‘цену’ %} first_available_variant.price %} ga-product_have_oldprice {% endif %}»>{{first_available_variant.price | деньги}} {% if first_available_variant.compare_at_price > first_available_variant.price %} {{первый_доступный_вариант.compare_at_price | деньги}} {% конец%} {% конец%}
  • {% конец для %}

{% elsif box.template.id == 3 или box.template.id == ‘3’ %}

{% if box.title и box.title.text и box.title.text != » %}

{{box.

title.text}}

{% endif %} {% if box.subtitle и box.subtitle.text и box.subtitle.text != » %}

{{box.subtitle.text}}

{% endif %} {% присвоить total_price = 0 %}

    {% для продукта в продуктах %} {% присвоить first_available_variant = false %} {% для варианта в product.variants %} {% if first_available_variant == false and variant.available %}{% assign first_available_variant = variant %}{% endif %} {% конец для %} {% if first_available_variant == false %}{% assign first_available_variant = product.variants[0] %}{% endif %} {%, если first_available_variant.available и box.template.selected %} {% присвоить total_price = total_price | плюс: first_available_variant.price %} {% конец%} {% если product.images[0] %} {% assign feature_image = product.images[0] | img_url: ‘100x’ %} {% еще %} {% присвоить Featured_image = no_image_url | img_url: ‘100x’ %} {% конец%}
  • id}}»>

    {% если только продукт.доступен %} {{translation.sold_out}} {% бесконечный %}

    {% if product.id == cur_product_id %} {{translation.this_item}} {% endif %}{{product.title}}{%, если product.available %} — {{translation.sold_out}} {% бесконечный%}

    {% присвоить варианты_размера = продукт.варианты | размер %}

    {% для варианта в product.variants %} {{variant.title}}{%, если только вариант.доступен %} — {{translation.sold_out}}{% endunless %} {% конец для %}

    {%, если box.template.elements содержит ‘цену’ %} first_available_variant.price %} ga-product_have_oldprice {% endif %}»>{{first_available_variant.price | деньги}} {% if first_available_variant.compare_at_price > first_available_variant.price %} {{first_available_variant.

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *