USB Host Shield и Arduino Mega 2560

Pegacy
Offline
Зарегистрирован: 25.11.2016

Возникла проблема с подключением USB Host Shield к Arduino Mega 2560 с помощью библиотеки USB Host Shield 2.0, а конкретно в отличии разводки ног SPI интерфейса. В UNO это ноги 10,11,12,13 в Mega 50,51,52,53.

Из-за чего монитор порта board_qc выдаёт следующую ошибку:Circuits At alted!!

0x55 pattern is transmitted via SPI
Press RESET to restart testvalid. Value returned: 00
Unrecoverable error - test halted!!
0x55 pattern is transmitted via SPI
Press RESET to restart test
 
Я пытался переназначить и переставить пины в самой библиотеке, но какого либо эффекта это не дало.
Все 3 перемычки я как положено запаял, и перенес пины к SPI интерфейсу на Mega (фото прилагается).
 
Всё ли я делаю правильно? Что нужно изменить в библиотеке, чтобы заставить это работать?
slider
Offline
Зарегистрирован: 17.06.2014

Плохо сфотали , не видать что вы там начудили с проводами и перемычками. 
Схематика этого шилда подразумевает "болт он" в мега2560 , без всяких проводов. 
На фото у вас вроде уже припаян штекер в ICSP , это значит уже есть соединение c  D50 D51 D52 .

Какие именно ещё перемычки запаивали ? Что в самой библиотеки и где переназначали , в какой её версии ?  Какой скетч пример использовали?
Увы , ничего не понятно .  

Попробуйте загуглить  - usb host shield 2.0 arduino mega 2560 . Попробуйте вставить в UNO, шилд живой ?
 

Pegacy
Offline
Зарегистрирован: 25.11.2016

Сначала ставил без проводов - была та же самая ошибка. Перемычки поставил так же как советуют в интернете по питанию 3.3в и 5в, на VBUS только 5 вольт, на 3.3в не запаивал. Никакого эффекта не дало. Пробовал кидать перемычку 5в напрямую на VBUS как советовали на одном сайте, всё тщетно. В том числе пробовал запаивать перемычки SS и INT - 0 эффекта (хотя как оказалось перемычки там закорочены обычной дорожкой на плате, какой в них смысл?). Потом я нашел древнюю статью на хабре: https://habr.com/ru/post/123361/ с очень похожим шилдом. Где предлагалось отогнуть ножки SPI интерфейса и подключить их напрямую к меге.

10 > 53 (SS)

11 > 51 (MOSI)

12 > 50 (MISO)

13 > 52 (SCK)

Информация взята отсюда:

https://www.sparkfun.com/products/9947

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

Позже я пытался вернуться к самой последней прошивке USB Host Shield 2.0 (в целом я перепробовал разные версии, эффекта опять ноль). И изменить ноги уже в самой библиотеке по этому тутору: https://compacttool.ru/max3421e-usb-port-arduino - толку ноль. "(typedef MAX3421e<P10, P9> MAX3421E;)"

UNO под рукой сейчас нет, проверить не могу.

В первой версии библиотеки, такая ошибка:

Reading REVISION register...Die revision invalid. Value returned: 00
Test FAILED*!*
Test Halted.
0x55 pattern is being transmitted via SPI to aid in troubleshooting
 
Так же я заметил особенность, что если устройство не воткнуто в шилд (у меня это мышка), прошивка в ардуино не заливается. Тупо зависает, и потом высвечивает error: timed out
 
Не знаю, видимо сам шилд мертвый, облазил весь интернет, перепробовал кучу способов, но ошибка везде одна. Что характерно мучаюсь с этим не я один.
Натыкался на видео где точно такой же шилд на точно такой же меге вставал у людей без каких либо проблем, и извратов с перемычками у них не было. У меня же какая то шляпа :( Если ничего не поможет, видимо придётся покупать ещё одну мегу с уже распаяным USB портом, чем играть в лотерею с этими шилдами.
 
 
Pegacy
Offline
Зарегистрирован: 25.11.2016

Наконец запустил на UNO. Поведение абсолютно аналогичное, однако, закоротив одну из перемычек идущих от SPI, дело сдвинулось с мертвой точки, тест пошёл, и выдал это:

SPI long test. Transfers 1MB of data. Each dot is 64K................ SPI long test passed
GPIO test. Connect GPIN0 to GPOUT7, GPIN1 to GPOUT6, and so on
Test failed. Value written: 00 Value read: FF 
Press any key to continue...

Нажал продолжить, пошло далее:

GPIO test passed.
PLL test. 100 chip resets will be performed
Resetting oscillator

Reset number 0 Time to stabilize - 331 cycles
Reset number 1 Time to stabilize - 331 cycles
Reset number 2 Time to stabilize - 331 cycles
....
Reset number 97 Time to stabilize - 331 cycles
Reset number 98 Time to stabilize - 331 cycles
Reset number 99 Time to stabilize - 331 cycles

Checking USB device communication.

Waiting for device...

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

Вот здесь обвел красным, перемычку которая решила предыдущую ошибку. Однако здесь ещё полно других перемычек.