Устройство Nexus7 USB host FTDI не обнаружено

У меня есть простой микроконтроллер ATMEL со светодиодной подсветкой на плате, подключенной к планшету Nexus через кабель FTDI-232 и кабель USB-> micro-USB OTG.

Устройство не распознается, если:

1)FTDI cable is connected to the board + micro-controller
2)The OTG cable is connected to the FTDI cable
3)OTG cable is connected to the tablet

Признается, если:

1)The FTDI cable is connected to the board + micro-controller
2)the OTG cable is plugged into the tablet
3)the FTDI cable is plugged into the OTG cable

Признается, если:

1)FTDI cable is plugged into the OTG cable
2)OTG cable is plugged into the tablet
3)FTDI cable is plugged into the board + micro controller

У меня также есть плата Arduino UNO, которая работает независимо от порядка подключения.

Мне нужно, чтобы он работал на первом примере, где кабель OTG подключается к планшету последним.

РЕДАКТИРОВАТЬ: немного осмотревшись и протестировав некоторые вещи, я думаю, что кабель OTG решает, какое устройство является хостом, на основе первого устройства, у которого есть питание. Если я отключу питание платы / микросхемы ATMEL, а затем подключу все это, планшет станет хостом.

Поэтому мне нужен способ принудительно установить планшет Nexus7 в качестве хоста, даже если он уже подключен к устройству с питанием.


person 182764125216    schedule 12.11.2012    source источник
comment
Нет, OTG-кабель не умеет принимать решения, только два закороченных контакта. Более вероятно, что время, необходимое планшету для переключения в режим хоста, не позволяет ему перечислить микросхему FTDI. При первом подключении кабеля OTG планшет уже переключается к моменту подключения микросхемы FTDI. Возможно, вы сможете решить проблему с помощью резистора и конденсатора, чтобы удерживать микросхему в состоянии сброса на некоторое время после того, как соединение включит ее, и надеяться, что это даст планшету время, чтобы подготовиться к работе в качестве хоста.   -  person Chris Stratton    schedule 13.11.2012
comment
+1 к тому, что сказал @ChrisStratton; мне тоже кажется вероятным объяснением. Интересный баг / проблема; Я ожидал, что мастер будет удерживать шину в некотором состоянии сброса (при обнаружении OTG) достаточно долго, чтобы этого избежать ..   -  person mik3y    schedule 15.11.2012


Ответы (1)


Вы запускаете какие-либо приложения на стороне Android, когда возитесь с устройством FTDI? Или просто код Arduino?
Если вы используете приложение для Android, есть ли у вас эта строка в манифесте?
<uses-feature android:name="android.hardware.usb.host" android:required="true"></uses-feature>
И все еще в манифесте, но между <activity></activity>:

 <intent-filter>
     <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
 </intent-filter>

 <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
     android:resource="@xml/device_filter" />`

Эти следующие строки присутствуют в моем файле AndroidManifest.xml, чтобы мое приложение могло взаимодействовать с устройствами FTDI, с которыми я работаю в настоящее время. Опять же, если вы на самом деле не используете какой-либо код Android, не обращайте внимания, пожалуйста! Я все же надеюсь, что это поможет. Я разрабатываю Samsung Galaxy Tab 2 7.0 в надежде в скором времени расширить его до других планшетов. Так что, если вы можете заставить все работать с Nexus 7, я был бы очень признателен за информацию об успехе!

person Steven_BDawg    schedule 28.01.2013
comment
ДА! У меня были части ‹intent-filter› и ‹meta-data /›, но не было части ‹uses-feature›. Это сработало. Извините за задержку с ответом, я наконец получил готовый продукт для тестирования интерфейса планшета. Я возвращался к отработке всех ошибок и вернулся к этому. - person 182764125216; 15.03.2013
comment
Все нормально! Я был на сайте с тех пор, как ВЫ последний раз комментировали, но он только что сказал мне, что вы ответили. Я рада помочь! - person Steven_BDawg; 07.05.2013