(控制理论与控制工程专业论文)嵌入式usb主机接口的设计.pdf_第1页
(控制理论与控制工程专业论文)嵌入式usb主机接口的设计.pdf_第2页
(控制理论与控制工程专业论文)嵌入式usb主机接口的设计.pdf_第3页
(控制理论与控制工程专业论文)嵌入式usb主机接口的设计.pdf_第4页
(控制理论与控制工程专业论文)嵌入式usb主机接口的设计.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(控制理论与控制工程专业论文)嵌入式usb主机接口的设计.pdf.pdf 免费下载

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

文档简介

哈尔滨理下大学1 = 学硕上学位论文 嵌入式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 外设的 开发与基于p c 机的u s b 主机技术已经非常成熟,相对于在p c 机上的丰富 资源,嵌入式系统中有限的资源给基于嵌入式系统的u s b 主机系统开发带 来了很大难度。 本文根据设计要求,首先分析了u s b i 1 协议,对u s b 的系统体 系、数据通信模型、数据包格式、u s b 标准描述符进行了深入剖析;其 次,在分析u s b 大容量存储设备( m a s ss t o r a g e ) 类规范的基础上,建立了 u s b 主机与m a s ss t o r a g e 类设备之间的逻辑通信模型;嵌入式u s b 主机 选用了w i n b o n d 公司的w 7 8 e 5 9 b 芯片作为主c p u ,使用c y p r e s s 公司的 s l 8 1 1 h s 芯片作为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 主机;m a s ss t o r a g e 类;s l 8 1 1 h s 塞堡堡矍三奎兰三兰堡圭兰堡堡苎 d e s i g no ft h ee m b e d d e d u s bh o s ti n t e r f a c e a b s t r a c t u s bi n t e r f a c eh a st h ec h a r a c t e r i s t i c so fc o n v e n i e n t i l s e ,h j 【g h - s p e e da n d s u p p o r t i n gh o t p l u g g i n g i np c t h ed e v e l o p m e n to fu s bd e v i c e si sd i f f i c u l t b e e a n s eo ft h ec o m p l e xp r o t o c 0 1 t h a th o wt oa p p l yu s bt oe m b e d d e ds y s t e m a n dr e a l i z ec o m m u n i c a t i o no fp o i n t - t o - p o i n tb e c o m eh o ti nt h ef i e l do fu s b r e s e a r c hn o w t 1 1 es i m p l i f i e du 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 ts y s t e ma n d u s bs l a v es y s t e m t h ed e v e l o p m e n to fu s bs l a v es y s t e ma n dt e c h n o l o g yo f u s bh o s ts y s t e mb a s e do np ch a v eb e e na l r e a d ym a t u r e ,h o w e v e r , i m p l e m e n to f u 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 me n c o u n t e r e dm a n yd i f f i c u l t i e s b e c a u s eo f l i m i t c dr e s o u r c e sc o m p a r e dw i t ht h ea b u n d a n tr e s o u r c e so nt h ep c a c c o r d i n gt ot h ed e s i g nr e q u e s t m e n t s ,f i r s t l y , t h eu s b l 1s p e c i f i c a t i o ni s a n a l y z e d ,i nw h i c h ,t h eu s bs y s t e ma r c h i t e c t u r e ,d a t ac o m m u n i c a t i o nm o d e l ,d a t a p a c k e tf o r m a ta n du s bs t a n d a r dd e s c r i p t o rh a v eb e c o m et h ek e yp o i n t s e c o n d l y , t h el o g i c a lc o m m u n i c a t i o nm o d e lb e t w e e nh o s ta n dd e v i c ei se s t a b l i s h e do nt h e b a s i so fa n a l y z i n gt h eu s bd e v i c em a s ss t o r a g ec l a s ss p e c i f i c a t i o n t h i r d l y , t h a t t h ee m b e d d e du s bh o s ts y s t e ms e l e c t sw 7 9 e 5 8 ba n ds l $ 11 h st oa c ta st h e c p ua n du s bh o s ti n t e r f a c ec h i ps e p a r a t e l yc o b s t l n c i st h eh o s ts y s t e m t h e p r o j e c to ft h es y s t e mp o s s e s s e st h ev i r t u e so fl o wc o s t s ,l o wp o w e ra n dh i 咖 s p e e d ,e t e a n df r o mt h ep o i n to f t h es o f t w a r e ,t h es y s t e mi n t e g r a t e su s bd r i v e r , u s bh o s tc o n t r o l l e rd f i v e ha n db s e rs o r w a r e t h ep a p e rm a k e sa n a l y s i s e sa n dc o n c l u s i o n so nt h ed e s i g no ft h ee m b e d e d h o s ts y s t e m a c c o r d i n gt ot h em e t h o di n t r o d u c e di nt h i sp a p e r , w ee s t a b l i s h e dt h e e m b e d d e du s bh o s ts y s t e ms u c c e s s f u l l y ,w h i c hh a st h eg e n e r a ls i g n i f i c a n c et o t h ed e v e l o p m e n to f e m b e d e dh o s ts y s t e ma n dt h eu s a g eo f u s bd e v i d e df r o mp c t h ep r o s p e c t so ft h ed e v e l o p m e n ti nu s bp r o t o c o lh a sb e e nm a d ei nt h ee n do f t h ea r t i c l e - - 坠堡兰曼三查兰三兰丝:兰丝丝兰 k e y w o r d su s bh o s t :m a s ss t o r a g ec l a s s :s l 811h s 哈尔滨理工大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文嵌入式u s b 主机接口的设计, 是本人在导师指导下,在哈尔滨理工大学攻读硕士学位期间独立进行研究工作所 取得的成果。据本人所知,论文中除已注明部分外不包含他人已发表或撰写过的 研究成果。对本文研究工作做出贡献的个人和集体,均已在文中以明确方式注明。 本声明的法律结果将完全由本人承担。 作者签名:凿国长 日期:幻口占年3 月幻日 哈尔滨理工大学硕士学位论文使用授权书 嵌入式u s b 主机接口的设计系本人在哈尔滨理工大学攻读硕士学位期 间在导师指导下完成的硕士学位论文。本论文的研究成果归哈尔滨理工大学所 有,本论文的研究内容不得以其它单位的名义发表。本人完全了解哈尔滨理工大 学关于保存、使用学位论文的规定,同意学校保留并向有关部门提交论文和电子 版本,允许论文被查阅和借阅。本人授权哈尔滨理工大学可以采用影印、缩印或 其他复制手段保存论文,可以公布论文的全部或部分内容。 本学位论文属于 保密口,在年解密后适用授权书。 不保密6 扩。 ( 请在以上相应方框内打) 作者签名 导师签名: 考国毽 参叫 日期:舜j 月阳日 啥尔滨理工大学工学硕上学位论文 1 1 课题背景 第1 章绪论 本课题是一个自拟的课题。 随着计算机技术的飞速发展,嵌入式系统成为了当今计算机系统领域一个 非常活跃的分支。嵌入式系统被定义为:以应用为中心,以计算机技术为基 础,软硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要 求的专用计算机系统”。其最大的特点是嵌入式系统所具有的目的性和针对 性,即一套嵌入式系统通常是为在某些特殊的应用场合来实现几种特定功能而 设计的,这正是嵌入式系统与通用计算机系统的一个显著区别。 嵌入式系统作为一个特定的计算机系统,在很多情况下。需要与外界进行 信息交流与传递。如采样数据的输出保存,输出系统本身运行的参数以供分 析,嵌入式系统固件部分参数的重新装定等等。当前,在嵌入式系统中,数据 采集和交换大多还是使用软盘,串行接口,以太网等方式。软盘稳定性差, 容量小;以太网成本太高,移动性不好;串口速度比较低。 另外,嵌入式系统本身作为一个专用计算机系统,自身也存在扩充外部设 备的需要。 如果能够在基于嵌入式系统的平台上实现u s b 主机功能,则可以从根本 上解决上述的问题。目前u s b 设备分为1 8 类,几乎涵盖了从音频视频到数据 存储和通信等所有功能的计算机外设。具有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 主控制器 驱动程序都由w m d o w s 等操作系统提供,有关这些驱动程序的细节过程都蒙 着一层神秘的面纱。所以,要设计u s b 主机,就须设计这两部分驱动程序, w m d o w s 源码不公开,这些细节资料就无从得到。因此,设计就要遵循u s b 主机的协议规范。 本课题的主要研究内容即在于按照u s b i 1 协议规范为嵌入式系统中设计 略尔滨理工大学t 学硕士学位论文 u s b 的主机接口,从而使得嵌入式系统可以使用日益丰富的u s b 设备来扩 充,加强自身的功能。 1 2u s b 总线产生及发展 当前的计算机系统使用的绝大多数外部设备仍然是基于接口实现,一般都 使用并行口、串行口、p c i 接口等与计算机连接。其中有些接口设计时间是在 2 0 世纪8 0 年代。随着计算机技术的飞速发展,这些接口已经无法满足计算机 与外部设备之间不断提高的速度以及稳定性,易用性等要求,并且给计算机系 统的设计者带来了众多的麻烦,给用户的使用也带来了诸多不便。 为了解决旧的接口体系的缺陷,计算机行业从9 0 年代以来推出了许多总 线接口协议,其中最成功的是以i n t e r 为首的7 家公司推出的u s b 协议。u s b ( u n i v e r s a ls e r i a lb u s ,通用串行总线) 是c o m p a q 、d e c 、i b m 、i n t e l 、 m i c r o s o f t 、n e c 和n o t h e mt e l e c o m 等七大公司于1 9 9 4 年1 1 月联合开发的 计算机串行接口总线标准,1 9 9 6 年t 月1 5 日颁布u s b l 0 版本规范,1 9 9 8 年1 0 月公布了1 1 版本,修补了l0 版本中的问题。u s b2 0 版本规范于 2 0 0 0 年4 月2 7 日由c o m p a q 、h p 、i n t e l 、m i c r o s o f t 、n e c 和p h i l i p s 正式 对外发布。在u s b2 0 的发展道路上i n t e l 吸取了u s b1 0 的教i j i i 。当时,i n t e l 坚定地领导u s b1 0 的主控芯片的发展,并拒绝透露内建的寄存器设置的细 节,这些寄存器设置如今被叫做通用主控接口( t a q c d 。结果,微软、国家半导 体以及其他一些公司不得已发展了一套完全不同的寄存器设置,被叫做开放主 控接1 3 ( o h c i ) ,这样在市场里就有了许多带着各自一套不同寄存器设置的主控 芯片,这极大延缓了驱动的发展进度。在u s b2 0 规范里,i n t e l 决定做增强的 主控接口( e h c i ) 并且对外公布寄存器的情况。这使得主控芯片归于统一,这非 常有利于设备驱动的发展。u s b2 0 除兼容u s b l 1 外,新增主要规范内容: 数据速率可达4 9 0 m b p s 。支持高清晰数字会议系统设备、高速高密存储设备、 新一代更高速高分辨率的彩色打印机及扫描仪、宽带a d s l 和c a b l em o d e m 等。 目前无线u s b1 0 版规范已经发布,无线u s b 技术也称作w u s b 。这个 技术将以包括英特尔在内的一个行业联盟支持的多频段o f d m ( 正交频分复 用) 技术为基础。这项技术还融合了r t m e d i a 联盟确定的通用超宽带无线电 平台技术。超宽带和无线u s b 规范目前正处于早期的定义阶段。其在3 米之 内的传输速率为4 8 0 m b p s ,这个速率已经同u s b2 0 高速模式一样了,即使在 哈尔滨理工大学工学硕1 学位论文 最远的1 0 米距离时,其传输速率也有1 1 0 m b p s 。这还不是无线u s b 的终极速 度,将来的无线u s b 标准还可以达到惊人的2 0 0 0 m b p s ! 这种互联总线技术将为目前的有线u s b 规范增强新的流媒体功能m 。除了 最近广泛应用的蓝牙技术之外,无线u s b 技术还将与无线局域网技术展开竞 争。 1 3u s b 总线的特点 u s b 的特性描述: 1 低成本。为了把外围设备连接到p c 上去,u s b 提供了一种低成本的 解决方案。所有系统的智能机制都驻留在主机并嵌入芯片组中,方便了外设制 造。 2 热插拔。真正的“即插即用”( p a p ,p l u ga n dv l a y ) 。设备连接后由 u s b 自检测,并且由软件自动配置,完成后立刻就能使用,不需要用户进行 干涉。 3 单一的连接器类型。u s b 定义了一种简单的连接器,仅用一个四芯电 缆,它可以用来连接任何一个u s b 设备。多个连接器可以通过u s b 集线器 连接。p c 插槽将随之减少,空间得到节省。 4 1 2 7 个设备。每个u s b 总线支持1 2 7 个设备的连接,星状拓扑。 5 灵活的速度模式。u s b i 1 有两种设备传输速率:低速的1 5 m b p s 和 全速的1 2 m b p s ,且自适应转换。u s b2 0 新增了高速模式,传输速率可达 4 8 0 m b p s 。较低的那个传输速率能够适合低速、低成本的u s b 设备,且数据 线不需要带屏蔽,降低了所使用的数据线的成本。 6 数据线供电。外围设备能够直接通过数据线进行供电。5 伏的直流电 压可以直接加在数据线上。电流大小则取决于集线器的端口,范围从1 0 0 m a 至5 0 0 m a 。 7 不需要系统资源。不像i s a 、e i s a 、p c i 设备,u s b 设备不需要占用 内存或i o 地址空间,而且也不需要占用i r q 和d m a 通道。所有的事物处 理都是由主控制器管理。 8 错误检测和恢复。u s b 事务处理包括错误检测机制,它们用以确保数 据无错误发送。在发生错误时,事务处理可以重来。 9 电源保护。如果连续3 l s 没有总线活动的话,u s b 就会自动进入挂 起状态。处于挂起状态的设备消耗的电流不超过5 0 0l ia 。 略尔滨理工大学1 = 学硕上学位论文 l o 支持四种类型的传输方式。u s b 定义了四种不同的传输类型束满足 不同设备的需求。这些传输类型包括:同步传输、批量传输、中断传输和控 制传输。 由于u s b 具有众多的优点,所以得到了大量软硬件厂商的支持,市场上 提供的基于u s b 接口的外设产品和解决方案越来越多。目前,u s b 已经成为 了个人电脑的标准接口。 1 4 嵌入式u s b 主机的概念提出及国内外研究现状 从u s b 问世,到协议规范2 0 版本和无线u s b1 0 版规范,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 能应用在没有p c 的领域中。 我们目前所买到和使用的u s b 移动设备,都是u s b 的外设( d e v i c e ) , 比如u s b 的移动硬盘、u s b 接口的数码相机等等。这些设备都只能在p c 上 使用,只能通过p c 来进行相互的文件和数据交换。没有了p c ,这些设备就 “失灵”了( 指数据交换的功能) 。这是因为u s b 的拓扑结构中居于核心地位 的是h o s t ( 也称为主机) ,任何一次u s b 的数据传输都必须由主机来发起和 控制,所有的u s b 外设都只能和主机建立连接,任何两个外设之间或是两个 主机之间无法直接通信。而目前,大量的扮演主机角色的是个人电脑p c 。离 开了个人电脑,这些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 技术规范所规定的 h o s t 角色的功能模块,在任何想使用u s b 设备的嵌入式系统中,都必须拥 有u s b h o s t 功能模块。 目前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 i 1 协议,由于其技术比较成熟,应用的较为广泛”1 。 i s p l l 6 1 是p h i l i p 公司推出的世界上第一块集主从控制器于一体的1 6 位芯 片,多用于d s p 等系统中,它的应用方向是一些便携数码装置。基于这两个 主控芯片,国内外的嵌入式产品厂家展开了广泛的研究,希望能够在嵌入式产 品的世界中有u s b 产品的参与。 另外,国内的南京沁恒电子也提供c h 3 7 5 等u s b 接口芯片。c h 3 7 5 内置 了处理m a s ss t o r a g e 海量存储设备的专用通讯协议的固件,内部电路设计得到 简化。具有使用简单的特点,但是这也限制了该芯片的使用范围”。 此外,一些厂商推出了整合了微处理器和u s b 主机控制器的芯片,如三 星的$ 3 c 2 4 1 0 。 当前嵌入式u s b 主机的应用主要集中在移动数据采集,存储领域。移动数 据交换技术,是伴随着u s b 总线接口的成熟而兴起的。从u s b 接口的移动硬 盘和u 盘,到具有u s b 接口的数码相机,凡是涉及到移动数据存储的装置, 大多采用u s b 接口。u s b 既是数据交换的媒介,又是其核心。可以这样说, 没有u s b ,就不会有移动数据业务的迅猛发展。 当前国内外关于嵌入式u s b 主机的研究与应用集中的体现在两个方面: 1 应用于工控设备的数据采集领域中:随着数据采集系统、工控行业和 嵌入式用户对移动存储的需求越来越大,传统的通过软盘、串行口 ( r s 2 3 2 r s 4 8 5 ) 或以太网等传输数据的方式已不能满足当前数据存储和交换的 需求。如何在嵌入式模块中实现u s b 移动存储已成为急需解决的问题。将嵌 入式u s b 主机集成到工控设备中,就可以利用u s b 移动存储设备方便廉价的 解决这个问题,不再需要额外配备p c 机或者架设有线无线网络。典型的产品 有野外无人值守检测设备和飞机黑匣子、汽车黑匣子( 数据记录仪) 、测厚 仪、探伤仪、手持式数据采集器等等。 2 满足个人数字娱乐设备的的需要:具有嵌入式u s b 主机功能的个人娱 乐装置能够脱离p c 机直接传输数据,例如在嵌入式操作系统上实现u s b h o s t 可以使数码相机、新型手机和p d a 脱离开p c 直接与打印机和扫描仪等 设备实现互连。如果能将u s bh o s t 内置于数码相机中,就能够将数码相机中 的照片直接输出给u s b 打印机。 3 o t g 技术的运用:u s bo n - t h e g o 技术目前是家电和通信领域追逐的 热点,u s bo n - t h e - g o 就是u s b 应用在便携式移动设备领域中,也可称为 “便携式u s b ”或者“移动u s b ”,简记成u s bo t g v ”1 。符合u s bo t g 的 哈尔滨理工大学丁= 学硕上学位论文 设备完全抛开了p c ,既可以作为h o s t ,也可以作为外设,而与另一个o t g 设备直接实现点对点( p e a rt op e a r ) 通信。因此,这类o t g 设备也被称为是双角 色设备( d u a l r o l ed e v i c e ,简称为d r d ) ,并能够根据接入设备的特性和数据 传输过程中的情况,自动切换为h o s t 或是外设“。我们注意到,u s bo t g 虽然是具备了更强大的功能,但是其核心仍然是嵌入式u s b 主机,只不过需 要加入一个能够自动切换角色的功能。而这个新功能的实现,就要借助于u s b o t g 接口芯片的物理层来实现”。很多u s b 方案的提供商,在设计u s b0 t g 时,就是设计一个嵌入式的u s b 主机,然后通过软件实现角色切换的功能。 可以说,嵌入式u s b 主机,是整个u s b 系统应用发展的趋势。 1 5 论文的主要研究内容 u s b 是一个完全规范化与标准化的接口,要实现与各个不同厂家,不同设 备问的可靠通信,就要完全遵守u s b 的相关规范与标准。这其中包含了硬件 的标准和软件的标准、协议。另一方面,相关规范的完善也降低了u s b 开发 中的难度,只要按照规范实现所需要的功能,就能得到众多标准设备的支持。 嵌入式u s b 主机的具体设计可以从硬件和周件两个方面来进行。作为一 个独立的单片机系统的设计,需要设计者从电路搭建到软件规划的点滴做起, 每一部分电路的设计都可能会影响到单片机软件的程序设计。同样,嵌入式 u s b 主机也是一个完整的,独立的以微处理器为核心的系统,因此,其中的软 件和硬件的设计是相辅相成,紧密联系的。 硬件方面的研究内容主要是根据课题需要选取功能适合的芯片及设计电路 板。 软件方面的研究内容主要是根据课题需要,规划出高效,稳定的代码。为 了实现具有实际使用价值的代码,需要对以下方面进行深入研究: 1 u s b l 1 协议规范; 2 m a s ss t o r a g e 设备类协议栈; 3 微软w i n d o w sf a t l 6 文件系统。 在完成软件具体功能的规划后,可以依照以下几个模块来实现软件: 1 u s b 主机控制器驱动程序; 2 u s b 核心驱动程序; 3 m a s ss t o r a g e 设备类实现以及通用的f a t l 6 文件系统。 为了满足通用性和可移植性。本文在硬件上选用集成度较低的芯片,在软 哈尔滨理工大学丁学硕十学位论文 件编制过程中使用c 语吉编写相关代码。 哈尔滨理工大学工学硕上学位论文 第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 l 1 协议做了详细分析。 2 1u s b 体系结构 2 1 1u s b 的星形拓扑结构 u s b 以u s b 主机为核心以外围的u s b 设备为功能,组成了系统模型, 也就是说,u s b 提供的是主机和设备问的通信服务。u s b 的物理连接是有层 次性的星形结构。每个网络集线器是星形的中心,每条线段是点点连接:从主 机到集线器或其功能部件,或从集线器到集线器或其功能部件,从图2 - l 中可 看出u s b 的拓扑结构,u s b l 1 支持4 层h u b ,u s b 2 0 则达到了6 层。 1 在任何u s b 系统中,只有一个主机。u s b 和主机系统的接口称作主机 控制器,主机控制器可由硬件、固件和软件综合实现。根集线器是由主机系统 整合的,用以提供更多的连接点。可见,u s b 主机是u s b 系统的核心。主机 通过与设备相连的逻辑通道与设备进行通信;在通信的过程中,u s b 主机充 当信息流的源端或是目的端。 2 u s b 的设备包括集线器类和功能器件类。集线器向u s b 提供了更多的 连接点;功能部件类则是一种通过总线进行发送、接收数据和控制信息的 u s b 设备,为主机提供了各种具体的功能。功能设备一般是一种相互无关的 外设。功能部件类又细分为多种类,现在已经形成的常用的设备类规范有人机 接口设备类( h i d ) 和大容量存储设备类( m a s ss t o r a g e ) 等。 3 u s b 采用星形拓扑结构,以u s bh u b 为“中转站”的模式,大大减 低了u s b 主机的工作负荷,同时为设备的工作提供了更高的稳定性。 哈尔滨理工大学工学硕士学位论文 岔 b m r e q u e s t & 0 x s 0 ) f产数据传输方向为h o s t t o d e v i c e + p i d 2 p i d _ o u t ; i f ( ! u s b x f e r ( u s b a d d r , e p 0 ,p i d _ i n ,p a y l o a d , w l e n , p d a t a ) ) l e t u l t lf a l s e ; p a y l o a d = o : 哈尔滨理工大学工学硕上学位论文 e l s e 数据传输方向为d e v i c et oh o s t i f ( ! u s b x f e r ( u s b a d d r , e p 0 ,p d _ o u t , p a y l o a d ,w l e n , p d a t a ) ) r e t u r nf a l s e ; 3 当有可选数据步骤时,状态信息步骤包含在可选数据步骤的i n 或者 o u t 事务函数中。没有可选数据步骤时的状态信息步骤实现如下: i f ( ! u s b x f e r ( u s b a d d r , e p o ,p i d ,p a y l o a d , 0 ,n u l l ) ) 主机发送控制传输的信息+ , r e t u mf a l s e 5 2 2 5 批量传输的实现批量传输的实现较为简单,相当于控制传输中的可选 数据步骤。包括批量烈和批量o u t ,批量i n 定义如下: b y t eb u n d n ( b y t e p b b u f f e r , u i n tl e n 、 严p b b u f f e r 为数据缓冲区的地址,l e r t 为数据长度 ( 省略) ) 、 。 5 2 2 6u s b 标准请求实现u s b 定义1 1 种标准的请求命令,这些命令就是基 于控制传输实现的。程序首先建立了一个通用的命令发送函数: b y r ev e n d o r c m d ( b y t eu s b a d d r ,b y t eb r e q ,b y t eb c m d ,w o r d w v a l u e ,w o r dw l n d e x ,w o r dw l e n ,b y t e + p d a t a ) s e t u p p k gs e t u p ;定义u s b 标准请求命令格式+ s e t u p b m r e q u e s t = b r e q ; 严填写命令内容 s e t u p b r e q u e s t= b c m d ; s e t u p w v a l u e 2 w v a l u e ; s e t u p w l n d e x 2 w l n d e x ; s e t u p w l e n g t h;w o r d s w a p ( w l e n ) ; r e t u r ne p 0 x f e r ( u s b a d d r , t t d e v w p a y l o a d o ,& s e t u p ,p d a m ) ;严发送命令 不同的标准请求命令需要填写不同的内容,以设置地址请求命令为例,该 命令的实现代码如下: b y t es e t a d d r e s s ( w o r da d a o 哈尔滨理丁丈学工学硕士学位论文 r c t u i nv e n d o r c m d ( 0 ,0 ,s e t _ a d d r e s s ,w o r d s w a p ( a d d r ) ,0 ,0 ,n u l l ) ; 严填写不同的字段内容,调用v e n d o r c m d o 发送 5 2 3 枚举过程的实现 当一个u s b 设备连接到主机上之后,主机就应该对该设备进行枚举。课 题实现的u s bh o s t 枚举过程如下:首先通过0 号端点获取设备描述符信 息,并给该设备分配一个唯一的地址,然后读取配置描述符信息、接口描述符 信息和端点描述符信息,为设备选择设置配置描述符信息。枚举函数定义如 下,基本实现过程见图5 2 。由于设计时设定本系统只支持一个u s b 海量存 储设备,所以规定设备地址为1 。 b y t ee n u m u s b d e v ( b y t eu s b a d d r ) ( ( 省略) 5 - 3 嵌入式u s b 主机用户层软件实现 前面已经提及,用户层软件包括m a s ss t o r a g e 类协议和f a t l 6 文件系 统。下面将具体介绍这部分的软件实现。 5 3 1m a s ss t o r a g e 类协议实现 课题设计的u s b 主机支持的设备是m a s ss t o r a g e 类设备,它采用单批量 b u l k - o n l y 的传输协议,而其子类则采用【j f i 命令集。包括的内容首先是b u 配 o n l y 的建立,包括c b w 和c s w 两个封包的定义;其次就是通过u f i 的特定 的请求命令,实现对m a s ss t o r a g e 类设备的读写操作。 从软件的角度来讲,b u l k o n l y 的传输协议实现是通过调用b u l ko u t o 和 b u l ki n 0 这两个批量传输函数来实现的,也就是利用批量传输函数来发送,接收 m a s ss t o r a g e 的c b w 、c s w 以及数据,而u f i 命令则又是在b u l k - o n l y 协议 的基础上来发送特定的请求命令。 堕尘堡矍三奎兰三耋塑圭兰竺篓兰 u s b 设备强入主机 1w ,s n s s b 确认设备端口状志 士 i 主机重新配置设备端口 i 主机对设备端口复位 士 主机获取设备描述符 主机给设备分配地址 读取设各的描述符,获取设各基本信息 l 主机配置设备使设备可用 l枚举完成 l 图5 - 2u s b 设备的枚举过程 f i g o 5 - 2e n u m e r a t i n gp r o c e s so f u s be q u i p m e n t - 4 9 - 哈尔滨理1 二大学工学碗十学位论文 1 命令块封包c b w 和命令状态封包c s w 的定义 t y p e d e f s l r u c tc o 心1 a n db l o c kw r a p p e r d w o r dd c b ws i g n a t u r e ; d w o r dd c b wt a g ; d w o r dd c b wd a t a x f e r l e n ; b y t eb c b wf l a g ; b y t eb c b wl u n : b y t eb c b wc d b l e n ; c b w c bc b w c o m m a n d ;,+ u f i 命令的信息包含在该字段+ b y t e r e s v e r d 4 ; c b w , + p c b w ; b r p e d e f s t r u e tc o o 压a n ds t a t u sw r a p p e r d w o r dd c s ws i g n a t u r e ; d w o r dd c s wt a g ; d w o r dd c s wd a t a r c s i d u e ; 。 b y i eb c s ws t a t u s ; c s w ,p c s w ; 2 b u l k - o n l y 传输协议的实现b u l k - o n l y 的传输包括命令c b w 阶段、 数据阶段和状态c s w 阶段。课题开发的软件这3 个步骤包含在u f i 子类命令 的实现中。详见下面的内容。 3 u f i 子类请求命令的实现课题开发的u s bh o s t 实现了如下的u f i 子类命令: b y t e i n q u i r y ( v o i d ) ; b y t et e s t u n i t ( v o i m ; b y t el o c k m e a i a ( v o i d ) ; b y t er e q u e s t s e n s e ( v o i d ) : b y t er e a d c a p a c i t y ( v o i d ) : b y t er e a d ( d w o r dd l b a , b y t eb l e n , b y t e p b b u f f e r ) ; b y t ew r i t e ( d w o r dd l b a , b y t eb l e n , b y t e p b b u f f e r , b y t eb w a i t t i m e ) 。 下面以i n q u i r y 命令为例说明u f i 命令的实现过程,i n q u i r y 用于获取设备 信息。 b y t ei n q u i r y ( v o i d ) 哈尔滨理工大学工学硕士学位论文 严填写c b w 中除c b w c b 字段外其他字段的内容t b l o c k c o m m a n d c b w b l o c k d c b w _ s i g n a t u r e = c b w - s i g n a t u r e ; b l o c k c o m m a n d c b w b l o c k d c b j 肾0 x 6 0 a 6 2 4 d e ; b l o e k c o m m a n d c b w b l o c k d c b w _ d a t a x f e r l e n = 0 x 2 4 0 0 0 0 0 0 ; b l o e k c o m m a n d c b w b l o c k b c b w 二f 1 a g = 0 x 8 0 ; b l o c k c o m m a n d c b w b l o c k b c b w _ l u n = 0 ; b l o c k c o m m a n d c b w b l o c k b c b w _ c d b l e n = s i z e o f ( i n q u i r y ) ; 产填写包含在c b w c b 字段中的i n q u i r y 命令+ , b l o c k c o n m m n d c b w b l o c k c b w c o m m a n d u f i _ i n q u i r y o p e r a t i o n c o d e = u f i _ c m d _ i n q u i r y ; b l o c k c o m m a n d c b w b l o c k c b w c o m m a n d u 丘i n q u i r y r e s e r v e d 0 = 0 ; b l o c k c o m m a n d c b w l 3 1 0 c k c b w c o m m a n d u f i i n q u i r y p a g e c o d e - - - - 0 ; b l o c k c o m m a n d c b w b l o c k c b w c o m m a n d ,u i i a n q u i r y a l l o c a t i o n l e n = o x 2 4 ; d e l a y m s ( 2 0 ) ; 、 i f ( i b u l k o u t ( ( b y t e + ) & b l o c k c o m m a n d c b w b l o e k , s i z e o f ( b l o c k c o m m a n d c b w b l o e k ) ) )主机发送c b w + , r e t u r nf a l s e = d e l a y m s ( 2 0 ) ; i f ( ! b u l k t n ( b b u f ,3 8 ) )产主机接收数据, r e t u r nf a l s e ; i f ( 1 b u l k l n ( ( b y t e ) & b l o c k c o m m a n d c s w b l o c k , 1 3 ) ) r e t l i n lf a l s e ; r e t u r nt r u e ; 5 3 2f a t l6 文件系统的实现 设计文件系统。就是

温馨提示

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

评论

0/150

提交评论