(控制理论与控制工程专业论文)基于usb主机的usbrs232接口转换器的设计与实现.pdf_第1页
(控制理论与控制工程专业论文)基于usb主机的usbrs232接口转换器的设计与实现.pdf_第2页
(控制理论与控制工程专业论文)基于usb主机的usbrs232接口转换器的设计与实现.pdf_第3页
(控制理论与控制工程专业论文)基于usb主机的usbrs232接口转换器的设计与实现.pdf_第4页
(控制理论与控制工程专业论文)基于usb主机的usbrs232接口转换器的设计与实现.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(控制理论与控制工程专业论文)基于usb主机的usbrs232接口转换器的设计与实现.pdf.pdf 免费下载

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

文档简介

硕士论文 基于u s b 主机的u s b r s 2 3 2 接口转换器的设计与实现 摘要 通用串行总线( u n i v e r s a ls e r i a lb u s ,简称u s b ) 从诞生至今已经十多年了。这 十多年问,u s b 在不断完善,并走向成熟。其成本低、速度快、通用性强、可 热拔插等诸多优点,得到了诸多厂商的认可。随着u s b 应用领域的扩大,如何 将u s b 应用在工业领域,实现u s b 到标准工业接口( 如r s 2 3 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 设备和r s 2 3 2 设备通过本 系统能够通信;同时本系统也能够实现u s b 设备功能,将r s 2 3 2 接口设备能够 映射成为u s b 接口设备。 本文以s s t 公司的8 位处理器8 9 e 5 8 r d a 为核心处理器,沁恒电子有限公 司的c h 3 7 5 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 e ) 类规范进行 了仔细的分析,建立了u s b 与m a s ss t o r a g e 类设备之间的逻辑通信模型;实现 了u s b 接口到r s 2 3 2 接口的双向数据通信。硬件上完成了各模块的原理图和 p c b 设计;在软件上,完成了系统核心驱动程序、u s b 主机的通信驱动程序以 及设备驱动的设计。并且按照论文中的设计方法制作出了实验板。多次实验证明, 本系统运行稳定,能够实现预期目标。 本系统硬件设计方案具有成本低、功耗小、u 盘识别率高等特点。 关键词:u s b 主机,m a s ss t o r a g e 类,s s t 8 9 e 5 8 r d a ,c h 3 7 5 b ,r s 2 3 2 a b s t r a c t 硕士论文 a b s t r a c t u n i v e r s a ls e r i a lb u s ( u n i v e r s a ls e r i a lb u s ,a su s b ) f r o mb i r t hh a sb e e n10y e a r s i t sl o wc o s t ,h i g hs p e e d ,h i g hu n i v e r s a l i t y , h o t p l u g g a b l e ,a n dm a n yo t h e ra d v a n t a g e s , h a v e b e e na p p r o v e db ym a n ym a n u f a c t u r e r s w i t ht h ee x p a n s i o no fu s b a p p l i c a t i o n s , h o wt ou s eu s bi nt h ei n d u s t r i a lf i e l d ,a n dt h ec o m m u n i c a t i o n sb e t w e e nu s b i n t e r f a c et os t a n d a r di n d u s t r yi n t e r f a c e ( s u c ha sr s 2 3 2 ) ,i t san e ws t u d y u s bs y s t e m , i n c l u d i n gu s bh o s t ,u s bd e v i c e sa n du s bc o n n e c t i o n ,a n du s b h o s ti st h ec o r e i n o r d e rt oa c h i e v et h ec o m m u n i c a t i o n sb e t w e e nu s bi n t e r f a c ea n ds t a n d a r di n d u s t r y i n t e r f a c e , t h em o s ti m p o r t a n ti st h eu s b h o s t t h e r e f o r eu s bh o s ti st h ek e yi nt h i s p a p e r s t h ep u r p o s eo ft h i sp a p e ri st or e a l i z eu s bh o s tf u n c t i o n s ,a l l o w i n gu s bd e v i c e s a n dr s 2 3 2d e v i c e sc a nc o m m u n i c a t et h r o u g ht h i ss y s t e m a tt h es a l n et i m e ,t h i s s y s t e mc a n r e a l i z eu s bd e v i c ef u n c t i o n s t h ec o r ep r o c e s s o ri ss s t 8 9 e 58 r d a , a n dt h eu s bm a s t e r s l a v ec o n t r o lc h i pi s c h 3 7 5 bw h i c hw a sp r o d u c e db yq i n h e n ge l e c t r o n i c sc o ,l t d t h e yc o n s t r u c tt h e a c t i v e p a s s i v eu s b c o m m u n i c a t i o ns y s t e m ic a r e f u l l ys t u d i e dt h es y s t e mo fu s b ,t h e u s bp r o t o c o l ,t h ed a t ac o m m u n i c a t i o n sm o d e l ,t h ep a c k e tf o r m a t ,u s bs t a n d a r d d e s c r i p t o r s ,e t c e s p e c i a l l ya n a l y z e u s bm a s s - s t o r a g e c l a s s ,a n d t h e l o g i c c o m m u n i c a t i o nm o d e lb e t w e e nu s bm a s ss t o r a g ed e v i c e s a c h i e v et h et w o w a yd a t a c o m m u n i c a t i o n sb e t w e e nu s bt or s 2 3 2d e v i c e s i nh a r d w a r e ,t h ed e s i g no f s c h e m a t i ca n dp c bh a sb e e nc o m p l e t e d i ns o f t w a r e ,c o m p l e t et h ec o r ed r i v e r so ft h e s y s t e m ,u s bh o s to fc o m m u n i c a t i o nd r i v e r sa n du s e rs o f t w a r e a c c o r d i n gt ot h e d e s i g n ,im a k e as a m p l e e x p e r i m e n t sp r o v et h a tt h es y s t e mi ss t a b i l i t y t h es y s t e mi sl o w - c o s t ,s m a l lp o w e rc o n s u m p t i o n ,a n df l a s hs t o r a g er e c o g n i t i o n r a t ew a sh i g h k e yw o r d s :u s bh o s f f s l a v e ,m a s ss t o r a g e ,s s t 8 9 e 5 8 r d a ,c h 3 7 5 b ,r s 2 3 2 声明尸明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注矛暾谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名:j 焕矽砖年7 胄1 日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的全部或部分内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的全部或部分内容。对 于保密论文,按保密的有关规定和程序处理。 研完生签名:当氐杰,7 声分年7 月日 硕士论文 基于u s b 主机的u s b r s 2 3 2 接口转换器的设计与实现 1 绪论 1 1 课题背景及意义 u s b ( 通用串行总线) 自问世到协议规范2 0 版本,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 产品, 如u 盘、u s b 摄像头等,都是u s b 设备;绝大多数u s b 主机功能都集成在各种类型 的p c 机上,比如台式机,笔记本电脑,服务器等。 随着u s b 应用领域的逐渐扩大,人们对于u s b 的期望也越来越高,希望u s b 能 应用在各种计算机领域中,尤其是在工业场合中工业接口和u s b 接口数据通信的实现。 常用的工业接口,如r s 2 3 2 ,这些接口都是上个世纪七、八十年代设计的。随着u s b 设备的普及,如何方便的实现r s 2 3 2 接口到u s b 接口的转换,实现u s b 到r s 2 3 2 的 双向数据通信,就成为当前急需解决的问题。 要解决上述问题,首先就需要解决u s b 主机,因为u s b 主机是u s b 系统的核心。 在工业场合中,考虑到易用性和成本因素,不可能为每个r s 2 3 2 接口配置一台电脑实 现r s 2 3 2 到u s b 的转换。这种情况下,u s b 只能应用在没有p c 的领域中,这也正是 目前u s b 的一个弱点。解决这一根本问题的办法就是在嵌入式系统中集成u s b 主机功 能,使之能够和u s b 设备通信;同时系统还要有r s 2 3 2 模块,使系统成为连接u s b 和 r s 2 3 2 的桥梁。 1 2u s b 技术的产生和发展 当今p c 上使用的绝大多数设备都是基于接口实现的。在u s b 出现之前,p c 上的接 口基本上是2 0 世纪七、八十年代设计的。随着计算机技术的迅猛发展,这些接口已经不 能满足p c 与外设之间不断提高的传输速度、稳定型和易用性。这一现象,已经大大限 制了计算机技术的发展,成为计算机功能扩展的桎梏。 为了解决旧接口的缺陷,1 9 9 4 年,i n t e l ,c o m p a q 等七家软硬件全球知名企业为了 突破当时p c 使用串口和并口传输速度的限制,成立了通用串行总线开发者论坛( u s b i m p l e m e n t e r sf o r u m ,u s bi f ) ,并在1 9 9 4 年1 1 月提出了u s b0 7 版,到了1 9 9 8 年开始 出现了支持u s b1 1 的设备,他的高速性( u s b l 1 支持1 5m b s 和1 2m b s 两种速度) 。 1 绪论 硕士论文 和易用性迅速使之成为p c 外设的宠儿u 1 。为了对抗1 3 9 4 速度的优势( 1 3 9 4 可以达到 4 0 0m b s ) ,1 9 9 9 年提出了u s b2 0 规范的思想,2 0 0 0 年4 月u s bi f 推出u s b2 0 。 u s b2 0 向下兼容1 1 ,提供3 种速度,最高可以达到4 8 0m b s 。为了增强u s b 的可 移动性,又于2 0 0 1 年1 2 月发布了u s bo n - t h e g o1 0 版本协议作为u s b 2 0 协议的补 充u s bo t g 协议基本符合u s b 2 0 的规范,所不同的是u s bp t g 完全抛开了p c ,既 可以作为h o s t ,也可以作为s l a v e ,而与另一个o t g 设备直接实现点对点通信t 2 - 4 1 。 目前无线u s b ( w u s b ) i 0 版本已经发布这个技术以多频段o f d m ( j e 交频分复用) 技术为基础,融合了w i m e d i a 联盟确定的通用超宽带无线电平台技术。目前这项技术 还处于早期的定义阶段,并不完善。但是其速度非常惊人,其标准速度可以达到 2 0 0 0 m b p s ,是目前u s b 2 0 极限速度的近5 倍。 1 3u s b 的特点和优点 u s b 技术能够得到众多厂家的支持和青睐,是和其本身的优点【5 】分不开的。 1 、即插即用( p 1 1 p ) 。u s b 支持热拔插和操作系统自动配置。 2 、低功耗。u s b 有一套独特的电气机制来保证其低功耗。此外u s b 总线如果连续3 m s 没有活动u s b 就会进入自动挂起状态,处于挂起状态的设备消耗的电流不超过5 0 0 以。 3 、多种速度模式可供选择。u s b 提供了3 种速度模式。低速为1 5 m b p s ,全速为1 2 m b p s , 高速为4 8 0 m b p s 。满足了不同速度的外设需求。 4 、硬件结构简单而且标准化。u s b 协议定义了2 种插头:a 型和b 型。不论a 型还是 b 型,其引线只有4 根:2 根数据线,一根电源线,一根地线。 5 、总线拓扑结构完备。u s b 星型总线结构最多可支持1 2 7 个设备。 6 、支持的设备种类多。u s b 支持多达8 个设备类。 1 4 国内外的研究现状 u s b 主机的应用在国内外均处于积极研究和发展的阶段。现今已有为数不少的半 导体公司提供主动接口芯片,如c y p r e s s 、p h i l i p s 、t i 、n s 等,市场上也逐步出现具有 部分功能的嵌入式主机产品。将主动接口应用于消费类产品,如数码相机直接连接打印 机国外己经有所发展。大多数厂家和论坛所能提供的产品或例程多数是基于嵌入式操作 系统的,给出的器件类也不尽完善。在国内,主动接口的研究仍然处于起步阶段,仅有 很少量嵌入式主机的产品问世。目前已经有人研究了用s l 8 1 1 h s 和i s p l l 6 1 实现的系 统,但是他们的研究都存在着识别率不高和系统不稳定的情况。 对于从动接口的开发,国内外的研究起步都很早,现在技术发展的也比较成熟。在 工业数据传输场合,有的采用带u s b 接口的单片机进行开发,还有的采用微处理器外 2 硕士论文基于u s b 主机的u s b r s 2 3 2 接口转换器的设计与实现 加u s b 接口芯片的方法。带u s b 接口的单片机从应用上又可以分成两类,一类是专用 于控制的单片机,比如c y p r e s s 公司的低、全速系列产品,但由于价格、开发工具以及 单片机性能有限等问题,所以一般不选用。另一种增加了u s b 接口的普通单片机,例 如i n t e l 公司的8 x 9 31 等,选择这类u s b 控制器的好处在于开发者对系统结构和指令 集非常熟悉,开发工具简单,但对于简单系统,价格高是最大的障碍。总体来说,后者 的价格是前者价格的近1 0 倍1 6 j 。 1 5 论文的主要研究内容 本课题主要完成的是u s b 主机的设计,实现u s b 主机和设备功能;其次是设计串 口模块,实现u s b 到r s 2 3 2 的双向数据通信。 预期实现目标:1 、具有独立的u s b 主机功能,实现u s b 和r s 2 3 2 之间的数据通 信。包括构建u s b 协议,实现m a s ss t o r a g e 类协议及子命令,构成u s bh o s t 。从而完 成u 盘状态检测,读、写和删除文件等简单的文件操作。2 、具有u s b 设备功能,即 有其他u s b 主机( 如p c ) 参与下的r s 2 3 2 到u s b 的接口转换,实现u s b 和r s 2 3 2 之间的数据通信。 论文主要结构: 第一章介绍本课题的背景、意义,以及u s b 接口的国内外研究状况和预期目标。 第二章主要介绍了与本课题相关的协议的内容。主要介绍了u s b 通信模型、传输类型 以及m a s ss t o r a g e 类相关的内容。 第三章分析了系统的需要,介绍了系统的总体设计方案。 第四章介绍了系统硬件电路设计。 第五章介绍了系统的软件设计。 第六章是本文的结论和展望。 2 协议概述 硕士论文 2 协议概述 u s b 是一种串行总线,它通过查询方式识别挂在总线上的设备。u s b 总线上只有 一个主机,每一次数据传输都是由主机发起的,并且在总线上的各种外设共享u s b 总 线带宽。u s b 协议是一个非常庞大而复杂的协议集,已经有很多的专业书籍介绍。下 面就本课题涉及的相关方面做简要介绍。 2 1u s b 体系构架 2 1 1u s b 系统硬件结构 u s b 系统模型的组成是以u s b 主机为核心,以外围的u s b 设备为功能。在u s b 系统中还有一个重要的部件u s b 集线器( 刖b ) ,它提供了u s b 的连接端口。综合来 说u s b 是由u s b 主机、u s bh u b 、和u s b 设备3 部分组成的星形拓扑结构。在星形 拓扑结构中,最顶端是u s b 主机,每个网络集线器是星形的中心,设备和设备必须通 过h u b 相连。如图2 1 所示,这种星形拓扑结构最多可达5 层( 不包括根h u b ) 7 1 。 图2 1u s b 系统模型拓扑图 2 1 2u s b 系统软件构成 u s b 系统的软件主要包括客户软件和u s b 系统软件【引。 1 、客户软件 4 第一层 第二层 第三层 第四层 第五层 第六层 硕士论文基于u s b 主机的u s b - r s 2 3 2 接口转换器的设计与实现 u s b 客户软件负责和u s b 设备的功能单元进行通信,实现其特定功能。客户软件 不能直接访问u s b 设备,其与功能单元间的通信必须经过u s b 系统软件和u s b 总线 接口( 硬件) 才能实现,一般包括u s b 设备驱动程序和界面应用程序两部分。 ( 1 ) u s b 设备驱动程序 u s b 设备驱动程序负责和系统软件进行接口。通常,它向u s b 总线驱动程序发出 i o 请求包( i i 冲) 以启动一次u s b 数据传输,这次传输可以是接受数据也可以是发送数 据。此外,根据数据传输的方向,它还应该提供一个或空或满的内存缓冲区以存储这些 数据。 ( 2 ) 界面应用程序 界面应用程序负责和u s b 设备驱动程序进行接口,以操作u s b 设备,并向用户提 供可视化的软件。他是最上层的软件,只能看到向u s b 设备发送的原始数据和从u s b 设备接受的最终数据。 2 、u s b 系统软件 u s b 系统软件负责和u s b 逻辑设备进行配置通信,并管理客户软件启动和数据传 输。他一般包括u s b 总线驱动程序和u s b 主控器驱动程序两部分。在u s b l 1 时代, 这些一般由操作系统提供,在本课题中,这些都需要自己动手编写。 ( 1 ) u s b 总线驱动程序m s b d ) 在u s b 设备使用之前,必须对其进行初始化操作,如为其分配所需资源、设置其 u s b 参数等。在该过程中,u s b 总线驱动程序会检测u s b 设备的特性,并建立与其的 通信管道。另外u s b 总线驱动程序理解u s b 通信机制,并知道如何和u s b 设备进行 数据传输。当u s b d 接受到u s b 设备驱动程序发来的i r p s 时,会把这些i o 请求中的 数据重新进行组织,是他们具有s u b 特定格式事务处理。如图2 2 所示。 图2 2 i r p 中的事务处理 ( 2 ) u s b 主控器驱动程序( h c d ) u s b 主控器的存在,使得客户软件在进行数据传输时不必知道u s b 主控器硬件的 具体实现细节。h c d 负责把u s b 总线驱动程序建立的事务处理安排在u s b 总线上, 方法是建立一系列的事务处理列表。事务处理列表以帧或小帧为单位,其中包括一个或 多个事务处理,它们可以和一个或多个u s b 设备进行通信。 2 协议概述硕士论文 2 2u s b 的机械和电气特性 2 2 1u s b 的接口 u s b 2 0 以前的接插件主要分为2 种:a 型和b 型。a 型插座总是作为u s b 主机或 者集线器的下行端口。所以a 型插头总是指向上行u s b 主机。b 型插座总是作为u s b 设备和集线器的上行端口,所以b 型插头总是指向下行u s b 设备或者集线器。 u s b 电缆使用的是4 线结构,电源线为v b u s 和g n d ,d + 和d 是2 根差模信号线, 如图2 3 所示。此外,在全速模式下( 1 2 m b p s ) 电缆最长为5 m ,并且要使用带屏蔽和双 绞的电缆线;在低速模式下( 1 5 m b p s ) 电缆最长为3 m ,不需要带双绞和屏蔽。 v b 懈 d + d g n d 图2 3u s b 电缆模型图 2 2 2u s b 的电气特性 1 、u s b 的供电模式 不论u s b 设备还是u s bh u b 都只能采取2 种供电模式:自供电( s e l f - p o w e r e d ) 和总线供电( b u s p o w e r e d ) 。自供电指该u s b 设备或者h u b 在工作的时候由自带的电源 模块供电。因此该设备工作时,其功率不会受u s b 协议的限制,但是增加了体积和成 本。总线供电指该设备或者h u b 在工作时从u s b 总线的v b u s 引脚获取所需要的电流。 这样做,其设备会更加小巧和方便;但是因为u s b 协议规定了总线的供电能力,所以 此模式只适合于耗电量较小的设备。一般来说,h u b 可以通过v b u s 获得最高5 0 0 m a 的 电流,为下行端口最高提供1 0 0 m a 的电流;低功率设备最高只能从上线端口获得1 0 0 m a 的电流;大功率设备最高只能从上线端口获得5 0 0 m a 的电流。 2 、即插即用 即插即用技术包含2 个方面:热拔插和自动识别。热拔插的关键技术再于接插件接 和插的时候的强电流的处理,u s b 的电缆及接插件已经充分考虑了这点,使得u s b 实 现了热拔插。 系统的自动识别就是即插即用的另一项关键技术。在没有人干预的情况下,系统能 够自动检测到设备的接入并能自动配置该设备,也能自动检测到设备的拔出并且释放资 源。u s b 是通过在信号线上的特殊处理来实现的。在u s b 的4 线电缆中d + 和d 是一 6 硕士论文 基于u s b 主机的u s b r s 2 3 2 接口转换器的设计与实现 对差模信号线,线上使用的是+ 3 3 v 电平,而v b u s 使用的是+ 5 v 电平。图2 3 是u s b 主机 和设备的电气连接图【9 j 。 1 5 x 1 5 k 图2 3u s b 主机和设备的电气连接图 如图2 2 2 所示,在低速和全速设备的识别上是采用在d + 或d 上增加上拉电阻的 方法来识别的。其电阻的安排情况如下: 。 ( 1 ) 低速u s b 设备的d 线上连接有1 5 k q ( 1 士5 ) 的电阻,并接到+ 3 o v + 3 6 v ( v e t ) 的电压。 ( 2 ) 全速u s b 设备的d + 线上连接有1 5 艘( 1 士5 ) 的电阻,并接到+ 3 o v + 3 6 v ( v c c ) 的电压。 ( 3 ) 主机的下行端口的d + 和d 线上都连接有1 5 k 1 2 ( 1 4 - 5 ) 的电阻,并且接地。 当主机的下行端口上没有u s b 设备连接时,其d + 和d 一线上的下拉电阻使得这两 条信号线的电压都是接近为地( o v ) 的;当低速或全速设备连接上以后,设备端的d 或d + 线上会出现大小为( 1 5 ( 1 5 + 1 5 ) v e e ) 的电压,而主机端d + 和d 线上仍保持近地电 压( 0 v ) 。如果这种状态保持2 5 1 x s 以上,u s b 就会认为低速或者全速设备已经连接。 另外,高速设备在连接起始时需要以全速速率与主机通信,以完成其配置操作,此 时的设备电缆和电阻的连接方式和图2 2 2 中的全速方式基本一样,只是在设备端d + 和电阻之间有一个软件控制的开关。当设备需要以全速速率运行时,软开关闭合,这样 就符合了全速的连接要求;当需要以高速速率运行时,在全速连接状态的基础上,断开 开关就可以了。通常这个开关都被集成在u s b 设备接口芯片的内部。 2 3u s b 数据通信结构 7 2 协议概述硕士论文 数据通信内容是u s b 协议中最复杂的部分,本节将详细研究这部分内容。u s b 是 以差模串行信号为载体传送二进制代码来传输信号的,而u s b 的事务处理是主机和 u s b 设备之间数据传输的基本单位,由一系列具有特定格式的信息包组成。根据信息 包的种类,可以将一个事务处理分为三个阶段:令牌阶段、数据阶段和握手阶段,如图 2 4 所示。各个阶段功能如下: 1 、令牌阶段:表示事务处理的开始,并定义传输类型。 2 、数据阶段:负责传输相关的数据,长度最大为1 0 2 4 字节。 3 、握手阶段:用于报告事务处理的状态,以表明数据接收是否成功。 并不是所有的事务处理都必须有这三个阶段,在某些具体情况下( 如数据传输失 败) ,事务处理也可能不包含数据包和握手包,但无论如何,所有的事务处理都必须以 令牌包开始。 主机主机设备设各主机 令牌阶段数据阶段握手阶段 图2 4 事务处理的三个阶段 2 3 1 字段的格式 信息包是u s b 总线上数据传输的最小单位,包含了进行u s b 通信所需的全部信息。 它由一系列字段组成:同步字段、包标识字段、地址字段、端点字段、帧号字段、数据 字段和循环冗余检验( c r c ) 字段。数据在u s b 总线上世纪传输时,首先是数据的最 低有效位( l s b ) ,最后是最高有效位( m s b ) 。 1 、同步字段 同步字段( 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 ) 也称同步序列 域。在u s b 系统中,主机和设备不是共享一个时钟的,所有的信息包都必须以一个同 步字符开始以保证主机和设备的同步。 对于低速全速传输,同步字段长度为8 位,数据原型为7 个连续的“o ”和1 个“1 ”, 经n r z i 编码后,以“k j i c i k k k ”的形式出现在总线上。高速传输同步字段的长度为3 2 位,数据原型为3 1 个连续的“0 ”和1 个“l ”,经n r z i 编码后,以 “k j k 瓜j k j k j k j k k ( 1 5 个对个2 个k k ) 的形式出现在总 线上。u s b 集线器中继某个信息包时,最多可丢失同步字段的前4 位,且不能破坏同 步字段中的其他数据位。也就是说同步字段在经过5 个集线器的中继后,可能只剩下 1 2 位。 硕士论文基于u s b 主机的u s b - r s 2 3 2 接1 2 1 转换器的设计与实现 2 、包标识字段包标识字段( p a c k e ti d e n t i f i e rf i e l d 简写为p i d ) ,也称为包标识 域。在u s b 信息包中,包标识字段紧跟在同步字段之后,并指明该信息包的类型、格 式和所采用的差错控制机制。它由4 位类型字段和4 位校验字段组成。其中校验字段是 类型字段的二进制补码,用于保证p i d 字段译码的可靠性,使信息包的其余部分都能被 正确接收。按p i d 字段的功能可分为4 类:令牌( 1 0 b ) 、数据( 1 l b ) 、握手( 0 1 b ) 、和 专用( 0 0 b ) ,并有其字段的前2 位( p d ) 来指明。 主机和u s b 设备都要对接收到的p i e ) 字段进行正确的译码。如果校验字段有错误 或者得到为定义的值,则认为该p i d 字段己被破坏,且应忽略信息包的其余部分。如果 u s b 设备接收到一个其不支持的p i d 字段,则不予应答,例如i n 端点会忽略所有的 o u t 令牌。 3 、地址字段地址字段( a d d r e s sf i e l d 简写为a d d r ) ,也称地址域。地址字段用 于指定u s b 系统中的一个u s b 设备,具有唯一性,并且由主机分配地址。其格式包含 6 个数据位,最多可指定1 2 8 个设备,其中地址0 只能用作缺省地址,不能分配给u s b 设备。至于u s b 设备是数据的发送方还是接收方则取决于p i d 字段的值。 在i n 、o u t 、s e t u p 、s p l i t 和p i n g 令牌包中都必须含有该地址字段,以指明 与其通信的u s b 设备。如果指定的设备不存在,则该令牌包将被忽略。在u s b 设备上 电和复位时,其将使用缺省地址0 来与主机通信。每个设备会由主机给其分配一个唯一 的设备地址。 4 、端点字符端点字符( e n d p o i n tf i e l d 简写为e n d p ) ,也称为端点域。其用于 指定u s b 设备中的一个端点。高速全速设备最多可含有1 6 个端点,低速设备最多只 能含有3 个端点。所有的u s b 设备都必须含有一个0 号控制端点,一完成与主机间的 配置通信,除了0 号端点外,其余的端点都是具体u s b 设备所特有的。 在i n 、o u t 、s e t u p 、s p l i t 和p i n g 令牌包中都必须是以该端点字段,以指明 与其进行数据传输的u s b 设备端点。如果指定的端点不存在,则该令牌包被忽略;另 外,在端点初始化之前就访问该段的令牌包也将被忽略。 5 、帧号字段帧号字段( f r a m ef i e l d 简写为f r a m ) ,也称为帧号域。u s b 协议 中,1 帧就是l m s 。在u s b 总线上1 帧是一个独立的单元,包含了一系列总线动作。帧 字段用于指出当前的帧号,每一个帧都有特定的帧号,它仅在每帧d , 帧开始的s o f 令 牌包中被发送。它的长度为1 1 位,每传1 帧,主机就将其内容加1 ,当达到最大值7 f f h 时归零。 毪6 、数据字段数据字段( d a t af i e l d 简写为d a t a ) ,也称为数据域。数据字段包 含主机和u s b 设备间需要传输的数据,其以字节为单位,最大长度为1 0 2 4 字节。在不 同的传输类型中,数据字段的长度各不相同,但是必须为整数个字节,每个字节都是最 9 2 协议概述硕士论文 低有效位( l s b ) 被传输。 7 、循环冗余检验字段循环冗余检验字段( c y c l i cr e d u n d a n c yc h e c k s 简写为 c r c ) ,也称为循环冗余检验域。为保证数据传输的可靠性,u s b 在令牌包和数据包中 都使用了循环冗余检验,它可以百分之百识别出信息包中的一位或者两位错误。c r c 检 验失败标识在被保护的信息包中至少有一个字段出错,这时接收方将忽略该字段,但是 在大多数情况下是忽略整个信息包。 c r c 是在发送方进行填充位之前产生的,这要求接收方必须去掉填充位之后,再 对c r c 字段进行译码。另外,信息包中的p i d 本身就已经含有检验字段,所以不要对 其进行c r c 保护。循环冗余检验对于令牌包和数据包的校验是不一样的。对于令牌包 u s b 采用5 位的c r c 校验法,简写为c r c 5 ;而对于数据包,则采用1 6 为的c r c 校 验法,简写为c r c l 6 。 2 3 2 信息包的格式 信息包( p a c k e t ) 是u s b 总线上数据传输的最小单位。根据信息包所实现的功能, 其分为3 种类型:令牌包、数据包和握手包【l o 】。令牌包定义了数据传输的类型,数据包 中含有需要传输的数据,握手包指明了数据接收是否成功。信息包类型不同其所包含的 字段也不同,但是第一个字段都是同步字段,且它们在u s b 总线上传输的时候,都是 以s o p 信号( 包含在同步字段中) 开始、以e o p 的信号结束。 1 、令牌包 在u s b 系统中,只有主机才能发出令牌包。令牌包定义了数据传输的类型,它是 事务处理的第一个阶段。u s b 中包含7 种令牌包:i n 、o u t 、s e t u p 、s o f 、p r e 、s p l i t 和p i n g ,其中p r e 、s p l i t 和p i n g 术语专用令牌。 ( 1 ) i n 、o u t 、s e t u p 、和p i n g 令牌包 i n 、o u t 、s e t u p 、和p i n g 令牌包具有相同的格式,都以p i d 字段开始,而且都 包含a d d r 字段和e d n p 字段,并以c r c 5 字段结束。其中c r c 字段仅对a d d r 字 段和e d n p 字段进行循环冗余检验。 i n 令牌包的p i d 定义了u s b 设备至j 主机的数据传输,其a d d r 字段和e d n p 字 段指明了唯一要发送数据的端点。o u t 和s e t u p 令牌包的p i d 定义了主机到设备的数 据传输,其a d d r 字段和e d n p 字段指明了唯一要接收数据的端点。p i n g 令牌包的 p i d 定义了从u s b 设备到主机握手信号的传输,其a d d r 字段和e d n p 字段指明唯一 要发送握手包的端点。这几个令牌包的长度都是3 字节,如果它们没有在3 字节以后以 e o p 信号包终止,则接收方会认为该包无效,并忽略该包。 ( 2 ) s o f 令牌包 s o f 令牌包以p i d 字段、帧号字段和c r c 5 字段组成,长度为3 字节。其中c r c 1 0 硕士论文 基于u s b 主机的u s b r s 2 3 2 接口转换器的设计与实现 字段仅对1 1 位的帧号字段进行循环冗余检验。主机以1 0 0 m s _ - l 0 0 0 0 5 m s ( 全速) 或者 1 2 5 _ t s - a :0 0 6 2 5 岬( 高速) 的稳定时间间隔发出s o f 令牌包,用来标识帧4 , 帧的开始, 它不需要接收方作出任何应答。 ( 3 ) s p l i t 令牌包 s p l i t 令牌包仅用于主机和高速集线器间的通信,且高速集线器下行端口上连接有 低速全速u s b 设备。他使得主机可以在高速事务中开始一个低速| 全速事务,而且不必 等待这些低速全速传输结束就可以继续处理其他高速事务。即s p l i t 事务能把低速全 速传输从高速传输中分离出来。他定义了两个令牌包:s s p l i t 和c s p l i t ,长度都是4 字节。 s s p l i t 令牌包用于主机启动一个s p l i t 事务处理,c s 令牌包用于主机结束一个 s p l i t 事务处理。他们的格式从l s b 到m s b 包括8 位的p i d 字段、7 位的h u b a d d r 、 1 位的s c 、1 位的p o r t 、1 位的s 和1 位的e ( c s p l i t 中该“e ”位变为u ”) 、2 位的e t 和5 位c r c 字段。h u ba d d r 指明需进行低速全速传输的高速集线器的设备地址。s c 用来表明s p l i t 令牌包是开始还是结束,对于开始s p l i t 令牌包( s s p l i t ) ,该字段必 须置“0 ”;对于结束s p l i t 令牌包( c s p l i t ) ,该字段必须置“1 ”。p o r t 指明低速广全速设 备连接在高速集线器上的端口号,最多可指定1 2 8 个端口号。s 代表传输速率,其值为 “o ”标识全速传输,为“1 ”标识低速传输,根据s 的不同e 也有相应的值,这里不再复述。 e t 字段指明了低速全速事务所对应端点的类型,它告诉集线器应使用那种s p l i t 事务 状态机制。 ( 4 ) p r e 令牌包 在低速和全速传输环境下,集线器通过禁止其低速端口的方法组织全速事务在低速 设备上运行。主机在开始低速事务之前必须发送一个p r e 令牌包( 也称前导包) ,表示 在其后将以低速传输一个信息包。这时相应的集线器会激活其低速端口,而其他u s b 设备会忽略该包。其只包含8 位p i d 字段,且无需c r c 检验。 2 、数据包 数据包由p i d 字段、数据字段和1 6 位c r c 字段组成。其中数据字段的长度可以为 0 或者多个字节,但是对于低速u s b 设备,最大长度为8 字节;对于全速设备,最大 长度为1 0 2 3 字节;对于告诉设备,最大长度为1 0 2 4 字节。这些字节都需要c r c l 6 的 保护。 根据p i d 的不同,数据包可分为4 种类型:d a t a 0 、d a t a l 、d a t a 2 和m d a t a 。 其中,d a t a 0 和d a t a l 支持数据触发机制:s p l i t 需要使用d a t a 0 、d a l 队1 和m d a t a : 而告诉同步传输需要使用全部4 种类型的数据包。 3 、握手包 2 协议概述硕士论文 握手包仅包含8 位的p i d 字段,之后就是e o p 信号,无需使用c r c 。握手包用于 报告事务处理的状态,以表明数据接收、指定的端点被停止、不能响应命令等情况。只 有支持流量控制功能的事务处理才需要使用握手包,它一般在握手阶段被返回,有时也 可能在数据阶段代替数据被返回。如果握手包在p i d 后没有以e o p 信号终止,则接收 方会认为该包无效,将其忽略。 u s b 定义了5 种类型的握手包:a c k 、n a k 、s t a l l 、n y e t 和e r r ,其中e r r 术语专用握手。限于本文的研究内容只介绍部分握手包。 a c k 包表示接收的数据包在数据段没有位填充或c r c 错误,数据p i d 也被正确接收【3 】 4 】。a c k 握手包只在数据已经被发送并等待接收握手的处理操作中使 用。主机可以对玳处理返回a c k 握手,功能设备可对o u t 、s e t u p 处理返回a c k 握手。 n a k 包表示功能设备不能从主机接收数据,或者功能设备没有数据发送到主 机。功能设备只有在斟处理的数据阶段或者o u t 处理的握手阶段返回n a k 。主机 不会发送n a k 握手。n a k 用于实现流控制,它能指出功能设备展示不能发送或者接 收数据,但最终可以发送或者接收数据且无需主机干涉。 s t a l l 包说明功能设备不能发送或者接收数据,或不支持控制管道的请求。 它在功能设备响应i n 令牌或者o u t 令牌的数据阶段后返回。s t a l l 和n a k 一样都 只能由设备来发送。 n a k 是u s b 的一种暂时状态,当设备处于“忙”的工作状态时,就会发送n a k 。 而s t a l l 与n a k 不同,s t a l l 所表示的出传输失败意义更加严重。当控制传输中出 现s t a l l 后,主机就会丢弃所有发给设备的控制命令,而且要重新进行控制传输后才 能停止s t a l l 状态。 4 、事务处理 事务处理是【l l 】u s b 总线上数据传输的基本单位,主机与u s b 设备之间的一次通 信可能要用到1 个或者多个事务。事务处理由3 个阶段组成:令牌阶段、数据阶段和握 手阶段。事务又分为i n 事务、o u t 事务、s e t u p 事务、p i n g 事务、s o f 事务、 s p l i t 事务和p r e 事务。针对本课题,选取最为重要的i n 、o u t 、s e t u p 、s o f 等 4 个事务来介绍 ( 1 ) i n 事务用于完成u s b 设备到主机的数据传输。正常情况下,u s b 设备将向主 机发出数据包。u s b 设备不能成功地响应主机发出的玳令牌包时,u s b 设备的响应有: 当收到的i n 令牌包已损坏,则u s b 设备

温馨提示

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

评论

0/150

提交评论