2014-11-25 5 views
1

Android Open Accessory 환경을 성공적으로 설정하려고합니다. 내 보드에서 PIC32MX250F128D 컨트롤러를 사용하고 있으며, USB 호스트 모드에서 작동하고 모든 Android Open Accessory 프로토콜을 처리하는 펌웨어를 구현했습니다. 또한 USB 연결 장치에 연결된 외부 하드웨어를 감지하는 Android 앱이 있습니다. 문제는 내가 태블릿에서 USB "물리적 대답"을 얻지 못한다는 것입니다. USB 2.0 표준 (및이 문서에서도 마찬가지입니다.) USB 호스트로 작동하는 액세서리 (외부 하드웨어)는 USB 장치 (Android 장치, 태블릿, 스마트 폰 등)에서 100 밀리 초 신호를 기다려야합니다. . 이것이 USB Phy 표준의 첫 번째 단계입니다. 무슨 일이 벌어 질지는 태블릿 쪽의 USB가 호스트 역할을하며 외부 하드웨어에서이 신호를 기다리는 것입니다. USB 오픈 액세서리를 가능하게하는 안드로이드 구성이 있습니까? 또한 안드로이드의 USB가 어떤 모드에서 작동하는지 또는 "정상"모드 인 USBHost 또는 USBDevice가 무엇인지 어떻게 알 수 있습니까?Android Open Accessory가 외부 하드웨어를 감지하지 못합니다.

+0

마이크로 컨트롤러 쪽에서 usb 플러그를 감지 할 수 있습니까? 기다리고있는이 신호가 무엇인지 알 수 있습니까? (100ms) – skylinedreamer

+0

마지막으로 해결했습니다 :). 하드웨어 신호를 감지 할 수 없었습니다. 하드웨어 신호는 D + 또는 D- 핀이 높고 다른 하나는 낮게 설정되었습니다. D +가 high로 설정되면 USB 장치는 최대 속도 모드로 작동하고 그렇지 않은 경우 저속 모드로 작동합니다. 나는 안드로이드가 꽂혀있는 케이블을 보면서 호스트 나 장치 모드로 작동한다는 것을 알았습니다. 케이블이 안드로이드에게 호스트로 작동하도록 말하고 있었기 때문에 안드로이드에서 장치 부착 신호를받지 못했습니다. –

답변

1

마지막으로 해결했습니다 :). 하드웨어 신호를 감지 할 수 없었습니다. 하드웨어 신호는 D + 또는 D- 핀이 높고 다른 하나는 낮게 설정되었습니다. D +가 high로 설정되면 USB 장치는 최대 속도 모드로 작동하고 그렇지 않은 경우 저속 모드로 작동합니다. 나는 안드로이드가 꽂혀있는 케이블을 보면서 호스트 나 장치 모드로 작동한다는 것을 알았습니다. 케이블이 안드로이드에게 호스트로 작동하도록 말하고 있었기 때문에 안드로이드에서 장치 부착 신호를받지 못했습니다.