Кратко о USBasp и ISP-переходнике
В этой карточке можно выбрать один из двух отдельных товаров: программатор USBasp или ISP-переходник. Варианты продаются отдельно и не образуют автоматический комплект, поэтому перед добавлением в корзину проверьте выбранный тип товара.
Ключевые характеристики
| Параметр | Вариант «Программатор» | Вариант «Переходник» |
|---|---|---|
| Назначение | Программирование AVR через ISP | Согласование формата ISP/ICSP-разъёма |
| Активная электроника | USBasp на ATmega8L | Функций программатора нет |
| Подключение к ПК | USB-A | Самостоятельно к ПК не подключается |
| Выход программатора | 10-pin ISP, 2 × 5 | Подключается между совместимыми ISP/ICSP-разъёмами |
| Напряжение | Выбор 3,3 или 5 В для целевой схемы | Не является источником питания и не преобразует логические уровни |
| Шлейф | ISP-шлейф длиной 220 мм | Шлейф не входит в вариант «Переходник» |
| Габариты | 64 × 21 × 11 мм | Зависят от исполнения переходника, показанного для этого варианта |
Характеристики ATmega8L, 3,3–5 В, шлейфа 220 мм и габаритов 64 × 21 × 11 мм относятся к программатору, а не к отдельному переходнику.
Подробное описание и особенности
Вариант «Программатор»
USBasp — внутрисхемный USB-программатор для микроконтроллеров AVR. Он передаёт команды от компьютера к целевому чипу через ISP, поэтому может записывать прошивку без USB-UART-преобразователя и без работоспособного bootloader. AVRDUDE поддерживает USBasp и позволяет читать и записывать доступные области Flash и EEPROM, а также работать с fuse- и lock-битами, если это допускают конкретный AVR и его текущие настройки.[1][2]
Совместимость определяется не только названием ATmega или ATtiny. Целевой микроконтроллер должен поддерживать ISP и быть доступен в выбранной версии AVRDUDE или платформе Arduino. Для AVR с UPDI, PDI или другим интерфейсом требуется соответствующий программатор.
Для медленно тактируемой цели предусмотрен режим низкой скорости SCK. Его следует включить, если сигнатура чипа не считывается после проверки питания, земли, RESET, MOSI, MISO, SCK и ориентации разъёма.[1]
Вариант «Переходник»
ISP-переходник применяется, когда разъём шлейфа программатора не соответствует разъёму целевой платы. Он только соединяет соответствующие сигналы программирования и не заменяет USBasp, не добавляет поддержку другого протокола и не согласует напряжение автоматически.
Перед заказом переходника сверьте количество контактов, шаг, расположение ключа или контакта 1 и распиновку обоих разъёмов. Одинаковое количество сигналов MOSI, MISO, SCK, RESET, VCC и GND не гарантирует одинакового механического формата или порядка контактов.
Arduino IDE и AVRDUDE
В Arduino IDE внешний программатор используется командами Burn Bootloader и Upload Using Programmer.[3] Обычная кнопка Upload, как правило, работает через bootloader и последовательный порт, поэтому один лишь выбор USBasp в меню Programmer не переводит обычную загрузку на ISP.
Возможность считать имеющуюся прошивку зависит от lock-битов целевого AVR. Если чтение защищено, USBasp не создаст полную резервную копию программной памяти.
Подойдёт / не подойдёт
Подойдёт
- вариант «Программатор» — для Flash, EEPROM, bootloader и конфигурационных битов совместимых AVR через ISP;
- вариант «Программатор» — для целевых плат без исправного загрузчика;
- вариант «Программатор» — для медленно тактируемых AVR с режимом slow SCK;
- вариант «Переходник» — когда программатор и целевое устройство имеют совместимые по сигналам, но разные по формату ISP/ICSP-разъёмы;
- для 5-вольтовых Arduino-совместимых плат на AVR после проверки распиновки.
Не подойдёт
- переходник без отдельного программатора не выполняет запись прошивки;
- USBasp не предназначен для ARM/SWD, UPDI, PDI и других несовместимых интерфейсов;
- переходник не исправляет несовместимую распиновку без предварительной проверки контактов;
- положение 3,3 В не следует считать подтверждением полного согласования логических уровней;
- USBasp не является высоковольтным программатором для восстановления чипа после блокирующих настроек fuse-битов.
Примеры применения
Восстановление bootloader
Вариант «Программатор» можно использовать для записи bootloader на 5-вольтовую AVR-плату, в частности на Nano V3.0 с ATmega328P. Необходимо подключить VCC, GND, MOSI, MISO, SCK и RESET согласно распиновке целевой платы; неподходящий формат разъёма потребует переходника или отдельных проводов.
Прошивка отдельного ATmega или ATtiny
USBasp подходит для макетной или готовой схемы с AVR, если конкретный чип поддерживает ISP, питание и сигналы подключены правильно, а модель поддерживается программным обеспечением.
Адаптация разъёма
Вариант «Переходник» устанавливают между программатором и целевой платой, когда их ISP/ICSP-разъёмы отличаются механическим форматом. Перед включением необходимо прозвонить или сверить VCC, GND, RESET, MOSI, MISO и SCK с обеих сторон.
Подключение и первый запуск
Выберите нужный товар
Для программирования выберите вариант «Программатор». Вариант «Переходник» заказывайте отдельно только тогда, когда он необходим для совместимого формата разъёма.
Проверьте интерфейс целевого устройства
Убедитесь, что конкретная модель AVR поддерживает ISP и присутствует в перечне компонентов установленного ПО. Для устройства с UPDI, PDI или SWD требуется другой программатор.
Согласуйте питание
Отключите питание, выберите 3,3 или 5 В в соответствии с целевым устройством и определите единственный источник питания. Не соединяйте выходы двух источников через контакт VCC.
Сверьте контакт 1 и сигналы
Проверьте VCC, GND, RESET, MOSI, MISO и SCK на программаторе, переходнике и целевой плате. Не ориентируйте шлейф только по направлению его выхода из разъёма.
Подключите USBasp к ПК
В Windows может потребоваться совместимый USB-драйвер; в Linux иногда необходимы правила доступа к USB-устройству.[1][4] Сначала проверьте чтение сигнатуры чипа и только после этого выполняйте запись.
Выберите программатор в ПО
В AVRDUDE используйте тип usbasp. В Arduino IDE выберите USBasp в Tools → Programmer и запускайте Burn Bootloader или Upload Using Programmer.[2][3]
Что входит в выбранный вариант
- «Программатор»: USBasp и 10-pin ISP-шлейф длиной 220 мм.
- «Переходник»: отдельный ISP-переходник.
- Программатор и переходник не входят в комплект друг с другом и заказываются как отдельные варианты.
- Целевая плата или микроконтроллер не входят ни в один из вариантов.
Ограничения и безопасность
Проверяйте напряжение и логические уровни
Неправильный выбор 3,3 или 5 В может повредить целевой микроконтроллер или периферию. Переключение питания на 3,3 В не является достаточным подтверждением согласования уровней MOSI, SCK и RESET; для низковольтного целевого устройства может потребоваться отдельный преобразователь уровней.[4]
Не допускайте короткого замыкания и не объединяйте источники
Не используйте программатор как источник питания для значительной нагрузки. Если целевая плата имеет собственное питание, не допускайте подачи двух источников на один VCC; при необходимости оставьте питание от программатора отключённым, но соедините земли сигнальных цепей.
Переходник не гарантирует правильную распиновку
Перед включением проверьте не только форму разъёма, но и назначение каждого контакта. Ошибочное соединение VCC, GND или сигнальных линий может повредить программатор и целевую плату.
Fuse-биты могут заблокировать ISP
Ошибочный выбор источника тактирования, отключение RESET или ISP могут сделать обычное программирование недоступным. Перед записью сохраните текущие значения и сверьте новые fuse-биты с документацией конкретного AVR; для восстановления может потребоваться внешний тактовый сигнал или высоковольтный программатор.
Запись изменяет память целевого устройства
Операции стирания и записи Flash, EEPROM, bootloader, fuse- или lock-битов могут необратимо изменить работу устройства. Сохраните доступные данные до начала программирования, если они необходимы.
FAQ
Входят ли программатор и переходник в один комплект?
Нет. Это два отдельных варианта в одной карточке. В корзину добавляется только выбранный тип товара.
Какой вариант нужен для прошивки AVR?
Для прошивки необходим вариант «Программатор». Переходник является вспомогательным соединительным аксессуаром и без программатора не выполняет запись.
Какие микроконтроллеры поддерживаются?
USBasp работает с AVR, которые поддерживают ISP и распознаются установленной версией ПО. Проверяйте конкретную модель чипа, а не только название семейства ATmega или ATtiny.
Работает ли программатор с Arduino IDE?
Да, для совместимых AVR-плат USBasp можно выбрать в качестве внешнего программатора. Он используется командами Burn Bootloader и Upload Using Programmer, а не обычной кнопкой Upload.[3]
Почему AVRDUDE не видит целевое устройство?
Проверьте драйвер USBasp, конкретную модель чипа, питание, общую землю, RESET, MOSI, MISO, SCK, ориентацию разъёма и распиновку переходника. Если всё правильно, включите медленный SCK и повторите чтение сигнатуры.
Делает ли переходник 3,3-вольтовое целевое устройство безопасным?
Нет. Переходник изменяет только способ соединения контактов и не является преобразователем логических уровней. Напряжение и уровни сигналов необходимо проверить отдельно.
Документы и источники
- Thomas Fischl, USBasp — USB programmer for Atmel AVR controllers — назначение USBasp, поддержка медленного SCK, платформы и программное обеспечение.
- AVRDUDE Project, AVRDUDE 8.1: Introduction и List of Programmers — работа с памятью AVR и поддержка USBasp.
- Arduino Help Center, Select programmer in Arduino IDE — использование внешнего программатора для Burn Bootloader и Upload Using Programmer.
- Thomas Fischl, USBasp Readme, 2011-05-28 — настройка, драйверы, slow SCK и ограничения базовой схемы для низковольтных целевых устройств.