




已阅读5页,还剩51页未读, 继续免费阅读
(微电子学与固体电子学专业论文)海量存储类usb+host的关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
j j j 华中科技大学硕士学位论文 摘要 目前大多数便携式设备都使用u s b 接口与p c 进行通信,这也造成了u s b 设备 对p c 的依赖。如果能够在脱离p c 的条件下,实现这些设备之间的通信,将会给用 户带来很大的方便。为了达到这一目的,本课题设计并实现了一个嵌入式u s b 数据 交换平台。该系统能够直接驱动u s b 接口的移动存储设备,实现它们之间的直接通 住 1 日o 完成上述功能有两种可行的方式:一是设计一个遵从o t g 规范的嵌入式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 从设备之间的 相互通信。与前者相比,这种方式更具灵活性。因此,我们设计了一个嵌入式u s b 主控系统。 论文重点描述了如何实现系统的通用性,即任意两个移动存储设备之间都能进行 通信,以及如何提高系统可靠性。同时,也对开发过程中遇到的- 些问题进行了分析。 论文的研究成果对其它u s b 系统的开发具有一定参考价值。 关键词:海量存储类u s b 主机f a t 文件管理系统可靠性 、 、_ , 华中科技大学硕士学位论文 a b s t r a c t m o s to ft h ep o r t a b l ed e v i c e sc u r r e n n yu s e du s bi n t e r f a c ef o rc o m m u n i c a t i o nw i t hp c , w h i c ha l s og e n e r a t e dt h ed e p e n d e n c eo np c ,i fc o m m u n i c a t i o n sc o u l db em a d eb e t w e e n u s bd e v i c e sw i t h o u tp c si n t e r v e n t i o n ,i tw i l lb r i n gg r e a tc o n v e n i e n c et ou s e r s f o rt h i s p u r p o s e ,w ed e s i g n e dau s b d a t ae x c h a n g ep l a t f o r mw h i c hs a t i s f i e st h ed e m a n d m o b i l e s t o r a g ed e v i c e sc o u l dc o m m u n i c a t ew i t he a c ho t h e rv i at h i sp l a t f o r m t h e r ea r et w op o s s i b l ew a y st oc o m p l e t et h ef u n c t i o n :f i r s t , d e s i g na l le m b e d d e d c o n t r o ls y s t e mc o m p l i e sw i t ht h eu s bo t gs p e c i f i c a t i o n , w h i c hw i l lm a k eap o i n t - t o - p o i n t c o m m u n i c a t i o nb e t w e e nu s bs l a v ed e v i c e s ;s e c o n d ,d e s i g na ne m b e d d e du s bh o s t s y s t e m i fw eu s m gt h ef i r s tt h e m e ,t h ec o n t r o ls y s t e ma r eg e n e r a l l ye m b e d d e di nau s b d e v i c e ,d i g i t a lp a r t n e rf o re x a m p l e ,w h i c hc o n n e c t sw i t ho t h e rs l a v ed e v i c e st h r o u g hah u b , t h ea d v a n t a g ei s :t h ed e v i c eh a v ed u a lr o l e :a sah o s t ,i tc o u l dc o n n e c tw i t ho t h e ru s bs l a v e d e v i c e s ;a n da sad e v i c e ,i tc o u l db ea c c e s s e db yp c i fw ec h o o s et h es e c o n dt h e m e ,i tw i l l b eas t a n d - a l o n eu s bh o s tp l a t f o r m ;a n yt w oo rm o r eu s bd e v i c e sc o u l dc o m m u n i c a t e w i t he a c ho t h e rv i ai t c o m p a r e dw i t ht h ef o r m e r , i ti sm o r ef l e x i b l e t h e m f o r e ,w e d e s i g n e da ne m b e d d e du s b h o s ts y s t e m t h i sp a p e r sd e s c r i p t i o nf o c u so nh o wt or e a l i z et h ec o m m o n a l i t yo ft h es y s t e m ,t h a ti s , a n yt w om o b i l es t o r a g ed e v i c ec o u l dw o r k o nt h ep l a t f o r m ,a sw e l la sh o wt oi m p r o v et h e s y s t e m sr e l i a b i l i t y i ta l s oa n a l y s i st h ep r o b l e m se n c o u n t e r e dd u r i n gd e v e l o p m e n t p a p e r s r e s e a r c hp r o d u c t i o ni sv a l u a b l et oo t h e ru s b s y s t e m sd e v e l o p m e n t k e y w o r d s :m a s ss t o r a g ec l a s s u s bh o s tf a t m a n a g e m e n t s y s t e m sr e l i a b i l i t y 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做 出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声 明的法律结果由本人承担。 学位论文作者签名:。簿 幻研 如石年钼0 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许 论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部 分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段 保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于 不保密囱。 ( 请在以上方框内打“4 ”) 学位论文作者签名:彩龟豸邸 指导教师签名: 知韬年舌只o 日 多s 年岁日粤 华中科技大学硕士学位论文 1 i 引言 1 绪论 u s b 已经成为一种p c 和外设之间交换数据的常用接口,日益增长的便携式外设 都使用u s b 接口和p c 进行通信,这也造成了u s b 设备对p c 的依赖。因此,如果能 实现这些设备相互之间的通信将会给用户带来很大的方便。但是u s b 的某些规范使 之实现起来有困难,尤其是u s b 通信只发生在一个主机和二个外设之ne 3 1 1 。为了实现 这一功能,有两种可行的方式: 1 让移动设备具有p c 主机的功能 为了取得p c 主机的资格,这样的设备必须包含以下几个特性: 存储大量的设备驱动程序 产生大电流的能力 一个标准主机连接器插孔 要求大量的便携式设备都有上述特性是不现实的,而且在很多情况下,在某些应 用中并不要使用到这些特性。为了满足这些限制要求,便携式u s b 的应用 ( o n - t h e - g o ) ,作为u s b2 0 规范的补充发展起来了。它允许一个便携式设备成为 一个u s b 主机而不需要支持一个p c 主机的所有功能。这个补充标准的目的是要定义 一个对u s b2 0 规范作最低限度的改变来实现便携式u s b 设备的应用。u s b o n = t h e g o ( o t g ) 并不是一个独立的规范,它是u s b2 0 规范的补充,任何一个在 这个规范中没有更改的u s b 标准仍受u s b2 0 的约束【1 7 】【2 0 】。这个补充规范并不单是为 便携式电子设备制定的,它同样适用于p c 的外设或任何非便携式设备。 o t g 是种点到点的通信标准,它在任何时候都有主机从机两种角色。点到点的 通信能力建立在定义好的机构上,允许主机和从机之间的角色转换。一个o t g 设备 并不局限于仅跟另一个o t g 设备相连。由于内置有u s b 主机和u s b ) b 设,所以,当外 部连接一个u s b ) b 设时,它用作u s b 主机,类似地,当外部连接一个u s b 主机时,它 华中科技大学硕士学位论文 用作u s b # b 设l j 。 从o t g 规范的上述特点可以看出,它突破了p c 主机的约束允许一个u s b 夕b 设拥有 受限的主机功能实现与其它u s b # b 设通信,为在p c 连接不可行或不能实现的情况下提 供了一个外设之间直接通信的解决方案 2 3 】。 2 设计一个具有u s b 主机功能的控制平台 这实际是设计一个嵌入式的u s b 主机,与o t g 的设计不同的是,我们并不需要将 u s b 主机的功能固定在某个移动设备内,而是做成一个独立的系统,通过这个系统可 以实现任意的两个便携式设备的互连,所以,这种方式更具灵活性。 在一个基于p c 的系统中,u s b 操作需要三种主要元件,即主控制器( 常常是p c i 子系统的一部分) 、u s b 堆栈和u s b 类驱动器。主控制器是集成母板芯片组的组成部 分,目前的大多数p c 都在母板上实现了u s b 2 0 。u s b 堆栈包括用于母板上的驱动器 以及u c h i ( 通用主控制器接口) 、o h c i ( 开放式主控制器接口) 和u s b 驱动程序 ( u s b d s y s ) 。在一个嵌入式u s b 主机系统中,主要元件与基于p c 的系统相似,即:嵌 入式主控制器硅片、具有o h c i 堆栈的实时操作系统( r t o s ) 和专用驱动器。 从嵌入式u s b 主机系统的基本要素中可以看出,它的设计更强调一个完整的u s b 主机功能,而不关心与p c 的连接,因而可以不具备u s b 设备的功能。 1 2 课题背景 在实际的设计中,可以根据课题的要求选择上述之一的方式实现u s b 设备间的 互连。受日本富士通研究所的委托,要求我们实验室开发一套基于m o 的数码相机转 存系统。要求该系统能够直接驱动数码相机和m o ,在脱离p c 的环境下实现数码相 机中的图片到m o 盘片的备份。 从课题的要求可以看出,它强调的是在p c 连接不可行或不能实现的情况下提供 一个外设之间直接通信的方法,因此,我们选择设计一个嵌入式u s b 主机系统来实 现这种连接。 在系统的开发过程中,我们并没有局限于数码相机和m o 之间的互连,而是将其 设计成一个通用的接口,也就是说,凡是遵从u s b 海量存储类标准的u s b 移动存储 2 华中科技大学硕士学位论文 设备,该系统就可以实现它们之间的通信。 1 3 本文研究的主要内容 论文抛开了复杂的嵌入式u s b 主机设计的过程,而抓住了在设计中必须注意的 两个要点来展开详细的论述。这两个部分的内容是:系统的通用性设计和系统的稳定 性设计。 系统的通用性设计重点说明了如何实现一个简易通用的接口,所谓“通用”的意 思就是使所有遵从海量存储类标准的u s b 设备都能够被系统驱动。需要考虑的因素 涵盖了u s b 基本驱动、设备类驱动、系统应用层以及u s b 硬件的一些约束。因此通 用性的设计对于开发人员来说是必要的。 本文所说的系统稳定性包括两个方面:电气环境的稳定性和u s b 传输的稳定性。 前者的实现需要硬件的保障,而后者则通过u s b 系统的错误处理来改善。稳定的电 气环境包括信号的完整性和电源的合理布局这两个方面。而u s b 系统的错误处理则 围绕数据的重新传输展开论述。 华中科技大学硕士学位论文 2 系统分析和设计 我们采用了现在比较流行的a r m 7 嵌入式系统。系统软件结构完全由自己定义, 本章主要说明系统在硬件和软件设计上的一些关键技术。 2 1 总体方案 目前,对于具有u s bh o s t 功能的嵌入式系统的开发方式主要有两种选择:一种 是选用集成了u s b 接口的单片机,比如c y p r e s s 公司生产的e z u s b 系列,i n t e l 的 8 x 9 3 0 a x 系列等。此种开发工具虽然编程简单,但需要购置专门的开发系统,投资 较大。另一种是选择普通的单片机或嵌入式微处理器,加专用的u s b 主控制器芯片 进行开发,这类芯片仅实现u s b 硬件功能,如p h i l i p 公司生产的d l l 、d 1 2 系列芯 片。这种方法硬件电路设计较复杂,但不需购买新的开发系统,从而节省投资 2 4 1 。因 此,选择第二种方式进行开发。 设计一个嵌入式u s bh o s t 系统来管理两个u s b 移动存储设备,主要考虑以下几 个方面: 1 u s b 控制芯片的选择:系统的核心是实现u s bh o s t 功能,从芯片应用上看,o t g 芯片实际是在u s bs l a v e 芯片上集成u s bh o s t 最主要的功能,从而采用该芯片 的数码移动设备可以互相通讯。显然,要开发一个o t g 设备,软件上必须包含 s l a v e 端和h o s t 端的驱动程序。目前,移动设备的u s bs l a v e 技术已经比较成熟, o t g 实现的关键就是不断完善嵌入式u s bh o s t 技术。如果仅仅实现项目的要求, 只要选择u s bh o s t 芯片就可以了,但是为了考虑到以后的进一步应用,我们仍 然选择了一款o t g 芯片i s p l 3 6 2 。 2 微处理器芯片的选择:由于i s p l 3 6 2 没有单片机内核,因此需要一个处理器来进 行控制。对处理器芯片的要求是:运行速度要快,不能成为系统的瓶颈;系统扩 展性能比较好,可以扩展出多种接口与u s b 设备通讯。经过多方面的尝试和比 较,我们选择了一款a r m 7 内核的处理器芯片s 3 c 4 4 b o x ,它具有功耗低、运行 4 华中科技大学硕士学位论文 速度快( 主频为6 4 m h z ) 、系统扩展性能好等特点【2 5 1 。此外,这款芯片支持程序 的在线调试与编程,无需购买昂贵的仿真器件,为程序的开发带来了方便。 3 操作系统的取舍:在嵌入式的环境下设计u s bh o s t 遇到的第一个问题就是需不 需要嵌入式操作系统。众所周知,使用嵌入式操作系统最大的好处是可以进行进 程调度,充分合理的利用硬件资源。但是,系统实际上只有一个任务:即u s b 传输进程。而且u s b 协议比较复杂,所以u s b 传输特别是h o s t 的传输是比较占 用m c u 资源的,即使是在p c 的w i n d o w s 操作系统下,如果进行u s b 传输,系 统的速度亦会明显变慢。因此,无须移植操作系统,全力处理u s b 传输就可以 了。这样的话,软件的开发就必须从底层开始,以往的u s bh o s t 端软件一般是 在w m d o w s 操作系统下开发,底层驱动由操作系统提供,这些驱动的源代码是 不公开的,所以需要自行设计底层驱动,包括主机控制器驱动和设备类驱动。 4 管理两个u s b 设备:系统要控制两个u s b 设备,这必须用到u s bh u b 。i s p l 3 6 2 本身内置了u s bh u b ,能扩展出两个u s b 端口( u s bp o r t ) 。这两个接口使用 同一个缓冲器,同时管理两个u s b 设备的时候,要考虑它们之间的协调工作, u s b 规范定义了1 1 种类型的设备,如果管理不同类型的设备,要做到一个简易 通用的接口则比较麻烦,这是操作系统中设备管理的问题。对于我们的系统来说, 面对的都是海量存储类设备,它们使用的驱动程序相同,因此只需要记录两个设 备的不同存储参数,在时间上轮换管理即可。 5 对文件的管理:系统要控制的是带有存储功能的设备,通常这些设备都是使用 f a t 文件存储格式。所以要实现一个简单的f a t 文件管理来完成这么几个功能: 1 )能够识别f a t l 2 爪盯1 6 m 虹3 2 这三种文件格式。在系统所管理的海量存储类 设备中,移动硬盘采用f a t 3 2 的文件格式:u 盘、m p 3 以及容量较小的m o 盘片使用f a t l 6 的文件格式;数码相机中的存储卡则为f a t l 2 或f a t l 6 的文 件格式。 2 1能够对文件目录进行管理,包括根目录和子目录的创建。这样,即使是同名 的文件,由于存储在不同的文件夹下,不会产生错误。 3 )实现对f a t 表的管理。不同的f a t 文件格式,对f a t 表的操作亦不同。 华中科技大学硕士学位论文 4 )能够实现简单的文件操作,如:文件的删除( d e l e t e ) 、文件的拷贝( c o p y ) 、 文件的重命名( r e n a m e ) 、显示当前目录下的文件( d i r ) 等。 2 2 硬件电路设计 为了实现上述功能,设计了一个样机,其硬件结构如图2 1 所示,下面对硬件上 的设计做一些说明: 按键电路l c d 显示 nu in 础2 岣p s 3 c 4 4 b o x o 订c u ) s d r a m ( 8 m ) j 、j t a g 接口转换电 g 叫 路 王 蹴甜蝴吲珞n 3 6 2 电源部分 0 0 h o s t g 端口h o s t 端口 2 2 1 中央处理系统 图2 - 1 系统硬件框图 本文涉及的中央处理系统包括:m c u 、f l a s h 和s d r a m 。 f l a s h 存储器是一种可在系统进行电擦写,掉电后信息不丢失的存储器,在嵌入 式系统中广泛应用。它在系统中常用于存放程序代码、常量表、以及一些在系统掉电 后需要保存的用户数据等。常用的f l a s h 为8 位或1 6 位的数据宽度,编程电压为3 3 v 。 系统中选用一片1 6 位的f l a s h 存储器芯片s s t 3 9 v f l 6 0 ,单片存储容量为2 m b ,用于 存放程序代码,系统上电或复位后从此获得第一条指令并开始执行1 3 2 1 。 与f l a s h 存储器相比,s d r a m 不具有掉电保持数据的特性,但是其存取速度远远 6 华中科技大学硕士学位论文 高于f l a s h 存储器,因此,它在系统中主要用作程序运行的空间、数据区及堆栈区。当 系统启动时,m c u 首先从复位地址处读取启动代码,在完成系统的初始化后,程序代 码将被调入s d r a m 中运行以提高系统的速度,同时用户堆栈、运行数据也都存放在 其中。系统选用的s d r a m 为h y 5 7 v 6 4 1 6 2 0 ,工作电压为3 3 v ,工作频率1 3 3 m h z ,数 据宽度1 6 位【j 。 考虑到系统的扩展性和处理速度,选用的m c u 为a r m 7 内核的s 3 c 4 4 b o x ,它 的特点前面已经提到,这里不再复述。a r m 处理器以访问片外存储空间的方式对 s d r a m 和f l a s h 进行寻址。系统上电后,a r m 处理器的存储空间分配如图2 2 所示: l 鬟戳x 朝v 函啖辩鼠 m 伽o e s d - _ 黛欺x 朋材囊暖芷恫 m 2 绷伯婚撕 秘g c s 6 1 s r o u ( n o e s s ) 1 j g 蹦 n o c s q s r o 黼丸确h 鼬r 叼i 硼 i n g c s 匐 s r a m ( n o e s 2 ) - q i s r o 甜 鲫o e s l ) l i 摹p l n 期l 翻帕nl l 南岣黼( 4 u 啦l 机嗍| 王一7 0 一, , 图2 - 2s 3 c 4 4 b o x 存储空间分配示意图 其中,n g c s 【n 】是处理器芯片的片选引脚,它决定了外部存储器的地址范围, s 3 c 4 4 b o x 与外部存储器的硬件连接如图2 3 所示: 7 华中科技大学硕士学位论文 jl d 0 :1 5 】 1一,rd 0 :1 5 】 l a 【1 :1 2 ,2 1 ,2 2 】 ,r a 【o :1 1 ,b a 0 ,b a l i n g c s 6 n c s n w r e n 吧 s 3 c 4 4 b o x 团嗍丸m l d 0 :1 5 】 d 0 :1 5 】 1,7 l a 【1 :2 0 】 ,7 a 【0 :1 9 】 n g c s 0 n c e n w r e n w r e n o e n o e s 3 c 4 4 b o x f l a s hr o m 图2 3外部存储器与m c u 的连接示意图 结合图2 2 和图2 3 ,可以看出:f l a s h 存储器配置到b a n k 0 ,相应的寻址范围是 o x o o o 0 0 0 0 0 0 x 0 0 0 0 0 7 f f ;s d r a m 配置到b a n k 6 ,相应的寻址范围是 o x o c o o 0 0 0 0 0 x o c o o l f f f 。处理器的存储格式为小端模式( l i t t l e e n d i a n ) 1 1 3 1 。 2 2 2i s p l 3 6 2 的连接 i s p l 3 6 2 与m c u 的硬件连接如图2 - 4 所示: d 0 :1 5 】d 0 :1 5 】 a la o a 2 a 1 n g c s 2c sn n o er dn n 吧 w rn s 3 c 4 4 b o x 1 1 i 也s e t r e s e t n i s p l 3 6 2 图2 4i s p l 3 6 2 与m c u 的连接示意图 i s p l 3 6 2 片内有四个可访问的端口,n g c s 2 、a 1 、a 2 决定了这四个端口地址是: 华中科技大学硕士学位论文 主机控制器命令口( h cd a t a ) = o x 0 4 0 0 0 0 0 0 主机控制器数据口( h cc o r n )= 0 x 0 4 0 0 0 0 0 2 设备控制器命令口( d cd a t a ) = 0 x 0 4 0 0 0 0 0 4 设各控制器数据口( d cc o r n ) = 0 x 0 4 0 0 0 0 0 6 由于n g c s 2 片选信号在s 3 c 4 4 b o x 中是作为外部存储器扩展用的,而i s p l3 6 2 是作为处理器的i o 扩展,因此在系统初始化时要禁止该地址对应的高速缓存( c a c h e ) 。 2 2 3 外围电路的设计 外围电路主要包括:电源电压转换电路,l c d 显示部分、i s p l 3 6 2 过流保护电路、 j a t g 接口转换电路以及按键电路。 1 电源电压转换电路 系统中各个部分使用的电压有所不同:l c d 模块和u s b 接口为标准5 v 供电; i s p l 3 6 2 的工作电压为3 3 v ;s 3 c 4 4 b o x 的外围接口电压为3 3 v ,内核工作电压为2 5 v 。 其中i s p l 3 6 2 和s 3 c 4 4 b o x 对电压的稳定性要求比较高。这一部分的电路结构如图2 5 所示。 电源模块 输出为: d c 钭1 1 0 0 0 m a 5 v 5 v l 】m 1 1 1 73 3 0 3 3 v 5 v 。il m l l l 7 j 5 0l 2 5 v 图2 5 电源电压转换电路 工作电压为5 v 的电路及器件 工作电压为3 3 v 的电路及器件 工作电压为2 5 v 的电路及器件 对于系统的功耗,测量结果如下:在待机状态下,样机的直流工作电流为1 9 0 m a ; 9 华中科技大学硕士学位论文 在进行数据传输时,如果u s b 端口连接的是u 盘或m p 3 ,工作电流为2 2 0 m a 左右。 如果连接的是移动硬盘,所需电流则增加到6 9 0 m a 左右。因此,选用了一个a c d c 的电源模块为系统提供5 w 1 0 0 0 m a 的电源输入,满足了系统的功耗要求,然后将5 v 电压分别转换成3 3 v 和2 5 v ,以适应不同电路和器件的需要。电压转换芯片选用 a l p h a 公司的a m s l l l 73 3 0 ( 5 v 转3 3 v ) 和a m s l l l 72 5 0 ( 5 v 转2 5 v ) ,它们的最 大输出电流均是8 0 0 m a 。 2 l c d 显示部分 l c d 显示电路结构如图2 6 所示: 液晶模块 一 数据信号 l p dm c u 口 1一,7 c a l 2 2 3 2 g s 3 c 4 4 b o x 一 控制信号 lp c 口 1,r 图2 6l c d 显示电路 添加这个部分是为了软件开发的方便,可以用来显示错误代码、程序执行状态 以及待处理的数据。选用了可显示2 x 1 6 个字符的液晶模块c a l 2 2 3 2 g ,它内置了l c d 驱动,所以与m c u 的连接为i o 方式。图中的p c 口、p d 口均为s 3 c 4 4 b o x 的通用 i 0 口。 3 i s p l 3 6 2 过流保护电路 i s p l 3 6 2 工作在h o s t 或者o t g 模式时,u s b 端口需要过流保护,这包括过流检 测和保护开关的设计。设计时,选择了i s p l 3 6 2 内置的过流检测电路,这样就只需要 考虑开关电路了,如图2 7 所示: 1 0 华中科技大学硕士学位论文 滤波电 p m o s过流检 i v b u s l。 路 开关 1 y 测电路 h o s tp o r tj i s p l 3 6 2 5 v 电源 图2 7i s p l 3 6 2 过流保护电路示意图 5 v 电源通过p m o s 开关和滤波电路向u s b 端口供电,当过流检测电路探测到 端口电流超过门限时,便通过p m o s 开关切断对u s b 端口的供电。这个过流门限值 与p m o s 管的静态电阻i b s ( o n ) 成反比【3 】。对于该电路来说,门限值越大越好( 在5 0 0 m a 范围内) 。曾出现过这样的情况:移动硬盘接入后,由于它的工作电流较大,超过了 门限值,使得该u s b 端口的供电被关断。解决的办法是:更换p - m o s 管。用t p s l l 0 1 替换t p s l l 0 0 ,在相同的电气条件下,前者的r d s c o n ) = 1 3 4 m q ,后者的i b s ( o n l - - 2 9 1 m q 。于是在5 0 0 r n a 的范围内提高了电流门限值,问题得以解决。 4 j a t g 接口转换电路 j t a g ( j o i n t t e s t a c t i o ng r o u p ) 接口既可以进行电路板及芯片的边界扫描测试, 也可以实现对目标电路板上的可编程芯片进行在系统编程( i s p ) 。本系统中,j t a g 接口主要是用来实现第二种功能。 编程时,使用p c 的内插卡或者并行接口通过一个接口转换电路( j t a g 下载板) 将样机与p c 机联系起来,在p c 上运行相关程序( f l u t e d e x e ) ,将编程数据及控制信 号送到m c u ,利用相应指令从m c u 的引脚按照f l a s h 芯片的编程时序输出到f l a s h r o m 中。 调试时,a r m 公司的集成开发环境s d t 可以通过j t a g 下载板或者仿真器与样 机上的j t a g 接口相连,通过j t a g 接口把在s d t 中编译好的程序下载到样机进行调 华中科技大学硕士学位论文 试。 为了减少p c 并口对样机的干扰,接口转换电路做在了另一块p c b 上( j t a g 下 载板) 。电路结构如图2 - 8 所示: p c 并 数据缓冲器 j t a g 样机 机 一 口 插槽m g j 一l 并 1 一,r 插 1 ,r 口 口 槽 7 4 h c 2 4 4 j t a g 下载板 5 按键电路 图2 - 8j t a g 接口转换电路 系统使用了两个按键:复位键( i 也s e t ) 和开始键( s t a r t ) 。当r e s e t 键按下, 系统重启,程序从s d r a m 的起始地址o x o c 0 0 0 0 0 0 处开始运行;系统上电后,便进入 等待状态,当s t a r t 键按下,开始进行数据的传输。 需要说明的是复位电路。s 3 c 4 4 b o x 有两个复位引脚( n r e s e t 和r 瓜s t ) ,其 中n r e s e t 是m c u 复位引脚,n t r s t 是j t a g 单元复位引脚。在设计电路时,不能将 这两个引脚直接短接,而是设置一个跳线( j u m p ) 。系统正常工作时,用短路块将两 个复位引脚连在一起,一旦复位键按下,上述两个单元均被复位;而在对f l a s hr o m 编程时,则应该断开这两个引脚,p c 会通过j t a g 下载板上的一个跳线来复位m c u 的j t a g 单元1 3 引。如图2 9 所示: 华中科技大学硕士学位论文 正 常 工 作 时 n r e s e t 瑁 1 1 t r s t s 3 c 4 4 8 0 x 在系统编程或调试时 o i l r e s e t _ 短 n t r s t n t r s t p c 机 、,r 接 缓冲器 1 i r s 3 c 4 4 8 0 x 样机板 j t a g 下载板 2 3 软件模块介绍 2 3 1 实现u s bh o s t 的基本要素 图2 - 9 复位设置示意图 从不同层次上对u s b 通信流进行考察,就会发现完整的u s b 主控系统主要包含 如下三种基本要素: 1 主控物理数据链路层( h o s tp h y s i c a l d a t al i n kl a y e r ) :物理及数据链路层负责u s b 物理信令的生成、u s b 数据包的发送与接收,并进行错误校验。 2 主控系统栈( h o s ts y s t e ms t a c k ) :主控系统栈管理u s b 的主机端操作,包括协议 管理、设备枚举( d e v i c ee n u m e r a t i o n ) 、事务调度以及状态处理等。它控制较低层 的活动,并为与u s b 设备驱动的连接提供了一个共用接口。这- 层针对所有类 型的u s b 设备。 3 设备驱动( d e v i c ed r i v e r s ) 层:设备驱动与某一特定类型的u s b 外设相对应。它 可以通过u s b 主控系统栈启动往来于目标u s b 外设之间的数据传输。u s bi f ( u s b 开发者论坛) 已经把包括海量存储在内的多种u s b 外设标准化,归入了 各种u s b 类中【2 9 1 d o 。 在传统的u s b 主控系统设计( 即基于p c 的) 中,将整个主控系统划分为主机端控 华中科技大学硕士学位论文 制器( h o s tc o i l 仃o l l 嘲和控制器之外的u s b 软件。如图2 - 1 0 所示,描述t u s b 主控系 统组成单元与主机体系结构间的映射关系。 图2 1 0 传统的u s b 主控设计结构图 主机端控制器一般制作成单独的一块芯片,其中包括了物理和数据链路层硬件( 如 u s b 收发器) 、s m ( 串行接口引擎) 等,以及一个可以附加到系统处理器上的总线接口。 u s b 固件( 主控系统栈和设备驱动) 驻留在带有u s b 主机端控制器的系统处理器中【3 3 1 口6 】。u s b 硬件和固件的分离反映了一个现实:u s b 从根本上来说是一种p c 总线的 外部扩展机制。从u s b 固件的角度来看,p c 提供了无穷无尽的系统资源。此外,p c 行业已经实现标准化,统一于一个o s 平台一m i c r o s o f tw i n d o w s ,而这一操作系统具 备支持u s b 主控栈和设备驱动的能力。由于拥有极为丰富的系统资源和软件支持, 所以传统的u s b 主控体系结构是p c 应用的一种理想的解决方案d 8 】。 相比之下,对于嵌入式系统而言,如果将传统的u s b 主控系统移植到嵌入式环境 中,需要解决多方面的问题。嵌入式系统设计的关键在于:把u s b 固件与嵌入式应用 及其基础计算平台集成为一个有机整体【1 6 1 。 2 3 2u s b 协议栈的结构 本文所开发的嵌入式u s bh o s t 系统,其驱动模块的组成结构如图2 1 1 所示。 1 4 华中科技大学硕士学位论文 i 系统应用层 千 a p i 函数 类设备驱动 u s bh o s t 基本驱动 i s p l 3 6 2 固件 1r 千 i 硬件 i 图2 1 1 基于i s p l 3 6 2 的h o s t 端软件结构图 位于底层的是i s p l 3 6 2 固件设计,负责i s p l 3 6 2 的硬件控制,其作用是实现u s b 四种基本传输方式。这一层与i s p l 3 6 2 芯片共同实现上面的“主控物理数据链路层”。 固件之上是u s b 主机控制器驱动。主要功能是按照u s b 协议设计1 1 个标准请 求,获取设备基本信息和列举设备。这一层实现“主控系统栈”的功能。 嵌入式系统中不会支持所有的u s b 设备,应该根据需要,设计相应类设备的驱 动。类设备驱动对应“设备驱动层”,在系统中针对的是海量存储类设备。 类设备驱动之上就是相应的a p i 函数。系统中的a p i 函数主要是为f a t 文件系 统服务。按照f a t 文件管理系统的要求,编写了相应的绝对地址或相对地址扇区的读 写a p i 函数。 华中科技大学硕士学位论文 3 系统的通用性设计 对于本文所设计的系统而言,通用性就是指设计简易通用的u s b 接口,使所有 遵从海量存储类协议的u s b 设备都能够被系统驱动。要做到这一点,首先需要实现 “u s bh o s t 基本驱动 、“类设备驱动 、“系统应用层 的通用性,并在硬件电路上进 行相应的设计。本章将根据图2 1 l 所示的结构,采用自底向上的方式,分析和描述实 现系统通用性的方法。 3 1 硬件的通用性设计 u s b 规范所定义的物理环境比较简单,一对相互绞缠的信号线d + 和d 用于传输 差分数据,一对符合标准的电源线v s u s 和g n d 用于给设备提供电源。遵从u s b l 1 规范的u s b 设备在电路上有所区别,主要包括以下两个方面: 3 1 1 全速和低速设备 u s b l 1 规范定义了全速( f u l ls p e e d ) 和低速( l o ws p e e d ) 两种设备,根集线器 通过监视差分信号线来识别所连接的是全速还是低速设备,如图3 1 所示: 全速f 氐速u s bd + 簇鬻霪麟l 壤蒸羚工 d + 全速u s b 主机或根集线 : ,曛鬟蘸羹翟 :设备或集 器端口 n n r 一 j 絮棼l :l u 。 。1 n 一 线器端口 1c l ,n 。 、厂w t r 乜蝴。一i 女1 。1 、 全速,低速u s b 一o + l 二、 u s 蝴线0 + 1 低速u s b 主机或根集线 = 一 it 设备或集 器端口 1 ;喷,兰 匀d 一 线器端口 图3 - 1 全速,f 氐速u s b 端口连接示意图 1 6 华中科技大学硕士学位论文 一个上拉电阻。根集线器将识别的结果通过端口状态寄存器来表征,本系统中,可以 通过查询i s p l 3 6 2 的h c r h p o r t s t a t u s 1 :2 】这两个寄存器中的“l s d a 这一位来进行判 断:l s d a = o ,表示连接的是全速设备;l s d a = i ,表示连接的是低速设备【1 9 】。 3 1 2u s b 的供电分配 集线器的一个主要功能就是分配和控制数据线功率。集线器可以从上游( u p s t r e a m ) 数据线处得到所需的供电,也可以为它们的下游( d o w ns t r e a m ) 端口供电。 集线器在它的配置描述符中指出自己的供电类型:总线供电还是自供电,参见表3 1 : 表3 - 1 配置描述符中定义的供电参数 字段编号字段名字段长度字段取值说明 配置特性 d 7 总线供电 1 ) 6 自供电 7 属性 1 位图d 5 远程唤醒 d 4 0 保留( 置为o ) 某个设备在运行时使用的是总线供电还是 自供电可以通过g e ts t a t u s 设备请求来获得 在这种特殊的情况下,而且u s b 设备是完 全可操作的情况,该设备的最大耗电量( 数 值以2 m a 为单位) 。 注意:设备配置报告这个配置是总线供电 还是自供电。设备状态则报告是否是自供 最大耗 81m a 电。如果一个设备和它的外部电源断开连 电量 接,它就会更新其设备状态,指出这个设备 不再是自供电的了。 当一个自供电设备失去自己的供电电源时, 它从总线处能够获得的用电量不能超过它 的配置值所指出的耗电量。 自供电的集线器( 包括根集线器) 由本地电源供电,所以能向每个端口提供最大 的额定电流。而总线供电的集线器的用电只能来自上游的数据线,然后再把它分配到 1 7 华中科技大学硕士学位论文 各个u s b 端口【4 0 】。集线器采用以下方式之一给它的端口供电: 直接供电没有开关( p c 的u s b 端口就是直接供电) ; 所有端口共用一个开关( i s p l 3 6 2 采用这种方式) ; 每个端口有专用开关。 系统所用到的海量存储类设备的供电情况归纳在表3 2 中: 表3 - 2 海量存储设备供电参数 设备名称供电方式最大耗电量说明 数码相机自供电总线供电 2 m a 小功耗设备 m o自供电9 8 m a大功耗设备 移动硬盘总线供电 9 6 m a 大功耗设备 u 盘、m p 3 等总线供电 1 0 0 m a 小功耗设备 表3 2 中的数据是通过查询它们的配置描述符表得到的。耗电量的测量实验结果 显示:待机状态时,系统的工作电流为1 9 0 m a ;工作状态时,将其中一个端口固定和 数码相机相连,另一个端口的连接分为三种情形:连接u 盘或m p 3 ,工作电流约 为2 2 0 m a 左右;连接m o ,工作电流则增加到3 5 0 m a 左右;连接移动硬盘,工 作电流则增加到6 9 0 m a 左右。测量结果说明:u 盘、m p 3 等小功耗设备对总线电源 的需求较小,数码相机和m o 具有自供电能力,对总线电源的需求也没有超过最大耗 电量值,移动硬盘的工作电流远大于9 6 m a ,这是因为其内部的磁盘驱动电流也来自 于u s b 总线,造成了较大的电源需求。 出于安全考虑,u s b 端口必须对电流加以限制,i s p l 3 6 2 的端口过流保护电路如 图2 7 所示。过流保护带来的一个问题就是:耗电量大的自供电设备可能无法工作。 原因有二:一是因为这些设备的电流需求超过了u s b 总线的供电能力,一个全速端 口的合法电流值为5 0 0 虹认【1 川;二是设备的电流需求在合法范围内,但是过流保护电 路的门限值较低,关断了总线对这些设备的供电。我们的系统中遇到的情况就属于后 者,解决办法是提高过流门限,具体的方法在上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年航空机械员考试题库及答案
- 外贸销售合同样本中英文
- 高温工程施工合同(3篇)
- 安全员往年考试题及答案
- 安全卫生考试试题及答案
- 安全师考试题及答案
- 安保公司培训考试题及答案
- 痔疮动脉结扎微创技术-洞察及研究
- 2025河北公务员面试题及答案
- 2025国考行测模考试题及答案
- 关联交易贷款管理办法
- 湖南第一师范学院《高等数学》2024-2025学年期末试卷(A卷)含答案
- DB42T 1342-2018 小型沼气工程设计、施工及验收规范
- 2025至2030全球及中国内容营销平台行业产业运行态势及投资规划深度研究报告
- 微商课件培训
- 2025年国家网络安全宣传周知识竞赛考试题库
- 网约车考试全国公共科目考题及答案
- 水电厂自动化管理制度
- 2025版标准劳动合同模板下载
- 小学生游泳队训练计划
- 2024从“小众运动”到“全民热潮”解码网球人群与市场机遇
评论
0/150
提交评论