ATtiny85 Digispark clones failing USB handshake - как их запрограммировать?

Недавно я купил партию модулей ATtiny85 (клонов Digispark) из Китая и попытался написать в них первую тестовую программу. Я заметил, что у них, похоже, уже установлен загрузчик, так как светодиод P1 мигает, но они, похоже, не делают никакого разумного USB-рукопожатия. (Раньше я заказывал другие, казалось бы, идентичные модули у другого продавца на Али и мог ими прекрасно пользоваться.. так что я вообще знаю, как с ними работать.)

Linux dmesg показывает мне, что устройство было подключено, но не получает никакого идентификатора поставщика или модели. Windows сообщает мне, что "последнее подключенное устройство завершило перечисление неудачно". Мне кажется, что загрузчик неполон или каким-то образом сломан.

Итак, в качестве следующего шага я попытался переписать AVR с помощью адаптера USBASP через ISP, но обнаружил, что вывод / reset, по-видимому, был отключен через бит предохранителя.

Сейчас я нахожусь в какой-то петле... Если загрузчик не говорит по USB правильно, я не могу использовать Arduino IDE или avrdude или что-то еще для записи в него, и если / reset переназначен, я не могу заменить загрузчик через ISP, чтобы заставить USB работать.

Кто-нибудь может дать подсказку о том, как я могу заставить эти модули работать? Или я должен просто предположить, что купил плохую партию, выбросить их и заказать свежие?

, 👍1

Обсуждение

может быть, вам не стоит заказывать свежие, но не у сомнительных китайских производителей-клонов? Хотя это всего лишь догадка..., @Marcus Müller

возможно, в устройства не загружена прошивка usb ... можете ли вы опубликовать домашнюю страницу устройства продавца?, @jsotola

@jsotola На их странице было написано "совместимость с arduino", и тот же стандартный список функций скопирован у всех других поставщиков на AliExpress. Прошивка, отличная от usb, не имеет особого смысла, поскольку интернет-провайдеру нужен рабочий / сброшенный вывод, который определенно деактивирован..., @WooShell

"совместимый с arduino" может относиться к аппаратному обеспечению, @jsotola

Возможно, нужно установить загрузчик, а затем попытаться загрузить скетч., @Farah


3 ответа


Лучший ответ:

3

У меня тоже были проблемы - КОРОЧЕ ГОВОРЯ: все о USB-концентраторе или корневом концентраторе ПК и удлинителях + Удача.

Мои товары ebay шли под названием "Digispark Kickstarter ATTINY85 Arduino Micro USB Development Board", и, естественно, он не имел маркировки Digispark-(c)-right из Китая. Я скрестил пальцы, чтобы мои предметы, по крайней мере, были запрограммированы AVRisp..

Поэтому в больших надеждах я подключил свой китайский импорт к моему надежному USB HUB2.0 (который я всегда использую, по крайней мере, в качестве ограничителя тока) – после тестирования его сначала на powerbank (> 5secs blinky-blink) .. проверил перечисление (что он и сделал - но драйвера еще нет) .. установил драйверы DPInst[64].exe.. а потом продолжал получать сообщения типа >>device failed to enumerate<< и т. Д. - Список моих неудач:

  • определяется непосредственно подключенным к корневому USB-концентратору ПК / минималистичные USB-устройства вообще не перечисляются (все 0s)

  • с определенным удлинительным кабелем USBAmale-to-USBAfemale с пластиковой оболочкой (женская сторона) устройству USBA не разрешалось входить "внутрь", вероятно, только на несколько миллиметров, чтобы закоротить ... данные-ламели не подключаются правильно - просто питание в порядке (blinky-blink) .. но никаких окон устройство-распознавание .. Нет-Нет!

  • И напоминая дилемму FTDI black-listing, я использовал ПК без драйверов по–прежнему - используя старые добрые “USBview.exe ” программа для проверки перечисления (на всех моих доступных устройствах одна и та же .. ранее подключенная к моему драйверу-enable PC или просто к “out of the fab”-one

    idVendor:           0x16D0
    idProduct:          0x0753
    bcdDevice:          0x010B
    

так что никакой неправильной конфигурации загрузчика через>возможно mallign< Digispark clone dis-configurator (как я думал, схемы FTDI .. конечно, FTDI сделал это только для защиты своего имени X-) - чтобы не обвинять в неисправных устройствах, поступающих от дешевых китайских подделок или клонов-производителей) * ДАЖЕ попытался деинсталлировать драйверы с помощью DPInst[64].exe /D .. что дало мне.. ДА.. еще раз “Драйверы все установлены правильно!”..

... и В КОНЦЕ КОНЦОВ .. Я только что вернулся к своей старой, первоначальной конфигурации “USB HUB-behind root-hub” .. и Abra-ca-Zang .. устройство просто перечислено и зарегистрировано как “Загрузчик Digispark” (диспетчер устройств Windows под libusb-win32 Usb Devices).

и все прошло нормально - перепрограммирование с помощью Arduino IDE - НИКАКОГО ПУХА! .... Тот самый !то же самое! конфигурация, которую я использовал на своих “первых тестированиях” (за вычетом некоторого времени и головных болей отладки)

Так что мой вам совет .. всегда проводите базовый тест на USB Powerbank, ИСПОЛЬЗУЙТЕ USB-концентратор, проверяйте кабели - используйте те, которым вы доверяли раньше! – попробуйте столько вариантов, сколько у вас (может быть) есть .. и используйте инструменты под рукой .. вплоть до PC-progs или logic-analyzer или Beagle USB / protocol analyzer, чтобы проверить, где может быть проблема .. отследите свои следы и даже повторите попытку..

Возможно, в конце радуги вас ждет сюрприз!

,

1

Используя Arduino IDE 1.8, у меня было сообщение Windows, не распознающее USB-устройство.

Я успешно установил драйверы DigiSpark, но компьютер все еще не распознал плату разработки Tiny85. В Arduino IDE я изначально выбрал DigiSpark (по умолчанию 16,5 МГц), как указано в видео на YouTube. Я провел еще несколько исследований, и кто-то предложил попробовать другую плату. Я выбрал DigiSpark (без USB 16 МГц) и загрузил пример Blink.

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

,

Какое видео на YouTube, у вас есть ссылка?, @Greenonline


0

Загрузчик плохо программируется, он передает общее оборудование пользовательскому коду, многие люди сталкиваются с ошибкой при загрузке скетча во второй раз. Ну, у меня есть решение, хотя это может показаться странным, но оно работает наверняка "1. Отсоедините плату от USB , 2. Нажмите кнопку загрузить., 3. Таймер таймаута запускается на 60 секунд. 4. Продолжайте подключать плату к USB 5. ПОЗДРАВЛЕНИЯ" спасибо, это сработает ...

,