Коротко про 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 і обмеження базової схеми для низьковольтних цілей.