已阅读5页,还剩61页未读, 继续免费阅读
(检测技术与自动化装置专业论文)基于usb的微控制器大容量存储技术研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目:基于u s b 的微控制器大容量存储技术研究与设计 专业:检测技术与自动化装置 硕士生:连斌 ( 签名) 杰。这 指导教师:柴钰( 签名)盛垂 摘要 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 主机技术已经相当成熟。相对于p c 机上的丰富资源,嵌 入式系统中的有限资源给基于嵌入式系统特别是不含操作系统的微嵌入式系统的u s b 主机开发带来很大的难度。如何将u s b 技术应用于嵌入式系统领域,实现u s b 按1 2 1 是目前u s b 领域研究的热点。本文通过对u s b 协议架构及其通信流程的分析,确定 在没有操作系统支持的情况下嵌入式u s b 主机必须具备的软硬件条件。并以应用最广 泛的优盘作为u s b 设备,借助c y p r e s s 公司的u s b 接口芯片s l 8 1 1 h s ,使得在没 有操作系统的支持下微控制器( m i c r oc o n t r o l l e ru n i t ) 仍然能够完成对优盘的操作, 从而为u s b 技术在嵌入式系统中的应用提供一神解决方案。本文重点进行以下工作: 1 介绍u s b 总线,分析u s b 协议和嵌入式系统中主机应具备的功能。2 介绍u s b 设备类( 以海量存储类协议为主) 以及如何在嵌入式系统中实现u s b 接口。3 构建 m c u + u s b 接口控制芯片实验模型,完成硬件电路部分设计。4 针对u s b 主机的软 件需求,在单片机系统中编程实现u s b 协议栈、u s b 大容量存储类协议以及在p c 领 域应用广泛的f a t 文件系统,并结合流程图详细的阐述程序设计过程。 关键词:u s b 总线;接口;嵌入式系统;大容量存储 研究类型:应用研究 s u b j e c t :r e s e a r c ha n dd e s i g nb a s e do nu s bm a s s s t o r a g ef o rm c u s p e c i a l t y :d e t e c t i n gt e c h n o l o g ya n da u t o m a t i ce q u i p m e n t n a m e:l i a n b i n i n s t r u c t o r :c h a iy u ( s i g n a t u ,。)生i 竺5 血 ( s i g n a t u r e ) a b s t r a c t u n i v e r s a ls e r i a lb u sb yw a yo fan e w t y p eo fc o m p u t e rb u sh a st h ec h a r a c t e r i s t i co fp l u g a n dp l a y , h o tp l u gc a p a b i l i t y , s m a l li n t e r f a c ec u b a g e ,e t c a l lo ft h e s ew i l lb r i n go v e r t u r nt o t h et e c h n i co fc o m p u t e ri n t e r f a c e t h er e s e a r c ha n dd e s i g no fe m b e d d e du s b s y s t e mw i l l b r o a d e nt h ea p p l i e df i e l do fu s bi n t e r f a c et e c h n i c ,a n db r i n gt h eb r a n d n e ww o r l do ft h e d e s i g no fe m b e d d e ds y s t e m u s bs y s t e mi n c l u d e st w os u b s y s t e m s :u s bh o s ta n du s bs l a v e t e c h n i co fd e v e l o p m e n to nu s bs l a v es y s t e ma n du s bh o s ts y s t e mb a s e do np ch a sb e e n a l r e a d yv e r ym a t u r i t y , h o w e v e r , i m p l e m e n to fu s bh o s ts y s t e mb a s e do ne m b e d d e ds y s t e m e n c o u n t e r e dm a n yd i f f i e u l t i e sb e c a u s eo fa b u n d a n tr e s o u r c e so nt h ep ca n dl i m i t e dr e s o u r c e s o ne m b e d d e ds y s t e m h o wt oa p p l yu s bt oe m b e d d e ds y s t e ma n dr e a l i z eu s bi n t e r f a c eh a s b e c a m et h eh o to fu s br e s e a r c hf i e l dn o w i nt h i sa r t i c l e ,b ya n a l y z i n gt h eu s b p r o t o c o la n d c o m m u n i c a t i o nf l o w , t h es o f t w a r ea n dh a r d w a r eq u a l i f i c a t i o n st h ee m b e d d e du s b h o s tn e e d s t oh a v ei sc o n f i r m e d ,w i t h o u ta n ys u p p o r to ft h eo s ( o p e r a t i n gs y s t e m ) u s i n gt h ew i l d l y u s e df l a s hd i s ka su s b f a c i l i t y , i nv i r t u eo ft h ec y p r e s su s bi n t e r f a c i n gc h i ps l 8 1 1h s t h em c u ( m i c r oc o n t r o l l e ru n i t ) i sa l s oa b l et o a c c o m p l i s ht h eo p e r a t i o nt of l a s hd i a k w i t h o u ts u p p o r t i n gb yo s c o n s e q u e n t l y , t h i sa r t i c l ep r o v i d e san e wp r a c t i c a ls o l u t i o nf o r a p p l y i n gu s bt e c h n i ci n t ot h ee m b e e d e ds y s t e m n l ep r i m a r yt a s ko f t h i sa r t i c l ea sf o l l o w s :1 i n t r o d u c et h eu s b b u s ,a n a l y z eu s bp r o t o c o la n de m b e d d e dh o s t sf u n c t i o n 2 i n t r o d u c et h e u s bd e v i c eg e n u s ( m a s ss t o r a g e ) a n dh o wt or e a l i z et h eu s bi n t e r f a c ei nt h ee m b e d d e d s y s t e m 3 d e s i g nt h ee x p e r i m e n tm o d e lo fm c u + u s bi n t e r f a c ec h i pa n dc o m p l e t et h e d e s i g no f h a r d w a r e 4 f o rt h es o f t w a r er e q u i r e m e n to f t h eu s bh o s t ,w eh a v ep r o g r a m m e di n m c us y s t e mi no r d e rt or e a l i z eu s b p r o t o c o ls t a c k ,u s bm a s ss t o r a g ep r o t o c o la n df a tf i l e s s y s t e mw i l d l yu s e di np cf i e l d 1 1 1 ep r o g r a md e s i g ni sa l s oe x p l a i n e di nd e t a i l sc o m b i n i n g 、v i t hf l o wc h a r t k e y w o r d s :u n i v e r s a ls e r i a lb u si n t e r f a c ee m b e d d e ds y s t e m m a s ss t o r a g e t h e s i s :a p p l i c a t i o nr e s e a r c h 压要种技大学 学位论文独创性说明 本人郑重声明:所呈交的学位论文是我个人在导师指导下进行的研究工作及 其取得研究成果。尽我所知,除了文中加以标注和致谢的地方外,论文中不包含 其他人或集体已经公开发表或撰写过的研究成果,也不包含为获得西安科技大学 或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中做了明确的说明并表示了谢意。 学位论文作者签名:歉 日期: d 参2z 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期间 论文工作的知识产权单位属于西安科技大学。学校有权保留并向国家有关部门或 机构送交论文的复印件和电子版。本人允许论文被查阅和借阅。学校可以将本学 位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存和汇编本学位论文。同时本人保证,毕业后结合学位论文研究课 题再撰写的文章一律注明作者单位为西安科技大学。 保密论文待解密后适用本声明。 学位论文作者签名:指导教师签名: 溯i 臻i 年中月声6 日 1 绪论 1 绪论 1 1 研究的意义和国内外研究现状 随着计算机技术的不断发展,系统中数据量在不断增大,对数据传输速度的也越来 越高。现有的各类串行接口都存在着不同的缺点,越来越难以满足要求。u s b ( u n i v e r s a ls e r i a lb u s ,通用串行总线) 是一种应用在计算机领域的新型接口技术,它 是一种快速、双向、同步、廉价,并支持热插拔功能、即插即用( p l u ga n dp l a y ) 的串 行接口。u s b 技术的出现为外设的连接提供了一个很好的解决方案。通用计算机系统 中由于操作系统( w i n d o w s 、l i n u x ) 中全面支持u s b 接口的各类协议,这使得越来越 多的设备使用u s b 接口作为与计算机通讯和传输数据的工具。 从u s b 问世到协议规范2 0 版本,u s b 在不断自我完善并走向成熟。从普通计算 机用户、计算机工程师,到硬件芯片生产厂商,都已经完全认可了u s b 。厂商对于 u s b 的硬件和软件支持的也越来越完备。现在开发一个u s b 外设产品,所需要投入的 成本和时问大大降低了,几年前是没有办法做到这一点的。但是,随着u s b 应用领域 的逐渐扩大,人们对于u s b 的期望也越来越高,希望u s b 能应用在各种计算机领域 中,尤其是在移动数据领域中,希望能通过p d a 等移动设备直接和u s b 外设通信, 使得u s b 能应用在没有p c 的领域中,但这正是u s b 的一个致命的弱点。u s b 的拓 扑结构中居于核心地位的是h o s t ( 也称为主机) ,任何一次u s b 的数据传输都必须由 主机来发起和控制,所有的u s b 外设都只能和主机建立连接,任何两个外设之间或是 两个主机之间无法直接通信。而目前大量扮演主机角色的是p c 。因此,我们目前所买 到和使用的u s b 移动设备,都是u s b 的外设( d e v i c e ) ,比如u s b 的移动硬盘、u s b 接口的数码相机等等。所有这些设备都只能与p c 进行文件和数据交换。没有了p c , 这些设备就“失灵”了。因此,“如何将u s b 应用到嵌入式领域? 如何实现u s b 点对 点的通信? ”等问题形成了新的需求,嵌入式的u s b 主机成了新的研究的热点。 作为计算机系统的另外一个分支嵌入式计算机系统,随着嵌入式技术的不断发 展,出现了嵌入式操作系统( 例如:u c l i n t t x 、v x w o r k s 、u c o s 等) 。嵌入式操作系统 的出现为嵌入式计算机系统提供了开发平台,使得嵌入式计算机能像p c 机那样在操作 系统的支持下全面支持u s b 技术。但是由于平台昂贵的价格和必须高端处理器与之配 套等因素,使得u s b 只有在高端产品中才能得以应用。我们知道嵌入式微控制器也就 是我们常说的单片机,在电子技术高速发展的今天仍占有重要的位置,约占7 0 的市 场份额,是当前嵌入式系统的基础。由于无法得到嵌入式操作系统的支持要想实现 u s b 接口比较困难。如何在单片机上实现u s b 接口的研究是很有意义和实用价的。 西安科技大学硕士学位论文 目前国内外芯片生产厂家通常提供两类u s b 接口芯片,从内部结构上可分为有内 部处理器和没有内部处理器两类。以c y p r e s s 公司的e i - - u s bf x 2 为例,它内部含有 8 0 5 1 处理器。而c y p r e s s 公司的s l 8 1 l h s 芯片就是内部不含处理器的u s b 接口芯 片。这两类芯片各有优缺点,针对不同的应用环境和开发条件实现方法有所不同。针 对不同的用途国内外很多公司都提供了不同的解决方案。而在嵌入式的u s b 主机方面 所做的研究和设计大都是采用m c u ( m p u ) + u s b 主控接口芯片的模式。作为u s b 的延 伸,u s b 主控接口芯片只有少数的公司提供,现在比较成熟的有c y p r e s s 公司的 s l 8 1 1 h s 和p h i l i p s 公司的i s p l l 6 1 。s l 8 1 1 h s 是c y p r e s s 公司2 0 0 2 年的新产品,支 持u s b l 1 协议,由于其技术比较成熟,市场的供给充足,因而目前应用较为广泛。 i s p l l 6 1 是p h i l i p s 公司推出的世界上第一块集主从控制器于一体的1 6 位芯片,一般用 于d s p 及一些嵌入式系统中,它的应用方向是一些手持数码设备。基于这两个主控芯 片,国内外的嵌入式产品厂家展开了广泛的研究,希望能够在嵌入式产品的世界中有 更多u s b 产品出现。 鉴于单片机所占有的广阔的市场空间,基于单片机嵌入式u s b 主机控制器的研究 具有一定的领先性和前瞻性。现在一些大学和公司己经开始了有关这方面的研究,从 事这方面研究工作的除了有清华大学、浙江大学等高等院校,还有一些便携式设备的 生产厂家。在一些工业现场中,某些场合例如温度、压力过高或者测试地点需要移动 等,进行数据采集及数据交换时使用p c 机十分不便,而利用u s b 移动类存储设备就 可以很方便的解决这个问题。现有的典型产品有飞机黑匣子、汽车黑匣子( 数据记录 仪) 、测厚仪、探伤仪、手持式数据采集器等等。 1 2 本文所做的主要工作 嵌入式u s b 系统的研究和开发将更进一步拓宽u s b 接口技术的应用领域,在数据 存储和交换领域具有很好的应用前景,将为嵌入式系统的开发带来全新的天地。本文 从u s b 总线的结构入手,通过分析u s b 总线结构、u s b 主机构造和优盘文件系统, 构建一个不含操作系统的微控制器实验模型( m c u + u s b 主控接口芯片) ,通过u s b 接口芯片s l 8 1 1 h s 实现了对优盘的读、写等操作,并在此基础上尝试移动硬盘的接 入。设计即包括硬件电路的设计,同时也包括各种底层协议的程序实现和m a s ss t o r a g e 协议的实现等。从而为不含操作系统的嵌入式系统提供一个通过u s b 接1 3 进行数据存 储和交换的解决方案 2 u s b 总线介绍 2 1u s b 总线 2 u s b 总线介绍 计算机内部总线,如c p u 与存储器之间均采用并行接口,这样速度快;但外设却 以串行接口比较占优势。s c s i 标准全名是小型设备通用接口标准,其传输速率为 i o m ,早期的扫描仪一般使用此接口,硬盘与主机的联接也使用这种接口。串行接口 的出现最早,使用最广的是r s 一2 3 2 接口,但其速度太慢。u s b 接口和i e e e1 3 9 4 接口 是两种速度比较高的串行接口,还有局域网中的以太网接口,它们具有较广阔的发展 前景和应用潜力。 , u s b ( u n i v e r s a ls e r i a lb u s ,通用串行总线) 是外围设备( 简称外设) 与计算机进 行连接的新型接1 2 i ,其最早是1 主1 c o m p a q 、d i g i t a le q u i p m e m 、i n t e l 、n e c 、m i c r o s o f t 、 i b m ;f d n o r t h e mt e l e c o m7 家公司于1 9 9 4 年1 1 月共同提出的,目的是简化外设的连接过 程,使p c 机接口的扩展变得更加容易。总的说来,u s b 具有即插即用、热插拔、接口 体积小巧、节省系统资源、传输可靠、提供电源、良好的兼容性、共享通信和低成本 等优点,是计算机外设连接技术的重大变革。1 9 9 8 年1 1 月推出的u s b l 1 规范( u s b l 0 : i i u s b l 1 统称u s b l x ) ,对u s b l 0 存在的问题做了修订,并且增加了一个新的传输类 型( 中断传输) 。但是由于在w i n 9 8 以前的操作系统均不支持u s b ,使得它的推广受到 影响,支持u s b 的外设也非常少。自从w i n 9 8 操作系统于1 9 9 8 年7 b 推出以后,这一技 术刁真正进入实用阶段,支持u s b 的外设也日益增多,像u s b 键盘;u s b 鼠标、u s b 相 机、u s bc d - r o m 等等。由于u s b l x 的最高数据传输率为1 2 m b p s ,阻碍了它的进一步 发展,为了提高u s b 数据传输速度,增强计算机和影音视频设备传送信息的实时性, u s b i p 于2 0 0 0 年4 月发表了u s b 2 0 ,在原来u s b l 1 的基础上增加了高速模式,并向后 兼容u s b i 1 ( u s b l 1 的传输速率最高为1 2 m b s ,u s b 2 0 的传输速率最高4 8 0 m b s ) 。 与其它老式p c 机接口相比,u s b 具有如下优点:【1 】【2 】【3 l 【4 1 热插拔。用户可以把u s b 外设连接到一台正在运行的p c 机上,操作系统能自 动识别,并且用户可以立刻使用,而不需要重新启动p c 机。用户可以在任何时候断开 u s b 外设,而不管计算机是否正在运行,这都不会损坏p c 机和外设。 即插即用。u s b 实现了自动配置,它不需要用户手工配置i o 地址和中断请 求。当u s b 外设接入p c 机时,操作系统会自动检测到这个连接,并加载合适的驱动 程序。对用户来说,只需要几秒钟,u s b 外设的安装就完成了。如果是外设的第一次 连接,操作系统可能会需要用户为期选择合适的设备驱动程序,除此之外,所有的安 装都是自动的。 西安科技大学硕士学位论文 共享式接1 3 。u s b 端口支持多个外设的连接,通过u s b 集线器,一个u s b 主 控制器上最多可以连接1 2 6 个外设。 接口体积小巧。和其它老式p c 接口设备相比,u s b 接1 2 1 小且薄,更适合于外 设体积小型化。 节省系统资源。在u s b 系统中,只有u s b 主控制器需要使用一根i r q 线和一 些f o 地址空间。对u s b 外设来说,它需要的仅仅是u s b 系统为其分配一个唯一的地 址,而这个地址只有u s b 子系统知道。 灵活。u s b 支持三种类型的传输速率:1 5 m b s 的低速传输、1 2 m b s 的全速传 输、4 8 0 m b s 的高速传输( u s b 2 o ) :4 种传输类型:块传输、同步传输、中断传输和 控制传输,这使其能适应多种外设的需要。 低成本。u s b 能实现强大的功能,它比以前的接口更加复杂。但是,它的组件 和电缆并不贵,带有u s b 接口的外设和具有同样功能的老接口相比,所需费用差不 多,有时会更少一些。 性能可靠。u s b 系统通过硬件设计和数据传输协议两方面来保证其传输的可靠 性。u s b 发送器、接收器和电缆的硬件规范消除了大多数可能引起数据错误的噪声。 在u s b 协议中包含了数据错误的检测机制,用来确保数据准确无误地发送和接收。 提供电源。u s b 电缆向外提供一根+ 5 v 的电源线,电流的大小取决于集线器 端口,最小为1 0 0 m a ,最大不超过5 0 0 m a ,用户可以直接使用这个总线电源。另外, u s b 支持低功耗模式,如果其连续3 m s 没有总线活动的话,u s b 就会自动进入挂起状 态,以节省电能消耗。 兼容性。u s b 规范有良好的向下兼容性,如u s b 2 0 的主控制器就能很好地兼 容u s b l 1 的产品,操作系统在检测到全速u s b 设备接入时,会自动按照1 2 m b s 的速 率进行传输,而其它高速u s b 设备,并不会因为全速设备的连接而减慢它们的传输速 率,它们仍可继续使用4 8 0 m b s 的速率进行传输。 虽然它的最高数据传输率( 4 8 0 m b p s u s b 2 o ) 没有i e e e1 3 9 4 高,也不支持点对 点的数据传输,但由于其价格优势,现在已广泛使用于计算机和周边设备的连接,如 键盘、鼠标、打印机、存储设备等。 2 2u s b 系统组成分析 在u s b 系统中,u s b 提供了在一台主机和若干台附属的u s b 设备之间的通信功 能,从终端用户的角度看到的u s b 系统,可简单地用图2 1 表示【1 l 【2 】 3 】。 4 2 u s b 总线介绍 图2 1 主机与设备的连接示意图 但在实际的实现上,具体的系统要比这复杂,不同层次的实现者对u s b 有不同的 要求,这使得我们必须从不同的层次观察u s b 系统。u s b 系统提出了一些重要的概念 和情况来支持现代个人计算机所提出的可靠性要求,所以u s b 的分层理解是必须的。 它能使不同层次的实现者只关心u s b 相关层次的特性功能细节,而不必掌握从硬件结 构到软件系统的所有细节。u s b 的这种层次结构如图2 2 所示1 1 l 2 l 3 1 。 主机物理设备 _ _ _ _ _ l l l l - i _ _ 实际通信流 逻辑通讯流 图22 u s b 系统通信流系统结构图 u s b 物理设备( u s bp h y s i c a ld e v i c e ) :u s b 上的硬件设备,可运行一些用户 程序。 客户软件( c l i e n ts o f t w a r e ) :为一个特定的u s b 设备而在主机上运行的软件。 这种软件由u s b 设备的提供者提供,或由操作系统提供。 u s b 系统软件( u s bs y s t e ms o f t w a r e ) :此软件用于在特定的操作系统中支持 u s b ,它由操作系统提供。与具体的u s b 设备无关,也独立于客户软件。 u s b 主机控制器( u s bh o s tc o n t r o l l e r ) :总线在主机方面的接口,是软件和硬 件的总和。用于支持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 2 1u s b 主机端组成及功能分析 u s b 接口的h o s t 端也被称为主机控制器,主机控制器由硬件和软件组成。硬件部 分由“主机控制器( h o s tc o n t r o l l e r ) ”、“根集线器( r o o th u b ) ”和“数据缓冲区d a t a b u f f e r ”组成。软件部分主要由“主机控制器驱动( h o s tc o n t r o l l e rd r i v e r h c d ) ”构 成。h c d 通过硬件,软件接口与主机控制器相互作用。 ( 1 ) 主机控制端硬件部分 u s b 主机控制器的硬件部分的实现有三种标准:【4 】【5 】 通用主机控制器接口( u n i v e r s a l h o s t c o n t r o l l e r i n t e r f a c e ,u h c i ) , 开放式主机控制器接口( o p e n h o s t c o n t r o l l e r i n t e r f a c e ,o h c i ) , 扩展型主机控制器接口( e n h a n c e dh o s tc o n t r o l l e r i n t e r f a c e ,e h c i ) 。 下面是主机控制器所提供功能的概况。【4 】口】 状态处理( s t a t eh a n d l i n g ) :作为主机的一部份,主机控制器报告及管理它的 状态。主机控制器的总的状态与根集线器及总体的u s b 密不可分,任何一个对设备来 说可见状态的改变都应反映设各状态的相应改变,从而保证主机控制器与设备之间的 状态是一致的。 串行化与反串行化:物理总线上的传输是以b i t 流的形式出现的,不管是作为 主机的一部分,还是作为设备的一部分,“串行接口引擎( s i e ) ”处理u s b 传输过程 中的串行化与反串行化工作。在主机上,串行接口引擎是主机控制器的一部分。对于 从主机输出的数据,主机控制器将协议及数据信息从它原始形式转换为“字位流”,而 对于主机接收的数据主机控制器进行反向操作。 帧产生( f r a m eg e n e r a t i o n ) :主机控制器以每lm s 间隙产生s o f ( s t a r t o f - f r a m e ) 标识来表示新的一帧的开始。s o f 标识是一帧的开始部份,在s o f 标识之 后,主机控制器在该帧的余下时间内传输数据。当主机控制器处于正常工作状态时, s o f 标识必须以lm s 为间隙连续的发送而不管其它的总线活动。当主机控制器处于不 给总线提供能量的状态时,它不能产生s o f 标识。当主机控制器不产生s o f 标识时, 它处于一种节能方式。s o f 标识具有取得总线的“最高的优先权”。主机控制器允许 u s b 每帧的时间长度相差4 - 1 b i t 的时间,主机控制器维持着一个当前帧的序号,在每一 个s o f 标识中传输当前帧序号的低l l 位。帧序号具有以下各方面的作用:用于将前 后两帧区别开,在每帧的结尾处加l ,和对于它的后继帧有效。 数据处理:主机控制器接收来自u s b 系统的数据并将其传送给u s b 设备或从 u s b 设备接收数据送给u s b 系统。u s b 系统和主机控制器之间传输的数据的具体格 式是基于具体的实现系统( u h c i 、o h c i 或e h c i ) ,同时要符合u s b 传输协议要求。 协议引擎:主机控制器管理着u s b 协议层的接口,在输出的数据中插入适当 6 2 u s b 总线介绍 的协议信息,并且它将解释并去除输入数据中的协议信息。 传输差错控制:主机控制器必须能够发现如下几种从主机的角度定义的错误: 超时错,该类错误发生在目标端口没有相应的反应或传输系统被严重损坏以至于目标 端口根本就没有收到信息;数据丢失或无效传输,主机控制器发送或接收到比应该传 输的数据包长度短的数据包;协议错,无效的握手p i d ,错误的包标志,位插入错。 远程唤醒:如果u s b 系统希望将总线置于挂起状态,它将请求主机控制器终 止任何形式的传输,包括s o f 。这使得所有的u s b 设备进入一种挂起状态。在这种状 态下,u s b 系统可以使主机控制器响应总线唤醒事件,这使得主机控制器能响应总线 的唤醒信号,重启主机系统。 根集线器:根集线器提供主机控制器与一个或多个u s b 设备的连接,除了主 机控制器及根集线器之间的硬件、软件接口是由具体的硬件实现来定义的外,根集线 器提供与其它的集线器一样的功能。根集线器主要由两部分构成:集线器控制器 ( h u bc o n t r o l l e r ) 和集线器转发器( h u br e p e a t e r ) 。它主要执行如下操作:控制 u s b 下行端口的电源,使能禁止u s b 下行端口,动态检测连接在每一个下行端口的设 备,设置并报告每一端口的状态,和提供过流保护机制( o v e rc u r r e n tp r o t e c t i o n ) 。 主机系统接口:主机控制器提供一条高速的读出与写入系统内存的数据通道, 内存与u s b 电缆的物理数据的交换是在主机控制器的控制下自动进行的,当数据缓冲 区需要充满或清空时,主机控制器通知u s b 系统。 ( 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 设备提供能量。 西安科技大学硕士学位论文 2 2 2u s b 设备端组成及功能分析2 l u s b 设备有集线器和功能部件两类。集线器是一种重要设备,它简化了u s b 互连 的复杂性。集线器包括两部分:“集线控制器”和“集线再生器”。“集线再生器”位于 上行端口和下行端口之间,是放大衰减信号、恢复畸变信号的器件,并且支持复位、 挂起、唤醒等功能。通过“集线控制器”所带有的接口寄存器,主机对集线器的状态参 数和控制命令进行设置,并监视和控制其端口。集线器可以串接在集线器上,集线器 通过上行端i ;3 向主机方向进行连接,下行端口允许连接另外的集线器或功能部件,集 线器可检测每个下行端口的设备的安装或拆卸,并可对下行端1 2 1 的设备分配能源,每 个下行端口可分辨出连接的是高速或低速设各。不同性质的设备通过称为端口的连接 点连在u s b 总线上。 功能部件是通过总线进行发送、接收数据或控制信息的u s b 设备,由一根电缆连 在集线器某个端1 2 1 上。功能部件一般相互独立( 但也有一种复合设备,其中有多个功 能部件和一个内置集线器,共同利用一根u s b 电缆。) 。每个功能部件都含有描述该设 备的性能和所需资源的设置信息。主机应在功能部件使用前对其进行设置:如设置地 址、分配u s b 带宽等。当设备连接并被配置编号后,该设备就有一个唯一的u s b 地 址。系统就是通过该地址对设备进行操作的。每一个u s b 设各通过一条或多条通道与 主机通信,所有的u s b 设备在零号端口上有一指定的通道控制通道。通过这条控 制通道,u s b 设备可在任何时候接入,同时可把描述自己的完整信息( 主要包括标准 信息和厂商信息等) 告诉主机h o s t 端。 功能部件类又细分多种类。现在已经形成类规范的主要有5 种。 音频设备类:实时音频信息接收器的源或目的设备。比如:话筒、音箱等; 通信设备类:和电话线相连的设备。比如:电信适配器,i s d n 等: 显示设备类:比如,显示器等; 人机接口设备类( h i d ) :被最终用户操纵的设备。比如,鼠标、键盘、光笔、 游戏控制杆等: 海量存储设备类( m a s ss t o r a g e ) :用于大量信息记录的设备。比如,软盘、硬 盘、磁带、光盘等。 另外,类规范尚未形成或正在定义阶段的有: 图像设备类:处理图像的设备。比如:扫描仪、摄像机等; 物理接口设备类( p i d ) :对操作者提供触觉反馈的设备。比如,用不同电阻模 拟不同力量的游戏杆,它是从h i d 设备中分离出来的: 电源设备类:为系统或外围设备提供电源的设备。比如,u p s 、智能电池等; 打印机设备类:比如,打印机等。 2 u s b 总线介绍 2 3u s b 系统中的通信协议分丰斤【1 】【2 】 3 】 u s b 系统中的通信协议主要是指主机与设备之间通讯过程中必须遵循的规则。在 本设计中,整个的软件编制是以数据在主机和设备之间的传输为基础,下面将介绍 u s b 协议中最为复杂的底层数据通信结构的内容。 在u s b l 1 版的规范中,主机上的软件通过一系列的通信流与逻辑设备进行通信。 下面将逐步分析,介绍端点、通道和通信流。图2 4 就是它们的相互关系。 图2 3 端点、通道和通信流关系图 这里我们需要了解u s b 中的几个概念: ( 1 ) 设备端点 一个端点是一个可以唯一识别的u s b 设备的一部分,它是主机与设备间通信流的 一个结束点。一系列相互独立的端点在一起构成了u s b 逻辑设备。每个逻辑设备有一 个唯一的地址,这个地址是在设备连上主机时,由主机分配的,而设备中的每个端点 在设备内部有唯一的端点号。这个端点号是在设备设计时被给定的。每个端点都是一 个简单的连接点,或者支持数据流进设备,或者支持其流出设备,两者不可得兼。 一个端点的特性决定了它与客户软件进行的传送的类型。一个端点有以下特性: 端点的总线访问频率要求; 端点的总线延迟要求; 端点的带宽要求; 端点的端点号: 对错误处理的要求; 端点能接收或发送的包的最大长度; 端点的传送类型; 端点与主机的数据传送方向。 端点号不为0 的端点在被设置前处于未知状态,是不能被主机访问的。所有u s b 设备都需要实现一个缺省的控制方法,这种方法将端点0 作为输入端点,同时也将端 西安科技大学硕士学位论文 点0 作为输出端点。u s b 系统用这个缺省方法初始化及一般地使用逻辑设备( 即设置 此设备) 。设备拥有除0 以外的其它端点的多少,取决于这些设备的功能。低速设备除 o 号输入及输出端点外,只能有2 个额外的可选端点。而高速设备可具有的额外端点个 数受限于协议的定义,最多1 5 个额外的输入端点和最多1 5 个额外的输出端点。 ( 2 ) 通道 个u s b 通道是设备上的一个端点和主机上软件之间的联系,体现了主机上缓存 和端点间传送数据的能力。u s b 不解释在通道中传送的数据的内容。消息通道要求数 据组织成u s b 定义的格式,但它的内容,u s b 是不管的。通道有两种不同的且互斥的 通信格式: 流通道( s t r e a m ) :指不具有u s b 定义的格式的数据流。流通道中的数据是流 的形式,也就是该数据的内容不具有u s b 要求的结构。数据从流通道一端流进的顺序 与它们从另一端流出时的顺序是一样的,流通道中的通信流总是单向的。对于在流通 道中传送的数据,u s b 认为它来自同一个客户。u s b 系统软件不能够提供使用同一流 通道的多个客户的同步控制。在流通道中传送的数据遵循先进先出原则。流通道只能 连接到一个固定号码( 这个号码是由协议层决定的) 的端点上,或者流迸,或者流 出。而具有这个号码的另一个方向的端点可以被分配给其它流通道。流通道支持同步 传输,中断传输和批量传输。 消息通道( m e s s a g e ) :指具有某种u s b 定义的格式的数据流。消息通道与端 点的关系和流通道与端点的关系是不同的。首先,主机向u s b 设备发出一个请求;接 着,就是数据的传送:最后,是一个状态阶段。为了能够容纳请求数据状态的变化, 消息通道要求数据有一个格式,此格式保证了命令能够可靠地传送和确认。消息通道 允许双方向的信息流,虽然大多数的通信流是单方向的。消息通道后有两个相同号码 的端点,一个用于输入,一个用于输出。两个号码必须相同。特别地,缺省控制通道 也是一个消息通道。一个设备的每个消息通道在一个时间段内,只能为一个消息请求 服务,多个客户软件可以通过缺省控制通道分出它们的请求,但这些请求到达设备的 次序是按先进先出的原则的。 ( 3 ) 通信流 通信流也可看成是数据流。u s b 设备对数据流有不同的要求。但允许各种不同的 数据流相互独立地进入一个u s b 设备。每种数据流都采取了某种总线访问方法来完成 主机上的软件与设备之间的通信。每个通信都在设备上的某个端点结束。不同设备的 不同端点用于区分不同的通信流。实际的数据流格式分拆如图2 4 所示: 2 u s b 总线介绍 u s b 驱动 程序 主机驱动 程序 广 厂 l 竺竺竺! jl 竺兰竺兰竺! ! 图2 4 实际的数据流格式 2 3 1u s b 的数据流的基本单元 u s b 通过通道在主机缓冲区与设备端点间传送数据。在消息通道中传递的数据具 有u s b 定义的格式,它的数据净荷区中包含的数据允许具有设备指定的格式。u s b 要 求任何在通道上传递的数据均被打包,而数据的解释工作由客户软件和应用层软件负 责。u s b 提供了多种数据格式,使之尽可能满足客户软件和应用软件的要求。 ( 1 ) 帧( f r a m e ) 。每l m s 信号为一帧,每一帧数据包括不同传输模式的数据包, 而每种数据包所占的比例,每帧所包含的附加信息,由u s b 主机中的帧管理器完成。 图2 5 一个数据帧的组成结构 ( 2 ) 包( p a c k a g e ) 。包是构成帧的单位,每一包数据由包开始信息( s o p ) 起始, 直至出现包结束信息( e o p ) 。包可以分为: 帧开始包( s o f ,s t a r t - o f - f r a m e ) ,用于标志一帧数据的开始。主机以每 1 0 0 m s :k 0 0 0 0 5 m s 一次的额定速率发出帧开始( s o f ) 包。如图2 6 所示,s o f 包是由 指示包类型的p i d 和以后的1 1 位的帧号字段构成。 西安科技大学硕士学位论文 8 b i t s11 b i t s 5 b i t s 图2 6 帧开始包格式 s o f 标记组成了仅有标记的( t o k e n o n l y ) 事务,它以相对于每帧的开始精确计 算的时间间隔发送s o f 记号( m a r k e r ) 和伴随的帧数。包括集线器的所有全速功能部 件都可收到s o f 包。s o f 标记不会使得接收功能部件产生返回包:因此,不能保证向 任何给定的功能部件发送的s o f 都能被收到。s o f 包发送2 个时间调配( t i m i n g ) 信 息。当功能部件探测到s o f 的p i d 的时候,它被告知发生s o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在XX书院揭牌仪式上的致辞
- 八角无缝管建设项目可行性分析报告(总投资18000万元)
- 制备液相色谱建设项目可行性分析报告(总投资16000万元)
- 无锡工艺职业技术学院《建筑材料物相分析》2024-2025学年第一学期期末试卷
- 推拉门项目可行性分析报告范文(总投资12000万元)
- 一年级安全主题班会课件
- 2026年加强施工现场管理协议
- (2025)医院感染暴发报告及处置管理规范试题带答案
- 粮食供应合同范本
- 商品房产合同范本
- 医生护士家长父母进课堂助教-儿童医学小常识PPT
- 低压羰基化法制乙酸的工艺流程
- 植物群落二课件
- 第三章作物育种方法
- SMT通用镭雕操作作业指导书V1.0
- 教育心理学:11 教学设计
- 2022年大连市旅顺口区(中小学、幼儿园)教师招聘考试《教育综合知识》试题及答案解析
- GB/T 17341-1998光学和光学仪器焦度计
- GB/T 1220-1992不锈钢棒
- 《中国近现代史纲要》第八章-中华人民共和国的成立与中国社会主义建设道路的探索
- 食品工艺学题库
评论
0/150
提交评论