




已阅读5页,还剩60页未读, 继续免费阅读
(控制理论与控制工程专业论文)嵌入式优盘控制器的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 开发一个带多种外围设备的嵌入式系统,如果选择通用串行总线 ( u s b ) 一种具有标准连接口,标准协议和标准连接线的通用协 议,作为设备接口的话,将大大提高整个系统的稳定性和整体性。 本文详细介绍了在嵌入式场合需要考虑的u s b 的一些基本特性, 重点介绍了怎样在嵌入式场合应用u s b 大容量存储类设备,并且给 出了相应的开发方案。 我们选择没有驱动程序架构和文件系统组件的最简单的嵌入式实 时操作系统u c o s i i 作为系统平台,所以必需详细分析其他通用嵌入 式系统比如u c l i n u x 的u s b 驱动堆栈和文件系统架构。同时本文也 j 详细讨论了在u n o s 。i i 下搭建n a n d 快闪存储器文件系统的各项关键 技术。 关键字: 嵌入式系统m s b 主控器f 优撖大容量存储类设名妒a t l 6 文件系统 u s b 驱动堆栈p c 10 4 浙江大学毕业硕士论文 a b s t r a c t w h e n d e v e l o p i n g a ne m b e d d e d p r o j e c t t h a t r e q u i r e s s t a n d a r d p e r i p h e r a l d e v i c e s t h ew e l l d e f i n e di n t e r f a c e 出eu n i v e r s a ls e r i a l b u sw i t hv a r i o u sc o n n e c t o r s ,p r o t o c o l sa n dc a b l e sb e i n gu n i f i e di n t o ,w i l l i m p r o v e t h ew h o l e s y s t e m ss t a b i l i t ya n di n t e g r a l i t y t h i sp a p e rd e s c r i b e st h eb a s i ct e c h n o l o g yb e h i n du s b ,w i t he m p h a s i s o nw h i c ho ft h em a n y i m p l e m e n t a t i o nd e t a i l sy o un e e dt o k n o wt o a p p l yu s b m a s ss t o r a g ed e v i c et oa ne m b e d d e ds y s t e m a n dt h ep a p e r c o n c l u d e sw i t ha s u g g e s t e di m p l e m e n t a t i o nr o a d m a p a s u c o s i i ,t h es i m p l e s t r t o sw i t h o u td e v i c ed r i v e ra n df i l es y s t e m , b e i n gc o n s i d e r e d ,t h i sp a p e ra n a l y z ee n t i r e l yu s b d r i v e rs t a c ka n df i l e s y s t e mt r a n s p l a n t t e di nu n i v e r s a lr t o s ,f o re x a m p l e ,u c l i n u x a n da u c o s - i if a tf i l es y s t e mw i t hh i g hp e r f o r m a n c el i b r a r y ,w h i c hc a nb e u s e do nn a n d f l a s h ,w i l lb ed e s c r i b e di nt h i sp a p e r k e y w o r d s : e m b e d d e d s y s t e m u s b h o s tc o n t r o l l e r u s bd i s k u s bm a s s s t o r a g e d e v i c e f a t l6f i l es y s t e m u s bd r i v e rs t a c k p c10 4 浙江大学毕业硕士论文 第一章概述 第一节u s b 总线产品应用概况 当今的计算机外部设备,都在追求高速度和高通用性。为了满足用户的需求, 以i n t e l 为首的七家公司于1 9 9 4 年推出了u s b ( u n i v e r s a ls e f i f lb u s ,通用串行 总线) 总线协议,专用于低、中速的计算机外设。近年又推出了u s b 2 0 协议支 持高速设备。目前,u s b 端口已成为了微机主板的标准端口:几乎所有的微机 外设,包括键盘、鼠标、显示器、打印机、数字相机、扫描仪和游戏柄等等,都 通过u s b 与主机相连。可以分为几大类:存储类,如移动存储,移动硬盘, c d d v d ,读卡器等;有线连接类,如u s b 网卡、d s l 路由器、共享器等;蓝 牙及无线类,如蓝牙转换器、无线网卡等;人机界面类,如键盘、鼠标等;影音 图像类,如m p 3 、u s b 音像等:还有如p d a 、m o d e m 、电话等。目前,u s b 在 存储类设备和影音图像类设备中应用尤为广泛,特别是优盘和s m a r tc a r d 读卡器, 价格适中,使用方便,已逐渐成为替代软驱的新一代移动存储工具,在工业、商 务、办公事务上应用越来越广泛。 由于u s b 总线的高速、灵活和易扩展性,在工业场合也受到足够的重视, 并已应用于很多数据传输场合,比如数据采集,视频采集,大型喷印系统等;还 被应用于工业控制场合,高实时性要求的工业设备控制、动态图像实时传输等。 但u s b 是将适用u s b 的外围设备连接到p c 主机的外部总线结构,是通过 p c i 总线和p c 的内部系统数据线连接,实现数据的传送。u s b 同时又是一种通 信协议,它支持主系统( h o s t ) 和u s b 的外围设备( d e v i c e ) 之间的数据传送。在 u s b 架构的传输协议和网络协议中,每个u s b 的系统有且只有一个h o s t 。所以 现在市面上流行的大部分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 b1 1 协议规范; 支持所有基于u s b 的移动存储器( 包括基于f l a s h 的、基于s m a r t m e d i a 等的 移动存储器和u s b 接口的移动硬盘等) ; 支持f a t l 6 文件系统; 向用户提供随时写文件结尾的功能,使得用户可以根据需要制订写文件的策略, 可以有效地防止因系统出现意外而导致前面采集的数据丢失,保证了用户数据的 安全可靠; 采用并行总线向用户系统提供接口,并且设计完整的接口协议。 第三节市场情况介绍 根据u s b 总线的发展曲线和存储类u s b 设备的应用情况来看,在我国工业 场合对u s b 设备的应用方面蕴含了广阔的市场前景,所以嵌入式u s b 控制器的 开发意义很大。c y p r e s s ,p h i l i p s 等大型半导体公司提供了完备的嵌入式u s b 开发方案,国内也有两家公司已经完成了嵌入式u s b 控制器的设计和开发,并 已有产品面市,这对中国工业控制领域来说在u s b 应用方面是个突破。 就硬件而言,一些高级的嵌入式微处理器如c o d e f i r e ,p o w e r p c 等提供了对 u s b 协议的支持,就一般的不带u s b 协议支持的微控制器,也可以采用 c y p r e s s 或p h i l i p s 提供的u s bh o s t p e r i p h e r a l 接1 3 器件来实现协议的转换。 就软件而言,流行的嵌入式操作系统大都支持u s b 协议和u s b 设备的操作。 所以根据以上情况可以看出项目的可行性是1 0 0 ,就现有的条件可以完成 项目开发工作。 第四节技术分析 项目目的是要求设计一个桥接器,对上位嵌入式系统提供一个通用的并行口 或串行口,使上位嵌入式系统能按照一定的协议通过桥接器实现对u s b 设备的 读写操作,其总体方框图可以由以下表示: 桥 接 攘 1卜 器 :并行串行协议: ny 控 制 器 图1 :总体方案框图 由此可以看出整个系统最重要内容集中在桥接器中控制逻辑的实现,它至少 包括了以下几个方面的内容: 浙江大学毕业硕士论文 并行或串行协议的解释和反馈; 上位机命令的执行; u s b 设备的读写操作; 我们的操作对象是u s b 海量存储器类设备,其中有代表性的有u s b 移动硬 盘( i d e 接口硬盘和a t a 接口硬盘、s c s i 接口硬盘) ,s m a r tm e d i a ,c f 控制 器,优盘( 1 6 m ,3 2 m 甚至更大) ,还有其他如录音笔,m p 3 播放器等。下面我 们对整个系统的几个关键部分做一个详细的分析: u s b 接口部分: 在整个方案中,u s b 相当于一个通路,种操作的手段。由于u s b 设备分 主从设备,而操作对象本身是从设备,所以我们必须在系统里集成个主设备控 制器,以便服从u s b 协议实现对从设备的操作,所以嵌入式u s b 主设备控制器 的选取成为一个重要的问题。要实现对u s b 从设备的操作,我们必须清楚从设 备的内部结构,协议架构,操作方式。所以我们把l i n u x 下的对u s b 海量存储器 类的设备的架构和操作模式作一下分析,这有助于我们对系统的设计和理解。而 嵌入式u s bh o s t 控制器的选取和嵌入方式也是重中之重,我们必须清楚它是 怎么处理u s b 协议和实现对从设备的各种操作的。 嵌入式控制器部分: 我们在上面谈到u s b 只是相当于个数据通路,脱开u s b 数据通路部分, 我们在这里要操作的实际对象是各种接口的硬盘,c f 卡,s m a r t c a r d ,n a n df l a s h 等存储器件。所以怎么通过u s b 总线实现对这些存储器件的操作就是嵌入式控 制固件必须实现的。这里面有很多复杂的问题。因为我们要实现的功能很多,对 象格式各不一样,所以我们必须选用功能比较强大的嵌入式控制器,而控制固件 最好选取嵌入式操作系统,这样更能实现模块化的设计,使各个功能架构方便。 这两方面的内容我们在以后的章节中具体描述。 并行串行口协议的设计: 这部分我们可以参照市场上流行的各种并行或串行实现的各种控制器的控 制协议来设计,这部分内容难度不大,要求是应用方便,能方便表述我们要实现 的功能就可以。我们把具体控制逻辑框图表现如下: 图2 :桥接器控制逻辑框图 浙江大学毕业硕士论文 第五节设计思想 一、嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行 业的具体应用相结合后的产物。必须根据应用要求对软硬件进行裁剪,满足应用 系统的功能、可靠性、成本、体积等要求。近年来,随着微控制器性能的不断提 高,嵌入式应用越来越广泛。目前市场上的大型商用嵌入式实时系统,如 v e r t e x ,v x w o r k ,p s o s 等等,已经十分成熟,并为用户提供了强有力的开 发和调试工具。但商用嵌入式实时系统价格昂贵而且都针对特定的硬件平台。对 于小型系统的开发,购买商用实时系统并不划算。此时,采用免费软件和开放代 码不失为一种选择。目前源码开放( c 代码) 的嵌入式系统有c o s 和u c l i n u x , g c o s 简单易学,提供了嵌入式系统的基本功能,其核心代码短小精悍,如果针 对硬件进行优化,还可以获得更高的执行效率。但是“c o s 相对商用嵌入式系 统来说还是过于简单,而且存在开发调试困难的问题。u c l i n l l ) 【是自由软件运动 的产物,包含丰富的功能,包括文件系统、各种外设的驱动程序、通讯模块, t c p i p ,p p p ,h t t p ,甚至w e b 服务器的代码。在i n t e r n e t 上流传的u c l i n u x 已经被移植到当前几乎所有的硬件平台上,功能与p c 机上运行的l i n u x 不相上 下,其代码也十分复杂。完全移植没有必要也十分困难,但u c l i n u x 的代码经过 世界范围内的优化,稳定可靠而且高效,所有模块的代码都可以从i n t e r n e t 上获得。可以进行模块移植。 所以,丰富的市场资源和技术条件为我们设计小型嵌入式系统提供了可靠的 条件,同时它也有很大的发展前景,有助于公司向先进控制方向转化。 二、设计u s b 的目标就是使不同厂家所生产的设备可以在一个开放的体系 下广泛地使用。该规范改进了便携商务或家用电脑的现有体系结构,进而为系统 生产商和外设开发商提供了足够的空间开创多功能的产品和开发广阔的市场,而 不必使用陈旧的接口,害怕失去兼容性。 三、嵌入式系统的开发把开发者从反复进行硬件平台的设计过程中解放出 来,从而可以把主要的精力放在编写特定的应用程序上。每一个应用系统都存在 一个适合于该系统的硬件、软件功能的最佳组合,如何从应用系统要求出发,依 据一定的指导原则和分配算法对硬件软件功能进行分析及合理的划分,从而使 系统的整体性能、运行时间、能量耗损、存储能量达到最佳状态,是硬件软件 协同设计的重要内容。 浙江大学毕业硕士论文 第二章u s b 协议分析,存储类设备,优盘介绍 第一节u s b 协议分析 要把u s b 功能集成入嵌入式控制系统中,首先必须了解u s b 技术的基本内 容。对于一个嵌入式系统的设计者来说,整个p c 系统的复杂性有点让人难以接 受。所以我们尽量从一个嵌入式系统的角度去分析p c 机的u s b 系统。我们这 里所讲的“p c ”是一个泛泛的概念,因为主流操作系统对u s b 系统的支持都大 同小异。 一、u s b 的特性和优点 终端用户的易用性: 为接缆和连接头提供了单一模型; 电气特性与用户无关; 自我检测外设,自动地进行设备驱动、设置; 动态连接,动态重置的外设。 广泛的应用性: - 适应不同设备,传输速率从几千比特率到几十兆比特率; 在同一线上支持同步、异步两种传输模式: 支持对多个设备的同时操作; 可同时操作1 2 7 个物理设备; 在主机和设备之间可以传输多个数据和信息流; 支持多功能的设备; 利用低层协议,提高了总线利用率。 同步传输带宽: 确定的带宽和低延迟适合电话系统和音频的应用; 同步工作可以利用整个总线带宽。 灵活性: 直接一系列大小的数据包,允许对设备缓冲器大小的选择; 通过指定数据缓冲区大小和执行时间,支持各种数据传输率; 通过协议对数据流进行缓冲处理。 健壮性: 出错处理差错恢复机制在协议中使用; 对用户感觉而言,热插拔是完全实时的; 可以对有缺陷设备进行认定。 与p c 产业的一致性: 协议的易实现性和完整性; 与p c 机的即插即用的体系结构的一致: 浙江大学毕业硕士论文 对现存操作系统接口的良好衔接。 价廉物美: 以低廉的价格提供1 5 兆比特率的子通道设施; 将外设和主机硬件进行了最优化的集成; 促进了低价格的外设的发展; 廉价的电缆和连接头; 运用了商业技术。 升级路径: 体系结构的可升级性支持了在一个系统中可以有多个u s b 主机控制器。 二、u s b 基础 1 、速度 u s b 运行在三种速度下: 低速,信号率为1 5 m b i t s s 全速,信号率为1 2 m b i t s s 高速( u s l 3 2 0 ) ,信号率为4 8 0 m b i t s s 低速和全速是u s b l 0 和u s b l 1 协议支持的,而u s b 2 0 是2 0 0 0 年新发布 的u s b 传输协议,支持最高速4 8 0 m b i t s s ,比全速快了整整4 0 倍。我们把u s b l 1 支持的设备叫传统设备。因为u s b 2 0 刚刚出现,它的嵌入式场合的应用在未来 还是一个未知数,所以我们把目光聚集在传统设备。况且u s b 2 0 协议是向下兼 容的,所以我们今天设计的传统u s b 接口将可以和u s b 2 0 很好的兼容。 注意:我们看到1 2 m b i t s 每秒的速度比通用的串行通信口快多了。 2 、连接器 一个u s b 设备端的连接器是由d + 、d 一及v b u s ,g n d 和其它数据线构成的 简短连续电路,并要求连接器上有电缆屏蔽,以免设备在使用过程中被损坏。它 有两种工作7 状态,即低态和高态。在低态时,驱动器的静态输出端的工作电压 v o l 变动范围为o 0 3 v ,且接有一个1 5 k q 的接地负载。处于差分的高态和 低态之间的输出电压变动应尽量保持平衡,以能很好地减小信号的扭曲变形。 u s b 通常使用一种差分的输出驱动器来控制数据信号在u s b 电缆上的发送。每 一个u s b 设备包含个串行接口引擎s i e ( s e r i a li n t e r f a c ee n g i n e ) ,它主要处理 u s b 总线的物理层信号传输协议,包括错误校验,位填充,串行化和解释串行 化等操作。这层协议可能往往被大多数设计者忽略,s i e 处理了所有物理信号及 的数据分发和收集工作,是u s b 数据传输的核心和基础。 因u s b 高速传输,所以对传输线有严格规定,以u s b l 1 为例,一对电源线可 采用2 0 2 8 a w g ,但对线材品质有特别规定,信号线部份可使用2 8 a w g ,但因为 差动讯号,所以需要使用绞线,并加上屏蔽处理才可以,屏蔽是为了e m i 干扰问 浙江大学毕业硕士论文 题,u s b 规定中f u l l s p e e d 使用c a b l e 为5 m ,l o w s p e e d 为3 m ,原因是因为传 输时会有延迟。 u s b 有各种不同的接插件可以选择,根据需要而定。 3 、总线拓扑 u s b 系统中的设备与主机的连接方式: 广 1 主机1 厂 设备l r 一根卜l 设备f 【一h u b 【一 7 孓 i 一、 一 fh u b )( h u b ) 入一 匪区网网 图3u s b 物理总线的拓扑 u s b 具有星型拓扑结构,h o s t 控制器扮演了主要的管理者的角色,只有h o s t 控制器能发起和终止u s b 各种传输动作。u s b 并不是点对点的,所以外围设备 之间是不能发生任何通信工作的。u s bh o s t 控制器通过集线器h u b 把各种设各 请求发送给与集线器相连接的从设备( 在这之中,每个h u b 是每一个星型分支 的中心) ,这些设备请求包括从设备的地址,端点数,只有与这个地址相符的那 一个设备会发生回应,发送上行数据给控制器。u s bh o s t 控制器通常集成在主 板上,叫做南桥芯片。或者集成在一块p c i 卡上,市场上有很多的p c i - - u s b 的 转换卡,可以看到u s bh o s t 控制芯片。 注意:我们需要一块嵌入式u s b h o s t 控制器来控制u s b 数据的传输,有一 些嵌入式u s b h o s t 不支持多个集线器h u b ,这种特性降低了系统固件的复杂度。 4 、端点( e n d p o i n t ) 一个端点是一个可唯一识别的u s b 设备的操作口,它是主机与设备间通信 流的一个结束点。一系列相互独立的端点在一起构成了u s b 逻辑设备。每个逻 辑设备有一个唯一的地址,这个地址是在设备连上主机时,由主机分配的,而设 备中的每个端点在设备内部有唯一的端点号。这个端点号是在设备设计时被给定 的。每个端点都是一个简单的连接点,或者支持数据流进设备,或者支持其流出 设备,两者不可得兼。 个端点的特性决定了它与客户软件进行的传送的类型。一个端点有以下特 性: 端点的总线访问频率要求 端点的总线延迟要求 浙江大学毕业硕士论文 端点的带宽要求 端点的端点号 对错误处理的要求 端点能接收或发送的包的最大长度 - 端点的传送类型 端点与主机的数据传送方向 而一个u s b 通道是设备上的一个端点和主机上软件之间的联系。体现了主 机上缓存和端点间传送数据的能力。 u s bh o s t 控制器用含有设备地址,4 位端点数,位方向位的数据包向导广 播下行请求。所以一个设备的最大端点数可以是3 2 个,或者说每个从设备可以 有3 2 个数据通道( c h a n n e l ) 。其中端点0 是作为默认控制端点,支持对控制的传 送,而其他端点可以根据需要自由配置。例如:e n d p o i n t1 - o u t 作为数据输出, e n d p o i n t1 - i n 作为数据输入,e n d p o i n t2 - i n 作为状态信息,e n d p o i n t3 - o u t 作为 配置信息。端点是抽象的,可以由设计者自由配置,并且在设备枚举过程中通过 控制端点通知h o s t 。逻辑通道应用非常方便,给不同的端点配上不同的传输类型 可以避免从个下行数据流当中分离不同的数据信息类型。 5 、数据传输类型( t r a n s f e rt y p e s ) 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 l 1 浙江大学毕业硕士论文 协议里面规定u s b 传输数据的帧长度是l m s ,一种特别的帧标记叫做s o ft o k e n , 实现描述这个帧并提供后续的11 位的帧序号。 u s b 定义的4 种传送类型: 控制传送:可靠的、非周期性的、由主机软件发起的请求或者回应的传送, 通常用于命令事务和状态事务。 它被用来转换配置和操作设备,掌管最高层的传输错误校验,具有严格的命 令格式。也是唯一一种被定义特定数据结构和传输格式的数据传输类型。u s b l1 协议说明书的第九章有各种详细的命令请求格式,它们都是主控制器实现对外围 设备控制的特殊请求命令。控制传输命令包括下面三种数据传输状态: s e t u p 阶段:包含8 字节设备请求: 可选的数据传输阶段; s t a t u s 阶段:提供附加的握手方式; 同步传送:在主机与设备之间的周期性的、连续的通信,一般用于传送与时 间相关的信息。这种类型保留了将时间概念包含于数据中的能力。但这并不意味 着,传送这样数据的时间总是很重要的,即传送并不一定很紧急。 等时传输模式是严格保证时间准确性的,而不是数据准确性,所以它适合用 在声音,图像数据的传输。它提供c r c 校验,但是没有重传机制。为了保证时 间上的严格准确,h o s t 一旦发现在u s b 总线上有等时设备,就会在u s b 传输的 每一帧中预留一个确定带宽来保证等时设备的数据实现。 同步数据的建立、传送和使用是连续且实时的,同步数据以稳定的速率发送 和接收实时的信息,同步数据要使接收者与发送者保持相同的时间安排,除了传 输速率,同步数据对传送延迟非常敏感。所以同步通道的带宽的确定,必须满足 对相关功能部件的取样特性。不可避免的信号延迟与每个端口的可用缓冲区有 关。 一个典型的同步数据的例子是语音,如果数据流的传送率不能保持,数据流 是否丢失将取决于缓冲区的大小和损坏的程度。即使数据在u s b 硬件上以合适 的速率传送,软件造成的传送延迟将对那些如电话会议等实时系统的应用造成损 害。 实时的传送同步数据肯定会发生潜在瞬时的数据流丢失现象,换句话说,即 使许多硬件机制,如重传的引入也不能避免错误的产生。实际应用中,u s b 的 数据出错率d , n 几乎可以忽略不计。从u s b 的带宽中,给u s b 同步数据流分配 了专有的一部分以满足所想得到的传速率,u s b 还为同步数据的传送设计了最 少延迟时间。 中断传送:中断数据是少量的,且其数据延迟时间也是在有限范围的。这种 数据可由设备在任何时刻发送,并且以不慢于设备指定的速度在u s b 上传送。 浙江大学毕业硕士论文 它是一种特殊的块传输。 中断数据一般由事件通告,特征及座标号组成,只有个或几个字节。匹配 定点设备的座标即为一例,虽然精确指定的传输率不必要,但u s b 必须对交互 数据提供一个反应时间的最低界限。 块传送:非周期性的,大包的可靠的传送。典型地用于传送那些可以利用任 何带宽的数据,而且这些数据当没有可用带宽时,可以容忍等待。 块传输方式提供错误校验和数据重传,因为它是严格保证数据传输的准确性 的一种传输模式,而对传输的时间并不严格要求。在每一帧的传输过程中,当另 外三种传输模式的数据已经分发完了之后,块方式的数据才得到安排,被填补在 空余的帧时间内。 注意:控制传输是强制式的,提供了u s b 从设备到h o s t 的联接。而块传输 和中断传输是最简单和最灵活的,因为块传输是异步的,它不需要为了降低延迟 和h o s t 传输时间而实现分发或优化。中断用来传输低延迟数据再好不过了,比 如人体学输入设备。而等时传输常被用来实现流数据,比如音频、视频等。 有一些u s b 设备开发人员发现在某些需要等时传输的场合也可以应用中断 或者块传输来实现,而且效果非常好。这是因为u s b 是一个高带宽总线,所以 外围u s b 设备共用一个u s b 总线带宽,当其他外围设备对u s b 总线的带宽占 有很少的时候,块传输的发生和等时传输的发生一样及时。如果我们在传输的两 端都应用较小的缓存,我们可以改善块传输的突发特性,在保证总线带宽较宽松 的条件下,仅增加一些简单的处理措施,就可以实现等时传输的准时陛和块传输 的数据准确性,而增加的这些处理措旋可能要利用等时传输的c r c 校验机制。 6 、握手机制 除了等时传输,所有的u s b 传输都具有握手机制,a c k 握手信号提示收到 正确数据,n a k 握手信号提示收到正确的设备请求,但是现在忙,以后再试一 遍。而没有回应则表示总线错误。 注意:这种数据流的自建方式非常有利于嵌入式u s b 设计,消除了在数据 流通道中集成嵌入式控制代码的必要。 7 、集线器h u b 在即插即用的u s b 的结构体系中,集线器是一种重要设备。从用户的观点 出发,集线器极大简化了u s b 的互连复杂性,而且以很低的价格和高易用性提 供了设备的健壮性。 集线器串接在集线器上,可让不同性质的设备连接在u s b 上,连接点称作 端口。每个集线器将一个连接点转化成许多的连接点。并且该体系结构支持多个 集线器的连接。 每个集线器的上游端口向主机方向进行连接。每个集线器的下游端口允许连 浙江大学毕业硕士论文 接另外的集线器或功能部件,集线器可检测每个下游端口的设备的安装或拆卸, 并可对下游端口的设备分配能源,每个下游端口都具有独立的能力,不论高速或 低速设备均可连接。集线器可将低速和高速端口的信号分开。 一个集线器包括两部分:集线控制器( c o n t r o l l e r ) 和集线放大器( r e p e a t e r ) 。 集线放大器是一种在上游端口和下游端口之间的协议控制开关。而且硬件上支持 复位、挂起、唤醒的信号。集线控制器提供了接口寄存器用于与主机之间的通信、 集线器允许主机对其特定状态和控制命令进行设置,并监视和控制其端口。 任何p c 在h o s t 控制器上带有个根集线器( r o o th u b ) ,它能提供5 0 0 m a 的 电源。所以外扩的集线器可以实现总线供电,通过u s b 的v b u s 和g n d 实现, 如果外接的这个集线器消耗的电流小于l o o m a ,那么这个集线器能最多支持4 个最大电流消耗量为1 0 0 m a 左右的下行设备,这样整个系统的电流消耗控制在 5 0 0 m a 以内。 注意:集线器独立于外围设备,在嵌入式u s b 系统中能够应用价格低廉的 h u b 芯片来实现。自供电模式的h u b 能给嵌入式系统提供所需电源,价格不高, 是最好的选择。 8 、电源管理 u s b 的电源管理很严格,当一个u s b 设备刚刚加到总线上的时候,u s bh o s t 控制器枚举这个设备,这是很重要的一个操作,在这一操作过程中,h o s t 首先做 的第一件事情就是得到设备的电源消耗量。如果设备插入了总线供电的集线器 时,我们必须保证这个设备在配置前的电源消耗量少于1 0 0 m a ,h o s t 才会根据 要求配置这个设备,万一h o s t 发现这个设备不止消耗l o o m a 时,它拒绝配置这 个设备,从而拒绝了这个从设备。 另外u s b 还有一种标准的挂起( s u s p e n d ) 和唤醒( w a k e u p ) p b l 羽设备的操作, 包括一种把挂起的外围设备唤醒的远程唤醒的方式。一个挂起状态下的设备最多 能从总线上拉下5 0 0 u a 的电流。 注意:电源管理是又一个能体现u s b 执行方式复杂。| 生的重要特性。 9 、u s b 设备类 u s b 各大商家面对u s b 设备纷繁芜杂的局面,协定把通用u s b 设备分类, 比如海量存储器类,声音类,输入输出类设备等,而这些商家为这些设备类规定 了基于u s b 协议的标准的具体设备类协议,每个商家都必须按照这些协议合作, 以便实现u s b 的标准化,有利于u s b 的实现和推广。这套规则由u s b i f 协 会掌握,并且这些类协议已经被大多数主流的操作系统所接受和应用。这大大方 便了u s b 设计者和用户,没有必要为每个u s b 设备写具体的驱动程序,当设备 插入u s b 总线后,系统自动识别该设备类设备,并安装相应驱动程序。 一个典型的u s b 设备类是人体学输入设备( h i d t h eh u m a ni n t e r f a c e 浙江大学毕业硕士论文 d e v i c e ) ,它是首个u s b 设备类,并已获得大多数的操作系统支持。该类设备都 已实现标准化操作。 注意:没有人真心愿意开发并不断完善独特的u s b 设备驱动程序。u s b 类 机制使驱动程序的开发实现了设备类级的标准化,从而确保了工业级的标准化, 大大简化了软件设计过程。 1 0 、h o s t 控制芯片和驱动程序 u s b 系统有三个主要组成部份: 主机控制器驱动( h o s tc o n t r o l l e rd r i v e r ) u s b 驱动( u s bd r i v e r ) 主机软件( h o s ts o f t w a r e ) 主机控制器驱动的存在,方便地将各种不同的主机控制器实现映射到u s b 系统,客户可以不必知道设备到底接在哪个主机控制器上就能同设备进行通信。 u s b 驱动提供了基本的面向客户的主机界面。在h c d 与u s b 之间的接口称为 主机控制器驱动接口( h o s tc o n t r o l l e rd r i v e ri n t e r f a c eh c d i ) 。这层接口不能被客 户直接访问,所以也不是由u s b 具体来完成的。一个典型的h c d i 是由支撑各 种不同主机控制器的操作系统来定义的。 u s bd r i v e r 提供i o 请求包( i or e q u e s tp a c k e t s ) 形式的数据传输,以某一特 定通道来传输数据。另外,u s bd r i v e r 为它的客户提供一个容易被支配及配置的 抽象的设备。作为这种抽象的一部份,u s bd r i v e r 拥有标准通道对设备进行一些 标准的控制。这标准通道实现了u s bd r i v e r 与抽象设备之间的逻辑通信。 在有些操作系统中,提供了额外的非u s b 系统软件以支持设备的配置及设 备驱动程序的加载。在这样的操作系统中,设备驱动程序应使用提供的主机软件 接口而不是直接访问u s b d i 。 客户层描述的是直接与u s b 设备进行交互所需要的软件包。当所有的设备 都已连上系统时,这些客户就可以直接通设备进行通信。一个客户不能直接访问 设备的硬件。 主机可提供如下的功能: 检测u s b 设备的连接与断开。 管理主机与设备之间的标准控制流。 管理主机与设备之间的数据流。 收集状态及一些活动的统计数字。 控制主机控制器与u s b 设备的电气接口,包括提供有限的能源。 我们来看下面的u s bh o s t 控制器的驱动堆栈,对上面所讲的有更深的理解: 浙江大学毕业硕士论文 图4u s bh o s t 控制器软件架构:左:p c ,右:简化的嵌入式方式 我们先考虑基于w i n d o w s 的p c ,左边是u s b h o s t 控制器的w i n d o w s 下的软 件架构,在底层,h o s t 控制器应用了两种控制器芯片类型,u h c i ( u n i v e r s a lh o s t c o n t r o l l e ri n t e r f a c e ) 和o h c if o p e nh o s tc o n t r o l l e ri n t e r f a c e ) ,他们可以看作是 u s b 的u a r t ( 通用异步收发报机) ,虽然它们在传输类型和调度方面比一般通用 的u a r t 复杂的多。 u h c i 协议由i n t e l 公司开发,它把实现每个u s b 数据帧的完全的传输调度 的功能从硅半导体级转移到了h o s t 控制器的驱动级。o h c i 协议由康柏,微软和 国家半导体公司联合发布,它提供了一种更智能的h o s t 控制器,比u h c i 控制 器多加了很多逻辑门,从而减轻了控制器驱动的很多工作。虽然o h c i 和u h c i 控制器的寄存器设置完全不同,但是在p c 上分别有两个驱动程序o h c d s y s 和 u h c d s y s 实现了对各自控制器的驱动支持,对应用来说,这两种控制器的不同 被屏蔽掉了。 在一般操作系统中,驱动程序是分层的,图5 中显示的是白色的方框所组成 的一个u s b 驱动栈。用户态的应用程序是通过小驱动程序和类驱动程序实现对 设备的访问的,如果所操作的设备属于某一个设备类的话。u s b 驱动( u s b d s y s ) 负责设备的检测,枚举和配置,转换传输请求成帧格式数据,并打包成u s b 特 定数据传输格式。 其实,我们应用的p c 机操作系统所要处理的事务是相当复杂的,有时是难 以想象的。这种复杂性并不是由于u s b 总线协议的复杂性引起的,这一点我们 必须充分重视;这种复杂性是由于p c 机所面对的是整个系统,最多可能有多达 1 2 6 个设备出现,每一个设备的数据传输都要得到合理的安排,而u s b 总线的 带宽是一定的,有限的,所以驱动程序和h o s t 控制器必须确保带宽对所有u s b 设备都有效。 浙江大学毕业硕士论文 在图的右侧,我们看到了一个简单的h o s t 控制器的驱动架构图,这是嵌入式 系统的驱动架构图,在硬件上比p c 机大大简化了,但是根据u s b 协议的特点, 必须承认,我们还有很多必要的工作要做: 检测u s b 设备是否联机,何时联机 检测u s b 设备的速度 挂起和唤醒u s b 设备 枚举设备 错误、复位功能 能自动设置u s b 总线复位 实现控制、块、中断,等时四种数据传输模式 嵌入式h o s t 控制器芯片非常智能,减轻了我们很多的工作量,但是我们仍有 很多重要的开发工作需要去做。所选择的芯片供货商必须带有嵌入式级的源代码 和驱动例程,不然开发难度会大大增加。 一个折中的办法是应用商用的实时嵌入式操作系统,大都支 持u s b ,比如l i n u x ,w i n c e 和v x w o r k s ,芯片供货商会提供很 多类似o h c i u h c i 级驱动的驱动实例,这些驱动代码的开发需 要较深的芯片架构知识。而实时操作系统至少会提供设备类驱动 程序,比如h i d 等。嵌入式操作系统的驱动程序结构模式可以 由图5 大概表示。 注意:图4 代表了两种不同的操作模式,在p c 上应用u s b 很简单,所有的芯片,驱动程序,类驱动程序都实现了标准化, 而在嵌入式系统中应用u s b ,硬件上是简单的,但是软件设计 图5r t o s 驱动层次变的很复杂,每一种操作系统都要设计一遍。一个好的方案就算 它只支持一个设备,很容易设计开发,但是功能上肯定有限。我们可能可以考虑 应用固件的标准化方式实现各个操作系统的兼容,支持h u b 或者其他u s b 设备 类比如h i d 。 1 1 、u s b 协议第九章 我们参考一下i r d a 红外设备,许多掌上电脑和打印机带有i r 红外接口,但 是这些接口没有在工业上得到广泛的应用,为什么? 一个合理的解释是最早红外 链接协议仅仅是物理层的,至于i r 红外设备之间怎么通信,仍旧是一个问题。 之外,也没有各设备之间进行数据传输的调制协议,结果是i r 红外并没有得到 广泛的应用。 但是u s b 协议并不只限于电气级的接口协议的编写,它定义了一套非常详 细的协议,具体体现在u s b l ,1 协议第九章。这里协议可以理解为与两个设备之 间数据传输的特定格式和数据流相关的一些具体的规则、操作方式、和协定的总 浙江大学毕业硕士论文 称。 并不是所有的u s b 协议都被清楚的定义了,但是很幸运它是一个非常好的 协议,允许几乎所有的u s b 设备,不管简单的还是复杂的设备,都在一个标准 的框架协议下工作。这个协议使得组织标准的设备类协议成为了可能,具有很强 的可扩展性。 u s b 协议第九章列举了详细的设备请求,h o s t 控制器给设备发出设备请求, 设备必须回应。这些操作都是通过控制端点0 端点实现的。每一个控制传输以 个s e t u p 包开始,其中包含了8 字节的操作代码,下面是它的具体格式: 衰1 s e t u p 包的8 字节格式 前缀的意思:b m 就是b i t - m a p p e d ,b 意思是字节( b y t e ) ,w 是字( w o r d ) ,u s b 是应用j , e p 第安格式的数据传输方式的,所以低字在前,高字在后。 下面是第九章的标准设备请求的总结,这些请求非常重要,要求每个开发者 掌握: 镞江大学毕照辗论文 b m r e q u e s t t y p e 嗣s 标准设备请求 设备首先检测s e t u p 数据的第o 个字节( b m r e q u e s t t y p e ) ,它表示了请求类 黧,每令没鍪都鬓求支簿标准谤求。然鼷设冬捡没l 第一个字节( b r e q u e s t ) ,它表 示了实际的请求代码。一些请求需要简单的操作,比如“s e t - a d d r e s s ”,h o s t 在s e t u p 数摆饿孛豹第二个字节位置( w v a l u e l ) 藏了一个唯一的射围设备地址。 “g e td e s c r i p t o r ”请求需要在w v a l u e h 处设鬣标志以表示h o s t 正在请求哪 辨描述袭。 而s t a l l 怒外围设锫用来告诉h o s t :我不认谈你所请求静r e q u e s t 。它是一 种很好的终止方溅,因为它告诉h o s t :有蝗错误,我没有把它们关掉,但魁你需 簧裣查下。 浙江大学毕业硕士论文 b m r e q u e s t t y p e 圈6h i d 设备的基本设备请求 u s b 为类设备和传统设备预留了协议空间以增加新的设备请求。例如,图6 表示了h i d 类设备的执行特定命令处理和申请特定描述表的新增请求。协议本 身势必变得越来越复杂。 注意:嵌入式h o s t 控制器需要支持附加设备必要的设备请求,而那些设备请 求需要支持仅仅取决于附加设备的数量和复杂度,不是所有的设备请求都必须支 持。例如,如果你不和一个h i d 类的设备通话,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 节假日反假知识培训课件
- 企业代缴社保及福利待遇综合服务合同
- 教师招聘之《小学教师招聘》过关检测试卷及答案详解(必刷)
- 教师招聘之《小学教师招聘》综合提升试卷含完整答案详解【典优】
- 2025年教师招聘之《幼儿教师招聘》考前冲刺模拟题库附参考答案详解(培优b卷)
- 教师招聘之《小学教师招聘》模拟题库(培优b卷)附答案详解
- 2025年六五普法测试试题及答案
- 幼儿园廉政教育月活动方案
- 部队组织生活自我评价及整改措施
- 教师招聘之《小学教师招聘》试题(得分题)【a卷】附答案详解
- 2025-2026学年湘美版(2024)小学美术二年级上册(全册)教学设计(附目录P208)
- 中小学教师中高级职称答辩备考试题及答案(50题)
- 2025年重庆中考道德与法治试卷真题解读答案讲解(课件)
- 新概念第一册Lesson-65-66练习题
- 固体物理(黄昆)第一章PPT
- 2023年重庆大学入学考试英语一本科
- 铁路公司招聘干部试题
- GB/T 1770-2008涂膜、腻子膜打磨性测定法
- 第17课-我是浙江人课件
- 税务尽职调查报告(参考)
- 初中七年级上《综合实践》活动课程课件
评论
0/150
提交评论