(电路与系统专业论文)基于SEP3203嵌入式微处理器的USBHOST驱动的设计实现[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于SEP3203嵌入式微处理器的USBHOST驱动的设计实现[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于SEP3203嵌入式微处理器的USBHOST驱动的设计实现[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于SEP3203嵌入式微处理器的USBHOST驱动的设计实现[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于SEP3203嵌入式微处理器的USBHOST驱动的设计实现[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(电路与系统专业论文)基于SEP3203嵌入式微处理器的USBHOST驱动的设计实现[电路与系统专业优秀论文].pdf.pdf 免费下载

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

文档简介

摘要 摘要 通用串行总线( u s b ) 具有热插拔、即插即用、数据传输可靠、扩展方便、低成本等优点是 当前计算机必备的接口之一,同时也被广泛地应用于嵌入式系统设计中。本文设计的u s bh o s t 系 统主要麻用于嵌入式系统,以拓展微处理器的应用域。 论文设计的u s b 主机系统,用于扩展s e p 3 2 0 3g a r f i e l d 微处理器的应用,以支持嵌入式系 统中微处理器与外部u s b 存储类设备的通讯。s e i 3 2 0 3g a r f i e l d 微处理器采用a r m t t d m i 处理 器内核,具有e m i 、i n t c ,t i m e r 、g p i o 等多个模块。u s b 主机控制器芯片选用e p s o ns 1 r 7 2 0 0 5 , 芯片外挂在s e p 3 2 0 3g a r f i e l d 微处理器的e m i 上,通过g p i o 引脚引入u s b 主机控制器的中断 信号与s e f 3 2 0 3g a r f i e l d 微处理器发生交互。 文中以u s b 协议为依据,首先分析了s e p 3 2 0 3g a r f i e l d 微处理器和e p s o ns 1 r 7 2 0 0 5 主机 控制器芯片,制定了硬件设计方案;软什平台基于a s i xo s 实时操作系统考虑到系统多用于和小 容营u s b 存储类设备进行通讯,系统设计只支持f a t l 6 文件系统;然后,通过参考l i n u xu s b 子 系统,给出了系统的软件驱动方案,并对u s b 系统软件中的u s b d 层和h c d 层软件代码做了详细 说明:最后对软件代码的实现流稗做了详细的阐述,由于支持的u s b 存储类设备多采_ i l ;i 控制传输和 批量传输,对u s b 系统软件做了相应的简化,提高了系统的数据传输性能。 论文所设计的u s b h o s t 系统已经能够在以s e p 3 2 0 3 g a r f i e l d 微处理器和e p s o ns 1 r 7 2 0 0 5 主机控制器为硬件平台、a s i xo s 实时操作系统为软件平台的系统中稳定运行,能够和小容量u s b 存储类设备( 闪存) 进行止常通讯,包括u s b 存储类设备的插拔识别、设备枚举和驱动加载、建立 目录、数据内容读写等。 关键词:u s bh o s ts e p 3 2 0 3g a r f i e l de p s o ns 1 r 7 2 0 0 5闪存 东南大学硕+ 学位论文 a b s t r a c t u s b ( u n i v a s a ls e r i a lb u s ) i st h es e r i a lb u sw i t ht h em e r i t so f d a md e p e n d a b l et r a n s a c t i o n c o n v e n i e n c e o fe x t e n s i o na n dl o wc o s ts o l u t i o n w h i c hc a nr e a l i z et h ep l u g p l a vc o n n e c t i o nf o rp cp e r i p h e r a l s m e a n w h i l ei ti sh o wm o v i n gi n t ot h ee m b e d d e df i e l dw i d e l y n es y s t e mo f u s bh o s ti nt h i sp a p e ri s d e s i g n e dt ot h ea p p l i c a t i o no fe m b e d d e ds y s t e m , b r o a d e n i n gt h ef i e l do fm i c r o p r o c e s s o ra p p l i c a t i o n 1 1 l es y s t e m o f u s b h o s t d e s i g n e d i n t h e p a p e r c a ns u p p o r t t h e c o m m u n i c a t i o n b e t w e e n u s b m e m o r yd c v i c ea n ds e p 3 2 0 3g a r f i e l dw h i c hi sam i c r o p r o c u s s o rd c v e l o p e du s i n ga na r m 7 t d m i c o r ea n d i n c l u d i n gt h ef o l l o w i n gc o m p o n e n te i n t c 1 1 m e r ,g p i oa n ds oo n t h ee p s o ns 1 r 7 2 0 0 5 i ss e l e c t e da s t h e m a i n c o n f f o l l e r o f u s b h o s t m o d u l e w h i c hc o n n e c t s t o t h e e m 匝o n e o f t h e s e i 3 2 0 3 g a r f i e l d 。sm o d u l e a n dt h ei n t e r r u p ts e r v i c eo fu s bh o s tj sh a n d l e dv i ag p i o 1 1 l es c h e m o f h a r d w a r e d e s i g n i s f i r s t l ys o l r e d b y t h ea n a l y s i s o f i m p l e m e n t a t i o a o f s e p 3 2 0 3 g a r f l da n de p s o ns l r 7 2 0 0 5b a s e do f fu s bp r o t o c 0 1 a st ot h e l o f t w a r e t h ef a t l 6f i l es y s t e mi s s u p p o r t e du s i n gt h ep l a t f o r mo f a s i xo sr e a l t i m eo p e r a t i o ns y s t e mi nv i e wo f f r e q u e n tc o m m u n i c a t i o ni n l i t em a s s - s t o r a g eu s bm e m o r yd c v i c e 1 1 l e nt h es y s t e mo fs o f t w a r ed r i v e ri sp r e s e n t e dt h r o u g ht h e r e f e r e n c eo fl i n u xu s bs u b s y s t e m , a n dt h ec o d eo fu s b dl a y e ra n dh c d l a y e rj sd e s c r i b e di nd e t a i l i n t h el a s tt h ef l o wo fi m p l e m e n t a t i o nf o rs o f t w a r ec o d ei se x p a t i a t e d s i n c et h ec o n t r o lt r a n s m i s s i o na n db u l k t r a n s m i s s i o na r ei nc o m m o nu s ei nu s bm a s s - s t o r a g ed e v i c e s t h es y s t e mo fs o f t w a r ei nu s bh o s ti nt h i s p a p e rw a ss i m p l i f i e df o r t h ei m p r o v e m e n to fp e r f o r m a n c ei nd a t at r a n s m i s s i o n 1 1 * u s bs y s t e md e s i g n e di nt h ep a p e ri sw o r k i n gs t a b l yu n d e rt h ea s i xo sr e a l t i m eo p e r a t i o n s y s t e mo nh a r d w a r ep l a t f o r mc o n s t i t u t e db ys e p 3 2 0 3g a r f i e l da n de p s o ns l r 7 2 0 0 5 w h i c hm a k e s c o m m u n i c a t i o nw i t hu 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 gr e c o g n i t i o no fp l u g & p u l l ,e m u l a t i o no fd e v i c e , l o a d i n gd r i v e r , c r e a t i o no f d i r e c t o r y , d a t ar e a d ,w r i t ea n ds oo nf o ru s bm a s s - s t o r a g ed e v i c e k e y w o r d :u s bh o s ts e p 3 2 0 3g a r f i e l de p s o ns 1 r 7 2 0 0 5 f l a s hm e m o r y n 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究生签名:堕竖导师签名: 厶、_ 一t , 啦l 日。墨:舻 第一章绪论 1 1 研究背景 第一章绪论 在通用串行总线( u s b ) 接口出现以前,一般的计算机系统设计都会预留两个r s 一2 3 2 串口用来 连接鼠标、键盘,游戏杆等串行接口设备,以及一个并行接口用来连接诸如打印机等带有并行接口 的设备,后米义出现了p s ,2 等串行接口专门用来连接键盘和鼠标等低速串行设备【2 j 。但是随着电 子技术的迅速发展,大茸的数字终端得到了普及和应用,仅仅利_ h j 上述的r s 一2 3 2 串行接口和打印机 并行接口等进行电子终端设备与计算机的互联给系统的设计和操作带米了很大的困难。因而,后来 相继出现了由a p p l e 公司推出并被电气和电子工程师协会接受的i e e e 1 3 9 4 和由i n t e l 、c o m p a q 、n e c 等多家人璋! 计算机软硬件厂商提出的u s b 两个不同的计算机串行接口标准。u s b 标准是一个开放的 标准,它的制定使不同厂家所生产的设备可以在一个开放的体系下广泛的使用。 在短短几年问,u s b 接口得到了广泛的普及和引用,成为当前计算机必备的接口之一,它克服 了传统计算机串并口的缺陷,具有热插拔、即插即用、数据传输可靠、扩展方便、低成本等优点。 根据u s b 系统规范,u s b 总线上总共可以连接1 2 7 个u s b 设备,由于u s b 接口不占崩系统的 f o 口、地址总线和中断向晕,当总线上接口不够时,可以通过u s b 集线器( h u b ) 来扩展更多的 u s b 接口。在u s b 系统中,不同种类的u s b 设备使_ l j 相同的接口,设备连接时,不需要考虑连接 接口的类型,以及接口的硬件电气特性。u s b 所具有的热插拔、即插即用的特点使得可以在开机的 情况f ,对设备进行插拔操作当一个设备连接剑系统上时,操作系统会自动检测剑该设备,并且 自动加载其相关的设备驱动程序,并且利_ f j 其默认配置参数对该设备进行配置。u s b 总线带有+ 5 v 的电源线和地线,u s b 设备可以从系统总线上获得+ 5 v 、小于等于5 0 0 m a 总线供电,冈此,在u s b 设备设计时可选择采_ i j 总线供电或外接电源。为了适应不同的需要,u s b 总线提供了3 中不同的数 据传输速率:1 5 m b $ 的低速数据传输、1 2 m b s 的全速数据传输、4 8 0 m b s 的高速数据传输( 仅u s b 2 0 支持高速数据传输) ,同时,u s b 总线还支持4 种不同的传输方式:控制传输、中断传输、批鼍传 输和实时传输,不同的数据传输方式可以适应不同的数据传输要求,在数据容错性方面,与以往的 串行接口相比价,由丁在数据包中加入了c r c 校验、在协议中包含有数据包出错处理及著错恢复机 制,f 具有对有缺陷设备进行认定和根据不同的传输类犁错误进行不同的处理功能,u s b 总线的数 据传输有着较好的容错性。根据u s b 协议制定统一的u s b 主机控制器接口标准也有利于硬件驱动 稗序的设计并大大提高了软件的可移植性。 随着电子技术的迅速发展和广泛应用,u s b 技术的应用已经超出了仅仅为计算机提供外围设备 连接方式的功能,在嵌入式系统中,如常用的数字设备、数码相机、移动存储设备、p d a 掌上电脑、 机顶盒等闭,u s b 技术也已经得到了普遍戍用。在嵌入式系统中实现u s b 技术已经成为时代发展的 要求。 现在,嵌入式系统设计的趋势就是在一颗芯片中实现某些器件之外的所有主要系统功能,a r i v i 作为1 6 3 2 位嵌入式r i s c 微处理器核的代表,其技术被广泛虑用于便携式通信产品、手持运算、多 媒体核嵌入式解决方案等领域。当然,一个微处理器不可能完成所有所需的功能,因此,在嵌入式 系统中扩展外围芯片能够很好的扩展系统功能。随着移动存储业的发展及数码产品的普及,数据采 集系统、工控行业和嵌入式_ 【i j 户对移动存储的需求越来越丈,提供一种嵌入式方案为嵌入式控制系 统提供u s b 接口,实现对移动存储类u s b 设备进行操作,是一个新的课题,有着广阔的市场前景。 作为嵌入式系统的开发,能够在特定要求卜针对特定的微处理器开发合适的操作系统和驱动软 件,实现软件开发的最简最优,将能够有效的控制功耗最佳的发挥微处理器的功能。 东南大学硕士学位论文 1 2 主要内容和工作 s e p 3 2 0 3g a r f i e l d 移动终端应用处理器是东南大学国家专用集成电路系统= 程技术研究中心设 计的1 6 3 2 位r i s c 微处理器,面向低成本手持设备和其他通用嵌入式设备。s e p 3 2 0 3g a r f i e l d 移 动终端应川处理器内嵌由英国a r m 公司提供的a r m 7 t d m i 处理器内核,整个芯片可以运行在 7 5 m h z 。支持低成本的n a n df l a s h 控制器;支持多种外存类型:s r a m 、n o rf l a s h 、s d r a m : 支持u s b l id e v i c e 控制器;i n t c 中断控制器,支持3 2 个中断源,其中1 8 个外部中断;支持4 通 道定时器;6 通道d m a 控制器。 s e p 3 2 0 3g a r f i e l d 移动终端应用处理器本身没有u s b 主机控制器,因此为了实现u s bh o s t 的 功能,硬件系统除了s e p 3 2 0 3g a r f i e l d 移动终端应用处理器外,外接一块u s b 主机控制器芯片,采 用了e p s o n 的s i r 7 2 0 0 5 u s b 主机控制器芯片。由于s e p 3 2 0 3 g a r f i e l d 移动终端应用处理器的d m a 模块没有外接引脚,因此s i r 7 2 0 0 5u s b 主机控制器芯片通过s e p 3 2 0 3g a r f i e l d 移动终端应用处理 器的通用外部引脚g p i o 口引发中断与之通讯。 在软件系统上,采用a s i xo s 操作系统,它是由东南大学国家专用集成电路系统工程技术研究 中心自主开发的嵌入式实时操作系统,内核遵循1 t r o n ( i n d u s t r i a lt r o n ) 标准,u s b 主机驱动程 序参考l i n u x 下的u s b 子系统进行设计。 实现系统对满足u s b 2 0 协议规范的u s b 存储类设备( 闪存) 的操作和通讯是本设计的目标。 论文的主要工作如f : 1 ) u s b 协议理解: 2 )分析s e i y 3 2 0 3g a r f i e l d 移动终端应h j 处理器和e p s o n 的s 1 r 7 2 0 0 5u s b 主机控制器芯片, 制定两者通讯的硬什接口方案; 3 )分析l i n u x + f 的u s b 于系统,制定软件实现方案; 4 ) 实现基于s e f 3 2 0 3 g a r f i e l d 移动终端应用处理器下u s b h o s t 系统对u s b 存储类设备( 闪 存) 的通讯,分析其实现流程; 5 ) 总结该设计的u s bh o s t 系统的实现过程,提出改进; 1 3 论文的结构 根据设计课题所涉及的工作,将论文结构主要安排如下: 第一章叙述嵌入式系统和u s b 系统的发展情况,提出设计目标和- 作内容; 第二章阐述u s b 协议内容; 第三章介绍u s b 主机系统实现的硬件方案; 第四章制定u s b 主机软件系统; 第最章介绑u s b 主机任务和a s i xo x 的关系: 第六章分析u s bh o s t 实现流程; 第七章总结本设计的工作结果,展望厉续设计; 2 第二章u s b 协议概述 第二章u s b 协议概述 通用串行总线( u s b ) 是一种新兴的计算机外围串行通信接口标准,具有热插拔,即插即用, 数据传输可靠,扩展方便,低成本等有点。本章将介绍u s b 的系统结构、系统组件以及u s b 的相 关规范,同时,分析u s b 传输的电气特性和传输特点。 2 1 u s b 总线描述 本节将从u s b 的传输带宽和系统结构对u s b 系统进行简单介绍。 2 1 1 传输带宽 为了适应不同的虑用需要,u s b 总线提供了3 种不同的数据传输速率:1 5 m b s 的低速数据传 输、1 2 m b s 的全速数据传输和4 8 0 m b s 的高速数据传输,u s b i 1 规范只支持前两种数据传输速率, 而u s b 2 0 则支持全部的数据传输速率。 这里所说的数据传输速率只是指总线在传输数据时使用的时钟频率,并不是有效数据的实际传 输速率。实际上由于软什协议的限制,1 5 m 的低速设备所能达剑的有效数据传输速率只在儿r a 3 y t a s 左右。 设计的u s b 主机采用e p s o ns 1 r 7 2 5 ,兼容u s b 2 0 规范、1 2 m b s 的全速数据传输速率。 2 1 2 系统结构 一个u s b 系统一般由一个主机( 简称h o s t ) 、一个或多个u s b 集线器和一个或多个u s b 设备 节点( 即图2 1 中的n o d e ) 组成,如图2 1 。 图2 1 总线的拓扑结构 3 t i e r 4 如图2 1 所示,u s b 的物理连接是有层次性的星犁结构。集线器h u b 在星型的中心,每条线段 都是点对点的连接。在系统中,有且仅有一个h o s t ,而与h o s t 直接相连的h u b 一般称为根集线器 3 东南大学硕士学位论文 ( r o o th u b ) 。所有的u s b 设备都迕接在u s bh u b 的接口上,同时h u 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 系统允许同时连接1 2 7 台外设,由于总线电气性能的原 因,物理上u s b 设备晟多可以通过u s b 集线器扩展6 层,设备连线一般不能超过5 m 。 2 2u s b 各组件简介 u s b 组件包括u s b 连线、u s b 集线器( h u b ) 和各种功能部件。 2 2 1u s b 连线 如图2 2 所示,u s b 连线是一根四线的电缆,其中包括两根差分数据线( d 牛和d - ) ,采用n r z i ( 反向不j 九零) 编码方式传输数据。另外两根电源线一根为v b u s ,另一根为g n d ,它们共同为接 入总线的u s b 设备供电。由于电气特性原因,每根线长度一般不超过5 米。全速传输( 1 2 m b s ) 设 备的传输线要求有屏蔽并做成舣绞线的形式,低速传输( 1 5 m b s ) 设备则不然。 v b u s i ) + d g 2 2 2u s e 集线器 图2 2u s b 连线 v b u s d + d g n d 在即插即用的u s b 的结构体系中。集线器( h u b ) 是一种重要设备,图2 3 所示是一种典犁的 集线器。u s b 集线器是串接在u s b 总线系统上的,它可让不同性质的u s b 设备同时连接在u s b 总 线上。在u s b 规范中,u s b 设备与u s b 集线器的连接点被称作为端口( p o r t ) 。每个u s b 集线器 将一个连接点转化为多个连接点。u s b 集线器作为一类特殊的u s b 设备连接到u s b 系统中,一个 u s b 系统支持一个或多个u s b 集线器的连接。 图2 3 典型集线器 4 第二章u s b 协议概述 如图2 3 所示,每个u s b 集线器都包含上游端1 3 ( u p s t r e a m p o r t ) 和卜游端口( d o w n s t r e a m p o r t ) ( 即图中的p o r t # l p o r t # 7 ) 。上游端口是面向h o s t 方向进行连接的,而下游端口是面向u s b 设 备进行连接的。下游端口允许连接另外的集线器或功能部件。u s b 集线器可检测到每个下游端口的 设备的连接或断开,并为下游端口的u s b 设备提供电源。u s b 集线器可将低速、全速和高速端口的 信号分开,并做相戍处理。 系统中的u s b 高速设备必须通过u s b 2 0 集线器的下游端口连接在u s b 2 0 总线上tu s b 2 0 集 线器所有的下游端口都可以支持高速设备、全速设备和低速设备。 2 2 3 功能部件 功能部件是一种通过总线进行发送接收数据和控制信息的u s b 设备,通过一根电缆连接在集线 器的某个端口上。功能设备一般是一种相互无关的外设。 每个功能设备都包含设置信息,来描述该设备的性能和所需资源。u s b 主机要在功能部件使用 前对其进行设置,设置信息包括u s b 带宽分配、选择设备的设置信息等等。每个计算机外设( 如鼠 标、键盘等) 都是一个u s b 功能部件。 2 3 u s b 电气特性 u s b 有一项非常方便的特性,就是外围设备可以从总线取得电源,而不必自备电源。u s b 协议 规定了u s b 设备允许的高电压与低电压,以及设备从总线取得的电流。 所谓即插即用,主要包含两个方面的内容:一是热插拔一是自动配置。热插拔决定丁物理层 的实现,而自动配置则主要依靠软件协议( 这一功能主要依靠u s b 的设备总线列举d e v i c e e n u m e r a t i o n 过程来实现) 。 2 3 1 对设备速度的检测 u s b i 1 规范支持两种数据传输速度的设备,速度不同的u s b 设备在其上游端口处的不同位置 装有一个上拉电阻。图2 4 和图2 5 显示了全速设备和低速设备的上游端口的上拉电阻和集线器的f 游端口的f 拉电阻的连接情况。 图2 4 全速设备上游端口和集线器f 游端口的电阻连接 5 东南大学硕士学位论文 图2 5 低速设备上游端口和集线器下游端口的电阻连接 对全速设备来说,上拉电阻在d + 线上,而低速设备的上拉电阻在d 一线上。另外,集线器的每 个下游端口处的d + 和n 线上有一个下拉电阻。对设备速度的检测是由所连接的集线器通过d + 和 d - 线上的不同电平值完成的。当设备插上后,集线器给设备的上游端口供电,如果d + 线为高电平, d 一线为低电平,表示插上的设备是全速设备;如果d + 线为低电平,d - 为高电平,表示插上的设备 是低速设备。当没有设备连接时,通过f 游端口的下拉电阻的作用,端口的d + 和d 的电平值为低 电平。 对于高速设备,总是首先以全速设备的方式连接到u s b 集线器端口上,在高速设备连接到集线 器端口以后,通过硬件信号协议u s b 集线器可以进一步判断是否为高速设备,同时发送相关的硬 件信号,u s b 设备也可判断出该集线器端口是否支持高速数据传输。在完成u s b 集线器和u s b 设 备的硬件握手以后,u s b 集线器和u s b 设备将通信方式转换成高速数据传输方式。 2 3 2 设备插拔的检测 u s b 系统支持设备动态插上和拔下,由于集线器f 游端口上的f 拉电阻和设备的上游端口的上 拉电阻的不同配置,从而导致了不同的编码状态,u s b 系统对设备插拔的检测就是根据此处完成的。 首先,当没有设备插入时,集线器的f 游端口的d + 线和d 线上都是低电平,协议定义为s e 0 状态( s i n g l e - e n d e d o ) 。当有设备插入到集线器的下游端口时,d + _ 手1 1d 有一个经过一个过渡时问变 成高电平的阶段,这个过渡时间一般为2 5i t s 。当设备拔下时,经过2 5 p s ,集线器的卜游端口的 d + 和n 义都变成低电平的s e 0 状态。图2 6 利图2 7 显示了系统对全速设备和低速设备的插拔的检 测情况,其中v s e 表示单个终端接收器的门限值,v d d 为正常一【作的高电平电压,v s s 为正常j :作 的低电平电压。 d + d v d d v s e - v c r 一一 v v s s v d d v v e l - - v 一 v s s - 实际拔 a,一r l ; q _ 一 l | - 2 5 。鼯检测 - - 2 5i t s 插上检测 t _ 一- j 1 17 l 实际砭 图2 6 全速设备的插拔检测 6 ,j、i,j、, 第二章u s b 协议概述 d + d v d d v 辩 v c r v s e v s s v d d v 辩 v c r v s e v s s 实 毳ll,1 ;l| & li 弋ly 。 :2 郇。萤汴检测 一 拔f _ 一 - l = 2 5t t s l 插上检测 1 7 |实际插j | 1 7 l l l 2 4 u s b 通讯协议 图2 7 低速设备的插拔检测 u s b 协议所说的通信指的是u s b 设备和u s b 主机之间的通信。物理上,总线上的设备通过一 条物理连线和主机通信,所有设备共事这条物理链路。逻辑上,主机给每个设备提供了一条逻辑的 连接。 2 4 1u s b 通信结构 u s b 通信逻辑上可分为三层:信号层、协议层和数据传输层,如图2 8 所示。信号层用来实现 在u s b 设备和主机的物理连接之间传输位信息流的信息;逻辑层h j 来实现在u s b 设备和u s b 主机 端的协议软件之间传输包字节流的信息,它们在信号层铍编码成n r z l 位信息后传送出去;数据层 用米实现在u s b 主机端的客户端驱动程序和设备端的功能接口之间传输有一定意义的信息。这些信 息在协议层被打包成包格式。 协议将信号层传输的位信息流称为包( p a c k e t ) ,将协议层传输的包信息流称为事务处理 ( t r a n s a c t i o n ) ,将数据传输层传输的信息流称为传输( t r a n s f e r ) 。所有的传输最终都以比特流的方 式在信号层上实现通信。 数据传输层u s b 设备 i 接口( i n t e r f a c e ) l 协议层 u s b 主机 ( 一7l 端点( e n d p o i n t ) l 信号层 u s b 总线接口 ( 物理接口) 逻辑通信 - - 物理通信 图2 8u s b 通信的逻辑结构 7 ,l,j1i 东南大学硕士学位论文 协议逻辑上将设备分成了三层实体:总线接口、端点和功能接口,如l 篁i2 8 启侧所示。 i 总线接口:总线接口的功能除了传送利接收数据信号以外,逻辑上还包括识别设备的当前唯 一地址。设备的地址是在设备插入到总线上时,由u s b 主机分配的,范围从o 1 2 7 ,其中0 为所 有设备在没有分配唯一地址时使用的默认地址,它是互斥共享的。 2 端点:端点是设备端用丁:传输数据的接收点和发送点,有方向性:输入和输出。所有的设备 都要求有一个端点0 ,崩来接收u s b 主机端发送的控制命令,完成对设备的控制和状态反馈,称为 默认端点。端点传输的逻辑通道称为管道,它有两种类型:流管道( s t r e a m ) 和消息( m e s s a g e ) 。 3 接口( 功能接口) :由一纽端点组成,川来完成特定的功能。u s b 主机端为每个接口提供了 客户端驱动程序,驱动程序利接口之间通过交互完成了有特定意义的数据传输。 2 4 2u s b 的传输基本单元包 包( p a c k e t ) 是u s b 系统中信息传输的基本单元,如图2 9 示,包有5 个部分组成,即同步 ( s y n c h r o n i z a t i o ns e q u e n c e ,简称s y n c ) 字段、包标志符( p a c k e ti d e n t i f i c a t i o n ,简称p i d ) 字段、 数据字段、循环冗余校验( c r c ) 字段和包结尾( e n do f p a c k e t ,简称e o p ) 字段。 同步字段 ( s y n c ) p i d 字段 ( p d ) 数据 字段 c r c 字段 包结尾字段 ( e o p ) 图2 9u s b 数据包结构 根据p 1 d 类璎u s b 规范支持四类不同类型的数据包:令牌包、数据包、握手包和专用包。 1 令牌包( t o k e np a c k e t ) 当数据包中的p i d 类犁为令牌类捌时,该数据包为令牌包。在u s b 系统中,所有的事务处理都 始于令牌包,它是由u s b 士机唯一的发送到总线上的,指明了数据的传输方向、数据传输的设备地 址、端点号等。 l 同步序列 p 1 d( 7 位) 设备地卅l ( 4 位) 端点c r c 5e o p ( 8 位) ( 8 位)( 1 1 位) 序列帧号( 5 位)( 2 3 位) 幽2 1 0u s b 令牌包结构 根据p i d 不同,令牌包义分为4 种:起始令牌包( s o f ) 、输入令牌包( i n ) 、输出令牌包( o u t ) 和用丁二控制传输的设置令牌包( s e t u p ) 。如图2 1 0 所示的结构,根据不同的p i d ,u s b 令牌包中 的数据字段为( 设备地址+ 端点) 或序列号。对于s o f 令牌包,数据字段为11 位序列号;而对于 n o u t s e t u p 令牌包,数据字段则有7 位设备地址和4 位端点号组成。所有的令牌包( s o f 除外) 都采用c r c 5 对数据字段进行校验。 2 数据包( d a 纽p a c k e t ) 当p i d 类犁为数据类型时,为数据包。数据包中装有主机和设备之间传输的数据信息。有d a t a 0 和d a t a i 两类数据p i d ,数据包结构如图2 1 l 所示。 同步序列 ( 8 位) p i d ( 8 位) 数据 ( 0 1 0 2 3 字节) c r c l 6 ( 1 6 位) e o p ( 2 3 位) 图2 1 lu s b 数据包结构 3 握手包( h a n d s h a k ep a c k e t ) 当p l d 类犁为握手类型时,为握手包。握手包应用于事务处理的最后时相( p h a s e ) ,用来报告 事务处理过程中接收方的状态,同时还能起到流晕控制和汇报设备停j rr 作的作爿j 。结构如图2 1 2 所示,没有数据字段和c r c 字段握手包共有3 种类型:a c k 、n a k 和s t a l l 。 8 第二章u s b 协议概述 i同步序列 p i de o p i( 8 位) ( 8 位)( 2 3 位) 图2 1 2u s b 握手包结构 4 前导包( 专用包,p r e a m b l e - - p a c k e t ) 当p 1 d 为p r e 时,为前导包。前导包_ h j 于系统区分全速传输和低速传输,提醒u s b 集线器系 统要传输的下一个包是一个低速包。前导包的结构与握手包相似。但是没有包结尾字段( e o p ) 2 4 3 传输类型和事务处理 u s b 协议提供了种类不同的数据传输类型:控制传输、批量传输、中断传输和实时传输。鉴于 本次设计的应用需求,在此仅讨论控制传输利批量传输。 1 控制传输 所有的设备都要求有支持控制传输的端点,一方面,在u s b 系统中,设备在正常t 作之前必须 先进行配置,u s b 主机必须为设备总线分配总线上唯一的设备地址,并完成读取设备的各种描述符 等l :作;另一方面,在设备的工作过程中,主机需要及时的获取设备的当前状态,或者设备出现问 题需要士机及时做出补救措施。主机配置设备、获取设备状态、纠正设备的错误等i l 作是通过协议 提供的一系列u s b 命令传达给设备的,这些命令通过控制传输传达给设备,一般包括两个或二个事 务处理阶段:设置阶段、数据阶段( 可选) 和状态阶段。其中数据阶段义可以是一笔或多笔事务处 理过程。 图2 1 3 所示为正确完成的设置阶段,u s b 主机首先向u s b 设备的控制端点发送设置令牌包, 后面紧跟有命令信息的数据包( 州定8 字节) ,设备接收到数据包后必须接受数据并用a c k 握手包 应答。如果数据损坏,则丢弃数据且不返同握手包。 t 城翱 d a t h 童n d h a k i d l e 圈h 州口f u n c t i o n 图2 1 3 控制传输的设置事务处理( 设置阶段) 在数据阶段中,根据设置阶段制定的数据传输方向和数母进行事务处理。图2 1 4 显示了控制输 出的数据阶段的一次事务处理过程,而图2 1 5 则显示了控制输出的状态阶段。数据发送正确时,制 定的设备会返同a c k 握手包。 9 东南大学硕士学位论文 | 厂i f i l 二二二= 一 臣巫卜 巨巫卜 图2 1 4 控制输出的数据阶段 闲置 闲置 闲置 闲置 主机在完成数据阶段后,就进入控制输出的状态阶段,发出一个输入令牌包,设备接收到令牌 包后。在数据时相返回一个长度为零的数据包,主机接收到j 亓发送一个a c k 握手包。至此,完成一 次控制传输。 图2 1 5 控制输出的状态阶段 图2 1 6 和图2 1 7 显示了控制输入的数据阶段和状态阶段。 图2 1 6 控制输入的数据阶段 图2 1 7 控制输入的状态阶段 1 0 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 第二章u s b 协议概述 2 批晕传输 批量传输具有一下特性: 可以动态的获得总线带宽 如果总线传输出现错误,传送失败,可进行重发 有确认的数据传输,但不保证传输的带宽和延迟 只有当获得空闲的带宽时,批量传输才会发生 批晕传输的事务处理的特点是以错误检测和重传的方式保证主机和u s b 设备之间的数据被无 著错的发送。u s b 设备上进行批量传输的端点通过逻辑管道与主机进行批荤传输的通信,这种管道 为单方向的流通道,且用丁输入输出的管道不能混用。批每传输只能朋于全速设备中,接收或发送 的数据包中数据的最人字节长度为8 、1 6 、3 2 和“中的一个值。图2 1 8 显示了批量传输的输入和 输出的事务处理过程。 囹h o s t 口f u m i o n 图2 1 8 批量传输的事务处理过程 当主机与某个设备进行多次批鼙传输时,令牌包中的标志符是在d a t a 0 和d a t a i 之间交替变 化的。如图2 1 9 描述了成批发送和接收传输时令牌包标志符的变化情况。通过使用d a t a 0 d a t a ! 的令牌标志符,达到数据同步的目的。 b u l k w r i t e b u l k r e a d d i a l od m a l 图2 1 9 多次事务处理中的令牌标志符的变化 2 4 。4u s b 通信的健壮性 u s b 通信的健壮性体现在数据传输的同步和对错误的检测及处理上。 1 数据触发同步与重试 u s b 提供了保让数据序列同步的机制,这一机制确保了数据传输的准确性。这一同步过稃是通 过d a m o 和d a m l 的p i d 以及发送者与接收者上的数据触发序列位( d a t at o g g l es e q u e n c eb i t ) 来实现 东南大学硕+ 学位论文 的。接收者的序列位只有当接收到一个正确的数据包时( 包括正确的p i d ) 才能被触发。而发送者的序 列位只有当接收到确认包a c k 时才能被触发。在总线传输的开始,发送者与接收者的序列位必须一 致,这是由控制命令来实现的( 图2 2 0 、2 2 i 、2 2 2 说明了数据触发同步的基本原理) 国国 nn 图2 2 0 数据触发与同步( 一) 国国 n n o t o 咖篙:, 图2 2 1 数据触发与同步( 二) d t o 国莎b 两百飞百飞 t r a n s f e r , ( r m r l o d i 图2 2 2 数据触发与同步( 三) 2 错误检验与恢复 每次总线操作,接收者将发送者的序列位( 被译码成数据包p i d 的一位,即d a t a 0 或d a t a l ) 与 本身的相比较。如果数据不能接收,则必须发送n a k 。如果数据可以被接收,并且两者的序列位匹 配。则该数据被接收并且发送a c k ,同时。接收者的序列位被触发。如果数据可以被接收,但两者 的序列位不匹配,则接收者只发出a c k 而不进行其它操作。对于发送者来说,在接收剑n a k 时或在 1 2 第二章u s b 协议概述 规定时间内没有接收到a c k ,则将上一次的数据重发。 2 5 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 5 1u 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 的f 游端口,用于连接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 主机控制器需要大约1 0 0 0 0 个门电路, 而设备端的u

温馨提示

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

评论

0/150

提交评论