(计算机系统结构专业论文)蓝牙局域网访问点中usb系统的研究.pdf_第1页
(计算机系统结构专业论文)蓝牙局域网访问点中usb系统的研究.pdf_第2页
(计算机系统结构专业论文)蓝牙局域网访问点中usb系统的研究.pdf_第3页
(计算机系统结构专业论文)蓝牙局域网访问点中usb系统的研究.pdf_第4页
(计算机系统结构专业论文)蓝牙局域网访问点中usb系统的研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机系统结构专业论文)蓝牙局域网访问点中usb系统的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 l 通用串行总线( u s b ) 是一种接口总线,它支持一个u s b 主机和多个中、低速 u s b 设备之间的数据交换,其主要优点是即插即用、可扩展性好、功耗低、廉价。 由于u s b 总线系统以u s b 主机为中心,而u s b 主机的软硬件比较复杂,所以u s b 技术主要在p c 领域应用。考虑到u s b 总线的突出优点,为嵌入式系统赋予u s b l 主机能力,从而将u s b 总线应用于嵌入式系统,具有积极的意义。心 u s b 接口技术与传统的接口技术有很大的区别,u s b 总线是一种串行总线,它 结合了计算机网络和p c i 总线的部分特点但又有自己的特色。u s b 系统中只能有一 个u s b 主机,u s b 的数据通信协议是主从式的协议,所有和外设的数据交换都由 u s b 主机发起。驱动软件与设备的通信不是通过读写端口而是通过软件编程接口来 实现。 u s b 系统采用数据分组进行数据通信,u s b 系统的数据分组排队等待主机处理, 是一个典型的单服务机构的排队系统,u s b 数据分组的到达服从泊松分布,适用 m g 1 排队模型,该模型可以给出u s b 系统的数据分组队列长度和通信时延的计算 公式。通过改进u s b 主机控制器驱动程序的数据分组处理方式,使u s b 系统符合 性能优于m g 1 的m m 1 排队模型,从而提高u s b 系统效率。 基于u c l i n u x 嵌入式操作系统和s l s l1 h s 嵌入式u s b 主机控制器硬件,在蓝牙 局域网访问点中实现了嵌入式u s b 主机弪过实际测试,该嵌入式u s b 主机符合 u s b 规范,可以与u s b 设备连接通信。、) 关键讯通用串行总线矗机控制器、排队系缘内毁驱动程序 华中科技大学硕士学位论文 a b s t r a c t u n i v e r s a ls e r i a lb u si su s e df o ri n t e r f a c e i ts u p p o r t st h ed a t ae x c h a n g eb e t w e e na u s bh o s ta n d m u l t i p l em i d d l e o rl o w s p e e du s b d e v i c e s i th a sal o to f a d v a n t a g e s ,s u c h a sp l u g & p l a y , s c a l a b l e ,l o w p o w e rc o n s u m p t i o na n dl o wc o s t u s bi sm a i n l yu s e di n p cb e c a u s eu s bh o s ti st h ec e n t e ro fau s b s y s t e mb u ti t sh a r d w a r ea n ds o f t w a r ea r e c o m p l e x i ti sm e a n i n g f u lt ou s eu s bf o re m b e d e ds y s t e mb e c a u s et h ea d v a n t a g e so f u s b u s bi s v e r yd i f f e r e n tf r o mt r a d i t i o n a li n t e r f a c et e c h n o l o g i e s i tc o m b i n e ss o m e a d v a n t a g e so fc o m p u t e rn e t w o r ka n dp c ib u s i nau s bs y s t e mt h e r ei sj u s to n eu s b h o s ta n da l ld a t at r a n s f e r sa r ei n i t i a l i z e db yt h eh o s t i nt h ed a t ac o m m u n i c a t i o n p r o t o c o l u s bh e s ti sm a s t e ra n du s bf u n c t i o nd e v i c e sa r es l a v e s t h ed a t ac o m m u n i c a t i o nf l o w s b e t w e e nh o s ta n dd e v i c e sa c o m p o s e do fp a c k e t s c o m m u n i c a t i o ni sn o tt h r o u g h r e a d i n g o rw r i t i n gp o r t so f d e v i c e sb u t b y s o f t w a r e p r o g r a m m i n g i n t e r f a c e d a t a p a c k e t i su s e di nu s b s y s t e m d a t ap a c k e t sq u e u ea n dw a i tt ob ep r o c e s s e db y u s bh o s t i ti sat y p i c a ls i n g l es e l v e rq u e n d n gs y s t e m t h e q u e n e i n gs y s t e m i ss u i t e df o r m m 1m o d e l q u e u el e n g t ha n d d e l a y c a nb ec a l c u l a t e df r o mt h em o d e l m o d i f i e du s b h o s tc o n t r o l l e rd r i v e rc a ni m p r o v et h ee f f i c i e n c yo f u s bs y s t e m e m b e d e du s bh o s ti si m p l e m e n t e di nb l u e t o o t hl a na c c e s sp o i n tb a s e du c l i n u x a n ds l 8 11 h sh o s tc o n t r o l l e r t e s tm a n i f e s tt h a tt h ee m b e d e du s bh o s ti sc o m p a t i b l e w i t hu s b s p e c i f i c a t i o n k e y w o r d s :u n i v e r s a l s e r i a lb u s ,h o s tc o n t r o l l e r ,q u e u e i n gs y s t e m ,k e m e l ,d r i v e r s 华中科技大学硕士学位论文 1 1 课题背景 1 绪论 本课题来源于华中科技大学计算机学院多媒体网络实验室和新加坡维用科技公 司合作的开发项目,该合作项目主要进行蓝牙技术【”应用的研究。本课题的研究项 目是蓝牙局域网访问点( l a n a c c e s s - p o i n t ,简称l a p ) 2 , 3 1 的研发。本人在该项目 中承担蓝牙局域网访问点的u s b 子系统的软件开发工作,因此本人结合该项目对蓝 牙l a p 中的u s b 系统做了深入的研究。 传统的计算机外部设备一般都是使用并口( p a r a l l e lp o r t ) 和串口( s e r i a lp o r t ) 与计算机相连,如并口打印机、串口的调制解调器等。传统的计算机并口被称作是 c e n t r o n i c 接口,主要用于打印机,该接口的速度约1 2 5 k b s ,随着可以打印高清晰 图片的喷墨打印机和激光打印机的出现,打印机对数据传输速率要求越来越高,为 解决这个问题,相关厂商和组织定义了新的协议,其接口标准为e p p ( e n h a n c e d p a r a l l e lp o r t ,增强型并口) ,在8 n i h z 的a t 总线的电脑上,e p p 主适配器的传输 数据速度可以达到1 5 m b s 。而p c 的串口采用r s - - 2 3 2 串行通讯标准,适用于设 备之间的通讯距离不大于1 5 米、传输速率最高为11 5 k b s 2 3 0 k b s 的场合f 4 】。由 此可以看出:并口的速度快于串口,但是并口协议比较复杂,开发比较困难,而串 口的主要优点则是开发方便,几乎所有的硬件开发人员都能很容易地使用串口实现 设备与计算机间的通讯。 一方面串口和并口各有其优缺点,另一方厩它们有一个共同的缺点,那就是系 统中的串口和并口都只有很少的几个,可扩展性差。由于这些原因,相关厂商推出 了一些新型的接口总线协议以适应当前计算机和设备的需要。从2 0 世纪9 0 年代以 来有很多串行总线问世,其中最成功的便是以i n t e l 为首的七家公司于1 9 9 4 年推出 的u s b ( u n i v e r s a ls e r i a lb u s ,通用串行总线) 【5 i 协议,以及美国电气和电子工程 师协会i e e e 推出的i e e e l 3 9 4 。i e e e l 3 9 4 又称f i r ew i r e ,它的主要特点是高速, 华中科技大学硕士学位论文 可达4 0 0 m b p s ,但是它的成本很高,所以目前i e e e l 3 9 4 只被用于数字化家庭影院 系统以及一些对数据传输速度要求很高的计算机外部设备6 7 1 ,而不能普遍用于诸如 鼠标、键盘等价格较低、速度要求也不高的设备。而u s b 具有速度高、成本低、功 耗低、支持即插即用( p l u g p l a y ) 和使用维护方便等优点【引,在得到主流操作系 统支持以后迅速地成为计算机低、中速外部设备的主流接口。 正是由于u s b 接口技术的诸多优点,在蓝牙规范中把u s b 接口作为一种主要 的与蓝牙主机的接口,蓝牙硬件模块本身就是一个u s b 接口的外部设备:蓝牙硬件 模块的另一种接口是串口,但是要想充分地利用蓝牙技术的最大带宽就必须使用 u s b 接口。我们研制的蓝牙局域网访问点本身是一个嵌入式系统,考虑到蓝牙局域 网访问点同时为多个蓝牙设备提供接入服务,必须利用蓝牙的全部带宽,因而要采 用u s b 技术与蓝牙硬件模块相连,因此蓝牙局域网访问点必须具有u s b 主机功能。 1 2 国内外研究概况 u s b 是一种计算机接口总线技术,其目标在于极大地简化中、低速外部设备与 计算机的连接从而方便地扩充计算机系统的功能。u s b 规范推出以后,为了对u s b 规范没有明确规定的主机控制器标准化以减少不兼容性,i n t e l 公司又推出了u h c i 接口规范【9 】 c o m p a q 等公司推出了o h c i 接口规范【l 0 】,于是主要的操作系统陆续地 都开始支持u s b ,u s b 应用环境开始成熟,很多的计算机外部设备和消费电子产品 都采用了u s b 接口,如u s b 移动存储器、u s b 接口的a d s l 调制解调器、u s b 数 码相机等。u s b 以其简便、快速、扩展性好迅速成为p c 领域流行的接口技术。 虽然u s b 技术得到广泛的应用,但是目前采用u s b 技术的产品都是基于p c 的, u s b 系统的主机都是p c 实际上在嵌入式系统中也非常需要方便、快速地把外部 设备接入到系统中以扩展嵌入式系统的功能,但是因为嵌入式系统普遍缺乏对u s b 主机控制器的支持,不能做u s b 主机,所以u s b 接口尚未在嵌入式领域大显身手。 目前国外的c y p r e s s 、飞利浦等公司研制了一系列的针对嵌入式系统的u s b 主机 控制器芯片1 。利用这些硬件,国内的清华大学m o t o r o l a 单片机与数字信号处理器 应用开发研究中心在进行嵌入式系统中的u s b 技术研究。 2 华中科技大学硕士学位论文 1 3 课题主要研究工作 本课题结合蓝牙局域网访问点的研究与开发,主要对嵌入式u s b 系统软件的设 计与实现中的若干关键技术进行了深入的研究,主要包括对u s b 系统的研究、嵌入 式系统软件开发技术等。具体研究工作为: 1 深入研究了u s b 总线规范,包括u s b 体系结构、u s b 数据流模型、u s b 总 线协议、u s b 设备结构、u s b 主机的硬件与软件等: 2 针对u s b 系统数据分组的排队处理,对几种排队模型进行了分析,研究了排 队系统的各项参数对性能的影响,指出了提高u s b 软件性能的途径; 3 深入研究了嵌入式系统的开发技术,尤其是嵌入式操作系统u c l i n u x 的内核 和驱动程序设计技术,提出了u c l i n u x 的u s b 主机控制器的驱动程序设计方案,按 照该方案编写了u s b 主机控制器的驱动程序,实践证明该方案达到了目标; 4 深入研究了l i n u x 平台的u s b 设备驱动程序开发技术,设计并实现了l i n u x 平台的u s b 蓝牙硬件模块的驱动程序,并将其移植到u c l i n u x 平台上。 华中科技大学硕士学位论文 = = = = = = = = = ;= = = = = = = = = = = = = = = = = = = = = = 一= 2 1u s b 的体系结构 2u s b 系统研究 u s b 总线作为一种计算机接口技术,它借鉴了p c i 总线技术、计算机网络技术, 并按照需求做了简化。u s b 是一种电缆总线,支持在主机和各式各样的即插即用的 u s b 外设之间进行数据传输。由主机预定的标准的协议使各种设备分享u s b 带宽, 当其它设备和主机在运行时,总线允许添加、设置、使用以及拆除外设【1 2 1 。u s b 总 线的拓扑结构如图2 1 所示。 圈2 10 s 8 总线的拓扑结构 3 t i e r 4 由图2 1 可见,一个u s b 系统由三个基本元素【1 3 t 1 i 1 s 1 组成:主机( h o s t ) 、u s b 集线器( h u b ) 和u s b 功能设备( n o d e ) 。u s b 总线是一个分层树形结构,每一 个h u b 为一个星形结构的中i i , ,以主机为根节点。逐层扩展为一裸树1 6 】。 华中科技大学硕士学位论文 u s b 主梳可以为一台p c ,也可以为一个嵌入式单板机或单片机甚至是s o c ( s y s t e mo nc h i p ,片上系统) ,在任何u s b 系统中,只可以有一个u s b 主机, u s b 总线与u s b 主机系统的接阴称为u s b 主机控制器,u s b 主机控制器可以由硬 件、固件和软件综合实现,根集线器( r o o t h u b ) 是由生机系统整会的用来提供 更多的连接点。按照u s b 规范l 。l 版本,通过集线器扩展,一个u s b 童执最多可 以控制t 2 7 个u s b 孙设,但是每一个全速u s b 於设与蔓捉之间的瞧缆总长不德超 进5 米,中阏最多允谗缎过5 个嶷线撄。 u s b 设签包括u s b 集线器秘u s b 功戆设冬,u s b 集线嚣罴予为u s 8 系统鬟供 更多鼢述接纛,褥u s b 动筑设餐裘是各箨各样懿兵有u s b 按醴韵舞设,焉予离主 桃系统撬供燹多鹃功髓,鲡u s b 接秘的a d s l 调制解谲器、u s b 移动存储器等。 飙逻辑鬣次上来看,u s b 主税和u s b 功能设备的软硬件体系结构如阐2 2 所示。 簦2 ,2 蝴较聚饽婊系缝擒撼誊 从逻辑上看,u s b 可分为三个功能层,分别为u s b 总线接口层、u s b 设备层 华中科技大学硕士学位论文 和u s b 功能层。与这三层对应,u s b 主机侧有u s b 主机控制器、u s b 系统软件和 u s b 设备特定的客户软件( u s b 设备驱动程序) 。而u s b 设备侧则是u s b 总线接 口、u s b 逻辑设备和功能设备( 通常是整合在一起的) 。u s b 主机控制器与u s b 设备接口之间有物理的连接和实际的数据流:在u s b 系统软件和u s b 逻辑设备之 间有着逻辑的通信流,进行u s b 设备的配置等工作;在u s b 客户软件和u s b 设备 的功能层之间则是主机与外设之间交换有效数据的逻辑连接。 所有的u s b 设备必须符合u s b 规范的要求,按照u s b 的数据通信协议与u s b 系统进行数据交换。 每个u s b 单元通过电缆只能取得有限的电源,主机对那种直接相连的u s b 设 备提供电源供其使用,每个u s b 设备都可能有自己的电源。那些完全依靠电缆提供 能源的设备称作“总线供电”设备,相反,那些可选择电源的设备称作“自供电” 设备。而且,集线器也可由与之相连的u s b 设备提供电源。 u s b 主机与u s b 系统有相互独立的电源管理系统。u s b 的系统软件可以与主 机的电源管理系统结合共同处理各种电源事件如挂起、唤醒,并且u s b 设备具有特 有的电源管理特性,可让系统软件控制其电源管理。 u s b 总线属于一种轮询方式的总线,u s b 主机控制器启动所有的数据传输。每 一次总线交互最多传送三个数据分组。按照传输前制定好的原则,在每次传送开始 时,主机控制器发送一个描述交互的种类、方向、u s b 设备地址和端点号的u s b 数据分组,这个数据分组通常称为令牌分组( t o k e np a c k e o 。u s b 设备从解码后的数 据分组的适当位置取出属于自己的数据。数据传输方向不是从主机到设备就是从设 备到主机,设备之间不能互相通信。在传输开始时,由令牌分组来指示数据的传输 方向,然后发送端开始发送包含信息的数据分组传送数据或者发送握手分组表明没 有数据传送。接收端也要相应发送一个握手数据分组表明是否传送成功。在主机和 设备的端点之间的u s b 数据传输可视为一个管道( p i p e ) 。存在两种类型的管道: 流管道和消息管道。流管道的数据没有u s b 所定义的结构,但是消息管道的数据却 要符合规定的结构。管道还与数据带宽、传送服务类型,端口特性( 如方向和缓冲 区大小) 相联系。u s b 中有一个特殊的管道默认控制管道,它属于消息管道, 当设备一上电即存在,从而为设备的配置、查询状况和输入控制信息提供一个入口。 6 华中科技大学硕士学位论文 其他管道在u s b 设备配置完成后才可以使用。 2 2u s b 的数据流模型 u s b 系统中,当u s b 设备物理地连接到u s b 总线上之后,u s b 主机和u s b 逻辑设备之间就形成星形拓扑结构,u s b 主机和每一个u s b 逻辑设备之间就像直 接连接着一样。但是u s b 主机侧的客户软件和u s b 功能设备之间则是一一对应的 关系。虽然主机是被所有的u s b 设备共享的,但是在客户软件操作u s b 设备时却 无须关心这一点,只需要通过u s b 系统软件提供的软件编程接口,这种机制极大地 降低了客户软件( u s b 设备驱动程序) 的复杂程度。 u s b 为主机上的客户软件和该软件对应的u s b 功能设备之间提供了通信服务。 图2 3 是u s b 通信流的示意图。 回 i n t e r f a c e 图2 3u s a 数据流模型 主机上的客户软件通过一系列的通信流来与一个逻辑设备进行通信。一个逻辑 设备包含一系列的端点,一组端点组成一个接口,该接口与一个功能设备相对应。 在客户软件的缓冲区和其所对应的端点之间形成一个管道。通信流就在管道之中进 行【1 7 ,1 8 】。 端点是一个u s b 设各唯一可以识别的部分,它是主机与设备间通信流终点。一 7 华中科技大学硕士学位论文 系列相互独立的端点在一起构成了一个u s b 逻辑设备。软件只能通过端点与u s b 设备通信。每个逻辑设备有一个唯一的地址,这个地址是在设备连上主机时由主机 分配的,而设备中的每个端点在设备内部有唯一的端点号。这个端点号是在设备设 计时就被决定的a 每个端点都是一个简单的连接点,或者支持数据流进设备,或者 支持其流出设备。 所有u s b 设备都有一个端点0 ,用于对设备进行配置与控制。一旦设备接入u s b 总线并加电,且又收到一个总线复位命令,端点0 就是可访问的了。而端点号不为 0 的端点在被配置前处于未知状态,是不能被主机访问的。 u s b 设备可以有除0 以外的其它端点,这取决于这些设备的实现。低速设备在 0 号端点外,最多可有2 个额外的端点。而全速设备最多可具有1 5 个额外的输入端 点和1 5 个额外的输出端点。 管道是设备上的一个端点和主机上软件之间的联系,它体现了主机上缓冲区和 端点间传送数据的能力。有两不同的管道: 1 _ 流( s t r e a m ) 管道:流管道中的数据是流的形式,也就是该数据的内容不具有 u s b 要求的结构。数据从管道一端流进的顺序与它们从管道另一端流出时 的顺序是一样的,流管道中的通信流总是单方向的。对于在流管道中传送的 数据,u s b 认为它来自同一个客户。u s b 系统软件不能够提供使用同一流 管道的多个客户的同步控制,在流管道中传送的数据遵循先进先出原则 2 消息( m e s s a g e ) 管道:数据逶过管道时具有某种u s b 定义的格式。首先,主 机向u s b 设备发出一个请求:接着,就是数据的传送:最后,是一个状态 阶段。为了能够容纳请求,数据状态的变化,消息管道要求数据有一个格式, 此格式保证了命令能够被可靠地传送和确认。消息管道允许双方向的信息 流,虽然大多数的通信流是单方向的。特别地,默认控制管道( 与端点0 对应) 也是一个消息管道。u s b 系统软件不会让多个请求同时要求同一个 消息管道一个设备的每个消息管道在一个时间段内,只能为一个消息请求 服务,多个客户软件可以通过默认控制管道发出它们的请求,但这些请求到 达设备的次序是按先进先出的原则的。设备可以在数据传送阶段和状态阶段 控制信息流,这取决于这些设备与主机交互的能力。正常情况下,在上一个 华中科技大学硕士学位论文 消息未被处理完之前,是不能向消息管道发下一个消息的。但在有错误发生 的情况下,主机会取消这次消息传送,并且不等设备将已收的数据处理完, 就开始下一次的消息传送。消息管道对应有两个相同号码的端点,一个用于 输入,一个用于输出,这两个端点号必须相同。 u s b 不解释在管道中传送的数据的内容,消息管道要求数据组织成u s b 定义的 格式,但它的内容,u s b 是不管的。u s b 要求任何在管道上传送的数据均被打包, 数据的解释工作由客户软件和应用层软件负责。u s b 提供了多种数据格式,使之尽 可能满足客户软件和应用软件的要求 1 9 , 2 0 】。 为了满足不同的种类的数据传输需求, 1 控制传输:可靠的、非周期性的、 通常用于命令交互和状态交互; u s b 定义了4 种传输类型: 由主机软件发起的请求或者回应的传送, 2 等时传输:在主机与设备之间的周期性的、连续的通信,一般用于传输与时 间相关的信息,如音频数据流; 3 中断传输:小规模数据的、低速的、固定延迟的传输; 4 批量传输:非周期性的。大包的可靠的传送,典型地用于传输那些可以利用 任何带宽的数据,而且当没有可用带宽时,这些数据可以容忍等待。 每一个端点都只能进行一种类型的传输,由端点的传输类型属性决定。端点0 是默认控制端点,只能进行控制传输。 一个功能设备通常都需要几种不同的传输类型的端点来完成其功能,由默认控 制端点进行设备配置,用其他传输类型的端点来进行功能设备所需要的数据传输, 如u s b 移动存储器除了默认控制端点以外至少还需要进行批量传输的端点用于在 主机和存储设备之间传输数据。这样一组端点组成一个接口,该接口与u s b 客户软 件之间的一组管道形成管道束,在这一束管道上进行数据传输。 u s b 主机软件和u s b 设备端点之间的相互关系与相互作用的详细情况如图2 4 所示。 在设备上电之后,u s b 系统软件通过默认控制管道对u s b 设备进行配置,形成 客户软件和接口之间的管道束,然后客户软件就可以与u s b 设备进行通信。客户软 件通常是通过向一个管道发出i r p ( f o r e q u e s t p a c k e t ,f o 请求分组) 来要求传送 华中科技大学硕士学位论文 数据,发出i r p 之后客户软件就等待或得到指示。为了能够有效地传输数据,必须 对传输进行管理。 图2 4u s b 软硬件体系结构详图 传输管理涉及以下几个为不同目标工作的部分,它们共同工作使数据能在总线 上传送: 1 主机控制器:处理交互,把各种分组发到总线上和从总线接收各种分组: 2 主机控制器驱动程序( h c d ) :将珏冲转换成交互或将交互转换成冲( 按 照主机控制器的要求) ,并对它们进行组织; 3 u s b d ( u s b 驱动程序) :通过对合适的主机控制器驱动程序( h c d ) 的调 用( c a l l s ) 和回调( c a l l b a c k s ) ,将从设备端点来的或到设备端点去的i r p 中的数据进行一定转换,一个客户i r p 可能会需要几个传输来完成: o 华中科技大学硕士学位论文 求i r p ,客户软件知道它所操作的管道和接口的存在,也知道总线访问和带宽的限 制,并且遵守它们客户软件将自己的请求发给u s b 驱动程序接口。当客户软件提 交的与功能设备通信的i r p 被完成后,客户软件将收到一个关于i r p 完成状态的通 知。如果传送中有功能设备到主机的数据,客户软件收到i r p 完成的通知后,可在 数据缓冲区中取到所要的数据。 当u s b 设备被接上并配置时,u s b d 将确认设备的配置是否与总线兼容,u s b d 从设置软件处获得配置请求,它描述了要进行的配置:端点、传输类型、传输周期、 数据长度等。u s b d 根据可用带宽的大小以及总线是否与请求的类型兼容来决定接 受还是不接受这个配置。如果接受,u s b d 就为请求者建立一个相应类型的管道, 自然也带有这个传输类型所应有的各种限制。在设备配置期间,不一定必须为周期 性的端点作带宽分配,做过的带宽分配也可以放弃,而并不影响设备的配置。一旦 设备被设置,客户软件就可以通过i r p 来请求与应用端点进行数据传送。 h c d 负责跟踪眦,并确保u s b 带宽和帧最大时间不被突破。当有玎肿要求传 输时,h c d 将它们加入交互列表中。当i r p 结束,h c d 将把它的完成状态通报给 相应的客户软件,如果i r p 中涉及应用设备向主机的传送,来的数据将被放在客户 指定的数据缓冲区中。 交互列表描述了当前需要被处理的交互,只有h c d 和它的h c 可以访问这些特 殊的描述。这些描述包括了交互的各种参数,例如数据长度、设备地址、端点号以 及发出数据和存放收到数据的主存区域。 h c 可以访问交互列表,并根据此表引起总线的动作。特别地,h c 提供的报告 机制使交互的状态( 完成、等待、中止等) 是可以知道的。h c 将交互变成相应的 总线动作,这些动作又引起了在以根集线器为根的总线拓扑结构上的u s b 数据分组 的传递。h c 可以保证协议规定的对总线访问的限制都被遵守了,例如:分组间时 限、超时等,h c d 的接口向h c 提供了参与决定是否允许一个新的管道访问总线的 途径。这是因为h c 的实现中有对两个交互间最小间隔的限制,这种限制支持了总 线交互的组合。 u s b 功能设备看到的总线上的数据是放在数据分组中的。h c 利用与实现有关 的表示方法来跟踪效据分组,跟踪的信息包括这个分组是什么分组,到哪个端点去 华中科技大学硕士学位论文 或从哪个端点来,在什么时间传输,有什么顺序。u s b 系统软件( u s b d 和h c d ) 提供了将客户对数据传输的要求加到分组上的方法。对组成一个客户软件和功能设 备间的数据传输的各个交互,h c 利用冲来跟踪它们。图2 6 简要表明了交互是如 何被组织成四种传输类型的i r p 的。 图2 6i 阻、传输与交互 虽然u 要跟踪传送数据的总线交互,h c 仍可自由地选择如何传送这些交互, 但必须遵守u s b 定义的限制,即一个帧内只可有一个等时传输的交互。一般情况下, 端点看到的各个交互的顺序与它们出现在i r p 中的顺序是一样的,除非发生了错误。 图2 7 表示了两个i r p ,每个i r p 有3 个交互,用2 个管道。对任何传送类型,h c 可在第一个帧内先传第一个l r p 的第一个交互,再传第二个i r p 的第一个交互:同 时在第二个帧内先传第二个i r p 的第二个交互,再传第一个i r p 的第二个交互。 如果有等时传输,h c 的自由度也就到此为止了,但对控制传输和批量传输, 3 华中科技大学硕士学位论文 h c 可以在这两个帧中的任一帧内多传输或少传输几个第一i r p 或第二i r p 的交互。 2 3u s b 的总线协议 图2 7i r p 、帧与总线上的交互 u s b 总线上传输的都是u s b 分组,传输时首先送到总线上的是最低有效比特。 u s b 分组包括四种: 1 帧开始分组:主机每毫秒发送一次,用于同步需要定时的设备; 2 令牌分组:用来发起一次交互,是一次交互中的第一个分组; 3 数据分组:用于主机向设备或设备向主机传输数据: 4 握手分组:用于报告一个数据交互的状态,并能够返回数值来指示数据的成 功接收、流量控制和停止条件。 帧开始分组的格式如图2 8 所示。帧开始分组的p i e ) 名称为s o f ,帧编号域为 l l 比特,五个比特针对帧编号的c r c 校验。该分组被总线上所有的全速率设备解 码,通知所有设备一个新的帧已经开始。对帧编号敏感的设备必须记录帧编号。所 华中科技大学硕士学位论文 有设备都不能对帧开始分组产生一个响应分组。 8b i t s1 1b i t s5b i b 图2 8 帧开始分组的格式 令牌分组的格式如图2 9 所示。令牌分组的p i d 有三种:i n 、o u t 或s e t u p , 用于区别这次交互的类型。令牌分组还指定了本次交互的设备地址和端点号。只有 主机才可以发送令牌分组。一个n 令牌分组指定一个即将向主机发送数据的设备 和端点。一个o u t 令牌分组则指定一个应当接收主机即将发出的数据的设备和端 点。一个s e t u p 分组则表示即将向指定的设备和端点发出命令数据2 2 1 。 8b i t s 7b i t s4 b i t s5b i t s p i da d d r crc5| aai iii e n d p |l _ 一 j l i _ j 图2 9 令牌分组的格式 数据分组格式如图2 1 0 所示。数据分组通常是一次交互中总线上的第二个分组, 其p d 有d a t a 0 和d a t a l ,采用两种p i e ) 是用于错误重传机制。数据域必须是 字节的整数倍长度。 0b i t $ o - 1 0 2 3b y t e s 1 6b i t s 芑二二二二io i :- j 图2 1 0 数据分组的格式 握手分组的格式如图2 1 1 所示。握手分组只有一个p i e ) 域,p i d 有三种:a c k 、 n a k 和s t a l l 。用于报告一次数据交互的状态,指示数据的成功接收,或者流量 华中科技大学硕士学位论文 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 一 控制,或指示停止条件。 8b i t s 图2 1 1 握手分组的格式 每一次总线交互都是主机和设备之间的数据分组通信完成的。下面介绍一下总 线交互的格式。首先是批量传输,其交互格式如图2 1 2 所示。 图2 1 2 批量传输的交互格式 主机希望接收数据时,发出一个玳令牌分组向某设备的某端点发出命令:该设 备有数据发送时就发出一个数据分组来响应,或者发出握手分组指示不能传数据; 主机正确收到数据后就发出一个a c k 握手分组,或者检查出数据有误就进入重传 机制。主机希望发出数据时,发出一个o u t 令牌分组,接着发出一个数据分组, 然后设备就根据自己的状态发出握手分组或不应答【2 3 1 。 1 6 华中科技大学硕士学位论文 = = ;= = = = = = ;= = = = = = = = ;= = = = ;= = = = = = = ;= = = 一 控制传输比较复杂一点,分为s e n j p 阶段、数据阶段和状态报告阶段。如图 2 1 3 所示。 c o n t r o i w r i r e d a t a o d a t a _ in 4 o q d a t a _ c o n b o 匡亟口 卫 五口臣五 臣五口 d a t 0 data!data0 d a t a 州d a t a l n o - d a t a c o n b o i 图2 1 3 控制传输 在s e t u p 阶段,进行s e t u p 交互。首先是主机发出一个s e t u p 令牌分组,接 着主机再发出数据分组,设备必须接收并且执行,然后给主机回应一个a c k 握手 分组。s e t u p 交互的格式如图2 1 4 所示。 图2 1 4s e t u p 交互的格式 涨宙菌黑亩面 旦一 潞宙涨宙 华中科技大学硕士学位论文 中断传输的交互格式与批量交互格式相同,只是在总线上调度的方式不同。 等时传输的交互格式比较特殊,其交互只有两个数据分组,因为等时传输是允 许出错的,所以没有握手分组。其格式如图2 1 5 所示。 图2 1 5 等时交互的格式 图2 1 6 同步标记的初始化 u s b 提供了一种机制以保证多个交互中数据发送器和接收器之间的数据序列同 步。同步通过p i d ( d a t a 0 和d a t a l ) 以及分别从属于数据发送器和接收器的标 劢痧秒 一l f 望 酉 华中科技大学硕士学位论文 = = ;= = = = = = = = = = # = = = = = ;= = = = = = = = = 一一: 记位的使用而完成。仅在接收器能接受数据并且收到带有正确的p i d 的无错数据分 组的时候,接收器标记位才触发翻转。而仅在数据发送器收到合法的a c k 握手的 时候,发送器标记位才触发翻转。数据发送器和接收器必须在交互开始的时候同步 它们的标记位。 控制传送使用s e t u p 令牌初始化主机和功能设备的标记位,如图2 1 6 所示。 主机向功能部件发送s e t u p 令牌分组,其后跟着数据分组;圆圈里的数代表发 送器和接收器的标记位,功能设备必须接受数据并返回a c k 握手分组。当功能设 备收到数据分组的时候,它必须设置其标记位,以便主机和功能设备的标记位在 s e t u p 交互结束后都等于1 。 图2 1 7 说明了进行两次成功的交互的情况。 d a t a 0 o t 1 国 百飞百飞 图2 1 7 连续成功交互的标记同步 对于数据发送器,这表示它根据a c k 的接收情况来触发其标记位。仅当接收器 收到无错的数据分组,并且分组的p i d 和接收器标记位的当前值相匹配的时候,才 触发翻转其标记位。发送器在它收到a c k 时才触发翻转其标记位。 如果数据不能被接受,或者得到的数据分组已经损坏,接收器将根据情况发出 n a k 或s t a l l 握手,或者超时( t i m e o u t ) 。并且接收器将不翻转其标记位。图 2 1 8 说明了设备返回n a k ,然后被重试的情况。 任何非a c k 握手或是超时都将产生类似的重试动作。没有收到a c k 握手的发 送器标记位将不会变化。其结果是失败的数据分组导致交互将被重试,如果成功, 将触发发送器和接收器标记位的翻转。 1 9 华中科技大学硕士学位论文 = = = = ;= = = = = = = = = = = = = = = = = = = = = = = = 一= 一 国国 百飞百飞 r 嘶 t r ,伟f r j 图2 1 8 重试的标记同步 发送器是根据其收到a c k 握手确切地知道交互是否成功的。丢失或者损坏的 a c k 握手使得发送器和接收器之间酌暂时失去同步。这种情况如图2 1 9 所示。 国甑面莎b b 万飞万飞 t r a n s f 材, t r a a s f e r f c r i 由d 圈2 1 9a c k 丢失的标记同步 在交互i 的最后,由它们各自的标记位间的不同步可看出发送器和接收器暂时 失去了同步。接收器已经收到了正确的数据,但是,发送器不知道它是否成功地发 送了数据。在下一个交互中,发送器将使用d a t a 0 的p i d 重发的先前的数据,接 收器标记位和p i d 不匹配,于是接收器知道它以前接受了这个数据。从而它丢弃此 数据包且标记位不变然后接收器发出a c k ,使得发送器知道被重试的交互成功了。 a c k 的接收使得发送器标记位翻转,于是再一次同步了。 2 0 华中科技大学硕士学位论文 = = = = ;# = # = = = = = ;= # = 4 = = = = = ;= 一:; # 3 蓝牙ta p 中u s b 系统购i r p 排队研究 3 。1 蓝牙局域网谤闷点( l a p ) 簿余 蓝矛髑域弱谤阏点是一令蓝茅设器,该设备的应瘸如墅3 1 掰示。 灏3 。 蘸牙筠域麓访瓣熹静痘翔示意露 数据终端( d a t at e r m i n a l ) 都是具有蓝牙无线通信功能的蓝牙设备,如带有蓝 牙的笔记本电脑、p d a 、移动电话、台式电脑等;藏牙局域网访问点则具有菔牙无 线通信功能和局域网接口。属于局域网上的一个节点。数据终端用藏牙技术与蘸牙 髑域网访问点连接劳通过蓝牙局域刚访阀点访问局域网资源。 麓牙羼域网访阏点魄垮议援如图3 。2 赝承。 蕊矛焉域蹰访溜熹疆露着篷琴设备的局域踺接入珐能,在蓝协议找躲 r f c o 硪涯之上运行p p p 协议。袋 c 嗍对上鼷提供寝搬串墨,p p p 软锌嚣霹运 亍 于该虚藩串髓之上,蓝矛局域弼访闷点就作为p p p 服务器接受蕴牙数攒终端静连 接请求。蓝牙数据终端与蓝牙局域掰访问点之间建立了菔牙无绞连接之后帮可建立 p p p 连接,p p p 连接建立之后即可通过黎构在p p p 之上的其1 f 电网络协议访问局域网 资源。 从整体上看,蓝牙局域闷访问点是一个嵌入式设备,它又分为三个功能块:嵌 华申科技大学硕士学位论文 入式系统主丰凡软硬件、局域阏接口软硬件、麓牙软硬件。在蓝牙部分,蔽牙模块与 嵌入式系统主机之间采用u s b 接口,嵌入式系统主机配置了一个u s b 主杌控制器 用于接入蓝牙模块。嵌入式系统采用u c l i n u x 操作系统,u s b 主机控制器则采用专 用芯片c y p r e s s 公司的s l 8 1i h s 嵌入式u s b 主机控制器( 该控制器也可用作嵌 入式u s b 设备控制器) ,需要在u c l i n u x 平蠢上为其编制符会u s b 规范的u s b 主 机控制器驱动程序。另外还要在u c l i n u x 平台上为蓝牙模块编制u s b 设备驱动程序。 蚕3 , 2 蘧牙届矮簿游同意翡徐谈栈 在u s b 系统中与u s b 设备相应的客户软件( u s b 设备驱动程序) 都是通过i r p ( i or e q u e s tp a c k e t 。输入输出请求分组) 来传输数据的。当客户软件有数据鬻要 发送戏者嚣要接收数据时,都会向u s b d 提交i r p ,u s b d 褥将所有的i r p 发送给 主枧控制器驱动程序处理,在这个过程中裁涉及到i r p 的排队等待处理。程对i r p 进行处理时,琢堂坡划分残为交基( t r a n s a c t i o n s ) ,鼹蠢这些交互摊队等待主搬控 糕嚣处璎。掰戳本章采鼷搀敬论来璎究麓牙乙走p 孛瓣u s b 系绕,探讨各璎参数对 系统豹效率叠冬影墒,势戳诧结论来设计u s b 主撬控制嚣驱动程黟的数据分缝处璎算 法。 华中科技大学硕士学位论文 3 2 排队论介绍 排队论( q u e u e i n gt h e o r y ) 也叫随机服务理论。在一个排队服务系统中,需要 被服务的对象称为顾客,而为顾客提供服务的对象称为服务机构。当要求服务的顾 客数量超过了服务机构的数量时就必须排队来等待服务【2 “。例如在食堂里,买饭者 是顾客,卖饭窗口就是服务机构,当买饭者的数量多于卖饭窗1 2 数量时就要排队等 待。排队服务系统涉及到一个综合的效率问题【2 扪,一方面排队的顾客希望能尽快得 到服务,并且排队服务系统需要为队列提供排队空间,这样就希望队列长度越短越 好,也就是要求服务机构越多越好,服务速率越快越好,另一方面增加服务机构需 要更高的成本,提高服务速率也需要增加成本,两方面需要加以权衡来取得系统效 率最优,所以需要对排队服务系统进行研究。排队论就是为了研究排队服务系统而 发展出来的一门学科,它的研究内容主要有三个部分: 1 排队系统的性态问题,即研究各种排队系统的概率规律性,如队列长度的分 布与期望

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论