欢迎来到天天文库
浏览记录
ID:29741041
大小:29.72 KB
页数:29页
时间:2018-12-23
《vxworks下usb驱动总结----(2)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划vxworks下usb驱动总结----(2) 1、USB设备 物理特征:4条电缆,电源线、地线、数据线、脉冲线; 速度:低速,全速12Mbps,高速480Mbps; 规范版本:1998年,XX年; 连接:PCI总线USB控制器(OHCI/UHCI/EHCI)USB设备; 单个USB控制器最大连接个数:127; 距离限制:USB单条线缆长度不能超过5m,通过hub可延长至3
2、0m。 重要概念:主机-USB设备采用master-slave方式分工,所有通信都是主机发起的;在某一时刻,只有一个设备与主机通信。 一个USB物理设备可以抽象为一个或多个逻辑设备。 USB逻辑设备层次:逻辑设备->配置->接口->端点;端点是一个地址标识,是驱动和设备数据交换的一个终点,类似于网络编程中的客户短套接字或者服务器端套接字。在USBDclient和特定的设备endpoint之间的通道被称作管道(pipe),一个从驱动到设备的数据传输管道包括以下几个要素: 1)设备的端点;
3、 2)设备号;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 3)传输方向; 4)带宽要求; 5)延迟要求。 6)主机与USB间有4种传输方式: A.控制; B.同步; C.批量; D.中断; 控制用于读取/设置USB设备,所有USB设备的端口0默认给控制管道使用; 同步主要用于视频设备
4、如摄像头定时产生的批量数据,允许在带宽不足的情况下丢弃部分数据包; 批量用于一次性的大批量数据传输; 中断用于异步数据如键盘按下事件发生等。 系统为不同传输类型分配不同的可使用带宽。因此,控制管道必须占有10%的可用带宽,而批量管道不能达到USB的理想速率,实际中USB设备与主机的传输速率比理想速率低很多。 2、VxWorsk下USB协议栈 下图提供了一个USB主驱动栈结构的简单概括,共四层。 数据发送路线及格式:客户驱动(USB_IRP包)->USBD(URB包)->HCD(HRB
5、包)。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 >>>>在栈最底层的是硬件:USB主控制器(USBhostcontroller),USB主控制器在嵌入式主机系统中控制USB,实现USB主机功能。目前,USB控制器主要有3类: (1)(UHCI,universalhostcontrollerinte
6、rface)通用的主控制器,由Intel最先设计并制定相应规范; (2)(OHCI,openhostcontrollerinterface)开放的主控制器,由Microsoft,Compaq和NationalSemicondtlctor最先设计并制定相应规范; (3)(EHCI,enhancedhostcontrollerinterface)增强的主控制器,该控制器支持 >>>>每一主控制器在其上都有相对应的主控制器驱动程序(HCD),这些设备驱动程序与底层的硬件相关,为上层提供统一的功能
7、接口。相应的驱动分别在和中定义。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 USB主机驱动(USBD)与底层硬件无关,通过HCD与底层控制器通信。USBD管理连接到主机上的每一个USB连接,并提供高层与USB设备通信的通道。除此之外,USBD还自动对USB设备进行电源管理和分配带宽。在USB系统中,集
8、线器(HUB)对USB(来自:写论文网:vxworks下usb驱动总结----(2))系统的正常操作起到关键性作用,因此USBD直接对集线器进行控制。这就意味着USBD还具有控制USB设备和集线器动态插拔的能力。是客户驱动和HCD之间的中介,接受客户发送来命令,发送给HCD,HCD在驱动硬件接受。USBD入口函数usbdCoreEntry(pURB_HEADERpUrb),所有请求函数都先进入此函数,根据pUrb->function的值调用相应函数。 在协议栈的最顶层是USB设备驱动程序。设备
此文档下载收益归作者所有