Ошибка программирования ATtiny1616: Для загрузки требуется программатор

У меня есть эта плата ATtiny1616, и я пытаюсь загрузить на нее скетч Arduino, следуя этой документации, но при загрузке простого скетча мигания возникает ошибка «Требуется программист для загрузки». В IDE установлены следующие параметры:

  • Доска: ATtiny
  • Чип: Attiny1616
  • Программист: последовательный UPDI: медленная 57 600 бод.

Я использую этот адаптер USB-Serial и подключаю его к ATtiny следующим образом:

  • USB Vcc -> Vin

  • USB GND -> GND

  • USB RX -> 1 кОм

  • USB TX -> 1k OHM

  • 1k OHM -> UPDI

А у меня есть светодиод, подключенный к контакту 5 ATtiny:

  • КОНТАКТ 5 -> СВЕТОДИОД -> 220 ОМ -> ЗАЗЕМЛЕНИЕ

Ниже представлена схема. Я также подумал, что, возможно, я перепутал RX и TX, поэтому я попробовал поменять эти соединения, но это тоже не сработало.

Используя Arduino IDE 1.8.19 я получаю эту ошибку:

pymcuprog.pymcuprog_errors.PymcuprogError: UPDI initialisation failed

, 👍2

Обсуждение

Сообщение об ошибке, похоже, подразумевает, что вы не выбрали подходящий программатор из списка, доступного в меню инструментов IDE (внизу страницы). Рекомендация Adafruit (ваша ссылка) — SerialUPDI - SLOW: 57600 бод., @6v6gt

Спасибо за ваш ответ, однако, согласно моему OP, у меня этот параметр установлен., @mfusco

Эти штыревые контакты припаяны к печатной плате или вы просто подключаете их к макетной плате?, @hcheung

У меня просто есть штыревые контакты, подключенные от соединительных кабелей к макетной плате., @mfusco

Полагаю, вы используете Arduino IDE 2.x. Существует известная разница в поведении между ней и 1.x, которая может вызвать путаницу, приводящую к вашему сообщению об ошибке. Смотрите https://forum.arduino.cc/t/a-programmer-is-required-to-upload/1101631 . Если это решит проблему, то напишите свой собственный ответ с немного большей детализацией., @6v6gt

Спасибо за это. При использовании IDE 1.8.19 больше нет ошибки программиста, но теперь в обновленном OP я получаю другую ошибку., @mfusco

Если вы погуглите это сообщение об ошибке, вы найдете несколько вариантов схемы, добавленной между адаптером usb/uart и attiny. Некоторые с диодом Шоттки, а некоторые с другими значениями резисторов. Значения также могут зависеть от того, есть ли у адаптера usb/uart резисторы последовательно с TX и RX. Если этот адаптер usb/uart имеет схему 3v3, как у версии Adafruit, вы также можете попробовать запитать attiny по схеме 3v3, @6v6gt


2 ответа


0

Чтобы использовать адаптер USB-Serial в качестве программатора SerialUPDI, его необходимо подключить, как показано на схеме ниже

                        Vcc                     Vcc
                        +-+                     +-+
                         |                       |
 +---------------------+ |                       | +--------------------+
 |                     +-+                       +-+                    |
 |                     |      +----------+         |                    |
 |                  TX +------+   1k     +---------+ UPDI               |
 |                     |      +----------+    |    |                    |
 | USB-Serial Adaptor  |                      |    |  Target AVR Board  |
 |                     |                      |    |                    |
 |                  RX +----------------------+    |                    |
 |                     |                           |                    |
 |                     +--+                     +--+                    |
 +---------------------+  |                     |  +--------------------+
                         +-+                   +-+
                         GND                   GND
,

Спасибо за ваш ответ, однако при подключении ATtiny, как описано в вашем посте, я все еще получаю ту же ошибку. Я обновляю свой OP с изображением моих подключений., @mfusco

Какую IDE вы используете? Arduino IDE с MegaTinyCore? Или что-то другое?, @hcheung

Да, я использую Arduino IDE с MegaTinyCore. Я также хотел бы отметить, что в попытке заставить его работать я нажал кнопку "Burn bootloader", когда использовал Arduino для подключения к ATtiny. Это могло что-то испортить?, @mfusco

Понятия не имею. Я никогда не использую загрузчик. На самом деле, я сейчас даже не часто использую MegaTinyCore и Arduino IDE, у меня в основном VS Code, AVRDude и голое железо. Я думаю, вам стоит подумать о пайке разъема к плате, проблема, с которой вы столкнулись, может быть просто плохим соединением., @hcheung

"burn bootloader...". Это может вызвать проблему, если загрузчик успешно загрузится, поскольку он может преобразовать вывод updi в вывод сброса, что сделает невозможным дальнейшее программирование updi и потребует высоковольтного программатора для его отмены. Однако, если вы выбрали вариант платы, например, "attiny 1616 без optiboot", то "burn bootloader..." просто обновит предохранители. На этих Attiny с малым количеством выводов загрузчик не рекомендуется. Термин "burn bootloader" в IDE вызывает много путаницы, поскольку он может не означать burn bootloader., @6v6gt

Ошибка: при использовании MegaTinyCore загрузка загрузчика не преобразует автоматически вывод UPDI в вывод сброса на attiny 1616. См. https://forum.arduino.cc/t/programming-and-implementing-attiny1616-with-breakout-board-error-a-programmer-is-required-to-upload/1232433/14, @6v6gt


1

Убедитесь, что ваш USB-последовательный адаптер работает хорошо. Если сам адаптер неисправен, это может создать проблемы. Также проверьте, установлены ли у вас все необходимые драйверы.

Вот еще один урок по программированию платы ATTiny1616 Breakout с использованием библиотеки MegaTinycore. Вы можете найти его здесь:
https://www.pcbway.com/project/shareproject/ATTiny1616_Minimal_Breakout_board_QFN_bad990fc.html

,