基于arm的linux平台上usb驱动实现

基于arm的linux平台上usb驱动实现

ID:33553828

大小:3.73 MB

页数:67页

时间:2019-02-27

基于arm的linux平台上usb驱动实现_第1页
基于arm的linux平台上usb驱动实现_第2页
基于arm的linux平台上usb驱动实现_第3页
基于arm的linux平台上usb驱动实现_第4页
基于arm的linux平台上usb驱动实现_第5页
资源描述:

《基于arm的linux平台上usb驱动实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第二章USB接口规范概述2.1USB协议简述USB[4】(UniversalSerialBus)是主机和外围设备之间的一种连接技术。最初是为了代替许多不同的低速总线而设计的,它以单一类型的总线连接各种不同类型的设备,如鼠标、键盘、移动硬盘、显示器等等。在USB协议中支持四种不同的传输方式(块传输、同步传输、中断传输、以及控制传输)以适应各种不同场合的需求。在技术层面上来讲,USB总线采取单主控制的方式进行通信,也就是说只有主机端可以发起和终止通信,设备端负责响应主机的命令。USB协议对设备进行了分类,主要有音频设备类、通信设备类、显示设备类、人机接口设备类以及海量存储设备

2、类等等。在对设备进行分类后,可以抽象出一类设备的特性,可以使用一个通用的驱动程序。本文针对$3C2410处理器中的USB设备控制器分别进行了主从机的驱动研究设计,并利用主从机驱动进行数据在开发机与目标板之间进行了数据传输测试。USB总线属一种轮询方式的总线,主机控制端口初始化所有的数据传输。每一总线执行动作最多传送三个数据包【4】。按照传输前制定好的原则,在每次传送开始时,主机控制器发送一个描述传输运作的种类、方向,USB设备地址和终端号的USB数据包,这个数据包通常称为标志包(tokenpacket)。USB设备从解码后的数据包的适当位置取出属于自己的数据。数据传输方向

3、不是从主机到设备就是从设备到主机。在传输开始时,由标志包来标志数据的传输方向,然后发送端开始发送包含信息的数据包或表明没有数据传送。接收端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间的USB数据传输,在主机和设备的端口之间,可视为一个通道。存在两种类型的通道:流和消息。流的数据不像消息的数据,它没有USB所定义的结构,而且通道与数据带宽、传送服务类型,端口特性(如方向和缓冲区大小)有关。多数通道在USB设备设置完成后即存在。USB中有一个特殊的通道:缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。

4、事务预处理允许对一些数据流的通道进行控制,从而在硬件级上防止了对缓冲区的高估或低估,通过发送不确认握手信号从而阻塞了数据的传输速度。当不确认信号发过后,若总线有空闲,数据传输将重复一次。这种流控制机制5第二章USB接口规范概述允许灵活的任务安排,可使不同性质的流通道同时正常工作,这样多种流通常可在不同间隔进行工作,传送不同大小的数据包。2.1.1USB总线的拓扑结构USB总线采取了一种“菊花链”的星形连接方式,从功能上来讲,一个USB子系统可分为三部分【5】:USB主机、USB设备、USB连接。每个主机上通过HUB扩展最多可以连接多达127个设备,每个设备通过自己唯一的地

5、址与主机端进行通信。在USB子系统中,主机端和设备端分别是通信实体,USB连接描述主机端和设备端的通信方式。●USB主机USB主机是所有通信的发起端,负责检测设备,与设备进行通信,调度连接到端口上的所有设备的活动。在整个USB系统中,USB主机是唯一消耗系统资源的部分,而系统只需要为USB主机分配好I/O地址空间、IRQ等资源后就不必为连接到USB主机上的设备分配类似的资源了,实现了一定程度上的资源共享。USB主机系统主要是硬件上的USB主控制器(HostController)、USB系统软件和客户软件三部分组成的【10】。其中USB主控制器分为三种类型接口:开放型主控制

6、器接口(OHCI)、通用型主控制器接口(UHCI)和增强型主控制器接口(EHCI),由于所有的通信都是由主机方来控制调度,所以我们通常称这种通信模式为基于主机的通信模式。在主机系统中,主控制器负责产生事务处理,这些事务有主机软件安排好。主控制器驱动程序(HCD)建立一个数据结构的链表,这些数据结构包含了主控制器处理事务时所需的所有信息,包括USB的设备地址、传输类型、传输方向、缓冲区地址。●USB设备USB设备分为两大类:集线器(HUB)和功能设备由于USB协议规定一个USB系统只允许存在一个主控制器,为了连接更多的设备到USB总线上,通常使用集线器为USB系统提供外加的

7、连接点,使得一个USB主控制器可以连接多个功能设备。按照USB协议规定,通过集线器最多可以连接一个包含主控制器的七层星型拓扑连接,所有的设备数量可达到127个。功能设备就是连接到USB总线上的终端设备,为整个系统提供特定的功能。功能设备中包含各自的设备描述符,通过设备描述符指出了各自的属性和特征。这些设备描述符为主机软件提供了USB设备的特征和功能信息,主机软件可以6第二章USB接口规范概述通过这些信息正确的配置设备和定位USB客户软件的驱动程序。在功能设备中有两种比较特殊的设备【4J:Compounddevice与Compo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。