(电路与系统专业论文)基于SEP3203+SOC芯片的USB+OTG系统的设计与实现[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于SEP3203+SOC芯片的USB+OTG系统的设计与实现[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于SEP3203+SOC芯片的USB+OTG系统的设计与实现[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于SEP3203+SOC芯片的USB+OTG系统的设计与实现[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于SEP3203+SOC芯片的USB+OTG系统的设计与实现[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(电路与系统专业论文)基于SEP3203+SOC芯片的USB+OTG系统的设计与实现[电路与系统专业优秀论文].pdf.pdf 免费下载

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

文档简介

摘要 摘要 通用串行总线( 简称u s b ) 现在已经成为计算机外围串行通信的标准接口,它克服传 统的计算机串并口的缺陷,即插即用,数据传输可靠,总线易于扩展。随着具有更小接口 与更低功耗以及点对点特性的u s bo n t h e 毛o ( 简称0 1 g ) 技术的出现,在嵌入式系统中 构建u s b 接口特别是u s bo t g 接口成为一项重要的技术 本文所研究的课题是在国家专用集成电路系统工程中心设计的“1 6 3 2 位r i s c 嵌入式 微处理器s e p 3 2 0 3 ”f 以下简称s e p 3 2 0 3 ) s o c 芯片上,基于自主研发的a s i x o s 嵌入式实 时操作系统实现u s bo t g 系统。为了更好的实现课题目标,论文首先对u s b 2 ,0 基本规范 与o t g 补充协议以及u s b 通信原理做了简要的介绍,同时在文中也阐明了s e p 3 2 0 3 微处 理器平台特性与a s i x - o s 实时操作系统的相关系统组件。课题是以开源操作系统l i n u x 的 u s b 主机协议栈为原型,以此为基础结合课题平台进行必要的改造并重新设计实现相关的 协议软件模块,主要包括如下三个部分;以l h m xu s b 主机协议栈为原型,移植并构建u s b 主机系统软件;结合具体的数据采集应用重新实现基于m a s ss b r a g ec l a s s 协议的主机客户 端驱动程序;论文也着重阐述了u s b 设备端协议软件的设计与实现。 该u s bo t g 系统是基于采用a s i x - f s 文件系统的数据采集应用项目设计实现的,论文 最后结合该应用对u s bo t g 系统进行了严格的测试与分析,测试结果表明基于s e p 3 2 0 3 的u s bo t g 数据采集系统,基本上满足了嵌入式环境的性能要求,具有一定的应用前景。 关键词 a r ms o c ,嵌入式系统,u s b 2 0o n - t h e g o ,u s b 驱动 东南大学顽士学位论文 a b s t r a c t u s bh a sa l r e a d yb e c o m es t a n d a r di n t e r f a c ei ns e r i a lc o m m u n i c a t i o no f c o m p u t e rp e r i p h e r a l s b e c a u s eo f i mp u ga n dp l a y , s t e a d yd a t aa c m s f e ra n de a s yt ob ee x t e n d e dv e r 5 1 “t r a d i t o n a s e r i a l a n dp a r a l l e li n t e r f a c e s w i t ha p p e a r a n c eo fu s bo n - 1 m e g oi n t e r f a c ew h i c hi ss m a l l e r , l o w e r p o w e r - c o n s u m i n ga n dc o n t a i n sap o i n tt op o nc h a r a c t e r i s t i c ,i ti s a ni m p o r t a n tt e c h n o l o g yt o c o n s t r u c tu s bi n t e r f a c e ,e s p e c i a l l yu s bo t gi ne m b e d d e ds y s t e m s 弛er e s e a r c hf o rt h i sd i s s e r t a t i o nf o e n s e so l lt h ei m p l e m e n t a t i o no f u s bo t gs y s t e m w h i c h i sb a s e do na ne m b e d d e ds o cs e p 3 2 0 3a n dr e a lt i m eo p e r a t i n gs y s t e ma s 旬sb o t h d e s i g n e db yn a t i o n a la s i cc e n t e r , i no r d e rt om a k eab e t t e ra c h i e v e m e n to ft h i sr e s e a r c h t h e t h e s i sa t a t t sw i t hab r i e fi n t r o d u c t i o no fu s b 2 0b a s i cs p e c i f i c a t i o n ,o t gs u p p l e m e n ta n d p r i n c i p l e si nu s bc o m m u n i c a t i o n i ta l s og i v e sa ni l l u s t r a t i o no fc h a r a c t e r i s t i c so fs e p 3 2 0 3 m i c r o - p r o c e s s o ra n di n t e r r e l a t e dm o d u l e si na s i x - o si nt h i sp a p e r t h er e s e a r c hi n a k e sa r e n e w e dd e s i g na n di m p l e m e n t a t i o no fu s bo t gs y s t e mb a s e do no p e n - s o u r c el i n u xu s bh o s t s t a c kf o rt h ep l a t f o r mm e n t i o n e da b o v e ,i ti n c l u d e sf o l l o w i n gt h r e ep a r t s p o r t i n ga n dc o n s t r u c t i o n o fs y s t e ms o f t w a r eb a s e do nl i n u xu s bh o s ts m c k 锄u s bh o s te n df o rr e s e a r c hp l a t f o r mi st h e f i r s tp a r t t h es e c o n dp a r ti si m p l e m e n t a t i o no f t h eu s bh o s tc l i e n td r i v e rb a s e d0 nm a s ss t o r a g e c l a s ss p e c i f i c a t i o nf o rd a t aa c q u i s i t i o na p p l i c a t i o n ,i nt h i r dp a r to f t h i sd i s s e r t a t i o n ,i ta l s om a k e sa c l e a re x p l a n a t i o no f t h ed e s i g na n di m p l e m e n t a t i o no f s o f t w a r ei nu s bd e v i c ee n d t h ei m p l e m e n t a t i o no ft h eu s bo t gs y s t e mi sb a s e do nt h ed a t aa c q u i s i t i o np r o j e c t a d o p t i n ga s i x - f sf i l e ss y s t e m i th a sp e r f o r m a n c ee x p e r i m e n t sa n da n a l y s i sa tt h ee n do ft h i s d i s s e r t a t i o n a sp r o v e db ye x p e r i m e n t s t h ee m b e d d e du s b 0 t gs y s t e mb a s e do ns e p 3 2 0 3i s s t a b l e ,a n di t sd a t ar a t em e e t st h eb a s i cr e q u i r e m e n t so fe m b e d d e dd a t at r a n s f e r , p r e s e n t i n g p r o t m s m ga p p l i c a t i o np r o s p e c t sm m a r k e t k e yw o r d s a r ms o c e m b e d d e ds y s t e m u s b 2 0o n - t h e - g ou s bd r i v e r 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并 表示了谢意。 研究生签名:b 日期:巫t 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 第一章 1 1 课题背景 第一章绪论 当今的计算机外设种类繁多,传统的计算机外设接口已无法满足数据高速传输,传输过 程稳定以及用户易用等要求。为了克服旧的接口体系的缺陷,满足用户需求,1 9 9 4 年i n t e l 、 m i c r o s o f t 、c o m p a q 、n e c 、n o r t h e r n t d e c o m 等世界知名的计算机与通信公司成立了u s b 论坛,提出了u s b ( u n i v e r s a ls e r i a lb u s ) 规范”。由于u s b 接口具有传输高效、即插即用 以及低功耗等优点,很快它就成为个人计算机的一个标准接口。 随着u s b 的广泛应用,人们对它提出了更高的期望,尤其是在嵌入式系统中。随着移 动应用的普遍,越来越多的嵌入式移动设备除了需要与个人计算机进行通信,还有直接连接 其他移动设备的需求:例如典型的个人数字助理p d a ,它就有直接连接个人计算机与移动 存储设备的需求。然而传统的u s b 总线是以p c 作为核心的主从式传输结构,这显然不利 于嵌入式系统中设备之间点对点的数据传输。为了解决这一问题,2 0 0 1 年1 2 月8 日由u s b 开发者论坛公布了u s bo n t h e - g o 协议【2 j ,它是对u s b 2 0 协议的补充,主要应用于各种不 同的设备或者移动设备之间的连接。u s bo t g 的推出必将大大推动u s b 接口在嵌入式电子 设备方面的应用。 1 2 国内外发展现状与问题的提出 u s b 接口的广泛应用是以设计精良的u s b 规范为基础的,u s b 规范针对通用串行接口 通信的特点对接口的软硬件实现进行了严格的划分,同时在物理、机械、电气以及软件驱动 各个方面详细规定了接口的实现标准。从实现的角度,统一易用的硬件接口决定了u s b 软 件模块的复杂,因而通信高效、支持完善的客户端驱动并且具有良好的实时响应的协议软件 成为u s b 软件技术发展的目标。 u s b 协议软件往往是以系统组件的形式与特定的操作系统平台相结合的,个人计算机 平台的操作系统如常用的w i n d o w s 与l i n u x 都提供了对u s b 接口的良好支持,就嵌入式系 统而言,由于嵌入式系统功能专用、软硬件可裁剪等特点,业界一般有两种通用的软件组件 设计方法。第一,设计一种通用的u s b 协议栈,针对特定的软硬件平台进行移植与构建, 如j u n g o 公司的u s b 主机协议栈。这种协议软件的实现一般以软硬件易于移植为目标,根 据u s b 协议分层严格设计实现,抽象出需要移植的软硬件平台相关模块,以j u n g o 公司的 u s b 主机协议软件为例,它就在协议栈中抽象出操作系统相关层以便在不同的目标平台上 的移植( 见图l 1 ) 。第二,随着u s b 接口应用的普遍,大部分的系统产商也在其操作系统 平台上集成了u s b 协议栈,例如常用的实时操作系统平台w i n d o w sc e ,v x w o r k s ,n u c l e u s p l u s 等,它们大都以内核模块的形式或是作为定制的操作系统组件向用户提供。然而就上述 现有的协议软件而言,或者只是单纯的u s b 主机或设各端协议软件( 目前对u s bo t g 的 支持还不多) ,或者是与具体的系统平台相关,并且大部分软件不以源代码形式提供,用户 为了使用协议软件必须付出一笔高昂的授权费用。与此相对应的是,l i n u x 作为开源操作系 统的代表,从1 9 9 9 年开始就对u s b 主从设备以及u s bo t g 协议提供了很好的支持,用户 只需要遵守g p l 等开源协议就可以方便的使用或移植l i n u x 的软件组件。 东南大学硕士学位论文 图1 - 1 通用u s b 主机协议栈的设计 本课题的主要目的是以东南大学国家专用集成电路系统工程中心设计的基于 a r m 7 t d m i 的s o cs e p 3 2 0 3 为硬件平台,以该中心自主研发的嵌入式实时操作系统 a s i x - o s 为软件平台设计并构建u s bo t g 系统。如前所述,在课题调研期间,考虑到大部 分的u s b 系统软件的使用需要付出高昂的授权费用,同时没有提供相关的源代码,所以以 开源的l i n u xu s b 主机协议栈作为设计蓝本,进行u s bo t g 系统软件的设计比较可行。虽 然l i n u xu s b 协议栈具有开源、大量的客户端驱动软件的支持以及可移植性高等优点,但 是针对基于s e p 3 2 0 3 微处理器与a s i x - o s 操作系统的u s b 协议栈的移植与构建还存在如 下一些问题: 1 l i n u x 始终把通用性作为u s b 协议软件设计的第一位,而且主要面向个人计算机 以及工作站等硬件平台,针对嵌入式系统,如何改造u s b 协议软件使之满足嵌入 式系统的实时响应以及软件可裁剪等要求; 2 客户端驱动软件在l i n u xu s b 主机协议栈的实现中往往是与其他设备的驱动结合 在一起的,例如m a s s s t o r a g e c l a s s 设备中s c s i 命令集的实现是挂接在s c s i h o s t 中的,l i n u x 的客户端软件常常具有复杂的系统结构和众多的l i n u x 平台相关的系 统调用,如果移植l i n u x 中u s b 的相关设备类驱动将花费较多的时间与精力,而 且驱动软件的实现针对s e p 3 2 0 3 微处理器平台也不是最高效的; 3 本课题是基于s e p 3 2 0 3 以及a s i x o s 平台实现的,所以在u s bo t g 的实现中如 何结合平台特性,提高软件通信效率是个重要的问题。 1 3 论文的主要工作及其结构 如何合理并有效地解决上述问题,构建基于s e p 3 2 0 3 嵌入式微处理与a s i x - o s 操作系 统平台的稳定高效的u s bo t g 系统是本论文的主要工作,细分为如下几个部分: 1 l i n u xu s b 主机协议栈的移植与优化。由于u s b 主机端协议软件具有相当的复杂 性,协议栈中u s b 系统软件又是其核心部分,如何抽象出与操作系统平台 ( a s i x - o s ) 以及特定处理器( s e p 3 2 0 3 ) 相关的软件模块是移植的主要工作,同 2 第一章 时尽可能地利用平台本身的特性提高u s b 系统软件的工作效率也是这部分工作的 重点; 2 u s b 主机端中客户端驱动及其应用程序的实现。如前所述,如果照搬l i n u x 庞大 的客户端驱动程序,那将是一个繁琐与耗费精力的过程,所以在具体的应用中我们 以a s i x - o s 作为平台重新实现相关的主机客户端驱动以及应用程序; 3 u s b 设备端协议软件的设计与实现。l i n u x 中u s b 设各协议软件与主机端类似, 它同样考虑了在不同的处理器平台以及不同的u s b 设备控制器中的通用性问题。 u s b 设备端的协议软件相对主机而言,较为简单而且是与具体的设备控制器硬件 密切相关的。针对我们的具体应用,重新实现u s b 设备端软件,就实现难度上而 言并不是很大,同时可以充分的利用s e p 3 2 0 3 平台特性更高效的实现协议软件; 4 相对而言,u s bo t g 系统的硬件设计并不复杂,这也是由u s b 的相关协议决定的, 设计中u s bo t g 部分的接口电路是这部分的主要工作。 从实际工作出发,论文主要结构如下:第一章结合国内外的研究现状论述了课题的研究 背景、意义及其主要工作;在第二章中,将介绍并分析u s b 基本规范与u s bo t g 补充协 议以及u s bo t g 设备的通信原理,为协议软件的设计奠定基础:u s bo t g 系统的软硬件 平台介绍以及o t g 接口电路的设计是第三章的主要内容;第四章将结合具体的数据采集应 用分别从基于s e p 3 2 0 3 与a s i x - o s 的u s b 系统软件的移植,u s b 主机客户端驱动程序的 设计以及u s b 设备端协议软件的实现三个方面阐述u s bo t g 系统的设计与构建,并对系 统性能进行测试与分析;对课题的总结与展望安排在第五章。 3 东南大学硕士学位论文 第二章u s bo n - t h e - g o 技术概述 u s b 接口的广泛应用是以设计稽良的u s b 规范作为基础的,u s b 规范分类繁多,从各 个方面定义了u s b 技术的实现准则,开发u s bo t g 设备涉及的规范主要有如下几个部分: ( u n i v e r s a ls e r i a lb u ss p e c i f i c a t i o n2 ,o 一该规范是u s b 实现的标准参考,它主要从 物理、机械、电气以及u s b 协议软件的实现等方面说明了u s b 基本技术与通信原理; u s bo t g 补充协议一这部分协议是u s b2 0 基本协议的补充,它详述了u s bo t g 的 技术标准与实现规范; u s b 主机相关规范一u s b 标准主机端与u s bo t g 主机部分的实现主要参照了 o h c i 、u h c i 与e h c i 三个规范,其中o h c i 标准主要应用于嵌入式系统,它也是我们在 u s bo t g 系统中实现主机控制器驱动的依据; u s b 类规范一根据u s b 设备提供的功能不同,u s b 实施者论坛把设备划分为不同的 设备类,实现u s b 设备提供的功能必须针对具体的设备类,依照其所属类规范设计客户端 驱动以及相关的应用程序。 本章主要以u s b2 0 基本规范和u s bo t g 补充协议为依据,介绍u s b 与u s bo t g 的 总线结构、通信原理等相关技术。 2 1u s b 2 0 总线与u s bo t g 设备 传统的u s b 系统通过具有相同接口的串行连线将不同的设备连接在一起,从总线拓扑 结构上看,u s b 总线系统是以u s b 主机为中心的星形结构,而且主机可以通过集线器( u s b h u b ) 级联更多的u s b 设备。 2 1 1 传统的u s b 总线系统与各组件简介 一个u s b 总线系统一般由一个u s b 主机,一个或多个u s b 集线器以及一个或多个u s b 设备节点( 协议中称u s b 设备为f u n c t i o n ,即功能) 组成,如图2 - 1 所示。 图2 - 1u s b 总线结构 4 第二章 u s b 总线的物理连接是以u s b 主机为中心具有层次性的星形结构,主机与设备之间通 过集线器相连( 一般在u s b 主机内部集成一个根集线器,集线器其实也是一种特殊的u s b 设备) 。整个u s b 系统中有且只有一个u s b 主机,它负责总线系统的管理以及数据传输工 作。 根据功能属性的不同,u s b 协议规定了不同的设备类:m a s ss t o r a g ec l a s s ,h u m a n i n t e r f a c ec l a s s 等,设备就是向主机提供不同功能的总线上的节点。根据数据传输速度的不 同,u s b 2 0 协议将设备分为低速( 1 5 m b p s ) 、全速( 1 2 m b p s ) 和高速( 4 8 0 m b p s ) 设备。 作为一种特殊的u s b 设备,u s b 集线器是实现u s b 总线即插即用特性的关键。它包 括上行端口和下行端口,前者用于连接上行设备( u s b 主机或上层u s b 集线器) ,后者为 u s b 设备提供接入端点,如图2 - 2 所示 2 1 2u s b0 t g 设备 图2 - 2u s b 集线器示意图 然而图2 一l 所示的总线结构是以p c 作为整个总线的核心,并且总线中有且只有一个 u s b 主机,显然这种总线拓扑结构并不利于u s b 设备在嵌入式点对点传输环境中的应用, 例如如何通过u s b 接口把数码相机中的照片直接打印输出。正是在这种新的需求下,u s b o n - t h e g o 技术应运而生,图2 - 3 是u s b0 1 g 技术的典型应用。u s bo t g 规范规定了两种 o t g 设各一双功能o t g 设备( d u a lr o l eo t gd e v i c e ) 与外设式o t g 设备( p e r i p h e r a lo t g d e v i c e ) ,前者具有主机和外设两种功能,而后者只是满足o t g 机械与电气特性的普通u s b 设备。当两个o t g 外设相连时,总线中必须至少存在一个双功能外设来扮演主机角色,从 而正常的进行总线通信。 图2 - 3u s b o t g 典型应用 5 东南大学硕士学位论文 2 2u s b0 t g 机械特性 u s bo t g 接口主要应用于移动产品等低功耗要求的设备,因而u s bo t g 的机械特性 与原有的u s b 规范有着很大的不同。 在物理连线上,u s bo t g 规范在u s b2 0 的基础上( 标准a 插头插座、标准b 插头 插座和m i n i - b 插头插座) ,新添加了m i n i - a 插头,插座和m i n i - a b 插座。根据u s b 实施者 论坛声明,所有的u s bo t g 设备可以分成a 设各和b 设备两类:其中使用m i n i - a 连接的 设备称作a 设备,它在默认情况下具有h o s t 功能;而使用m m i - b 连接的设备称为b 设备, 它在默认情况下具有d e v i e e 功能。m i n i - a m i n i - b 插头包含5 根线,与标准的u s b 电缆线 相比它增加了一根d 线用来在连接时指明u s b 设备所处的状态,当信号为低电平时, 则表明该设备为主机,反之为设备,其他部分与u s b - i f 规范相同,a 、b 设备的具体连接 如图2 - 4 所示 ;v v b u g v b u s 一d+i d + 一 d d 一 i 设备a 2 3u s b0 t g 电气特性 图2 _ 4m i n i - a m i n i - b 插头 设备b u s bo t g 设各具有即插即用的特性是与u s bo t g 的电气特性密切相关的。为了方便 用户使用,u s bo t g 在电气设计上支持热插拔,对各种速度设各自动检测与识别,并允许 用户从总线上获取电源,这些方面与u s b 2 0 规范定义基本相同,但是为了实现u s bo t g 的更低功耗的应用,在供电方式上进行了比较大的改变。 2 3 1u s b0 t g 外接电阻 在u s b 2 0 规范中,连接在数据线d + d 的上拉电阻厂f 拉电阻是区分u s b 主机,u s b 设备速度的一个显著特征,也是用来鉴别设备类型的必要因素。对于u s bo t g 而言,有a 设备和b 设备的区别。当a 设各处于空闲或者u s b 主机状态时,d + 和d 一的下拉电阻开关 闭合,d + 线上拉电阻打开;同理a 设备处于u s b 设备工作状态时,d + 的下拉电阻开关 应该断开,而d + 上拉电阻开关和和d 下拉电阻开关应该处于闭合状态。b 设备的工作状态 与a 设备相同,如图2 - 5 所示。 6 第二章 t + 5 v 2 3 2 对设备速度的检测 g n d 图2 - 5u s bo t g 外接电阻连接示意 u s b 2 0 规范支持三种数据传输速度( 分别是i s m b p s 低速、1 2 m b p s 全速与4 8 0 m b p s 高速) 的设备【l 】,其中高速设备是以全速设备的方式接入总线,然后通过硬件信号协议再转 变为高速传输的工作方式。以全速设备为例,设备在d + 线的上游端口处安装一个阻值为1 5 k 欧的上拉电阻,集线器在每个下游端口处的d + 和d 线上各有一个阻值为1 5 k 欧的下拉电阻, 如图2 - 6 所示。对速度设备的检测是由集线器通过d + 和d 上的不同电平值完成的。当设 备插上后,集线器给设备的上游端口供电,如果d + 为高电平,d 为低电平,表示插上的为 全速设备,反之,则插上的为低速设备( 设备的电阻连接见图2 - 7 ) 。当没有设备连接时, 端口的d + 和d 均为低电平。 t 瓣e 习全渊器 u s b 传输器j 广鲤 4 5 欧输出i 主机或h u b p o 盯 上 h u bp o r t 0 或全速设备 图2 - 6 全速设备上游端口和集线器下游端口的电阻连接 u 黼s b 4 c 输m e 司低蔫瓣器 i 厂赳 4 5 欧输出f 主机或h u bp o r t 低速设备 图2 - 7 低速设备上游端口和集线器下游端口的电阻连接 7 东南大学硕士学位论文 2 3 3 对设备插拔的检测 u s b 系统支持设备的动态插拔,这是根据d + 和d 一线上的不同编码状态进行检测的。当 没有插入设备时,d + 和d 都是低电平( 称为s i n g l e - e n d e d0 状态) 。当有设备插入集线器下 游端口时,d + 线( 或者d 一线) 经过一个过渡时间( 2 5v s ) 变成高电平,设备拔下时d + 线( 或 者d 线) 又经过一个过渡时间而到达低电平,从而又进入s i n g l e - e n d e d0 状态,如图2 - 8 所 示( 以全速设备为例) 。 d + d v d d v s e - 一 v c r - 一 v v s s v d d v s e v c r - v s e v s s 一 实际拔 i一一一一一 t- 卜 弋 “ 卜 宅5 荔汴检测 = 2 5 插上检测 2 3 4 总线电压与电流 图2 - 8 全速设备的插拔检测 u s b 协议允许总线为设备提供高低两种电压消耗方式:高电压为4 7 5 5 2 5v ,用于给 打印机等设备提供电源;低电压为4 4 5 2 5v ,用于给鼠标等低功耗设备提供电源,当然 设备也可以自己提供电源。对于总线供电或者高电平设备,需要上游端口提供最大为5 0 0 m a 电流,而对于自供电设备或集线器而言,它们所需要提供的电流为1 0 0 m a 。由于u s bo t g 协议主要用于移动产品等要求低功耗的设备,像手机、m p 3 等自供电设备显然在数据传输 的时候不能提供如此大的电能输出,o t g 规范规定o t g 供电设备的最大提供电流为8 m a 。 2 4u s b0 t g 通信原理简介 u s bo t g 补充协议规定o t g 设备之间通信的数据格式也必须遵守u s b 2 0 协议,u s b 协议所说的通信指的是u s b 主机与设备( 包括u s b 集线器) 之间的通信,总线上的所有设 备通过一条共享的物理链路与主机通信,所以这条物理链路是分时复用的,用以实现每个设 备与主机之间的逻辑连接。 2 4 1 通信分层与u s b 设备结构 由于u s b 通信协议是计算机厂商在1 9 9 4 年开始设定的标准,所以u s b 通信协议也借 鉴了计算机网络的分层结构,他们将u s b 通信逻辑上分成三层:信号层、协议层和数据传 8 ,i, 第二章 输层。信号层用来实现u s b 设备与主机的物理连接之间传输的比特流信息:协议层用来实 现在u s b 设备和主机端的协议软件之间的传输包字节流的信息;而数据传输层用来实现在 u s b 设备功能接口与u s b 主机端的客户端驱动程序( u s bc l i e n td r i v e r ) 之间子类协议规 定的有一定意义的信息。协议规定,信号层传输的位信息流称为包( 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 的通信结构如图2 - 9 所示。其中,u s b 设备主要包括如下几个部分: 1 ) 总线接口 总线接口主要包括传送和接收数据信号,逻辑上还包括识别设备的当前唯一地址。 当总线上有数据包传输时,设备的总线接口判断并解析是否是发给该设备的包,若 是,则接收并向上层传送,否则丢弃该数据包。 2 1 端点 端点是u s b 设备用于传输数据的接收点和发送点,与设备端点相对应,主机端的 协议软件中的客户端驱动程序要求提供存储数据的缓冲区。同时,协议将端点传输 的逻辑通道规定为管道,分为流管道( s 打e a m p i p e ) 和消息管道( m e s s a g ep i p e ) , 流管道是单向的,消息管道是双向的。 3 ) 接口 接口又称功能接口,用来完成特定的功能,它是由一组端点构成的。u s b 主机端 为每个接口提供了客户端驱动程序,驱动程序和接口之间通过交互完成有特定意义 的数据传输。 效话传獭层 u s b 设备 = = 接口( i n t e r f a c e ) 协议层 一= u s b 主机 信号层 逻辑通信 卜物理通信 图2 - 9u s b 通信的逻辑结构 2 4 2u s b 传输的基本单元一包 包( p a c k e t ) 是u s b 系统中信息传输的基本单元,所有的数据都是封装成包的格式在 总线上传输的。如图2 1 0 所示,包由5 个部分组成,即同步字段( s y n c ) 、包标识字段( p i d ) 、 数据字段、循环冗余字段( c r c ) 字段和包结尾字段( e o p ) 。 9 东南大学硕士学位论文 同步字段p i d 字段数据c r c包结尾字段 ( s y n c )( p i d ) 字段字段 ( e o p ) 图2 1 0u s b 数据包结构 根据p i d 类型,u s b 规范支持四种不同类型的数据包:令牌包、数据包、握手包和专 用包,下面分别介绍。 1 ) 令牌包( t o k e np a c k e t ) 在u s b o t g 系统中,所有的事务处理都始于令牌包( 如图2 i i ) ,它是由u s b 主机唯 一的发送到总线上的。根据p i d 的不同,令牌包又分为4 种:起始令牌包( s o f ) 、输 入令牌包( ) 、输出令牌包( o u t ) 和用于控制传输的设置令牌包( s e t u p ) 。不同 的类型的令牌包,u s b 包中的数据字段的含义也不相同。对于s o f 令牌包,数据字段 为1 l 位序列号;而对于i n o u t s e t u p 令牌包,数据字段则有7 位设备地址和4 位端 点号组成。所有的令牌包( s o f 除外) 都采用c r c 5 对数据字段进行校验。 l 同步序列 p i d ( 7 位) 设各地址( 4 位) 端点c r c 5e o p ( 8 位)( 8 位) ( 5 位)( 2 3 位) ( 1 1 位) 序列帧号 图2 一l lu s b 令牌包结构 2 1 数据包( d a t ap a c k e t ) 数据包中封装有主机和设备之间传输的数据信息。为了保证主机和设备之间数据传输的 正确性和连贯性,数据传输中使用了同步切换( d a t a t o g g l e ) 技术,它与网络传输中的 滑动窗口协议类似,不过它的窗口大小为2 ,依靠包标识符d a t a o 和d a t a i 区分。如 图2 一1 2 所示。 同步序列 p i d 数据c r c l 6 e o p ( 8 位)( 8 位)( o 1 0 2 3 字节)( 1 6 位)( 2 3 位) 图2 1 2u s b 数据包结构 3 ) 握手包( h a n d s h a k ep a c k e t ) 握手包应用于事务处理的最后时相( p h a s e ) ,用来报告事务处理过程中接收方的状态, 同时握手包还可以起到流量控制( f l o w c o n t r 0 1 ) 和汇报设备停止工作( h a l t ) 的作用。 握手包有三种类型:a c k ( a c k n o w l e d g e ) 、n a k ( n o a c k n o w l e d g e ) 和s t a l l 。其中, a c k 表示数据的接收方正确的接收到了数据包,n a k 表示u s b 设备不能从u s b 主机 接收到数据或者暂时不能把数据传输给u s b 主机。显然,n a k 主要是用于流量控制的 目的,它与t c p i p 协议规定的n a k 包有着不同的含义。s t a l l 则表示u s b 设备出现 1 0 第二章 故障不能发送或接收数据,或者不支持主机的某个控制命令。 4 ) 前导包( p r e a m b l ep a c k e t ) 前导包用作区分全速和低速传输,它提醒u s b 集线器将要传输的下一个包是一个低速 包。当传输完一个低速包后,总线又回到了全速状态。 2 4 3u s b 事务处理和传输 在u s b 总线上数据信息的一次接收或发送的处理过程成为事务处理,主要有烈事务、 o u t 事务、s e t u p 事务、s o f ( s t a r to f f r a m e ) 和e o f ( e n do f f r a m e ) 等事务,事务处 理中数据传输的方向都是以u s b 主机为主体来描述的。下面就事务的主要类型逐一进行分 析。 1 1i n o u t 事务处理 事务表示u s b 主机从总线上的某个u s b 设备接收一个数据包的过程,它包括 令牌时相( 令牌包) 、数据时相( 数据包) 和握手时相( 握手包) 。o u t 事务与 事务类似,它表示u s b 主机向总线上的某个u s b 设备发送一个数据包的过程。这 里我们玳事务为例说明事务处理的过程。如图2 一1 3 ,表示一个正确的矾事务处 理过程。当数据包发送错误时,u s b 主机将不再给设备返回握手包,并且主机会 在一定时间内重新启动此次事务处理;如果设备没有准备好数据,设备会在数据时 相向u s b 主机返回一个n a k 握手包,提醒u s b 主机暂时不能发送数据;如果设 备出错,则会在数据时相发出一个s t a l l 的握手包通知u s b 主机设备出错。 输入令牌包数据包( u s b 设备发) 握手包 图2 1 3 一次无差错的输入事务处理 2 s e t u p 事务处理 s e t u p 事务仅在控制传输中使用,表示u s b 主机向某个u s b 设备发送控制命令。 它一般包括令牌时相( 令牌包) 、数据时相( 由主机发给设备的控制命令) 和握手 时相( 握手包) 三个部分,它的传输过程与o u t 事务类似。 u s b 数据传输由总线上的一个或多个事务处理组成,每个数据传输逻辑上处于一个管 道上。u s b 协议提供了种类不同的数据传输类型,包括控制传输,批量传输、中断传输和 实时传输。下面依次介绍: 1 1 控制传输 控制传输主要有两方面的作用:第一,设备在正常工作前,u s b 主机首先必须对 u s b 设备进行枚举,识别设备的特性;第二,在设备的工作过程中,主机希望能 及时的获取设备的状态,或者改变设各的配置等。这两个方面的作用对所有的u s b 设备都是适用的,所以所有的u s b 设各都支持控制传输,并且一般规定设备的端 点0 为控制端点( t g 称为默认端点) 。控制传输一般包括2 或3 个事务处理阶段 ( s t a g e ) ,即s e t u p 阶段,可选的数据阶段和状态阶段,其中数据阶段又可以包 含一笔或多笔事务处理过程。s e t u p 阶段是由一个s e t u p 事务组成的,其中数据 包中存放的是8 个字节的d a t a 0 命令数据包,如图2 1 4 所示。 东南大学硕士学位论文 令牌 握手 国 主机设备 空闲 图2 1 4 控制传输的设置事务处理( 设置阶段) 空闲 控制传输的数据阶段要求所有的事务处理( i n o u t ) 必须有相同的方向,数 据传输的数量和方向是由s e t u p 阶段的命令决定的。图2 1 5 为控制输出的数据阶 段。 令牌包数据包握手包 l厂= il 竺竺_ r 巨习一 固一 图2 1 5 控制输出的数据阶段 闲置 闲置 闲置 闲置 主机在完成数据阶段( 以控制输出为例) 后,就进入控制传输的状态阶段:首 先,主机发出一个输入令牌包,设备接到令牌包后,在数据时相返回一个长度为0 的数据包,主机接到后回送一个a c k 的握手包,如果设备正在忙,则返回n a k 包,如果出错,则返回s t a l l 包,如图2 1 6 所示。 1 2 第二章 令牌包数据包 握手包 图2 1 6 控制输出的状态阶段 闲置 闲置 闲置 闲置 2 ) 批量传输 批量传输用于支持大量并且不要求确定时间内的数据通信,使用这种传输类型的设 备有打印机、扫描仪、硬盘等。批量传输以错误检测和重传的方式保证主机和u s b 设备之间的数据被无差错的发送。批量传输是以i n o u t 事务处理为基础的,并且 每次传输中,数据传输的方向必须一样( 一次传输过程不能同时包含矾和o u t 事务) ,如图2 ,1 7 。 国主机 设备 图2 - 1 7 批量传输的事务处理过程 l e 3 ) 中断传输 中断传输支持只发送或接收少量数据的传输,并且有一个确定的传输周期但是并不 经常进行数据传输,例如鼠标、键盘等u s b 设备。中断传输也是由i n o u t 事务 东南大学硕士学位论文 处理组成的,但是它在总线传输过程中占有已经分配好的固定的带宽。 4 1 实时传输 为了支持某些对时间要求很高、数据量很大的数据通信,u s b 协议提供了实时传 输类型。由于实时性的要求,实时传输没有提供重传机制,即实时传输的事务没有 状态阶段。 2 4 4 会话请求协议( s r p ) 会话请求协议( s e s s i o nr e q u e s tp r o t o c o l ,简称s l c p ) 用于b 设备向a 设备请求建立会 话和使用总线。0 t g 规范对u s b 协议最大的扩展就是让双重角色的u s b 外设具有有限的主 控设备能力。能够提供动态的能源管理以及自动转换主控设备或者外围设备功能,这是通 过s r p 和h n p 实现的。在一个标准的u s b 系统中,主控设备在设备连接的整个过程中无论总 线是否空闲。始终向u s b 总线提供标准的5 v 1 0 0 m a 能量,这样的要求对于能源有限的便携 式设备比如手机来说就很苛刻。为了能够节省能源,u s b 为0 t g 主控设备( a 设备) 提供了一 种方法以便在u s b 总线上没有数据传输时暂时关掉v b u s 以节省能量,并且a 设备能在外围设 备( b 设备) 发出请求后重新提供v b u s 并重新启动一个新的数据传输任务。作为u s b 外设的b 设备可以在前一个任务完成2 m s 之后的任何时刻启动s r p 。b 设备这样做可以提供“资料线 暂停( d a t a - l i n ep u l s i n g ) ”和“v b u s 暂停( v b u sp u l s i n g ) ”,a 设备一直在总线上检测“数 据线暂停”和“v b u s 暂停”,并在它认为适当的时候通过启动v b u s 来开始下一个任务。这 个任务一直进行到a 设备认为在总线上没有传输的需要的时候,这时a 设备就结束了这个任 务。 2 4 5 主机协商协议( h n p ) 主机协商协议

温馨提示

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

评论

0/150

提交评论