- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《OTG相关协议
?OTG 相关协议
AttachDetection Protocol (ADT)
? ? ADT协议用来检测设备的连接和断开(在没有总线供电的情况下),原理为设备连接或断开后线路的阻抗发生变化,发起ADT探测的设备用一电流源给Vbus升到一定电压的时间会不同。
SessionRequest Protocol (SRP)
? ? SRP用来请求A设备给Vbus进行供电。由于一般的移动电子设备对功耗要求比较高,因此OTG标准允许A设备平常关闭对总线的供电,而B设备就可以使用SRP 请求A设备打开Vbus,建立一个有效的连接。
Host Negotiation Protocol (HNP)
? ? 对于之前提到过的dual-roledevice,即可以做A设备又可以做B设备。默认情况下是根据USB OTG线的连接情况确定A设备,而HNP可以让dual-role device互联时,在不调换USB OTG线的情况下,通过协商实现A设备、B设备的角色更换。
2.3 ?OTG软件架构
? ? 根据USB OTG的电气和机械标准,USBOTG Controler需要支持一系列的OTG协议;而Controler Driver理所当然的就需要和这个Controler进行交互,读取状态、发起操作等;当完成了OTG的检测连接、建立连接的工作后,最终需要去让相应USB设备的Host Controler或者Device Controler去进行数据传输,OTG Driver Core则负责这个工作。
图8 OTG软件架构
3 ?Android下USB驱动开发
? ? 根据之前的介绍,进行USB传输的驱动开发在从设备端需要进行Gadget Driver的开发;在设备端需要进行Host Device Driver的开发。而之前介绍的相应Controler的驱动由于是直接和相关硬件控制器交互,一般由芯片厂商或者平台端完成。由于USB设备的普及应用,USB标准对一些通用的设备:键盘、鼠标、U盘等做了规范,即不同的设备类(USBClass)。对于这些通用设备,由于设备端按照标准进行设计、固件程序由厂商按照标准实现;主机端有对应的标准驱动程序,因此只要安装相应驱动即可。对于自定义的设备或是功能来说:
3.1 ?Host端驱动开发
? ? 由于HostControler Driver做的工作以及Host Core Driver提供的完善接口,这里的Host端驱动开发相对来说已经是比较简单了。
? ? 当设备的连接探测、设备信息获取等一系列操作完成后,会遍历注册到核心的Host Device Driver为连接到Host端的设备寻找一个控制驱动,因此在编写驱动时需要写好自己的匹配规则;当编写的驱动注册到后,核心会创建一个字符设备,用户空间一般就通过这个字符设备来读写USB设备,因此驱动中实现读写等其他设备操作接口是最重要的一部分内容。
图9 Host端驱动开发步骤
对于USB设备的读写,之前有提到过在从设备端有多个EndPoint(可寻址的FIFO),所以读写接口的实现就是对这些EndPoint进行操作。USB设备中的端点除了0号端点是双向的(用来初始获取设备信息使用),其他端点都是单向的。读/写接口需要和IN/OUT端点交互,调用核心提供的接口从IN端点中读或者向OUT端点中写。
图10 Host和端点进行数据传输
对于数据传输的方式,USB标准规范了四种传输方式:控制传输(Control Transfers)、中断传输(InterruptTransfers)、同步传输(Isochronous Transfers)、块传输(Bulk Transfers)。USB主机通过控制传输向USB设备读取信息、配置;中断传输具有固定速率、数据量少的数据传输;同步传输适合实时流传输,但是不保证数据正确性;块传输适合大量数据传输,提供错误检测和重传机制。在实际程序中,选定不同的传输方式,只需要使用不同的内核接口即可,而具体的协议过程会由硬件控制器及其驱动来完成。
? ? 对应于具体函数,可以参考内核中的usb-skeleton.c对应进行了解。对于主要的接口和基本的编写过程下面提供一个简单的草图:
图11 Host端驱动具体函数草图
3.2 ? Device端驱动开发
? ? 对于Android设备来说,属于USB复合设备(设备上有多个通过USB管理控制的功能)。为了方便用户使用,Android将每种功能对应的gadgetdriver做了重新组织并和应用层交互:
图12 Android下USBdevice端驱动组织
在这样的架构下,USB gadget driver做的事情就是描述自己属于何种类型的设备,USB Host可以访问的端点有哪些、端点的性质,读
您可能关注的文档
- 《nosq.docx
- 《noteforjavaesson.docx
- 《note使用技巧.doc
- 《海上货物运输及保险案例.doc
- 《海上钢琴师影评作业.doc
- 《NO·1.doc
- 《海事会计英语一复习资料.doc
- 《NP打破常见思想障碍:破框法.doc
- 《海事职业技术学院简介.doc
- 《NubiaZ5SMINI使用技巧.doc
- 2024-2030全球生物降解测试系统行业调研及趋势分析报告.docx
- 2025年湖南城建职业技术学院高职单招职业适应性测试近5年备考题库及答案解析.docx
- 2024-2030全球THC含量测试仪行业调研及趋势分析报告.docx
- 2024-2030全球紧凑型3D扫描仪行业调研及趋势分析报告.docx
- 2024年全球及中国基于成果的教育软件行业头部企业市场占有率及排名调研报告.docx
- 2024-2030全球火焰扫描仪行业调研及趋势分析报告.docx
- 2024-2030全球全电动渡轮行业调研及趋势分析报告.docx
- 2024年全球及中国智能美妆镜行业头部企业市场占有率及排名调研报告.docx
- 2024-2030全球曲线输送机行业调研及趋势分析报告.docx
- 2024-2030全球体育馆照明灯具行业调研及趋势分析报告.docx
最近下载
- 中医养生预防脑血管疾病的措施(3).pptx
- 教育部2024年专项任务项目(高校辅导员研究)申请评审书《增强高校辅导员与学生谈心谈话的针对性和实效性研究》.docx VIP
- YBJ-PS03-2004埋地无压预制混凝土排水圆形管管基及接口.pdf
- 家校社协同育人教联体典型案例(幼小中).doc
- 智慧教育双师课堂解决方案.pdf
- DL∕T 1949-2018 -火力发电厂热工自动化系统电磁干扰防护技术导则.pdf
- 2023云南昆明空港投资开发集团招聘7人考前自测高频考点模拟试题(共500题)含答案详解.docx
- 营销三大法宝-销售带动配合-PPT课件.ppt
- 人教版本历史七下第3课(开元盛世)课件3.ppt
- 2025考研英语一真题及答案.pdf
文档评论(0)