- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于USB接口的OTG应用技术开发
随着移动终端的普及,为了不使用pc,直接在移动终端间进行数据交换,提出了otg技术。usb otg(on-the-go) 标准在完全兼容usb2.0的基础上,追加了hnp(host negotiation protocol)和srp(session request protocol)协议。在硬件方面增添了更小的连接器和电缆,包括袖珍型的a插头和插槽(mini-a),袖珍型的ab插槽(mini-ab)。通过 hnp和srp协议可以实现主从设备的交换,从而实现脱离pc的移动设备间数据的直接交换。
isp1362芯片的结构
飞 利浦的isp1362有otg控制器,高级主机控制器和一个基于isp1181的外设控制器。同时通过一个数据总线接口与外部cpu相连。主机与外设控制 器都配有缓冲usb通信流量的内置存储器。isp1362用软件执行hnp和srp,一系列的寄存器提供支持hnp和srp控制和状态的监视能力。otg 有一般的收发器,还有内置充电泵,电压比较器,数据线上的上拉/下拉电。结构如图1。
otg规范的hnp和srp
hnp的事件序列
图2给出了hnp的事件序列图。
(1)a设备使用完总线并停止所有的总线活动(即挂起总线)。
(2)b设备检测到总线处于空闲状态,启动hnp序列。
(3)a设备在总线上检测到b设备要成为主机的请求,连接其d+线上拉电阻以作为响应。
(4)b设备发现d+线是高电平d 线是低电平,这表示a设备识别来自b设备的hnp请求,此时,b设备成为主机而且发送总线复位信号,开始使用总线。
(5)当b设备使用完总线后,它停止所有的总线活动。
(6)a设备在一定的时间内检测到没有总线活动时就会断开其d+线上的上拉电阻。
(7)b设备连接其上拉电阻。
(8)a设备发现d+线是高电平d 线是低电平,表示b设备正在发送连接信号并准备作为外围设备响应,此时,a设备变为主机,并发送总线复位信号开始使用总线。
srp
otg 规范定义了两种b设备向a设备请求开始会话的方式,称为数据线脉冲调制(data-line pulsing)和vbus脉冲调制(vbus pulsing)。这两种方法组成了会话请求协议(srp)。srp 的初始条件是:b设备必须在确定a设备前一次会话结束以后才能尝试启动新的会话。a设备通过检测到vbus下降到低于其会话有效阈值来确定会话结束。b设 备在检测到d+和d 线至少在2ms的时间内为低电平(se0),这确保a设备检测到设备的断开。数据线脉冲调制时,b设备等待满足上述条件后,接入其数据线上拉电阻(d+或 d )。双重角色b设备只能在全速初始化srp,因此只能上拉d+。vbus脉冲调制时在满足初始条件后驱动vbus。b设备先执行数据线脉冲调制,然后执行 vbus脉冲调制,a设备设计为能响应其中一种srp的方式。
linux操作环境下驱动程序的编写
当 otg双角色设备以主机方式工作时(如图5),usb主设备软件包工作,以从机方式工作时,usb设备软件包工作。otg通过驱动连接器中的id的不同连 接,或通过是否有主设备转换协议spr以确定双角色设备的工作方式,并确定使用usb主设备软件包或usb设备软件包。
usb驱动程 序由主机驱动程序,usb子系统,usb设备驱动程序组成。在linux操作系统中,存在一个连接usb设备驱动程序和主控制器驱动程序的子系统 usbcore,它通过定义一些数据结构,宏和功能函数来抽象所有的硬件设备。usbcore提供了为硬件处理的所有下层接口。包含所有usb设备驱动和 主机控制的通用程序,可称为upperapi和lowerapi。usb子系统提供与设备驱动程序的接口,读取并解释usb设备描述符,配置描述符。为 usb设备分配唯一的地址,使用默认的配置来配置设备,支持基本的usb命令请求,连接设备与相应的驱动程序,转发设备驱动程序的数据包。
设备驱动程序是内核的一部分,它完成以下的功能:
(1)对设备初始化和释放。
(2)把数据从内核传送到硬件和从硬件读取数据。
(3)读取应用程序传送给设备文件的数据和会送应用程序请求的数据。
(4)监测和处理设备出现的错误。
用户对设备的访问,主要有以下的函数:
open 打开函数,read、write读写函数,ioltrl设备控制函数,用户各类设备的特殊控制。设备驱动程序的设计就是实现上述四个函数与外加一个设备初 始化的函数,这些函数在设备驱动程序中可以skel_init()、skel_open()、skel_read()、skel_ioctrl()等调 用。声明一个称之为file operation的结构体将用户级的open等函数与设备skel_open()等函数联系起来。
static struct file_operations
您可能关注的文档
最近下载
- 匹克球理论考试试题库及答案.docx VIP
- 一+职场应用写作与交流(一):求职和应聘(教学设计)-【中职专用】高二语文上(高教版2023职业模块).docx
- 一 《微写作•描述事物》(教学课件)-【中职专用】高二语文同步精品课堂(高教版2023·职业模块).pptx VIP
- 新疆天泽水利投资发展有限公司招聘考试真题2024.docx VIP
- 匹克球运动 场地的使用要求及检验方法.pdf VIP
- 第十一章第一节《杠杆》实验教学说课稿教科版物理八年级下册.ppt
- TUNP-卧式操纵盘离心爆珠在线植入设备.pdf VIP
- 草布、衣服、床单被服洗涤服务方案.docx
- 2024年新疆天泽水利投资发展有限公司招聘真题.docx VIP
- 高标准农田鱼眼泡低洼地治理方案.docx
文档评论(0)