- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.AOA协议概括
鉴于AOA协议实现Android终端USB通信方式称为配件模式。此模式下,与Android终端通信的另一端设施称为Android配件,二者都一定支持AOA协议。在USB通信过程中,Android终端充任USB从机,Android配件充任USB主机并为总线供电。Android配件需拥有USB主控制器功能并移植有AOA协议。配件内置USBEmbeddedHost端,能够为Android手机供电,而且辨别
Android手机,成立数据通道。使得配件成为一个简化版的
PCHost端。?配件还一定供给
500毫安
在5V供电电源。
图1-1USB配件模式框图
2.AOA协议工作过程
图2-1AOA协议整体交互图
1.配件端等候手机连结。
2.手机接入配件。
3.配件经过USB驱动的控制通道(0通道,端点0)获取手机的vendorID与productID。
4.配件剖析获取的vendorID能否为0x18D1,以及productID能否为0x2D01,0x2D02,0x2D03或
0x2D04。假如均切合,则说件此刻手机已经是配件模式,能够依据配件模式的要求直接从头配置
USB端点和接口。不然启动试试进入配件模式流程。
5.确立手机已经进入配件模式,从头列举USB设施,手机从头进行USB磋商。
6.依据配件模式从头配置USB端点和接口,成立配件模式的数据通道。
图2-1启动配件模式交互流程
试试启动配件模式交互流程:
1.配件发送序号51的USB恳求报文,手机收到后查问自己的AOA协议版本,发送响应报文给配
件。
精心整理
2.配件校验协议版本号,当前为1或2,其余的均为不支持。
3.配件发送序号52的USB恳求报文,经过Index字段携带配件自己信息,包含制造商,型号,版
本,设施描绘,序列号,URI等。手机依据这些信息启动响应的APP。
4.配件发送序号53的USB恳求报文,切换USB模式,主假如依据切换vendorID和productID。
5.从头列举USB设施,准备成立AOA数据通道。
参照:AndroidOpenAccessory协议剖析与开发
3.AOA的设施握手过程
绝大部分Android设施,在缺省状况下都不挂载Accessory驱动;在Accessory与Android设施成立USB连结时;Accessory会经过握手协议查问该设施能否为Android设施且拥有AOA支持,假如获取正确应答,Accessory会向Android设施发出切换到AOA模式的恳求,Android设施会履行恳求,将USB切换到AOA模式;在这个过程中,USB连结会出现一次逻辑插拔,USBHost一端会从头列举设施。
在握手过程中,Accessory会向Android供给AOA商定的描绘信息,此中有三个信息是Android系统用于绑定Accessory设施与App的;分别是:manufacturer、model、version。Android系统依据这三个字符串般配相应的App。
假如系统内无任何App能够般配Accessory设施发来的握手信息;则Android设施会弹出一个对话框,向用户供给Accessory设施发送过来的描绘信息和URL信息,用户能够点击URL接见它指向的Web页面。
假如系统内有App能够般配Accessory设施发来的握手信息;则Android会弹出一个对话框咨询用户能否马上启动该App;假如用户选择OK则启动该App;同时该对话框供给一个勾选框,勾选以后每次Accessory设施连结后会自动启动该App;应当要求用户勾选该对话框,不然App启动后向USBManager获取Accessory设施后可能由于Permission问题没法翻开文件描绘符成立通信连结。
参照:
精心整理
4.注意
1.PID是0x2D00保存给支持附件模式的Android设施。0x2D01保存用于支持附件模式以及Android调试桥(ADB)协议的设施,第二个接口为ADB而且拥有两个批量端点。假如要在计算
机上模拟附件,能够使用这些端点来调试附件应用程序。一般来说,不要使用此接口,除非附件在设施上实现传输到ADB。
0x2D00拥有一个拥有两个批量端点的接口,用于输入和输出通信的。
0x2D01拥有两个接口,每个接口拥有两个批量端点,用于输入和输出通信。第一个接口办理标准通信,第二个接口办理ADB通信。要使用接口,请找到第一个批量输入和输出端点,使用SET_CONFIGURATION(0x09)设施恳求将设施配置设置为1,而后使用端点进行通信。
2.AOA当前不支持同时进行的AOA和MTP(MediaTransferProtocol,媒体传输协议)连结。要从AOA切换到MTP,附件一定第一断开USB设施(物理上或电气上等效的
原创力文档


文档评论(0)