(通信与信息系统专业论文)u盘在智能手机上的应用.pdf_第1页
(通信与信息系统专业论文)u盘在智能手机上的应用.pdf_第2页
(通信与信息系统专业论文)u盘在智能手机上的应用.pdf_第3页
(通信与信息系统专业论文)u盘在智能手机上的应用.pdf_第4页
(通信与信息系统专业论文)u盘在智能手机上的应用.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 u s b ( u n i v e r s a ls e r i a lb u s ) 是为解决计算机外设种类的目益增 加与有限的主板插槽和端口之间的矛盾而提出制定的。它是把使用 u s b 的外围设备连接到主板的一种外部总线结构。同时它也是一种通 信协议,支持主机与u s b 外围设备之间的数据传输。u s b 为计算机外 设输入输出提供了新的接口标准。它使设备具有热插拔、即插即用、 自动配置的能力,并标准化设备连接。 自从其规范发布以来,短短几年中u s b 得到极大的发展,基于 u s b 接口的大容量存储设备( u s bm a s ss t o r a g e ) 应运而生。这类设 备主要有u s b 移动硬盘、u s b 外置光驱、u s b 闪存盘等。 本论文首先介绍了将u s b 大容量存储设备应用与智能手机的意 义和u s b 出现的背景及发展现状。 接着,介绍了开发u s b 大容量存储设备中涉及到的不同层次的协 议,包括u s b 协议规范、b u l ko n l y 传输协议及大容量存储设备涉 及到的u f i 命令和f 1 a s h 盘的结构特点。 最后,本论文重点介绍在u s b 通用控制器上开发基于f l a s h 闪存 的u s b 大容量存储设备( u s bm a s ss t o r a g ed e v i c e ) 的系统设计和 详细开发过程以及软件调试方法,通过尝试开发u s bm a s ss t o r a g e 设备,对该类设备进行可行性研究及功能实现,并提出了将u s b 用 到嵌入式软件开发中以提高开发速度的构想,扩展了u s b 的应用。 本论文通过对u s b 协议规范和b u l ko n l y 传输协议的研究,对大容 量存储设备的可行性和功能实现做了探索性的实践尝试,对今后在 u s b 通用芯片平台上对大容量存储设备技术作进一步的研究、跟进 和开发利用有着重要的意义。 关键字: u s b ,大容量存储设备,b u l ko n l y ,f a t l 6 ,u f i a b s t r a c t a b s t r a c t u s b ( u n i v e r s a ls e r i a lb u s ) i sd e s i g n e dt os o l v et h ec o n t r a d i c t i o nb e t w e e nt h e i n c r e a s i n gp e r i p h e r a l d e v i c e sa n dt h el i m i t e di n t e r f a c e so ft h em a i nb o a r do f c o m p u t e r s i ti sak i n do f o u t e rb u ss t r u c t u r ew h i c hi su s e dt oc o n n e c tt h ep e r i p h e r a l d e v i c e sa n dm a i nb o a r d s m e a n w h i l e ,u s bi sa l s oac o m m u n i c a t i o np r o t o c o l ,w h i c h s u p p o r t st h ed a t at r a n s a c t i o nb e t w e e nu s b h o s t sa n du s bd e v i c e s i naw o r d ,u s b p r o v i d e s an e wk i n do fs t a n d a r di n t e r f a c eb e t w e e nc o m p u t e r sa n d i n p u t o u t p u t d e v i c e s f e a t u r e ss u c ha se l e c t r i c a ld e t a i li s o l a t i n gf r o me n du s e ra n dd y n a m i c a l l y a t t a c h a b l ea n dr e c o n f i g u r a b l ep e r i p h e r a l sm a k ei te a s i e rt ou s ef o re n du s e r s s i n c et h eu s b s p e c i f i c a t i o ni sr e l e a s e d ,g r e a tp r o g r e s s h a sb e e na c h i e v e d m a n y u s bm a s ss t o r a g ep r o d u c t sb a s e do i li th a v eb e e nd e v e l o p e d ,s u c ha su s b p o r t a b l e d i s k 、u s bc d - r o m 、u s bf l a s hd i s ka n ds oo n f i r s t l y , t h i sd i s s e r t a t i o n i n t r o d u c e st h ei m p o r t a n c eo fa p p l i c a t i o no ft h eu s b m a s s s t o r a g ed e v i c eo ns m a r t p h o n e a n dt h eb a c k g r o u n do f u s b s e c o n d l y , w ee x p l a i n t h ep r o t o c o l si nd i f f e r e n tl a y e r sf o rd e v e l o p i n gu s bm a s s s t o r a g ed e v i c e ,i n c l u d i n gu s bs p e c i f i c a t i o n ,b u l ko n l yt r a n s p o r ts p e c i f i c a t i o n a n ds c s ic o m m a n d sf o rm a s s s t o r a g ed e v i c e s a tl a s t ,w ef o c u so ni n t r o d u c i n gt h ed e s i g nm e t h o do ff i r m w a r ei nu s bm a s s s t o r a g ed e v i c eb a s e do nu s bg e n e r a l c o n t r o l l e r s i nt h i s a r t i c l e ,w et e s t e dt h e p e r f o r m a n c ea n dp r a c t i c a b i l i t yo f m a s ss t o r a g ed e v i c e f u r t h e r m o r e ,i tc o n c e r n so f t h et o p i ca b o u te x t e n d i n gu s a g eo fu s bt ot h ef i e l do f a c c e l e r a t i n gt h ed e v e l o p m e n t o fe m b e d d e ds o f t w a r e t h i sa p p l i c a t i o na n dt e s tb a s e do nt h eu s b 1 1p r o t o c o la n db u l k - o n l yp r o t o c o l i ti sh e l p f u lf o ri n d e p t h r e s e a r c h ,e x p l o i t a t i o no f m a s ss t o r a g e d e v i c e k e y w o r d s : u s b ,m a s ss t o r a g ed e v i c e ,b u l k - - o n l y ,f a t l 6 ,u f i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果。也不包含为获得电 子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示 谢意。 签名: 塾盆茎1 日期:姗主年6 月6 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文的 规定。有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:塾盘氢导师签名:捌 日期:埘冉f 月6 日 第一章绪论 1 1 技术研究的意义 第一章绪论 通信与计算机的融合成为当今产无线品开发的重点。随着通信 技术的不断发展,尤其近年2 5 g 和3 g 通信技术的出现使得当今的 手机功能日益强大。加上无线因特网的引入以及操作系统的逐渐智 能化,业界把这种手机形象地称为“s m a r t p h o n e ( 智能手机) ”。 智能手机除了具备手机的基本通话功能外,还具备了p d a 的大 部分功能,特别是个人信息管理以及基于无线数据通信的浏览器和 电子邮件功能;同时,智能手机还为用户提供了足够的屏幕尺寸和 带宽,使得许多p c 上进行的工作如浏览图片和文本、播放m p 3 音乐 甚至观看视频剪辑都可以下载到智能手机上进行。但是要使智能手 机发挥出其“智能”的方面,就要求手机中有足够的空间存储这些 数据,同时,这些数据要以尽可能快的速度下载到手机上。于是, 数据在p c 与手机之间的传输及在手机上的存储成为体现智能手机人 性化的一个重要问题。一方面要求下载到手机中的文件要方便的管 理;另一方面需要可靠而快速的数据传输方式。 该课题的目的便是为了实现数据在p c 与智能手机之间高速可靠 的传输,使手机的应用更加丰富多彩。这种高速可靠传输通过在智 能手机上扩展出构建在u s b 技术上的大容量存储设备来实现。 1 2 课题研究背景 对数据文件,我们可以采用文件系统对其进行管理;对手机与 p c 之间的数据交换方法,目前主要流行的有以下几种: 1 、i r d a i r d a 利用波长在8 5 0 n m 到9 0 0 n m 的光波进行无线数据传输。 由于红外线波长较短,对障碍物的衍射能力较差,放只适合短距离 的点对点直线数据传播。但红外连接的优势如红外设备成本低廉、 第一章绪论 连接方便、简单易用且结构紧凑等使它成为一项流行的无线数据传 输方式。 现在红外数据传输有两个版本,i r d a l 0 于19 9 4 年发布,称为 s i r ( s e r i a li n f r a r e d ) ,是基于h p - s i r 的异步、半双工红外通信方式。 s i r 以系统的异步通讯收发器( u a r t ) 为依托,通过对所接收的光 信号电脉冲的波形扩展编码解码过程实现红外数据传输。由于受 u a r t 通讯速率的限制,s i r 最高速率只有1 l 5 2 k b p s ,及p c 的通 用串口的最高速率。 1 9 9 6 年,红外数据传输联合会发布了1 r d a l 1 ,即f i r ( f a s t i n f r a r e d ) ,它不再受u a r t 的依托,采用4 p p m 调制解调,速率可 达4 m b p s 。但f i r 的1 15 2 k b 弗的速率上仍采用s i r 编解码过程来支 持s i r 的低速设备通讯。后来,有f i r 作为i r d a l 1 的补充,它支 持高达1 6 m b p s 的数据传输速率。 红外连接在小型的移动设备中获得了广泛的应用。带有红外的设 备包括笔记本电脑、掌上电脑、机顶盒、游戏机、移动电话、计算 器、寻呼机、仪器仪表、m p 3 播放机、数码相机以及打印机之类的 计算机外围设备等等。时至现在,红外设备应用还在以4 0 的速度 增长着。 2 、蓝牙 蓝牙是无线数据语音通信的开放性全球规范,是一种低成本、 近距离的无线通信方式。它工作在全球通用的2 4 g h z l s m 频段,拥 有间隔1 m h z 的7 9 个跳频点,速度可达l m b s ,采用t d d ( 时分双 工) 来实现全双工。蓝牙的理想连接范围在1 0 e r a 到1 0 m 之间,但如 果增加发射频率可扩大到1 0 0 m 的距离。由于工作在通用频段易受到 干扰,蓝牙采用了快速确认和调频方案来确保链路的稳定。为使系 统更稳定,采用f e c 前向纠错码来抑止长距离链路的噪音,采用二 进制调频的跳频收发器抑制干扰和防止衰落。蓝牙支持电路交换和 分组交换,支持异步数据信道和同步话音信道。 两到八个通过蓝牙技术连接起来的设备组成个微微网 ( p i c o n e t ) ,几个微微网组成一个相互独立且不同步的特殊分散网。 第一章绪论 在微微网内,有一个设备被作为主单元,用来同步时钟和跳频顺序, 其它几个是从单元,但所有的设备都有相同的权限。微微网内的设 备有三种模式,分别是呼吸( s n i f f ) 、保持( h o l d ) 和暂停( p a r k ) 模式,这三种模式是为节电考虑而设定的,当设备工作在呼吸模式 下时,它降低从微微网“收听”消息的速率,而且这个间隔可以由 软件设置;如果设备在一段时间内没有数据传送或接收时,它被主 单元置为保持模式,此时该设备要收发数据需要重新被激活;处于 暂停模式的单元仅仅与微微网进行同步,它放弃自己的m a c 地址, 偶尔“收听”从主单元发送的消息回复同步并检查广播消息。 在一个蓝牙网络开始建立前,所有的蓝牙设备都处于待命 ( s t a n d b y ) 状态,它们每隔1 2 8 秒周期性的监听消息,当一个设备 被激活后,它开始监听分配给它的跳频频点,作为主单元的设备首 先初始化连接程序,如果地址已知,它与设备通过寻呼消息建立连 接;如果地址未知,则通过一个后接p a g e 消息的i n q u i r y ( 查询) 消息 建立连接。 早在1 9 9 4 年,瑞典的e r i c s s o n 公司便已经着手蓝牙技术的研究 开发工作,现在,蓝牙集团已用于约2 1 0 0 家公司。它将对移动通信 设备相互通信的能力产生重大的影响,并在“始终畅通”上为移动 用户提供一个“安全区( s e c u r i t y z o n e ) ”。蓝牙可以附加到大量的 设旌中去,如移动电话、p d a 、膝上机、台式机、大门的访问控制、 访问通行证和固定电话等。在1 0 m 范围内,它们可以进行无线语音 及数据信息传输,配合专用放大器,收发范围可远达1 0 0 m ,当蓝牙 同w l a n 、g s m 、g p r s 等融合时,则为全连通( t o t a lc o n n e c t i v i t y ) 辅平道路。 3 、i e e el3 9 4 i e e e l3 9 4 是有i e e e 标准化组织制定的一项数据传输接口标准。 最早由a p p l e 公司提出,也称为i l i n k 。它支持外部串行总线标准, 支持同步和异步两种数据传输模式,数据传输速率有1 0 0 m b p s 、 2 0 0 m b p s 和4 0 0 m b p s 三种,可以实现实时数据传输。与u s b 一样, 13 9 4 支持热插拔和即插即用,可由总线提供电源,提供点对点的传 输功能。用13 9 4 连接起来的设备不需要通过主机监控就可以进行设 第一章绪论 备间的数据传输。13 9 4 采用内存映射构建,所有l3 9 4 总线上的资源 皆可以映射到某段内存地址,并依此方式来存取数据。一个1 3 9 4 网 络可以支持6 3 个节点,两点间允许的最大距离为4 5 米,适应于大 多数需要高速数据传输的产品,如高速外置式硬盘、c d r o m 、 d v d r o m 、扫描仪、打印机、数码相机、摄影机等。 4 、u s b 在以前,个人电脑的外部接口规格非常复杂,如键盘要接a t 口 或o s 2 的接口,鼠标要接c o m 口或p s 2 接口,m o d e m 要接另一个 c o m 口,打印机要接并口,而摇杆要与m 1 d i 装置共用g a m e m i d i 口,每个外设都是单独的与电脑连接,导致线路连接非常紊乱、装 置模糊混淆,而且这些线路大都是不可以随意插拔的,必须在开机 前装好才能正常使用。如果在电脑工作期间插上或拔出,虽然有时 电脑可以继续工作,但大多数时候电脑会停止响应,或是插入的装 置无法工作甚至死机,严重的还会烧坏主板接口。 u s b 就是要解决上述这些问题,它是一种新规格的外接串联口, 提出该规格的厂商希望用u s b 来取代现有种种的外设接口。 u s b ( u n i v e r s a ls e r i a lb u s ) 是i n t e l 、m i c r o s o f t 等大厂商为解决 计算机外设种类的日益增加与有限的主板插槽和端口之问的矛盾而 于1 9 9 5 年提出制定的。它是一种用于将运用u s b 的外围设备连接到 主板的外部总线结构。u s b 同时又是一种通信协议,支持主机和u s b 的外围设备之问的数据传输。u s b 为计算机外设输入输出提供了新 的接口标准。它使设备具有热插拔、即插即用、自动配匿的能力, 并标准化设备连接。能够在不切断电源的情况下自由的在系统中接 入或移去设备连接( 带电插拔、即插即用) 。同时,u s b 的级联星 形拓扑结构大大扩充了外设数量,使增加、使用外设更加便捷、快 速。u s b 接口不再使用i r q 的中断控制以及输入输出的地址位资源 ( i oa d d r e s s ) ,而是依靠开机后操作系统分配给设备一个逻辑位来 做数据传输,所以可以作大幅度的扩充,连接多达1 2 7 个周边设备。 而u s b 2 0 标准更是把数据传输速率提高到一个新的高度。 u s b 是用来扩展p c 和p c 外围设备之间的数据交换的工业标准。 b u l ko n l y 的构建有以下特点: - 4 第一章绪论 可以方便地进行p c 外围扩展 支持传输速率最大可达4 8 0 m b s 的低成本解决方案 支持语音、音频和视频的实时数据传输 支持同步数据传输和异步报文的混合工作模式 方便集成在日用品设备中 兼容不同的p c 配置 提供标准接口使其可以迅速应用到产品中 允许新类型的设备扩充p c 功能 协议向下完全兼容 根据所提供的数据传输负载,u s b 分三种应用分类:高速、全 速和低速设备。通常高速和全速传输的数据类型为同步传输,而低 速数据来自两个需要交互的设备。 比较以上几种数据传输方式,从传输速度、通用性及器件成本 等几方面来考虑,u s b 是扩展数据传输最佳的选择。 1 3 国内外研究动态 u s b 是以i n t e l 为主,并有康柏、i b m 以及日本n e c 等7 家公 司共同制定的串行接口规格。1 9 9 8 年公布了u s b l 1 规范,其中规定 的u s b 最高速度只有1 2 m b p s ,而2 0 0 0 年公布的2 0 规范中,最高 速度已达4 8 0 m b p s ,完全可以适应高速设备对带宽的要求。u s b 是 具有通用性的串行接口,通过集线器h u b 最多达6 层的菊花链可使 连接的外设达到1 2 7 个。此外,它还对即插即用( p n p ) 提供了极为 完善的支持,而且支持热插拔,安装方便快捷,无需重新启动主机。 基于以上众多的优点,u s b 得到了计算机外设厂商的大力支持。 国外对u s b 的介绍和u s b 设备的开发报道较多,并且已经有很 多u s b 外设问世,如u s b 数字照相机、可朗读移动存储器1 2 】、u s b 电池充电器1 3 】、u s b 键盘和u s b 鼠标、u s b 数据线、u s b 音箱、u s b 打印机、u s b 扫描仪、u s b 游戏杆、u s bh u b 、u s b 显示器、u s b 摄像头、u s b 硬盘、u s b 指纹识别器等等。 第一章绪论 1 4 论文结构安排 第二章u s b 协议层,介绍u s b 传输规范 第三章b u l ko n l y 传输控制,介绍b u l ko n l y 传输控制规范 第四章u f i 命令协议及f l a s h 盘结果特点 第五章系统设计,包括系统开发平台、硬件介绍、系统设计方案和 详细开发流程 第六章调试过程及开发过程中遇到的困难和解决方案。 结论 第二章u s b 协议层 第二章u s b 协议层 2 1 总线协议与传输方式 u s b 采用轮询总线,由主控制器发起所有的数据传输。 u s b 总线上所有的数据处理事务都涉及到三种类型的包的传 送。每个处理事务的最开始都是由主控制器根据调度表发送一个令 牌包,该包描述此次事务处理的方向、u s b 设各地址和端点号。每 个u s b 设备都能收到该包并在收到后解析此包看自己是否被选中, 被选中的设备等待下步的数据传输。令牌包后是数据包,负责传 送数据载荷。由于数据包的传输方向在令牌包中已经被指明,所以 被指定的u s b 设备根据令牌包中的指示发送或等待接收数据。当发 送数据的传输源发送完数据后,接收数据的目的机器发出握手包, 报告数据包是否被成功传送。其中,数据包可以是令牌包中指定传 输的数据,也可以只是告诉接收方没有数据要发送的信息。 u s b 规范中定义了几个术语:e n d p o i n t 和p i p e 。e n d p o i n t 可以 看作数据交互的源头或终点。由于u s b 总线是由主机控制的,所以 e n d p o i n t 仅是通信信道中u s b 功能部件方的通信终点。一个u s b 设 备包含多个e n d p o i n t ,每个e n d p o i n t 被分配一个唯一的标识,称为端 点号。各个e n d p o i n t 中的数据传输方向是由设备规定了的,当主机 想要向u s b 设备传送数据时,它首先要通过设备地址指定一台u s b 设备,然后通过端点号指明数据传送的最终目的地。以传送一个包 到u s b 功能部件的e p l 为例:当有数据从主机送出时,数据包是被 送到该u s b 功能部件的e p lo u t 缓冲区。这时u s b 设备再读该数 据包,如果该包指示需要返回数据,功能部件不能只是简单地将需 要返回的数据写入e p l 】n 缓冲区内。实际上,u s b 设备在收到该数 据包后,将包中要求传输的数据放入e p li n 的缓冲区中劳等待收到 主机发来下一轮数据交易事务的请求数据输入的i n 令牌包。在收到 i n 令牌包后才将数据发送给主机。 第二章u s b 协议层 在所有的e n d p o i n l 中,e p 0 是所有u s b 设备都必须支持的。它 用于建立默认的控制p i p e 。该p i p e 为设备的配置过程提供通道。当 u s b 设备插入一个u s b 系统上电并接收到一个总线复位信号后,该 p i p e 即可使用。 p i p e 是主机与u s b 设备e n d p o i n t 之间进行数据交换的逻辑通道。 p i p e 有一系列参数,这些参数指示该p i p e 应被分配的带宽、传输类 型、数据流方向和最大包尺寸。u s b 设备必须为每个p i p e 提供一些 缓冲区,一个p i p e 分配到的带宽越高它需要分配的缓冲区就越多。 p i p e 有两种类型:流管道和消息管道。流管道支持任何格式的数据 传输,而消息管道中只能传输u s b 规定格式的数据。也就是说,消 息管道只支持控制传输模式。除了缺省的控制p i p e 外,其它的p i p e 都要等到u s b 设备配置完成后才会被建立起来。对于缺省控制p i p e 来说,当u s b 设备插入一个u s b 系统上电并接收到一个总线复位信 号后它就可使用了。缺省控制p i p e 用来为设备配置、状态和控制信 息提供通路,它两端的e n d p o i n t 被命名为e p 0 。由于缺省控制p i p e 在通信过程建立过程中的必要性,所以在所有的e n d p o i n t 中,e p 0 是所有u s b 设备都必须支持的。 在一些流p i p e 中流控是必需的,它可以防止硬件层中b u f f e r 溢 出。当错误发生时需要立即中断数据传输,u s b 使用n a k 握手包来 中断数据传输。当收到n a k 包后,传输会在下一个总线周期中结束。 u s b 的数据传输方式有4 种:控制传输、同步传输、中断传输 和批量传输。不同的传输方式有不同的传输速率限制。 控制传输由主机发起用来传送各种控制命令和状态信息。这些 命令和信息对于建立起u s b 设备和主机的通信非常重要。控制传输 是由主机发起的,采用尽力交付机制完成包的传送。一个控制传输 过程最多可包括三个阶段:s e t u p 阶段、数据阶段和状态阶段。在 s e t u p 阶段,包含有u s b 设备地址和端点号的令牌包首先被发送, 紧接着是包含此次控制传输想要完成的传输请求的内容的数据包, 最后是用来确认传送正确或出错的握手包。 数据阶段由一个或多个i n 或o u t 传输组成,但并不是每个控 制传输都必须有数据阶段。在s e t u p 阶段的请求中会指示在数据阶 第二章u s b 协议层 段需要传输的数据数量,如果要传输的数据数量大于最大包容量, 这些数据将被分在多次传输中完成,除了最后一个包外,前面每一 个包的大小都等于最大包容量。根据数据传输方向数据阶段分为i n 和o u t 两种不同的操作。当主机准备接收数据时,它先发出个i n 令牌,得到该令牌的u s b 设备端口根据建立阶段收到的信息向主机 传送数据。同理,当主机准备发送数据时,它先发出一个o u t 令牌, 得到该令牌的u s b 设备端口准备接收从主机发来的数据。当数据被 传送完后,数据阶段结束,进入状态阶段,确认刚刚数据阶段的操 作是否成功完成。 同步传输分两种传输方式:i n 和o u t ,该方式用于传输有实时 性要求的数据。它必须有一定的带宽和传输间隔保证,没有应答包, 出错时不会对错误进行处理。 批量传输与同步传输类型,有i n 和o u t 两种传输,主要用来 传输数量较大的突发数据。与同步传输相比,它支持出错检测和处 理,没有带宽保证。 中断传输一般是非周期的,由小型设备“发起”,所以只有i n 传 输。它要求有一定的传输间隔。 2 2u s b 数据流模型 从系统构建的角度来看,一个u s b 系统由不同的层构成。如图 2 1 所示,各个层上有各自相对独立的任务要完成: 1 u s b 物理设备:在u s b 电缆端点完成用户功能的硬件设备。 2 用户软件:在主机上运行并响应u s b 设备请求的软件。用户 软件通常由操作系统提供,但也可以与u s b 设备一同被开 发。 3 u s b 系统软件:在特定的操作系统上支持u s b 的软件。主要 由操作系统来提供,不依赖特定的u s b 设备或用户软件。 4 u s b 主机控制器( 主机端总线接口) :许可u s b 设备连接到 主机上的硬件和软件。 第二章u s b 协议层 h o s ti n t e r c o n n e c t p h y s i c a ld e v i c e | 臣- e n t s w i i 。l f u n c t f o n i ll f u n c t i o nl a y t i 啪翥。i ! u s b lo g i c a il is w i l i d e v i c e i u s bd e v l c e _ l a y e r j l li i 皇rh 。甜l i u s b b l u s b b u s l 6 刚7 。7 it i n t e r l a c e j i n t e r l a c el a y r _ 1 l 一一 a c t u a ic o m m u n l c q t j o r l sf l o w l o g i c a lc o l l l m u n i c a t j o n sf l o w i m p l e m e n t - l i o nf o c u s a r e a 图2 - 1u s b 系统分层模型 由系统分层模型可以看到,本项目是针对u s b 逻辑设备层和功 能层进行开发。其中,逻辑设备层主要实现与主机通过控制传输进 行交互,是主机能够识别该u s b 设备,而功能层则是实现u 盘功能 的一个用户层,它遵循u f 规范,通过b u l k 端点按b u l ko n l y 来与主机进行u f i 命令的交互。将该模型细化我们就可以得到u s b 系统主机与设备的详细通信流图。u s b 提供主机和功能设备之间的 通信服务,对不同的功能设备有不同的通信流请求,通过分离u s b 功能设备的各个不同的通信流可以获得更高的总线利用率。每个通 信流利用总线访问来完成用户和功能设备之间的通信,并在设备 e n d p o i n t 处终止。图2 2 是通信流的详细说明,它展示了构建在逻辑 设备和功能层上的通信流模型。 第二章u s b 协议层 r u s b 妇t i h “ lii 。b 。 h 一 m 一, :lj ! p i p ee m 责, i 。d i l l 剖 ,m 岬li h q w b + 黜器l i ;涨1 l ” u 5 8l o a k m u s 薯0 y t ms w e n 自i 时 m i m a , n p g e e n r _ ”je 酣明l l z 吣 州l 器 黼l i 谶a量l0 m 固= = 笙詈 峙b 8 u s l n i e r f 广i 。 。m m “b m l r l _ _ j 匿黼磷罐蝴2 :! 高篙篇嚣:嚣苗:霉。”、一, m k m n 拿 。- m p n m ,m n l m m l 钾o 眦o l l u 强r 娜扣t 枷枷盯怕帅d 由n d f 搿t 图2 2u s b 主机设备通信流 在u s b 系统中,u s b 逻辑设备是一系列e n d p o i n t 的集合。在这 个集合中,e n d p o i n t 被分成不同的组群以实现不同的接口功能。接口 属于u s b 设备的组成部分,通过p i p e 束( 连接c n d p o i n t 集的p i p e ) 由用户软件来对它进行管理,而设备则由u s b 系统软件通过缺省控 制p i p e 来管理。根据数据传输方向,由主机控制器或u s b 设备将缓 冲区中的数据封装成数据包放到u s b 总线上。 2 3 描述信息与设备请求 要让主机识别一台u s b 设备,它必须携带有标识自身的信息, 这些标识信息被称为“描述”信息。u s b 设备通常有下列几种描述 a 、,l,i厶 第二章u s b 协议层 信息:标准信息、类别信息和u s b 厂家信息。不同的描述信息记录 了设备的相应的属性。 1 标准信息:这类信息是对所有u s b 设备的共同性的定义,包 括一些如厂商识别、设各种类、电源管理等的项目。设备设 置、接口及终端的描述在此给如。标准信息包括设备描述信 息、配置描述信息、接口描述信息、端点描述信息和串描述 信息。其中,设备描述信息用于标识该设备遵守的u s b 协议 版本号、产品和制造商信息、可用的配置的数目等。一个 u s b 设备只能有一个设备描述。配置描述信息指明设备的接 口数目、供电性质和最大功耗。对大多数u s b 设备来说,一 个设备只有一个配置描述。接口描述信息中包含端点数目、 设备详细的类别信息和接口的串描述指示信息。端点描述信 息包含端点号、端点属性、该端点支持的最大包尺寸和轮询 端点数据传输的间隔。串描述信息在u s b 描述中不是必需 的,它是一些人可读的标识设备的信息。如果描述中没有串 描述,在接口描述的串描述指示位中必须声明。 2 类别信息:此类信息给出了不同u s b 的设备类的定义,主要 反映其不同点。 3 u s b 厂商信息:u s b 设备的厂商可自由的提供各种有关信 息,其格式不受该规范制约。此外,每个u s b 设各均提供 u s b 的控制和状态信息 这些描述信息在设备收到主机发出的标准设备请求命令后从 e p 0 的缺省控制p i p e 发送,使主机能够识别该u s b 设备。所有的 u s b 设备都要能通过缺省的控制p i p e 响应主机发起的设备请求。这 些请求通过控制传输方式完成,请求内容和参数在s e t u p 包中显示。 这些描述信息格式在u s b 规范中有详细定义,具体请查阅参考 文献1 4 j 和文献1 5 】。 2 4 状态转换关系 在一个u s b 设各插入主机之前,由于主机对该u s b 设备的情况 一无所知而无法建立起通信。所以u s b 协议规定了些最基本的准 第二章u s b 协议层 则来建立设备与主机的通信,比如规定每个设备的e n d p o i n t 0 都属于 控制端点默认可用。这样,主机就可以开始通过端点e p 0 向设各提 出有关设备的基本情况查询。当设备正确响应这些查询返回自己的 相关信息后,主机就大体了解这个设备是个什么样的设备了,按照 u s b 协议中的相应规定,逐步建立起一条介于主机自己和设备之间 的高速数据通道用于数据的传输。主机向设备提出的这些问题实际 上就是u s b 协议中规定的各种标准请求,设备必须对这些问题进行 回答,而回答的方式就是向主机传送相应的描述符:设备描述符、 配置描述符、接口描述符、端点描述符。 一个u s b 设备在被主机识别前要经历各种状态,这些状态的改 变依靠总线状态的改变和对主机的应答来实现。历次状态的改变关 系如图2 3 所示: 图2 - 3u s b 设备状态转换图 第二章u s b 协议层 这些状态彼此相互不独立,后续状态是建立在当前状态的基础 上的。从一种状态到另一种状态的转变可能是自动完成的也可能涉 及到一系列设备与主机的交互及设各自身的设置。 在各种状态下,系统所要完成的工作和状态转换的条件分别叙述 如下。 1 a t t a c h e d 在u s b 设备插入主机接口后,设备状态自动从d e t a c h e d 转换为 a t t a c h e d 状态。该状态不涉及到任何操作,只需将设备状态标识置1 即可。 2 p o w e r e d 在主机端,操作系统自带的u s b 驱动程序不断查询h u b 接口上 是否有设备插入。当主机检测到有物理设备连接后,进入总线枚举 阶段。 3 d e f a u l t 设备在经过总线复位后到得到个确定地址之前一直处于 d e f a u l t 状态,仅能从主机获得1 0 0 m a 的工作电流,且只能通过缺 省地址、缺省通道与主机进行通信。接着主机会发送一个 s e ta d d r e s s 请求给设备分配一个独立的地址,s i e 得到这个请求后 按上电阶段收到s e t u p 包的方式处理收到的8 b y t e s 数据。s e ta d d r e s s 请求包显示的数据阶段要传送的数据长度为0 ,软件将根据该包中主 机分配的设各地址值写入地址寄存器中。 u s b 规范中规定,设备在接收到s e ta d d r e s s 请求后的5 0 m s 内,要完成请求的处理并且完成请求过程的状态阶段,在该请求事 务中,仅有设置阶段和状态阶段,而没有数据阶段,则状态阶段的 结束是以设备发送回一个零长度的状态阶段数据包或接收到主机返 回的a c k 信号为标志的。s e t a d d r e s s 请求事务的执行与其他请求 不一样,需要在整个事务结束后( 即返回一个零长度的状态阶段数 据包后) m c u 才能进行新的地址的设置,以确保返回的零长度数据 包仍然为先前地址值( 在d e f a u l t 状态即为0 ,若是在其他状态下 进行的地址重新分配则为重分配前的地址值) 。在成功完成状态阶 段后,设备有2 m s 的恢复时间,2 m s 过后设备即要能通过新的地址 第二章u s b 协议层 值接收主机的请求,而旧的地址 地址即为0 ) 不再使用。至此, 行各类详细的配置。 4 a d d r e s s e d ( 对由d e f a u l t 状态而来的情况旧 设备即进入a d d r e s s 状态,接着进 设备得到主机分配的确定地址值后即通过新设备地址与主机进 行通信,完成主机对设备的配置操作。此时主机仍然通过缺省通道 发送u s b 设备请求信息( 8 b y t e s ) 至设备。 5 c o n f i g u r e d 在u s b 设备能使用前,它必须被配置( c o n f i g u r e d ) 。从设备的 方面来看,配置操作涉及到将一系列非0 值写到配置寄存器中。配 置设备或者使用设备的备用设置。 在a d d r e s s 状态事务处理完成以后,设备进入配置状态。在配 置阶段,各端点已经设置好并且能跟主机进行通信,设备进入设备 功能( 在这里为大容量存储设备功能) 实现阶段。在一个u s b 设备 中可能具有一个或多个配置( c o n f i g u r a t i o n ) ,在任一时刻仅能使用 一个配置,即在任意时刻只能有一个配置处于活动状态,其余配置 处于停止状态;每个配置下具有多个接口( i n t e r f a c e ) ,这些接口 是并行的,可以同时存在;在每一个接口之下具有一个或多个交替 设置( a l t e r n a t e s e t t i n g s ) ;每个交替设置都是一个或多个端点 ( e n d p o i n t ) 的集合。对于固件来说,只要有配置或者交替设置的变 化则需要对端点重新进行初始化,而硬件是不需要做任何操作的, 因此这仅仅是软件结构上的变化。这也就是图6 1 1 中设备由 c o n f i g u r e d 状态转换到a d d r e s s 状态再进行重配置的过程 当u s b 设备完成c o n f i g u r e 后,由于上述过程及参数都是标准 设备过程和标准设备参数,所以在主机上将提示找到新设备并提示 安装驱动程序。如果上述过程中参数出错则主机会提示找到未知设 备,不可用。在安装了驱动程序后,以后每次插入( p l u g i n ) 设备, 枚举次序和过程会与第一次插入过程的枚举过程稍有不同。枚举过 程完成后,设备与主机进入到下一层协议及m a s ss t o r a g e 协议下 b u l ko n l y 方式通信阶段。 6 s u s p e n d e d 第二章u s b 协议层 当设备检测到一定时间内总线上没有活动时,进入省电模式以 减少功耗。在s u s p e n d e d 模式下,设备会保留一些内部的状态,包括 它的地址和配置。 2 5 总线枚举 上述u s b 设备状态的改变是由一系列称为“总线枚举”的活动 来实现的。当一个u s b 设备插入或移出一个u s b 系统时,主机通过 一系列称为“总线枚举”的步骤来确认和管理设备状态的改变。当 一个u s b 设备插入系统中一个带电的端口后,以下活动便开始了。 总线枚举包括以下几个步骤: 主机或集线器检测到有额的设各插入后给该设备提供电源。 主机发出一个端口使能和复位信号,此后主机与该设备可以 通过默认的控制管道进行通信。 对m sw i n d o w s 操作系统的主机来说,此时它向设备发出获 取设备描述信息的请求。该描述信息长为6 4 b y t e s 。 在收到前8 b y t e s 的设备描述信息之后,主机即刻发出一个总 线复位信号。 主机为u s b 设备分配个设备地址。 主机继续请求余下的设备描述信息。 在设备描述发送完成后,主机开始请求u s b 的配置描述。 如果该u s b 设备有串描述,则主机继续请求获取其串描述。 在得到u s b 设备的所有描述信息后,主机为u s b 设备分配一个 配置值,此后,该u s b 设备处于配置状态,用户可以对该设各进行 下一步操作。 第三章b u l k o n l y 传输 第三章b u l ko n l y 传输 b u l ko n l y 传输规范仅仅使用b u l k 端点来传送数据命令状 态。b u l ko n l y 传输在大部分的通信中使用b u l k 传输,只有在端 点上清除一个s t a l l 状态以及传送类别特定请求( c l a s s s p e c i f i c r e q u e s t ) 时才使用控制传输。需要注意的是,b u l k o n l y 传输还支 持两个特定的请求:b u l ko n l ym a s ss t o r a g er e s e t ( 重置设备) 和g e t m a xl u n ( 取得设备支持的逻辑单元数目) 。 在b u l ko n l y y 规范中,主机与大规模存储设备之间的通信有 以下几种方式: 1 主机从控制端点e p 0 发送与大容量存储有关的特殊类请求。 2 主

温馨提示

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

评论

0/150

提交评论