Android用の拡張ボードとしてUSBOTGボードを設計しています。ボードはFreescaleKL25Z128VLK4に基づいています。デザインの大部分はSparkfunのIOIOに似ていますが、いくつかの拡張機能があります。
- Androidフォン(Galaxy Nexus)からKL25ZボードにOTGケーブルを接続することにより、AndroidはUSBホストとして機能し、KL25ZはデバイスB(CDC)として機能します。
- OTGケーブルを逆接続することにより、AndroidはAOA / ADK / ADBモードで動作し、KL25ZはVBUSを供給し、Androidに電流を充電します。
現在の設計では、役割のホスト/デバイスの切り替えは、ケーブル接続を交換して手動で行う必要があります。ただし、後者の場合、KL25ZがAndroidに十分な電流を供給できない場合、KL25Zはホストの役割をAndroidに引き継ぐため、5V / 500mAの主電源をオフにでき、AndroidのVBUSで低電力モードで動作します。
とにかく、私は私のボードがホスト/デバイス間の切り替えモードとAndroidでのサポートをサポートすることを望んでいます。
原則として、OTGでA/Bを切り替えるにはHNPプロトコルを開始する必要があります。ただし、Android側での処理方法がわかりません。Android SDKがプログラムでHNPをどのようにサポートしているかわからないということですか?関係するAPIはありますか?ドキュメント、ラボ、オープンプロジェクトはありますか?