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

Программатор usbasp с алиэкспресс как с ним работать – USBasp. Aliexpress

описание USBASP драйвера, инструкция по настройке своими руками в AvrDude Prog, Atmel Studio и Khazama AVR Programmer, обновление проши

В моём случае это абсолютный рекордсмен по скорости доставки — около 5 месяцев беспечного блуждания непонятно где. Несмотря на чудовищную задержку по времени, пакет я всё-таки получил, чему несказанно рад, не взирая на недочёты, о коих поведаю ниже. Поскольку у меня весьма плохая память, то нужно было объединить найденную полезную информацию где-то в одном месте в виде памятки, собирать её по крупицам в разных закоулках сети оказалось делом нетривиальным, поэтому оформлю всё это отдельным постом.
USB ISP — самый дешёвый программатор контроллеров AVR, что можно найти в продаже, брался для расширения кругозора и более углубленного изучения AVR.
Обзор в себя включает: описание программатора, как его подключить к чипу, настройку его работы в программах AvrDude Prog, Khazama, Atmel Studio 7, и не только это.

Конечно вместо него можно использовать Arduino UNO с прошитым в него скетчем ArduinoISP, но это не удобно, возня с проводами, особенно если UNO всего одна, отбивает энтузиазм. Проще было заиметь отдельно такой программатор, точнее два. По двум причинам:

1) Ещё перед покупкой уже из отзывов было понятно, что качество пайки этих устройств страдает, а некоторым ещё и с расколотыми стабилитронами они приходили. Решено было подстраховаться, заказав два.
2) Один программатор к тому же можно шить другим, переставив перемычку на ведомом устройстве.

Технические характеристики

Поддерживаемые ОС: Windows, MacOS, Linux
Процессор: Atmega8A
Интерфейс подключения к ПК: USB
Интерфейс программирования: ISP (внутрисхемное)
Напряжение программирования: 5В или 3.3В (в зависимости от положения перемычки JP2)
Частота программирования: 375кГц (по умолчанию) и 8кГц (при замкнутой перемычке JP3)
Поддерживаемые контроллеры: все AVR с интерфейсом SPI
Описание: ссылка

Список поддерживаемых микроконтроллеров

ATmega серия

ATmega8 ATmega48 ATmega88 ATmega168 ATmega328
ATmega103 ATmega128 ATmega1280 ATmega1281 ATmega16
ATmega161 ATmega162 ATmega163 ATmega164 ATmega169
ATmega2560 ATmega2561 ATmega32 ATmega324 ATmega329
ATmega3290 ATmega640 ATmega644 ATMEGA64 ATmega649
ATmega6490 ATmega8515 ATmega8535

Tiny серия

ATtiny12 ATtiny13 ATtiny15 ATtiny26 ATTINY25
ATtiny45 Attiny85 ATtiny2313

Серия Classic

AT90S1200 AT90S2313 AT90S2333 AT90S2343 AT90S4414
AT90S4433 AT90S4434 AT90S8515
AT90S8535

CAN серия

AT90CAN128

PWM серия

AT90PWM2 AT90PWM3

Внешний вид

Комплект поставки минимальный — программатор + шлейф без резинки. В моём случае в удвоенном количестве.

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







Некоторые отверстия не целиком заполнены припоем

SMD-элементы тоже криво припаяны

Гребёнку чуть позже выровнял, уж больно неприятно на такую раскосую смотреть, элементы пропаял, а плату затем отмыл

Размеры платы несколько больше USB-TTL-конвертера на CP2102

Длина шлейфа около 30см, бытует мнение, что чем короче шлейф, тем лучше. Некоторые его специально укорачивают. Если заказать оригинальный USBASP — там комплектный шлейф уже 50см.

Органы управления на плате

На плате имеются три перемычки, задающие разные режимы работы программатора:
JP1 — замыкается в случае обновления прошивки самого программатора
JP2 — тройная перемычка, здесь выбирается, какое напряжение будет подаваться на прошиваемый микроконтроллер, либо 5В (левое положение) и 3.3В (правое положение)
JP3 — если её замкнуть, то программирование контроллера будет происходить с пониженной частотой, однако китайцы не стали сюда впаивать гребёнку, т.к. на данной прошивке она не требуется
Программатор, как можно заметить, построен на базе Atmega8 с кварцем на 12МГц. Самый правый верхний элемент, подписанный F1, с перевёрнутой цифрой 4 — самовосстанавливающийся предохранитель, защищает USB-порт ПК/ноутбука, если на прошиваемой плате вдруг произошло короткое замыкание. Под перемычкой JP2 находится LDO-стабилизатор 662К, понижающий напряжение с 5В до 3.3В, если перемычка установлена в правое положение.

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

Чтобы начать пользоваться программатором, необходимо сперва поставить на него драйвера. Вставляю любой программатор в USB-порт ПК, звучит сигнал о новом оборудовании, на самом девайсе горит светодиод, но автоматического поиска драйверов не происходит.
примечание. перед установкой драйвера необходимо отключить проверку цифровой подписи в Windows
1) Скачать драйвера, распаковать в удобное место.
2) Зайти в «Диспетчер устройств», например навести курсор на главную кнопку (Win10), нажать ПКМ и выбрать пункт «Диспетчер устройств».

3) В ветке «Другие устройства» можно увидеть неопознанное устройство USBASP с оранжевым треугольничком — > навести на него курсор, нажать ПКМ -> «Обновить драйверы…»

4) Указать путь до раннее распакованной папки с драйверами — «libusb_1.2.4.0», нажать «ОК»

5) «Всё равно установить этот драйвер»

6) Готово, теперь оранжевый треугольничек пропал, драйвера поставлены

Прошивка собрата

Мне уже было известно до этого, что китайцы продают эти программаторы с не самой свежей прошивкой. Решил сперва обновить прошивку на одном из них, а затем ради интереса сравнить оба программатора в работе. Для этого соединяю шлейфом оба устройства, на ведущем (который вставляю в USB-порт) никакие перемычки не трогаются, а на ведомом программаторе (на котором будем обновлять прошивку) я переставил перемычку с
JP2
на JP1:

Захожу в программу Khazama AVR Programmer, выбираю из выпадающего списка ATmega8 и сперва считаю Flash-память через пункт меню «Command» -> «Read FLASH to Buffer», чтобы cохранить китайскую заводскую прошивку у себя. На всякий случай.

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

Идёт считывание, которое завершается всплывающим окном об успешном считывании FLASH-памяти в буфер

Теперь нужно сохранить содержимое буфера: «File» -> «Save FLASH Buffer As…». Выбрать удобное место, куда старая прошивка сохранится, дать имя (я например её назвал firmware_1) и дописать расширение *.hex — если его не писать, то она сохранится как просто файл без расширения.


Скачиваю прошивку для программатора с этой странички, архив usbasp.2011-05-28.tar.gz (в этом же архиве есть драйвера для Windows, распаковываю содержимое в удобное место.
Тем временем в Khazama загружу скачанную прошивку в буфер. «File» -> «Load FLASH File to Buffer». Выбираю прошивку, где в названии написано atmega8, поскольку прошиваемый программатор на этом чипе.

Как видно, здесь три прошивки — для Atmega8, 48 и 88. В нашем случае Atmega 8 — её и выбираю.

Прошиваю. «Command» -> «Write FLASH File to Buffer». Снова возникает ошибка, но после идёт процесс, завершающийся успехом.



Поскольку в обычном понимании «запрограммировать» означает выставить 1, то при работе со фьюзами всё ровно наоборот, от чего возникает путаница и в этом случае можно по неосторожности заблокировать контроллер и прошить потом его будет уже нельзя. Программа Khazama AVR Programmer удобна просмотром фьюз-битов — там наглядно видно и расписано, какие из них установлены, а какие нет.

Находятся они по пути «Command» -> «Fuses and Lock Bits…», откроется окно:

Где по нажатии кнопки «Read All» считаются фьюз- и лок-биты, а пресловутая ошибка успеет вылезти аж 5 раз подряд. Ошибки сыпятся именно на заводской китайской прошивке. Но если вставить в USB-порт недавно прошитый программатор, прошивкой скаченной по ссылке выше, то этих ошибок вылазить уже не будет, однако баги вылезут в другом месте, но о них позже.

Связь с платой Pro Mini (Atmega 168, 3.3V/8MHz)

В этом случае выводы программатора соединяются с выводами платы Pro Mini, как проиллюстрировано на схематичном рисунке ниже. Перемычки не переставляются, т.е. остаётся в положении 5В.
Несмотря на то, что плата Pro Mini подписана как 3.3В, на 168-ю Атмегу можно подавать и 5В. Стабилизатор AMS1117 на 3.3В кстати вообще выпаян из платы.

AVRDUDE PROG 3.3
Консольная программа для прошивки микросхем, своего графического интерфейса не имеет, в стоке работает из командной строки, но энтузиастами было написано немало оболочек на неё, для удобства работы с ней. Одна из таких оболочек называется AVRDUDE PROG, созданная русскоязычными разработчиками. Эта оболочка, на мой взгляд удобна как раз для Flash-перепрошивки МК. После её запуска выбирается контроллер, в данном случае Atmega168 и тип программатора — USBasp. После чего можно заниматься записью/считыванием памяти. Что на заводской прошивке, что на новой — в обоих случаях никаких проблем с общением с Atmega168 не возникло. Прошил ради интереса ардуиновский стандартный blink-скетч, экспортированный в бинарный HEX-файл. Всё гладко.



Khazama AVR Programmer
Здесь достаточно выбрать микроконтроллер из выпадающего списка и можно уже работать с памятью/битами.
Однако если на самом программаторе установлена заводская прошивка, периодически будут сыпаться ошибки, о чём выше уже было упомянуто, на новой прошивке — данных ошибок уже нет.

Связь с контроллером ATtiny13A в корпусе SOIC8

Соединение согласно схеме ниже. Но тут всё немного интереснее.

Поскольку голый чип в SMD-корпусе SOIC8, в данном случае я поместил его в переходник SOIC8-DIP8 для удобства соединения с программатором в дальнейшем. Обзор на этот переходник можно почитать здесь.

AVRDUDE PROG 3.3
Тут выбирается из списка одноимённый контроллер, программатор USBasp и, если программатор прошит заводской китайской прошивкой, то все операции проходят ровно и гладко. Однако стоит заменить программатор на другой, с обновлённой прошивкой, то при любой операции возникает ошибка.

Появляется она из-за того, что ни программа, ни программатор не могут автоматически перейти в режим медленного программирования, необходимый для ATtiny13. Но есть как минимум два выхода:
1) Железный: замкнуть перемычку JP3

2) Программный: отредактировать файл «programm.ini» в папке с программой AVRDUDE PROG 3.3

Внести туда четыре строчки кода и сохранить. (взято отсюда)

progisp=jtag2pdiportprog=COM1portenabled=1[UsbaspSpeed]
progisp=Usbasp -B 3
portprog=usb
portenabled=0
Примечание. Здесь применён ключ «-B», который и занимается переводом программатора на пониженную частоту программирования. Значение «3» — время в микросекундах

После этого снова запустить AVRDUDE PROG 3.3 и в выпадающем списке программаторов выбрать UsbaspSpeed. Теперь работа с ATtiny13 на программаторе с новой прошивкой будет уже без ошибок, а перемычку JP3 замыкать больше не потребуется в этом случае.


Khazama AVR Programmer
Выбирается контроллер из списка и почти та же ситуация.

Программатор с заводской прошивкой нормально работает с ATtiny13, если не считать постоянно появляющихся окон с ошибкой, о чём раннее уже рассказывал.
Но с программатором на новой прошивке уже появляется иная ошибка с невозможностью прочесть сигнатуру (цифровую подпись) контроллера.

Но стоит замкнуть перемычку JP3, и можно спокойно работать

Или просто задать частоту работы из выпадающего списка по пути «Command» -> «Programm Options», я выставил частоту 187.5кГц.

Примечание. Частота программирования должна быть меньше тактовой частоты прошиваемой микросхемы не менее, чем в 4 раза. Но если посмотреть на считанные с ATtiny13 фьюзы, то на последней строчке Int.Rc.Osc. указано 9.6МГц.
Как минимум, у новичка возникнет вопрос — почему на выставленных в KHazame 1.5МГц — появляется та же ошибка? А также почему, если в AtmelStudio написать например код мигания светодиода с частотой раз в секунду и в макросе прописать:
#define f_cpu 9600000
то загрузив код на Attiny13, светодиод будет мигать очень медленно?
— посмотрим на предпоследнюю строчку, где Divide Clock by 8 Internally [CKDIV8=0] — это включенный предделитель частоты, который делит эти 9.6МГц на 8, и поэтому реальная частота чипа здесь — 1.2МГц. Поэтому при выборе частоты 187.5кГц или меньше, ошибки исчезают и можно работать нормально с контроллером.
Примечание 2. Способ с выбором частоты в KHazame по скорости работы в несколько раз выигрывает у метода с физическим замыканием перемычки JP3, потому как в последнем случае частота понижается до 8кГц.

Интеграция программатора в Atmel Studio 7

Atmel Studio — среда разработки от фирмы Atmel, но напрямую работать с USBASP, тем более китайским, она не может. Однако благодаря той же программе AVRDUDE, входящий в состав пакета AVRDUDE PROG 3.3, которая будет играть здесь роль посредника, можно соорудить «костыль», а уже в самой среде затем добавить возможность прошивать МК, подключенный через USBASP.

Сперва нужно запустить среду, предполагается, что некий код у нас уже написан и собран. В моём примере это простая мигалка светодиодом — Blink.

На верхней панели инструментов выбрать «Tools» — «External Tools…»

Откроется небольшое окно, нажать «Add»

В самом верхнем поле «Title:» ввести любое удобное название, я написал «Atmega168», т.к. та конфигурация, что приведу чуть ниже относится конкретно к этому контроллеру, и для любого другого контроллера она настраивается индивидуально.
В большом поле наверху, название инструмента будет автоматически продублировано.

Вторая строка, поле «Command:» — здесь нужно указать путь до файла «avrdude.exe», который находится в папке с вышерассмотренной программой

Третья строка, поле «Arguments:» необходимо ввести собственно саму конфигурацию

Конфигурация для Atmega168

-p m168 -c usbasp -P usb -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:a

-p — наименование контроллера
-с — какой программатор
-P — порт, через который будет заливаться прошивка
-U — какая операция с какой памятью будет производится (в данном случае запись во Flash)
Если нужно настроить для другого МК, то параметр «m168» нужно изменить на соответствующий контроллер, который будет прошиваться. Например «m8» для Atmega8 или «m328p», если Atmega328p. Параметры для других МК смотрите здесь — также там найдёте описания ключей AVRDUDE.

Конфигурация для ATtiny13

-p t13 -c usbasp -B 3 -P usb -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:a 
Здесь можно заметить уже два изменения: помимо «t13», добавился уже знакомый ключ «-B» со значением «3» для снижения скорости программирования
После заполнения полей нажать «Apply» и «ОК». Окно закроется

Теперь, если снова кликнуть по «Tools», там появится только что созданный инструмент. И по нажатии по нему откомпилированный код будет автоматически прошит в контроллер.

Но эта операция происходит в два клика, что не очень удобно. Надо вынести этот инструмент на главную панель инструментов, чтобы он был всегда на виду.
Для этого нужно снова зайти в «Tools», затем кликнуть по пункту «Customize…»
Откроется следующее окно:

Перейти во вкладку «Commands» — нажать кнопку «Add Command…»

Ещё одно окно появится. В нём — в левой колонке выбрать «Tools», а в правой колонке выделить «External Command 1». Нажать «OK»

«External Command 1» окажется наверху списка, и, обратите внимание на саму панель инструментов — в интерфейсе появился пункт «Atmega168».

Но как мне кажется, место ему отведено не совсем удачное, желательно его сдвинуть вправо, для этого нажимается кнопка «Move Down» (одно нажатие = сдвиг на одну позицию вправо). После этого можно закрывать окно по кнопке «Close» и шить чип прямо из студии в один клик через обозреваемый программатор.

При перепрошивке чипа таким методом, на секунду появляется консольное окно AVRDUDE. Но может возникнуть необходимость как-то сохранить этот лог для дальнейшего его просмотра — тогда в окне «External tools» нужно поставить галку на «Use Output window».

И теперь лог будет отображаться в окне вывода, что внизу программы ATmel Studio 7. Данная галка может задаваться отдельно для каждого добавленного в «External tools» контроллера.

Дополнение по фьюзам программатора

Из документа READMI, идущего в комплекте с драйверами и прошивкой для USBASP, позже выяснилось, что разработчик рекомендует выставить определённую конфигурацию фьюз-битов, определяющих работу внешнего резонатора.
Минусом khazam’ы является то, что в окне со фьюзами не отображаются HEX-значения выставленных битов. Это уже можно посмотреть в AVRDUDE PROG. Заводские фьюзы, выставленные китайцами, выглядят так (обязательно поставить точку «инверсные» — выделил синим прямоугольником):

Как рекомендует выставить разработчик:

HFUSE=0xc9
LFUSE=0xef

Это нужно снять две галки с «BODEN» и «SUT1» (выделено красным овалом),
поставить две галки на «CKOPT» и «SUT0» (выделено зелёным прямоугольником),
справа в колонке при этом будут отображаться HEX-значения изменённых битов (выделено жирным красным прямоугольником): Lock Byte: 3F, Fuse High Byte: C9, Fuse Low Byte: EF.

Если всё сходится, можно нажимать «программирование»

ВНИМАНИЕ. Злой фьюз-бит RSTDISBL — не трогать ни в коем случае, иначе его установка заблокирует контроллер и прошить потом через USBASP его уже будет нельзя.
_____________________________________

Выводы

Опробовано, работает. Если khazam не планируется использовать, то в обновлении прошивки для программатора — смысла нет, благо и так прекрасно работает, причём в случае с ATtiny13 никаких правок и перемычек вносить не требуется. Последняя прошивка — почему-то оказалась более капризна в этом плане. Единственное, после получения, плату надо пропаять и отмыть.

Список ссылок
1) Описание USBASP
2) AVRDUDE PROG 3.3 (форум)
3) Khazama AVR Programmer 1.7
4) Китайская стоковая прошивка (10кб)
5) Архив с прошивками для USBASP и драйверами для Windows — сайт создателя проекта

mysku.ru

Превращаем китайский программатор USBISP в USBASP / Блог им. xterro / Сообщество EasyElectronics.ru

Всё началось с того, что купил себе на aliexpress.com вот такой, якобы usbasp программатор:

Дешево и сердито, в среднем по 3 бакса за штуку. Но тут всплыла одна особенность этого девайса, он работает как HID устройство, что есть не совсем хорошо.
[ 2597.780102] usb 3-2: new low speed USB device number 2 using ohci_hcd
[ 2597.952186] usb 3-2: New USB device found, idVendor=03eb, idProduct=c8b4
[ 2597.952189] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2597.952191] usb 3-2: Product: USBHID
[ 2597.952192] usb 3-2: Manufacturer: zhifengsoft
[ 2597.978533] generic-usb 0003:03EB:C8B4.0004: hiddev0,hidraw3: USB HID v1.01 Device [zhifengsoft USBHID] on usb-0000:00:13.0-2/input0

Было не совсем понятно, как его использовать. При работе с avrdude, ни один из программаторов из списка «дудки» не подходил.
После мытарств по просторам интернета и усиленного гугления, был обнаружена страничка www.sciencetronics.com/greenphotons/?p=938 на которой один заморский товарищ столкнулся с такой же проблемой и успешно её решил, поэтому было принято решение последовать его путём.
Путь сводится к тому, что по сути это обычный usbasp, и его можно легко в него превратить, просто перешив микроконтроллер в нём, что и было мною сделано.
Итак, последовательность действий такова:
  1. Разбираем этот «свисток»(со стороны usb разъёма выковыриваем пластиковую заглушку, вытаскиваем алюминиевый корпус)
  2. На плате есть два переходных отверстия, помеченные словом «UP», их нужно замкнуть(включаем возможность самопрограммиирования)
  3. Подключаем к этому свистку другой программатор(я использовал свой старый добрый usbasp) и заливаем в неё прошивку от usbasp-а из приложенного архива

После заливки прошивки, вместо красного светодиода, загорится синий, всё, на этом процесс преобразования завершён. Убираем перемычку с «UP» и далее работаем с ним, как с обычным usbasp-ом 🙂

P.S. Во вложении находится архив с прошивкой(в папке default лежит уже собранный hex). Также этот архив можно скачать на страничке www.sciencetronics.com/greenphotons/?p=938

we.easyelectronics.ru

USBАSP программатор

В дополнение к обзору mySKU.me/blog/aliexpress/27674.html
Данный программатор USBASP V2.0 позволяет работать с любыми AVR контроллерами только в режиме ISP (In System Programming), т.е. является специализированным.

Пришёл программатор в пакетике с кабелем подключения.

Собран на базе ATMEGA8A, питается от порта USB, имеется стабилизатор 3,3V для некоторых контроллеров.
Описание и схема устройства на английском:
www.protostack.com/download/Users%20Guide%20%28AC-PG-USBASP-UG-V2.0%29.pdf
Дрвйвер
www.protostack.com/download/USBasp-win-driver-x86-x64-ia64-v1.2.5.rar


Подключается программатор к соответствующему разъёму для программирования ISP либо к адаптеру с панельками для установки микросхем контроллеров.
На плате распаяны 2 красных светодиода, показывающих состояние программатора. По идее, один светодиод должен быть зелёным, но они видимо неожиданно закончились 🙂
Питание 3,3V / 5V подаётся на порт ISP с программатора и переключается перемычкой JP1.
Также на плате есть нераспаянные перемычки:
JP2 — для обновления прошивки самого программатора.
JP3 — для установки медленного режима программирования (если тактовая частота программируемого контроллера менее 1,5MHz).

Я давно пользуюсь самодельной макетной платой с разводкой под любые DIP корпуса AVR. При желании можно найти готовую плату-адаптер с панелькой.


Удобнее всего программировать в самой среде разработки,
например Bascom AVR, но при желании можно найти отдельную программу, например SinaProg

Итог — полезное устройство любителям контроллеров AVR.

mysku.me

ПЕРЕПРОШИВКА USBISP В USBASP

Примерно года два назад я заинтересовался программированием микроконтроллеров AVR. Изучение шло не слишком быстро, так как тема достаточно сложная, но все-таки, мной были собраны и доведены до ума несколько устройств в корпусах, с применением микроконтроллеров семейства Tiny. За это время успел обзавестись двумя программаторами, один собрал сам, это простой и всем известный программатор Громова, второй заказал с Али экспресс, по цене 3 доллара это программатор USBISP. 

Для того чтобы найти и заказать его на Али-экспресс, достаточно набрать в строчке поиска USBASP USBISP. Этот программатор шел сразу в алюминиевом корпусе, аналогичном корпусе флешки, в комплекте с ним был шлейф для программирования 10 Pin. Про перепрошивку его в полноценный USBASP мы и поговорим в этой статье. Для чего это делать и в чем отличия этих программаторов, USBASP и USBISP ? Дело в том, что Китайский программатор работает только со своей оболочкой, Prog ISP, и не поддерживается, в отличие от USBASP программой AVR Studio. Несмотря на то, что Prog ISP оболочка, идет на английском языке, пользоваться ей менее удобно, чем оболочкой для USBASP Khazama. 

Для USBASP существуют и другие графические оболочки, помимо Khazama работающие с консольным AVR DUDE. От себя скажу, что разница в удобстве пользования после перепрошивки сильно заметна. Например, в той же Prog ISP неудобное выставление фьюзов, с этим у Khazama полный порядок. Можно выбирать запись конфигурации фьюзов для МК по умолчанию одним кликом есть возможность выставления фьюзов, как галочками, так и из выпадающего списка. 

Также присутствует функция Auto programm,  в которой можно установить порядок действий, запускаемых впоследствии в один клик. Например, стирание файла, последующая запись и верификация. Есть и другие функции на выбор. 

Перейдем к делу, что же нам требуется сделать для того, чтобы перепрошить программатор? Программаторы могут идти в двух вариантах, в алюминиевом корпусе, и без корпуса. Если со вторым вариантом все понятно, то с первым, если программатор в корпусе, нужно аккуратно стянуть его в сторону разъема USB на программаторе. Снимается он довольно легко, и с этим проблем быть не должно. На контакты разъема программирования с обратной стороны будет наклеена резиновая изоляционная прокладка, отклеиваем её, она нам будет мешать при пайке. При сборке в корпус не забываем приклеить её обратно, во избежание замыкания корпуса с разъемом для программирования. Далее переворачиваем и смотрим на программатор с обратной стороны. Вы должны увидеть в зависимости от разводки вашей платы следующее:

Но возможно существуют и другие варианты разводки программаторов у китайцев. Что нам требуется здесь сделать? Требуется удалить припой с двух или трех контактов на плате программатора, в зависимости от разводки вашей платы. По информации с того сайта по которой я перепрошивал свой программатор, была представлена следующая разводка:

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

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

Как мы видим на фото выше, перемычка из вывода резистора уже запаяна мной к контактам самопрограммирования программатора UP. На фото ниже можно убедиться в этом. Заодно мы можем видеть, что на контактах А и В отсутствует припой.

Припой удаляется с помощью демонтажной оплетки. Мы вытягиваем кусочек оплетки, обмакиваем его в спирто канифольный флюс, и, прогревая жалом паяльника, кладем на контакт, придавливая сверху паяльником. В результате припой с контактов должен полностью перейти на оплетку так, чтобы между ними не было замыкания. В чем и нужно убедиться, прозвонив мультиметром в режиме звуковой прозвонки. Для использования совместно с программаторами  USBISP и USBASP мной был сделан переходник, который оказался удобен для программирования микроконтроллеров при отлаживании на цанговых макетных платах, и который я использовал для программирования микроконтроллера этого программатора:

К чему я писал в начале статьи о программаторе Громова? К тому, что для прошивки нам потребуется любой другой программатор. Можно точно такой же USBISP. То есть, если у вас нет второго программатора, о перепрошивке USBISP в USBASP можно забыть. А можно спаять по такому случаю программатор Громова, и прошить им микроконтроллер этого программатора. Схема программатора Громова простая, и детали необходимые для сборки, довольно дешевые. Допустим, у вас есть второй программатор. Тогда нам нужно подключить свой программатор к шлейфу программатора USBISP в соответствии с рапиновкой разъема. Её мы можем видеть на следующем рисунке:

Контакты в шлейфе идут одинаково с обоих концов. Нам потребуются соединить программаторы между собой, аналогично обычному прошиванию микроконтроллера. То есть выводы VCC, GND, MISO, MOSI, RESET и SCK обоих программаторов нужно соединить. Дополнительное питание, если прошиваем через USB программатор, USBISP, USBASP или другой с которого приходит питание с USB на прошиваемый микроконтроллер, можно не подавать. Если прошиваем через программатор Громова, то питание нужно подать. После прошивания выпаиваем перемычку, замыкаем те два или три контакта, с которых мы удаляли припой капелькой припоя, и, не собирая в корпус, подключаем наш новоиспеченный программатор USBASP к USB порту компьютера. Операционная система должна запросить драйвера. Появится следующее окно:

Соглашаемся с установкой и указываем вручную путь к папке libusb_0.1.12.1, которую можно будет скачать в архиве в конце статьи. В ней находится драйвер для USBASP. После установки в системе появится устройство USBASP:

После того, как убедимся, что все заработало, программатор определился, приклеиваем изоляционную резинку назад на место, и собираем программатор. В одной из статей про оболочку Khazama, было написано, что иногда Khazama работает некорректно без установки дополнительной программы – фильтра libusb-win32-devel-filter-1.2.6.0. Так ли это или нет — не знаю, у меня эта программа была установлена. Скачать её также можно будет в архиве в конце статьи. Сначала Khazama действительно отказывалась работать с моим программатором. Погуглив по этому вопросу на различных форумах, нашел информацию, что нужно установить частоту в программе 187.5 килогерц, что и сделал. Проблема сразу пропала. Эта функция есть только в свежих версиях Khazama, в частности Khazama AVR Programmer 1.7. Скачать её также можно в архиве в конце статьи.

Как уже писал выше про установку фьюзов, здесь с этим все отлично, можно, как выбирать из ниспадающего списка, так и устанавливать вручную галочками. 

Я прошивал Tiny-2313, но эта оболочка поддерживает, помимо этого микроконтроллера, еще множество других типов МК. После запуска программы нам нужно выбрать наш микроконтроллер из списка, у меня как мы видим на скрине, выбран Tiny2313. Также в ней есть функция размещать окно поверх остальных, это расположенная справа с краю пиктограмма канцелярской кнопки. Прошивка для микроконтроллера программатора MEGA-8, HEX файл, также прикреплена в общем архиве. Фьюзы при прошивке изменять не нужно. Желаю всем удачной прошивки! Автор AKV.

el-shema.ru

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

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