如何在Android中切换USB模式?

时间:2013-03-24 05:21:20

标签: android adb host adk accessory

我正在设计一个USB OTG板作为Android的扩展板。该电路板基于飞思卡尔KL25Z128VLK4。设计的大部分内容类似于Sparkfun的IOIO,并带有一些扩展。

  1. 将OTG线缆从Android手机(Galaxy Nexus)连接到KL25Z 板,Android充当USB主机,KL25Z充当设备B(CDC)。
  2. 通过反向连接OTG线缆,Android可在AOA / ADK / ADB模式下工作, 和KL25Z为VBUS提供VBUS和充电电流。
  3. 在当前设计中,切换角色主机/设备必须通过交换电缆连接手动完成。然而,在后一种情况下,如果KL25Z无法为Android提供足够的电流,KL25Z希望将主机角色移交给Android,因此它可以关闭5V / 500mA的主电源,并且可以使用Android的VBUS在低功耗模式下工作。 / p>

    无论如何,我希望我的主板支持HOST / Device之间的切换模式,以及Android中的支持。

    原则上,应启动HNP协议以在OTG中切换A / B.但是,我不知道如何在Android端处理它。我的意思是我不知道Android SDK如何以编程方式支持HNP?涉及任何API?任何文件,实验室和开放项目?

1 个答案:

答案 0 :(得分:1)

目前,Android尚不支持HNP协议。唯一的方法是重置电路板上的USB堆栈,并在每次切换模式时重新枚举。