USB技术应用研究Word下载.docx

上传人:b****1 文档编号:5150393 上传时间:2023-05-04 格式:DOCX 页数:83 大小:401.87KB
下载 相关 举报
USB技术应用研究Word下载.docx_第1页
第1页 / 共83页
USB技术应用研究Word下载.docx_第2页
第2页 / 共83页
USB技术应用研究Word下载.docx_第3页
第3页 / 共83页
USB技术应用研究Word下载.docx_第4页
第4页 / 共83页
USB技术应用研究Word下载.docx_第5页
第5页 / 共83页
USB技术应用研究Word下载.docx_第6页
第6页 / 共83页
USB技术应用研究Word下载.docx_第7页
第7页 / 共83页
USB技术应用研究Word下载.docx_第8页
第8页 / 共83页
USB技术应用研究Word下载.docx_第9页
第9页 / 共83页
USB技术应用研究Word下载.docx_第10页
第10页 / 共83页
USB技术应用研究Word下载.docx_第11页
第11页 / 共83页
USB技术应用研究Word下载.docx_第12页
第12页 / 共83页
USB技术应用研究Word下载.docx_第13页
第13页 / 共83页
USB技术应用研究Word下载.docx_第14页
第14页 / 共83页
USB技术应用研究Word下载.docx_第15页
第15页 / 共83页
USB技术应用研究Word下载.docx_第16页
第16页 / 共83页
USB技术应用研究Word下载.docx_第17页
第17页 / 共83页
USB技术应用研究Word下载.docx_第18页
第18页 / 共83页
USB技术应用研究Word下载.docx_第19页
第19页 / 共83页
USB技术应用研究Word下载.docx_第20页
第20页 / 共83页
亲,该文档总共83页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

USB技术应用研究Word下载.docx

《USB技术应用研究Word下载.docx》由会员分享,可在线阅读,更多相关《USB技术应用研究Word下载.docx(83页珍藏版)》请在冰点文库上搜索。

USB技术应用研究Word下载.docx

2.5数据流模式5

2.6USB的传输类型5

2.7USB接口的传输协议7

2.7.1组成USB包的数据域8

2.7.2USB包格式10

2.7.3分组格式11

2.7.4USB传输事务13

2.7.5低速事务18

2.7.6USB传输错误检测和恢复18

2.8USB描述符20

2.9USB的设备请求和标准设备请求21

2.10USB主机24

2.11USB设备25

2.12小结26

第三章基于USB的数据采集系统设计27

3.1USB数据采集系统的硬件设计27

3.1.1系统整体方案的设计27

3.1.2USB数据采集系统的具体结构28

3.2数据采集系统的软件设计33

3.2.1驱动程序的设计33

3.2.2设备固伯程序的设计44

3.3小结48

结论49

致谢50

参考文献51

附录52

千万不要删除行尾的分节符,此行不会被打印。

在目录上点右键“更新域”,然后“更新整个目录”。

打印前,不要忘记把上面“Abstract”这一行后加一空行

绪论

USB是英文UniversalSerialBus的缩写,中文含义是“通用串行总线”。

它是一种应用在PC领域的新型接口技术。

自从1995年PC机带有USB接口,1998年USB接口逐步走进大规模实用阶段。

这几年,随着大量支持USB的个人电脑的普及,USB逐步成为PC机的标准接口已经是大势所趋。

在主机(host)端,最新推出的PC机几乎100%支持USB;

而在外设(device)端,USB彩一个4针插头作为标准插头,可以将键盘、鼠标、打印机等不同计算机外围设备的接口统一起来,并可以彩菊花链形式把所有的外设连接起来而不损失带宽。

USB将作为PC外设扩展的新途径取代当前PC上的串口和并口。

课题背景

随着计算机技术、通信技术和多媒体技术的发展以及计算机应用的普及,计算机系统除了包括显示器、鼠标和键盘等基本外围设备,还包括越来越多数字化设备,如打印机、扫描仪、Modem、麦克、数码相机等等。

这些日益多样化的设备并没有统一的接口标准,设备的安装和配置都比较复杂。

例如,连接打印机要用25针的并行接口,鼠标则用9针或25针的串行接口,而某些设备则需要使用专门插卡。

相对于外设种类和数量的增多,PC机传统接口从系统与用户两个角度都呈现出其固有限制。

从系统角度,其一,计算机端口资源(I/O地址、IRQ和DMA等)有限;

其二,计算机提供的接口和主板插槽有限,通过添加板卡扩充接口的方法无法根本解决问题;

其三,接口数据传输不能满足外设提出的更高要求,如更高速度和双向数据传输。

而对用户来讲,在一台PC上增加一台新的外设,通常需要完成一系列繁琐工作;

关闭电源,打开机箱,安装外设的接口插卡;

为了避免资源战胜冲突,设置路线为新的外设插卡选择合适的IRQ、DMA和I/O口地址;

安装设备驱动程序。

总之,传统计算机接口已不能满足计算机的进一步发展和应用。

在此背景下,1995年,由Compaq、DigitalEquipment、IBM、Intel、Microsoft、NEC和NorthernTelecom七家公司组成联盟,并建立USB-IF(USB实施者论坛),决定将最初为将电话接入PC机而设计的USB作为一种计算机外设标准来推广。

1996年,USB-IF发布为USB规范1.0,为USB产品提出设计要求。

1998年9月23日,USB-IF发布USB规范1.1。

该版本为目前计算机操作系统以及硬件平台广泛支持的版本,本文亦将以该版本为基础讨论USB规范、USB设备接口设计及其如何应用到光电鼠标上。

最新版本USB2.0发布于2000年4月27日。

USB技术特点

USB为所有的USB外设提供了单一的、易于操作的、标准的连接类型。

这样一来就简化了USB外设的设计,同时也简化了用户在判断哪个插头对应哪个插槽时的任务,实现了单一的数据通用接口。

USB排除了各个设备象鼠标、调制解调器、键盘和打印机设备对于系统资源的需求,因而减少了硬件的复杂性和对端口的占用,整个的USB的系统只有一个端口和一个中断,节省了系统资源。

USBF支持热插拔(hotplug),也就是说在不关PC的情况下可以安全的插上和断开USB设备,动态的加载驱动程序。

其它普通的外围连接标准,如SCSI设备等必须在关掉主机的情况下才能增加或移走外围设备。

USB支持PNP。

当插入USB设备的时候,计算机系统检测该外设并且通过自动的加载相关的驱动程序来对该设备进行配置,并使其正常工作。

USB在设备供电方面提供了灵活性。

USB直接连接到Hub或者连接到Host的设备可以通过USB电缆供电,也可以通过电池或者其它的电力设备来供电,或使用两种供电方式的组合,并且支持节约能源的挂机和唤醒模式。

USB提供全速12Mbps的速率和低速1.5Mbps的速率来适应各种不同类型的外设。

针对不能处理突然发生的非连续传送的设备,如音频和视频设备,USB可以保证其固定带宽。

为了适应各种不同类型外围设备的要求,USB提供了四种不同的数据传送类型。

USB使得多个外围设备可以跟主机通信。

第二章USB基本结构和特点

2.1引言

在本章主要是对USB的基本结构和特性作初步的介绍,是否了解这些知识对于设计USB设备系统至关重要,只有清楚地理解这些概念才能更好的进行设计。

2.2USB的物理连接

如图2-1所示,USB采用4线电缆。

其中Vbus为总线电源线,GND为地线,这两根线为下行(downstream)设备提供电源;

D+和D-是差动(differential)信号线,用于串行传输USB数据。

采用差动信号线的目的在于消除传输过程中的噪声,从而提高传输可靠性。

USB电缆支持两种速率模式:

全速模式(12Mbps)和低速模(1.5Mbps)。

全速电缆与低速电缆的区别在于:

全速电缆的数据信号线是双绞线,并且需要屏蔽层;

而低速电缆的数据信号线不需要双绞,也不需要屏蔽层。

USB连接器有两种类型:

A型和B型。

A型连接器是连接USB设备的主要方式,所有USB设备都必须具备一个A型连接器;

A型插座作为USB主机和集线器的下行输出口;

A型插头用于上行连接到USB主机和集线器。

B型连接器用于厂家提供的标准的可分离(detachable)电缆,以方便最终用户根据需要替换电缆;

B型插座作为USB设备和集线器的上行输入口;

B型插头用于下行连接到USB设备。

下图所示为USB电缆分别连接到PC主机、打印机的插头:

2.3USB1.1协议总览

总的来说,USB1.1是一个传输率可达12Mbps的串行接口,并由不同类型的PC外设一起分享这个串行总线接口中,而且可以高达127个外设对应于一个PC主机。

其中,USB主机是整个总线上的主控者掌握所有的主控权,负责对各个外设发出各设定命令和配置。

USB是以令牌包为主的通信协议,而主机将会于总线上发布一种令牌包,此时一定会有一个符合其地址的设备根据这个令牌包做出相应的操作。

此外,12Mbps的总线带宽是被分割为1ms的帧,所有位于此总线的设备就会以时间分隔的多任务传输来分享它。

以实体的观点来看,USB仅含有四条线,两条是电源线(Vcc与GND),两条是以差分方式产生的信号线(D+与D-)。

2.4USB总线结构

USB系统中的设备与主机的连接方式采用的是新型的层次化的星形连接,如下图所示。

图中的Hub是一类特殊的USB设备,它是一组USB的连接点,主机中有一个被嵌入的Hub叫根Hub(rootHub)。

主机通过根Hub提供若干个连接点。

图2-2

2.5数据流模式

USB对于与设备之间的通信提供了特定的协议。

虽然USB系统的总线拓扑是新型的层次化的星形连接,但实际上USB主机与设备的连接方式却是如图2-3所示的一对一的连接形式,这被称为USB总线的逻辑拓扑结构,而数据流的模式则是以这些逻辑连接为基本结构。

逻辑设备

USB为主机上的软件和客户的USB功能模块之间提供了通信服务。

功能模块会对通信流有不同的要求。

需要不同的客户来实现相互作用。

通过允许将不同的USB功能模块的不同通信流分离开来,USB提供了更好的整体总线利用率.每一个通信流都要使用某一总线访问来完成客户和功能模块之间的通信,并且终止于设备上的某一端点。

设备端点用于区别任意的通信流。

端点是主机与设备之间的一个逻辑通道,也是一个USB设备唯一可以确认的部分,它是主机与设备之间的通信流终点.一个USB逻辑设备对整个系统而言就是一个端点的集合。

根据其使用的接口,端点可以被分成不同的端点集。

软件只能通过一个或多个端点与一个USB设备通信。

利用设备的地址和端点号就可以唯一地指定任一个端点。

管道就是在USB主机上的一个软件功能和一个USB设备之间建立的一个虚连接,是设备上的一个端点和主机上的软件的联合体,在USB技术中有两类管道:

流管道和消息管道。

对一个USB设备进行配置后就会形成道。

一个客户软件通常是通过向一个管道发出IRP请求来要求发送数据,如果需要的话一个客户软件还可以使管道返回所有未处理的请求。

2.6USB的传输类型

针对设备对系统资源需求的不同,USB共有4种数据传输类型:

控制传输、中断传输、同步传输和块传输。

控制传输:

此方式适用于传输少量的、且对传输时间和传输速率均无要求、但必须保证传输的数据。

控制传输主要用于发送和接收与USB设备的配置信息有关的数据,如设备地址、配置描述符等,但它也可用于舆其他用途的数据。

控制传输可用于低速、全速或高速设备,且所有的USB设备都必须支持控制舆。

具体来说,任何USB设备都必须在其0号端点的缺省管道中支持传输,USB系统软件会使用该管道来访问USB设备的,并对其进行配置。

从优先级别来说,它是级别最高的传输方式。

中断传输:

该方式用于传输少量或中量的、且对服务周期有要求的数据,这些数据需要及时处理,以达到实时效果。

USB采用差错和重试机制来确保中断传输的正确性。

总的来说中断传输特别适合于键盘、鼠标类设备,因为对于它们,所需处理的事件只是键盘按下、鼠标点击和移动等,其数据量很少,而且用户不希望在使用键盘和无懈可击时出现明显的延迟,所以首先考虑固定的服务周期。

同步传输:

该方式用于需要连续传输,而且对数据的正确性要求不高,但对时间极为敏感的外设。

同步传输以固定的传输速率连续不断的在主机和USB外设之间传输数据,在传输数据发生错误时,USB并不处理这些错误,百是继续传送新的数据。

所以在此方式下数据包结束时没有CRC校验。

同步传输特别适合于音频和视频类设备,如CD播放机、扬声器等;

因为对于它们,数据被及时发送和接收远比其正确性重要。

批量传输:

又叫块传输。

该方式主要用于大量非周期数据的传输,它采用差错控制和重试机制来确保数据传输的正确性。

批量传输特别适合于打印机和扫描仪类设备,因为对于它们,数据无错误地发送和接收远比其传输速率重要。

批量传输只能用于高速或全速USB设备,但全速/高速设备可以不支持批量传输

传输类型

端点类型

传输方式

所传输数据的特点

批量传输

批量端点

IN或OUT

大量、无传输时间和传输速率要求

中断传输

中断端点

少量或中量、有周期性

同步传输

同步端点

大量、速率恒定、有周期性

控制传输

控制端点

少量、无传输时间要求、传输有保证

2.7USB接口的传输协议

总的来说,USBI.1是一个传输率可达12Mbps的串行接口,并由不同类型的PC外设一起分享这个串行总线接口,而且可以高达127个外设对应于一个PC主机。

其中,USB主机是整个总线上的主控者,掌握所有的主控权,负责对各个外设发出各设定命令和配置oUSB是以令牌包为主的通信协议,而主机将会于总线上发布一种令牌包,此时一定会有一个符合其地址的设备根据这个令牌包做出相应的操作。

此外,12Mbps的总线带宽是被分割为lms的帧,所有位于此总线的设备就会以时间分隔的多任务传输来分享它。

以实体的观点来看,USB仅含有四条线,两条是电源线(V,。

与GND),两条是以差分方式产生的信号线(D+与D_)。

传输协议:

主机与设备之间通过称为事务的离散交互进行通信;

一个或多个事务完成一次传输请求。

一个传输事务由若干个包(packet)组成。

包是总线传输的最小数据块,通常由多个域组成。

包仅沿一个方向传送---主机到设备或设备到主机。

数据地串行数据线上传输时,先发送最低有效位(LSb),然后是次低位,最后是最高有效位(MSb)。

为了保证发送方和接受方在信号级上的同步,串行数据采用NRZI(不归零反相编码)和比特填充技术:

遇到0信号发生跳变而遇到1时保持不变;

当出现连续7个1时插入一个0比特。

另外,所有包以一个同步域(SYNC)开始。

该域为一个IDLE状态后面跟随以NRZI编码的二进制串“00000001”(数据80H)。

SYNC域中的最后两位用于SYNC域的结束标志同时表示PID域的开始。

每个包发送完毕,发送方使两根数据线变为低电平保持2个比特位的时间,其后再跟随1比特时间的IDLE状态,该总线状态称为EOP(EndofPacket)。

通信协议:

前面提及过USB接口是以令牌包为主的总线协议,而且PC主机掌握了这个总线的主控权,就是说一切的沟通都是由PC主机来负责启动的。

另外由于use不占用任何PC的中断向量或是输入/输出的资源,因此必须通过严谨的协议才能与外设达成通信的协议,以执行各项命令。

如图2-4显示了PC主机如何与设备执行通信协议.从图中可以看到在USB总线上执行通信协议的荃本单位就是最下层的数据域。

几个不同型式的数据域可以组合成一个分组,有1个、2个或3个不同型式的分组又可以组成一个数据交易。

因此,对高速设备而言,在lms的帧内可能包含各个设备所提交的数据交易,这些数据交易则可能涵盖于不同的客户端驱动程序所启动的输出入要求分组中,图中只显示了2个客户端的驱动程序。

由上可知,要了解所有的通信协议就需要从数据域来谈起。

通过由下而上的顺序,可以从最基本的通信协议单位组合成各种复杂的通信协议。

2.7.1组成USB包的数据域

根据不同的令牌包的类型,含有不同数量与类型的数据域。

以下将依序介绍各种数据域的规格和结构。

USB的传输顺序是由LSB(最低位)到MSB(最高位)。

1.同步顺序(SYNC)数据域

SYNC数据域的长度的定义为8bit,是一个数据分组的前导,是用来产生同步的作用,所以它的数值是固定的,为00000001。

2.包标示符(PID)数据域

一个PID包括一个4bit的分组类型域和一个4bit的校验域,如图2-4示.PID紧跟在SYNC后面,用来指出数据分组的类型,并且可以据此推断出分组格式和分组所应用的检错方式。

图2-5PID格式

主机和所有的功能设备必须能对所有接收到的PID域进行完整的解码。

如果任意一个接收到的PID的检验域出现错误或者其解码后为一个未定义的值,就认为其受到了破坏。

那么该PID及分组的其余部分都将被分组接收器忽略。

PID类型、编码和有关说明都列在了表2一2中。

PID可以分成四个码组:

令牌、数据、握手和特殊类型,其中所传输的前两个PID比特用于指示码组类型。

 

PID类型

PID名称

PID[3:

0]

说明

令牌

OUT

IN

SOF

SETUP

B0001

B1001

B0101

B1101

地址+主机中的端点号→功能设备处理

地址+功能设备中的端点号→主机处理帧标记和帧标号开始

地址+主机中的端点号→用于一个控制端点建立的功能设备处理

数据

DATA0

B0011

数据分组偶PID

握手

ACK

B0010

接收设备不能接受数据或发送设备不能发送数据

端点被禁止

特定

PRE

B1100

主机发出前同步信号。

激活至低速设备的下行总线数据流

表2-2PID类型(TablePIDtype)

3.地址(ADDR)数据域

功能设备ADDR通过其地址而对功能设备加以区分,它可以利用令牌PID的值来说明功能设备是一个数据分组的发送者还是接收者。

ADDR由8位组成,最多可寻址127个外设。

4.端点(ENDP)数据域

一个附加的4比特端点域允许对那些需要不只一个子信道的功能模块进行更灵活地寻址。

规定端点号只能供IN,SETUP和OUT令牌的PID使用。

所有的功能设备必须支持一个控制端点0。

低速率设备中每个功能模块最多可以支持两个端点地址;

全速率功能模块最多可支持16个端点。

5.帧标号(FrameNumber)数据域

帧标号域有11比特长,每过一帧主机都要对其加1,当达到最大值OX7FF后,帧标号域就开始循环,而且只在一帧开始时向SOF令牌发送。

6.数据域

数据域的范围可以从0到1023B,并且必须给出具有整数个字节,仅存于数据分组内。

7.循环冗余检验(CRC)数据域

CRC用于对令牌和数据分组中所有非PID域进行保护。

根据分组类型的不同,CRC有不同数目的位所组成。

其中,数据分组是16位,而其他类型分组是5位。

2.7.2USB包格式

USB包有4组类型:

令牌包、数据包、握手包和专用包。

下面分别介绍这4组类型包的格式。

2.7.2.1令牌包

共有4种令牌,其中IN、OUT和SETUP令牌具有相同的格式。

如图2-5所示,三种令牌均岂PID、ADDR、ENDP和CRC四个域组成,固定长度3个字节(不计SYNC域)。

PID域指定IN、OUT或SETUP包类型。

对于OUT和SETUP事务,ADDR和ENDP域唯一识别哪个端点将要接收后续数据包;

对于IN事务,两个地址域唯一识别哪个端点将要发送数据包。

CRC5域是对ADDR和ENDP域的校验值。

任何USB数据传输,都是由主机广播发送三种令牌包中的一种来发起。

设备通过检查令牌中的地址域判断是否准备接收或发送数据。

主机每隔约1ms时间(误差0.0005ns)发布一个SOF(StartOfFrame)包,表示帧的开始。

SOF包格式如图2-7所示。

所有全速设备都接收SOF包。

无须进行等时传输的设备(如集线器),只需译码PID部分而忽略不支持等时传输,因此SOF令牌将不会传送给低速设备。

SOF包宣言一个只包含SOF令牌的事务,没有数据包和握手包,因此传输无法保证。

但接收SOF令牌的设备必须进行校验:

若PID校验错则独力该包;

若帧编号校验出错则忽略帧编号。

2.7.2.2数据包

数据包由三个域组成,如图2-7所示。

其中PID域标识两种类型的数据包:

DATA0和DATA1,用于支持数据同步。

数据域为0到1023个整数字节。

CRC只对数据域进行校验。

2.7.2.3握手包

握手包只包含一个PID域。

用于报告数据传输事务的完成。

返回值指示数据成功接收、俱接受或气绝,以及停止状态。

只有支持流控的事务才会返回握手包。

握手包总是在事务的握手阶段或者数据联联阶段代替数据包返回。

有3种类型的握手包:

ACK:

指出数据正确接收:

IN事务中由主机返回,OUT或SETUP事务中由设备返回。

NAK:

IN事务或OUT事务的数据阶段由设备返回:

用于流控目的,指出设备暂无法发送或接收数据。

STALL:

IN事务令牌或OUT事务的数据阶段之后由设备发出:

指出设备无法发送或接收数据,或者不支持某种控制管道请求。

2.7.2.4PRE包

低速事务专用前导包,仅包含一个PID域。

主机在以低

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2