《无线USB网卡电路设计与驱动研究毕业论文.doc》由会员分享,可在线阅读,更多相关《无线USB网卡电路设计与驱动研究毕业论文.doc(45页珍藏版)》请在三一办公上搜索。
1、毕业设计报告(论文)报告(论文)题目:无线USB网卡电路设计与 驱动研究 作者所在系部: 电子工程系 作者所在专业: 应用电子技术 作者所在班级: 09211 作 者 姓 名: 指导教师姓名: 完 成 时 间: 2012年6月10日 北华航天工业学院教务处制北华航天工业学院电子工程系毕业设计(论文)任务书姓 名: 专业:应用电子技术班 级:09211学号: 指导教师: 职称:助教完成时间:2012年6月10日毕业设计(论文)题目:无线USB网卡电路设计与驱动研究设计目标:通过无线USB的理论知识,简单介绍无线USB网卡的功能及其应用 技术要求:1. 了解无线USB理论知识2. 能无线USB网卡
2、功能。3. 无线USB网卡应用所需仪器设备:成果验收形式:论文时间安排15周-6周立题论证39周-13周仿真调试27周-8周方案设计414周-16周成果验收指导教师: 教研室主任: 系主任摘 要USB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。它是一种应用在PC领域的新型接口技术,1998年后,USB接口逐步走进了是用阶段,由于USB接口鱼油方便的有点,很多跟PC相连的外部设备都采用了USB接口,这必将要求配套的USB设备驱动程序更加具有通用性,更加的稳定,USB设备驱动的好坏直接影响到USB设备和PC交互的效率,速度,质量。所以设计一个好的驱动程序对于U
3、SB设备在Pc上的效率来说是有着非常重要的意义的,选用Linux作为平台研发USB设备驱动模型,是目前国内外比较流行的开发方式,它具有开发效率高,稳定性强等特点。本文主要是研究如何在Linux系统平台上设计并实现802.11B无线嘲卡USB接口的驱动,并积极的讨论如何提高驱动软件的效率,此驱动软件可以使802.1lb无线网卡很好的和PC交互,以下是本文主要的论述结构。首先,论述驱动程序在操作系统和硬件之间的位置和所起的作用。其次,说明USB系统的硬件系统结构,以及USB系统的软件体系结构。然后,深度剖析Linux系统USB接口软件体系,并且指出如何提高代码质量,如何优化驱动程序和硬件交互算法,
4、如何增强驱动程序和操作系统交互性,这几个方面的创新之处,接着评价工程的丁程量。最后,针对8021l b无线嘲线嘲卡的硬件系统结构,阐述实现此网卡驱动的过程,并对此网卡的驱动结构和相关的代码进行说明。本项目为北京市嵌入式重点实验窜项目,通过设计和开发完成的驱动程序将直接被应用于8021l b无线局域网的整个解决方案中,对任何一张802.l1b无线网卡提供USB接口驱动。关键词 Usb;Fpga;Linux;驱动目 录第1章 绪论11.1设备驱动程序研究的意义11.2USB 接口驱动研究的技术背景11.3USB设备接口的国内外现状21.4论文结构安排3第2章802.11b芯片USB IP core
5、硬件模块的功能和结构42.1USB IP core所在硬件中的位置42.2 USB IP core 功能结构42.3 本章小结5第3章 USB系统体系的结构63.1USB体系结构概述63.2USB系统的描述63.3物理接口73.4电源83.5USB总线协议93.6系统设置103.7数据流种类113.8USB设备123.9功能部件143.10USB主机:硬件和软件153.11体系结构的扩充15第4章 无线USB网卡功能简介及其应用164.1基本概述164.2分类174.3无线上网卡选购三要素204.4发展情况23第5章80211 b无线网卡USB接口驱动的设计与实现2551USB IP core
6、 FPG A验证平台接口驱动的设计与实现2552 80211b无线网卡USB接口驱动的完整实现31结 论38致 谢39参考文献40无线USB网卡电路设计与驱动研究第1章 绪论1.1设备驱动程序研究的意义驱动程序(Device Driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。 正因为这个原因,驱动程序在系统中的所占的地位十分重要,一般当操作系统安装完毕后,首要的便是安装硬件设备的驱动程序。不过,大多数情况下,我们并不需要安装所有硬件设备的驱动程
7、序,例如硬盘、显示器、光驱、键盘、鼠标等就不需要安装驱动程序,而显卡、声卡、扫描仪、摄像头、Modem等就需要安装驱动程序。另外,不同版本的操作系统对硬件设备的支持也是不同的,一般情况下版本越高所支持的硬件设备也越多,例如笔者使用了Windows XP,装好系统后一个驱动程序也不用安装。 设备驱动程序用来将硬件本身的功能告诉操作系统,完成硬件设备电子信号与操作系统及软件的高级编程语言之间的互相翻译。当操作系统需要使用某个硬件时,比如:让声卡播放音乐,它会先发送相应指令到声卡驱动程序,声卡驱动程序接收到后,马上将其翻译成声卡才能听懂的电子信号命令,从而让声卡播放音乐。所以简单的说驱动程序提供了硬
8、件到操作系统的一个接口以及协调二者之间的关系,而因为驱动程序有如此重要的作用,所以人们都称“驱动程序是硬件的灵魂”、“硬件的主宰”,同时驱动程序也被形象的称为“硬件和系统之间的桥梁”。1.2USB 接口驱动研究的技术背景本体采用以Linux位操作系统平台,进行对USB接口驱动的开发。Linux具有内核可剪,效率高,稳定性好,移植性好,源代码开放等优点,还内内涵了完整的TCP/IP网络协议栈,与传统的实时操作喜用(RTOS)相比,采用嵌入式Linux这样开放源码的操作系统的另外一个好处是,Linux开发团体的设备驱动程序要比用于商业操作系统的设备驱动程序多。因此,越来越多的公司和个人正在把Lin
9、ux作为嵌入式操作系统的首选。Linux本来就是建立在Unix上面发展出来的操作系统,因此,Linux具有与Unix系统相似的程序接口操作方式,当然也继承了Unix稳定并且有效率的特点。由于Linux是基于GPL的基础下的产物,因此任何人皆可以自由取得Linux,至于一些“安装套件”的发行者,不同于Unix需要庞大的版权费用。Linux由于支持者日众,有相当多的热心团体,个人参与其中的开发,因此,可以随时获得最新的安全信息,并给予随时的更新,亦即是具有相对的较安全。与Windows系统不同的,Linux主机上可以同时允许许多人上线来工作,并且资源的分配较为公平,可以再一部Linux主机上面规划
10、处不同等级的使用者,而且每个人使用者登入系统是的风作环境都可以不同,此外,还可以允许不同的使用者在同一个时间登入主机,以同时使用主机的资源。由于Linux系统源代码开放,在开发USB接口驱动的参考上比其他系统要多大的多,因为大量的USB接口驱动程序都是开放的源代码,在开发USB给予口驱动的过程中,还可以参考大量成熟的硬件设备的USB接口程序,同时,你也可以跟踪源代码,进入到USB软件系统内核中,还可以个性化的增加自己的调试方法,去研究USB软件系统内核,去明白USB接口系统内核的原型机制,这样对于如何提高USB接口驱动的效率非常有帮助的,使开发的速度大大提高。另外,Linux系统时开放源代码的
11、系统,在开发成本方面是非常低的,在实验室的研究过程中,由于产品的开发进度控制比较紧密,在芯片进行FPGA功能验证的时候,就要求USB驱动程序的介入,而且要较快的满足测试的需要,这对整个芯片前期的功能上的开发和验证无疑启动巨大的推动作用,所以,选用Linux作为系统平台进行USB接口驱动程序的开发和调试时非常明智的选择。1.3USB设备接口的国内外现状现如今,USB由于其优点,被国内外电子设备厂商所青睐,几乎所有能和PC挂接的设备都带有USB接口,例如数码相机,扫描仪,游戏杆,磁带盒软驱,图像设备,打印机,键盘,鼠标等等。随着科技不断的进步,当今USB接口技术在世界电子技术中变得相当普遍,于是,
12、诞生了USN数码的概念,它是集和无线技术,手机驱动,读卡器,数码相机,mp3,mp4,手机,数码相机,数码只是数码技术,数码产品,移动硬盘,数码配件,掌上电脑,PAD,电子辞典,数码学习等众多电子设备通用USB接口概念。国内外对USB接口研究,从硬件到软件,相关的文献都比较完善,比如:如何设计开发USB硬件IP core,USB软件体系的说明和解释,如何在FPGA上验证和开发USB硬件接口,等等。但是此类文件只能作为相关的参考书,在开发相关项目的时候,可以起到参考的作用,但是不能提供实际在工程碰到的问题相关的解决方案,另外,介绍如何编写USB接口设备驱动程序的书页很多,但很少从硬件性能,代码优
13、化的角度去叙述,另外,关于USB中断的描述,由于USB设备的中断比较特别,属于问答机制,先关文没有详细分析中孤单编写应该主题的问题。USB比串行通信接口要快的多,而且标准的目的就是要替代串行通信接口。并行通信接口也是USB要取代的目标,但比当今的并行通信接口要稍慢,不过USB在用户界面友好性方面优势很大。随着计算机性能的不断提高,计算机可以处理越来越大量的数据,同时计算机外围设备的功能与速度也在不断曾强,随之而来的需求便是希望USB可处理更快的数据传输速度,目前最新版本的USB2.0可以支持三个级别数据传输率:480Mb/s,12Mb/s与1.5Mb/s。对于诸如数码相机这样的设备,需要与计算
14、机有高性能的连接方式,高速的USB尤为适用。目前该版本USB控制在国也仍未被广泛适用。对于一些相对低速的设备USB1.1仍有一定的市场。但是,通用性,速度快的USB2.0接口无疑已经慢慢成为市场的主导,对于USB接口来说发展趋势来看,往高速发展肯定是必然的趋势,所以国内外的对USB接口研究的重点主要是在传输速度上的提升,而软件作为USB接口解决方案的一部分研究的重点应该放在如何提高USB硬件设备和主机的交互性能上,这样才能体现USB硬件接口的性能。1.4论文结构安排本课题的来源为实验室802.11b无线局域网解决方案,开发的USB驱动程序是针对每一张带有802.11b芯片无线网卡。基于USB接
15、口的有点以及Linux系统的优势,从实验室研发进度等各方面考虑,我们采用了基于Linux系统USB接口软件系统,开发802.11b无线网卡USB接口的驱动程序。本题为将从以下几个方面去论述,整个开发和研究的过程,展示相关的研究成果,同时,也总结相关的经验和教训,使读者从中得到一些启发。首先,第一章绪论,主要是论述课题的研究意义和技术背景,国内外发展状,第二章,论述802.11b芯片USB IP core硬件模块的功能和结构。第三章主要说明USB系统体系结构,并阐述如何控制USB硬件的过程和方法。第四章,深度剖析Linux USB软件体系的结构以及源代码的构成。第五章,如何完整的设计并实现具有网
16、卡属性的802.11b五项网卡的USB接口驱动程序。第2章802.11b芯片USB IP core硬件模块的功能和结构2.1USB IP core所在硬件中的位置本驱动程序是基于802.11b无线局域网芯片中的一个USB IP core进行开发的,也就是说硬件要具有USB2.0设备的属性,就必须带有此硬件模块,使得该芯片变成USB设备,通过该接口与USB主机完成数据通信。换句话说,驱动程序设备进行交互,实际上是驱动芯片中USB IP core进行交互,为了弄清楚USB IP core的位置,我们先来看整个USB硬件系统的组成,其设计分为两大部分,USB设备控制器部分和AHB接口部分。如图所示:
17、 AHB总线 PHY UTMI PL802.11b芯片IP core主机图2-1USB硬件系统的构成 2.2 USB IP core 功能结构USB IP core 就是USB控制器的核心逻辑PL(Protocol Layer)模块,负责管理所有USB数据I/O和控制通信,主要由协议引擎,分组组装器,分组拆装器,端点控制器等三个部分组成。协议引擎(Protocol Layer)处理所有标准的USB握手信号和控制通信。分组组装器组装分组兵送入输出FIFO先组装分组头,插入适当的PID(分组标示)和校验和,然后加入数据域。分组组装器,USB IP core的数据要跟主机进行通信的话,就必须把自己的
18、数据组装成包的形式发送出去,这要在USB host controller那边才会顺利地器解析这个包,并且得出相应的数据,USB2.0接口中,所有被传送的数据都要严格按照USB协议标准规定的格式。而这一要求正是由分组组装器模块实现的。分组拆装器主要针对包处理的,根据USB2.0标准的规定,包是USB数据通信传输的最基本通信单元。如果USB2.0设备控制器手袋的事令牌包,那么该包将提供本次数据传输事物的类型,端点号和地址的指定等;如果收到的事数据包,那么要进行数据的提取和校验操作;有些情况还要进行握手的处理。所以,如何在USB设备控制器重正确地实现对包分组拆分的功能,将是实现USB协议层面功能首要
19、解决的问题,这也是在USB设备控制器中编写分组拆装器模块的必要性。端点控制器是USB IP core的核心模块,它主要完成USB事物传输控制功能。端点控制器对于协议引擎传递过来的USB包要能进行识别和翻译。如果是数据包,则从中提取出有效数据载荷,交付存储器接口和仲载器模块处理。同时该模块要能判断出当前的传输事务是如何类型,然后根据USB事务传输机制,发送正确的USB包。如果要发送的事数据包,则通过存储器接口读取RAM缓冲中有效的数据载荷,然后组装成数据包,再交付协议引擎进行出路,这个部分是USB驱动程序跟设备主要互换的模块,也就是说,其实驱动控制的设备功能模块就是这个模块。2.3 本章小结本章
20、主要介绍USB IP core 在整个USB硬件体系中的位置,以及它的功能与结构,理解好USB IP core 的硬件体系,将使我们在理解USB软件体系如何控制硬件体系的过程中有很好的帮助,一下本恩将会去描述USB软件体系如何跟硬件进行数据上的交互的。第3章 USB系统体系的结构3.1USB体系结构概述本章主要内容是关于USB的概述和一些关键的概念。USB是一种电缆总线,支持在主机和各式各样的即插即用的外设之间进行数据传输。由主机预定的标准的协议使各种设备分享USB带宽,当其它设备和主机在运行时,总线允许添加、设置、使用以及拆除外设。3.2USB系统的描述 一个USB系统主要被定义为三个部分:
21、 USB的互连; USB的设备; USB的主机。 USB的互连是指USB设备与主机之间进行连接和通信的操作,主要包括以下几方面: 总线的拓扑结构:USB设备与主机之间的各种连接方式; 内部层次关系:根据性能叠置,USB的任务被分配到系统的每一个层次; 数据流模式:描述了数据在系统中通过USB从产生方到使用方的流动方式; USB的调度:USB提供了一个共享的连接。对可以使用的连接进行了调度以支持同步数据传输,并且避免的优先级判别的开销。 USB的设备及主机的细节将讲述于后。3.2.1总线布局技术 USB连接了USB设备和USB主机,USB的物理连接是有层次性的星型结构。每个网络集线器是在星型的中
22、心,每条线段是点点连接。从主机到集线器或其功能部件,或从集线器到集线器或其功能部件,从图3_2_2中可看出USB的拓扑结构。3.2.2 USB的主机 在任何USB系统中,只有一个主机。USB和主机系统的接口称作主机控制器,主机控图3-1 总线的拓扑结构制器可由硬件、固件和软件综合实现。根集线器是由主机系统整合的,用以提供更多的连接点。3.2.3 USB的设备 USB的设备如下所示: 网络集线器,向USB提供了更多的连接点; 功能器件:为系统提供具体功能,如ISDN的连接,数字的游戏杆或扬声器。 USB设备提供的USB标准接口的主要依据: 对USB协议的运用; 对标准USB操作的反馈,如设置和复
23、位; 标准性能的描述性信息;3.3物理接口3.3.1电气特性 USB传送信号和电源是通过一种四线的电缆,图3_3_1中的两根线是用于发送信号。存在两种数据传输率:图3-2USB 的电缆USB的高速信号的比特率定为12Mbps;低速信号传送的模式定为1.5Mbps; 低速模式需要更少的EMI保护。两种模式可在用同一USB总线传输的情况下自动地动态切换。因为过多的低速模式的使用将降低总线的利用率,所以该模式只支持有限个低带宽的设备(如鼠标)。时钟被调制后与差分数据一同被传送出去,时钟信号被转换成NRZI码,并填充了比特以保证转换的连续性,每一数据包中附有同步信号以使得收方可还原出原时钟信号。 电缆
24、中包括VBUS?、GND二条线,向设备提供电源 。VBUS?使用+5V电源。USB对电缆长度的要求很宽,最长可为几米。通过选择合适的导线长度以匹配指定的IR drop和其它一些特性,如设备能源预算和电缆适应度。为了保证足够的输入电压和终端阻抗。重要的终端设备应位于电缆的尾部。在每个端口都可检测终端是否连接或分离,并区分出高速,或低速设备。3.3.2 机械特性 所有设备都有一个上行的连接。上行连接器和下行连接器是不可简单的互换,这样就避免了集线器间的非法的循环往复的连接,电缆中有四根导线:一对互相缠绕的标准规格线,一对符合标准的电源线,连接器有四个方向,具有屏蔽层,以避免外界干扰,并有易拆装的特
25、性。3.4电源 主要包括两方面: 电源分配:即USB的设备如何通过USB分配得到由主计算机提供的能源; 电源管理:即通过电源管理系统,USB的系统软件和设备如何与主机协调工作。 每个USB单元通过电缆只能提供有限的能源。主机对那种直接相连的USB设备提供电源供其使用。并且每个USB设备都可能有自己的电源。那些完全依靠电缆提供能源的设备称作“总线供能”设备。相反,那些可选择能源来源的设备称作“自供电”设备。而且,集线器也可由与之相连的USB设备提供电源。在图3_3_2_1(位于3.8)中,键盘,输入笔和鼠标均为“总线供能”设备。3.4.1 电源管理 USB主机与USB系统有相互独立的电源管理系统
26、。USB的系统软件可以与主机的能源管理系统结合共同处理各种电源子件如挂起、唤醒,并且有特色的是,USB设备应用特有的电源管理特性,可让系统软件和控制其电源管理。 USB的电源分配和电源管理特性使之可以被设计在电源传感系统中,如采用电池的笔记本电脑。3.5USB总线协议 USB总线属一种轮讯方式的总线,主机控制端口初始化所有的数据传输。 每一总线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次传送开始时,主机控制器发送一个描述传输运作的种类、方向,USB设备地址和终端号的USB数据包,这个数据包通常称为标志包(token packet)。USB设备从解码后的数据包的适当位置取出属于自己
27、的数据。数据传输方向不是从主机到设备就是从设备到主机。在传输开始时,由标志包来标志数据的传输方向,然后发送端开始发送包含信息的数据包或表明没有数据传送。接收端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间的USB数据传输,在主机和设备的端口之间,可视为一个通道。存在两种类型的通道:流和消息。流的数据不像消息的数据,它没有USB所定义的结构,而且通道与数据带宽、传送服务类型,端口特性(如方向和缓冲区大小)有关。多数通道在USB设备设置完成后即存在。USB中有一个特殊的通道缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。 事
28、务预处理允许对一些数据流的通道进行控制,从而在硬件级上防止了对缓冲区的高估或低估,通过发送不确认握手信号从而阻塞了数据的传输速度。当不确认信号发过后,若总线有空闲,数据传输将再做一次。这种流控制机制允许灵活的任务安排,可使不同性质的流通道同时正常工作,这样多种流通常可在不同间隔进行工作,传送不同大小的数据包。健壮性 USB健壮性的特征在于: 使用差分的驱动接收和防护,以保证信号完整性; 在数据和控制信息上加了循环冗余码(CRC); 对装卸的检测和系统级资源的设置; 对丢失或损坏的数据包暂停传输、利用协议自我恢复; 对流数据进行控制,以保证同步信号和硬件缓冲管理的安全; 数据和控制通道的建立,使
29、功能部件的相互不利的影响独立开,消除了负作用。3.5.1 错误检测 USB传输介质产生的错误率是与自然界的异常现象的概率相吻合,是瞬时一现的,因此就要在每个数据包中加入检测位来发现这些瞬时的错误,并且提供了一系列硬件和软件设施来保证数据的正确性。 协议中对每个包中的控制和数据位都提供了循环冗余码校验,若出现了循环冗余码的错误则被认为是该数据包已被损坏,循环冗余码可对一位或两位的错误进行100%的修复。3.5.2 错误处理 协议在硬件或软件级上提供对错误的处理。硬件的错误处理包括汇报并重新进行上一次失败的传输、传输中若遇到错误,USB主机控制器将重新进行传输,最多可再进行三次。若错误依然存在,则
30、对客户端软件报告错误,客户端软件可用一种特定的方法进行处理。3.6系统设置 USB设备可以随时的安装和折卸,因此,系统软件在物理的总线布局上必须支持这种动态变化。 所有的USB设备都是通过端口接在USB上,网络集线器知道这些指定的USB设备,集线器有一个状态指示器指明在其某个端口上,USB设备是否被安装或拆除了,主机将所有的集线器排成队列以取回其状态指示。在USB设备安装后,主机通过设备控制通道激活该端口并以预设的地址值给USB设备。 主机对每个设备指定唯一的USB地址。并检测这种新装的USB设备是集线器还是功能部件。主机为USB设备建立了控制通道,使用指定的USB的地址和零号端口。 如果安装
31、的USB设备是集线器,并且USB设备连在其端口上,那上述过程对每个USB设备的安装都要做一遍。 如果安装的设备是功能部件,那么主机中关于该设备的软件将因设备的连接而被引发。 当USB设备从集线器的端口拆除后,集线器关闭该端口,并且向主机报告该设备已不存在。USB的系统软件将准确进行处理,如果去除的USB设备上集线器,USB的系统软件将对集线器反连在其上的所有设备进行处理。 总线标号就是对连接在总线上的设备指定唯一的地址的一种动作,因为USB允许USB设备在任何时刻从USB上安装或拆卸,所以总线标号是USB的系统软件始终要作的动作,而且总线标号还包括对拆除设备的检测和处理。3.7数据流种类 数据
32、和控制信号在主机和USB设备间的交换存在两种通道:单向和双向。USB的数据传送是在主机软件和一个USB设备的指定端口之间。这种主机软件和USB设备的端口间的联系称作通道。总的来说,各通道之间的数据流动是相互独立的。一个指定的USB设备可有许多通道。例如,一个USB设备存在一个端口,可建立一个向其它USB设备的端口,发送数据的通道,它可建立一个从其它USB设备的端口接收数据的通道。USB的结构包含四种基本的数据传输类型:控制数据传送:在设备连接时用来对设备进行设置,还可对指定设备进行控制,如通道控制; 批量数据传送:大批量产生并使用的数据,在传输约束下,具有很广的动态范围; 中断数据的传送:用来
33、描述或匹配人的感觉或对特征反应的回馈。 同步数据的传送:由预先确定的传送延迟来填满预定的USB带宽。3.7.1 控制数据传送 当USB设备初次安装时,USB系统软件使用控制数据对设备进行设置,设备驱动程序通过特定的方式使用控制数据来传送,数据传送是无损性的。3.7.2 批量数据传送 批量数据是由大量的数据组成,如使用打印机和扫描仪时,批量数据是连续的。在硬件级上可使用错误检测可以保证可靠的数据传输,并在硬件级上引入了数据的多次传送。此外根据其它一些总线动作,被大量数据占用的带宽可以相应的进行改变。3.7.3 中断数据传输 中断数据是少量的,且其数据延迟时间也是有限范围的。这种数据可由设备在任何
34、时刻发送,并且以不慢于设备指定的速度在USB上传送。 中断数据一般由事件通告,特征及座标号组成,只有一个或几个字节。匹配定点设备的座标即为一例,虽然精确指定的传输率不必要,但USB必须对交互数据提供一个反应时间的最低界限。3.7.4 同步传输 同步数据的建立、传送和使用时是连续且实时的,同步数据是以稳定的速率发送和接收实时的信息,同步数据要使接收者与发送者保持相同的时间安排,除了传输速率,同步数据对传送延迟非常敏感。所以同步通道的带宽的确定,必须满足对相关功能部件的取样特性。不可避免的信号延迟与每个端口的可用缓冲区数有关。 一个典型的同步数据的例子是语音,如果数据流的传送率不能保持,数据流是否
35、丢失将取决于缓冲区的大小和损坏的程度。即使数据在USB硬件上以合适的速率传送,软件造成的传送延迟将对那些如电话会议等实时系统的应用造成损害。 实时的传送同步数据肯定会发生潜在瞬时的数据流丢失现象,换句话说,即使许多硬件机制,如重传的引入也不能避免错误的产生。实际应用中,USB的数据出错率小到几乎可以忽略不计。从USB的带宽中,给USB同步数据流分配了专有的一部分以满足所想得到的传速率,USB还为同步数据的传送设计了最少延迟时间。3.7.5 指定USB带宽 USB的带宽分配给各个通道,当一个通道建立后,USB就分配给它一定的带宽,USB设备需要提供一些数据缓冲区。若USB提供了更多带宽,则需更多
36、的缓冲区。USB的体系要保证缓冲引导的硬件的延迟限定在几毫秒内。USB的带宽容量可以容纳多种不同的数据流,因此保证USB上可以连接大量设备,如可以容纳从1B+D直到T1速率范围的电信设备。同时USB支持在同一时刻不同设备具有不同比特率,并具有一个动态变动的范围。 USB规范对总线的每类转输规定的具体的原则。3.8USB设备 USB设备分为诸如集线器、分配器或文本设备等种类。集线器类指的是一种提供USB连接点的设备(详见第十章),USB设备需要提供自检和属性设置的信息,USB设备必须在任何时刻执行与所定义的USB设备的状态相一致的动态。3.8.1 设备特性 当设备被连接、编号后,该设备就拥有一个
37、唯一的USB地址。设备就是通过该USB地址被操作的,每一个USB设备通过一个或多个通道与主机通讯。所有USB设备必须在零号端口上有一指定的通道,每个USB设备的USB控制通道将与之相连。通过此控制通道,所有的USB设备都列入一个共同的准入机制,以获得控制操作的信息。 在零号端口上,控制通道中的信息应完整的描述USB设备、此类信息主要有以下几类: 标准信息:这类信息是对所有USB设备的共同性的定义,包括一些如厂商识别、设备种类、电源管理等的项目。设备设置、接口及终端的描述在此给出。关于这些具体的描述信息在第九章给出; 类别信息:此类信息给出了不同USB的设备类的定义,主要反映其不同点。 USB厂
38、商信息:USB设备的厂商可自由的提供各种有关信息,其格式不受该规范制约。此外,每个USB设备均提供USB的控制和状态信息。3.8.2 设备描述 主要分为两种设备类:集线器和功能部件。只有集线器可以提供更多的USB的连接点,功能部件为主机提供了具体的功能。3.8.3 集线器在即插即用的USB的结构体系中,集线器是一种重要设备。图3_8_2_1所示是图3-3 典型集线器一种典型的集线器。从用户的观点出发,集线器极大简化了USB的互连复杂性,而且以很低的价格和高易用性提供了设备的健壮性。 集线器串接在集中器上,可让不同性质的设备连接在USB上,连接点称作端口。每个集线器将一个连接点转化成许多的连接点
39、。并且该体系结构支持多个集线器的连接。 每个集线器的上游端口向主机方向进行连接。每个集线器的下游端口允许连接另外的集线器或功能部件,集线器可检测每个下游端口的设备的安装或拆卸,并可对下游端口的设备分配能源,每个下游端口都具有独立的能力,不论高速或低速设备均可连接。集线器可将低速和高速端口的信号分开。 一个集线器包括两部分:集线控制器(Controller)和集线放大器(Repeater)。集线放大器是一种在上游端口和下游端口之间的协议控制开关。而且硬件上支持复位、挂起、唤醒的信号。集线控制器提供了接口寄存器用于与主机之间的通信、集线器允许主机对其特定状态和控制命令进行设置,并监视和控制其端口。
40、3.9功能部件 功能部件是一种通过总线进行发送接收数据和控制信息的USB设备,通过一根电缆连接在集线器的某个端口上,功能设备一般是一种相互无关的外设。然而一个物理单元中可以有多个功能部件和一个内置集线器,并利用一根USB电缆,这通常被称为复合设备,即一个集线器连向主机,并有一个或多个不可拆卸的USB设备连在其上。 每个功能设备都包含设置信息,来描述该设备的性能和所需资源。主机要在功能部件图3-4 台式机环境下的 集线器使用前对其进行设置。设置信息包括USB带宽分配,选择设备的设置信息等。 下机列举了一些功能部件: 定位设备:如鼠标或光笔; 输入设备:如键盘; 电信适配器:如ISDN。3.10U
41、SB主机:硬件和软件 USB的主机通过主机控制器与USB设备进行交互。主机功能如下: 检测USB设备的安装和拆卸 管理在主机和USB设备之间的控制流; 管理在主机和USB设备之间的数据流; 收集状态和动作信息; 提供能量给连接的USB设备。 主机上USB的系统软件管理USB设备和主机上该设备软件之间的相互交互,USB系统软件与设备软件间有三种相互作用方式: 设备编号和设置; 同步数据传输; 异步数据传输; 电源管理 设备和总线管理信息。 只要可能,USB系统软件就会使用目前的主机软件接口来管理上述几种方式。3.11体系结构的扩充 USB的体系结构包含主机控制驱动器和USB驱动器之间的接口的扩展
42、,使多个主机控制器和主机控制驱动器的使用成为可能。第4章 无线USB网卡功能简介及其应用4.1基本概述无线网卡和无线上网卡外观很象,但功用却大不一样。通过这一比较可见,二者虽然都可以实现无线上网功能,但其实现的方式和途径却大相径庭。所有无线网卡只能局限在已布有无线局域网的范围内。如果要在无线局域网覆盖的范围以外,也就是通过无线广域网实现无线上网功能,电脑就要在拥有无线网卡的基础上,同时配置无线上网卡。 由于手机信号覆盖的地方远远大于无线局域网的环境,所有无线上网卡大大减少了对地域方面的依赖,对广大个人用户而言更加方便适用。所以说,无线网卡和无线上网卡虽然都能实现无线功能,但实现的方式和途径是完
43、全不同的。 无线网卡主要应用在无线局域网内用于局域网连接,要有无线路由或无线AP这样的接入设备才可以使用,而无线上网卡就象普通的56K MODEM一样用在手机信号可以覆盖的任何地方进行Internet接入,新手要注意区别。 无线网卡的作用、功能跟普通电脑网卡一样,是用来连接到局域网上的。它只是一个信号收发的设备,只有在找到上互联网的出口时才能实现与互联网的连接,所有无线网卡只能局限在已布有无线局域网的范围内。无线网卡就是不通过有线连接,采用无线信号进行连接的网卡。无线网卡根据接口不同,主要有PCMCIA无线网卡、PCI无线网卡、MiniPCI无线网卡、USB无线网卡、CF/SD无线网卡几类产品
44、。 从速度来看,无线上网卡现在主流的速率为54M和108M,该性能和环境有很大的关系。 54Mbps:其WLAN传输速度一般在16-30Mbps之间,换算成MB也就是每秒传输速度在2MB-4MB左右。取其中间值3MB,这样的速度要传输100MB的文件需要35秒左右,要传输1GB的文件,则需要至少4分钟以上。 108Mbps:其WLAN传输速度一般在24-50Mbps之间,换算成MB也就是每秒传输速度在3MB-6MB左右。取其中间值4.5MB,这样的速度要传输100MB的文件需要25秒左右,要传输1GB的文件,则需要至少2分半钟以上。 无线网卡就是不通过有线连接,采用无线信号进行连接的网卡。 无
45、线上网卡:无线上网卡的作用、功能相当于有线的调制解调器,也就是我们俗称的“猫”。它可以在拥有无线电话信号覆盖的任何地方,利用手机的SIM卡来连接到互联网上。其常见的接口类型也有PCMCIA、USB、CF/SD等接口类型。 无线上网卡主要分为SPRS和CDMA两种。其速度也会受到墙壁等各种障碍物,其它无线信号如手机、微波炉等的干扰。 GPRS的实际速度:基本和56Kbps的Modem速度持平。 CDMA的实际速度:达到153.6Kbps,是家里电话线上网的四倍左右。 无线网络,就是利用无线电波作为信息传输的媒介构成的无线局域网(WLAN),与有线网络的用途十分类似,最大的不同在于传输媒介的不同,
46、利用无线电技术取代网线,可以和有线网络互为备份,只可惜速度太慢。 4.2分类无线网卡按照接口的不同可以分为多种: 图4-1磊科NW336 USB无线上网卡 一种是台式机专用的PCI接口无线网卡一种是笔记本电脑专用的PCMCIA接口网卡。 一种是无线USB网卡,这种网卡不管是台式机用户还是笔记本用户,只要安装了驱动程序,都可以使用。在选择时要注意的只有采用USB2.0接口的无线网卡才能满足8.02.11g或802.11g+的需求。USB无线网卡除此以外,还有笔记本电脑中应用比较广泛的MINI-PCI无线网卡。MINI-PCI为内置型无线网卡,迅驰机型和非迅驰的无线网卡标配机型均使用这种无线网卡。其优点是无需占用PC卡或USB插槽,并且免去了随时身携一张PC卡或USB卡的麻烦。目前这几种无线网卡在价格上差距不大,在性能/功能上也差不多,按需而选即可。 4.2.1