全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 英文缩略词 u s b ( u n i v e r s a ls e r i a lb l l s ) 通用串行总线 s i e ( s e r i a li n t e r f a c ee n g i n e ) $ 行接口引擎 n r z i ( n o n e - r e t u r nt oz e r oi n v e r t ) 反相不归零制 c r c ( c y c l i cr e d u n d a n c yc h e c k ) 循环检验 h c d ( h o s tc o n t r o l l e rd r i v e r ) 主控制器驱动程序 f i f o ( f i r s ti nf i r s to u t ) 先进现出 g p i f ( g e n e r a lp r o g r a m m a b l ei n t e r f a c e ) 通用可编程接1 2 1 w d m ( w i n d o w sd r i v e rm o d e ) w i n d o w s 驱动模型 ;i l 冲 ( i or e q u e s tp a c k e t ) i o 请求包 ;d d k ( d r i v e , d e v e l o p m e n t 飚t ) 驱动开发工具包 s d k ( s o f t w a r ed e v e l o p m e n tk i t ) 软件开发工具包 p n p ( p l u ga n dp l a y ) 臣l j 插即用 u s b d i s bd r i v e ri n t e r f a c e ) u s b 驱动程序接1 2 1 s r a m ( s m i l er a n d o ma c c e s sm e m o r y ) 静态随机存储器 h p i ( h o s tp o r ti n t e r f a c e ) 主机接1 2 1 p d o ( p h y s i c a ld e v i c eo b j e c t ) 物理设备对象 f d o ( f u n c t i o n a ld e v i c eo b j e c o 功能设备对象 3 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 窀作 :重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:叠硅盗日 期:避呈! 坦 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:麟导师签名 日 期:硪多 山东大学硕士学位论文 摘要 本文充分利用高速通用串行总线( u s b ) 所具有的传输速度快、支持热插拔、即 插即用、易于扩展、占用的系统资源少等优点,将其与传统的数据采集技术相结 合,设计实现了一种基于u s b 的集数据采集、处理、分析和显示为一体的数据采 集系统。 论文首先介绍了u s b 体系结构和数据流的相关内容,然后介绍了数据采集系 统的设计。数据采集系统的设计包括系统的硬件设计和软件设计。在硬件设计部 分,首先介绍了芯片c y 7 c 6 8 0 1 3 a 的性能特点,然后给出了u s b 与外部控制器接 口模块、外部控制与数据采集模块、固件存储模块和电源模块的具体设计方案, 并重点介绍了设计中应该注意的问题。软件设计包括u s b 接口控制器的固件设计、 驱动程序开发和主机端应用程序开发三大部分。 在系统软件设计部分,固件程序利驱动程序开发是设计中的重点,论文先从 总体上介绍程序的设计思想及其层次结构,随后详细介绍了各层次程序的设计过 程,并给出了程序流程图和部分源代码。驱动程序开发部分简单介绍了w m d o w s 驱动程序模型( w d m ) 和u s b 驱动程序的开发过程,接着介绍了w d m 驱动程序安 装时必需的i n f 文件和主机端应用程序的实现。固件程序设计的平台为k c i lc s l , 驱动程序和应用程序设计的平台为v i s u a l 洲0 ,辅助工具为n u m e g a 公司的 d r i v c r s t u d i 0 3 0 和、7 v 砬0 0 0d d k 。 在文章结尾,对本课题进行了总结,并对采集系统的功能扩展进行了展望。 关键词:u s b ;数据采集:固件;w d m ;驱动程序 山东大学硕士学位论文 a b s t r a c t an e wk i n do fd a t aa c q u i s i t i o ns y s t e mi sd e s i g n e di nt h i st h e s i s ,w h i c hi sb a s e d o nu n i v e r s a ls e r i a lb u s ( u s b ) t e c h n o l o g yw i t hd a t aa c q u i s i t i o n , a n a l y s i sa n dd i s p l a y t o g e t h e r t h em v a n c e dp e r f o r m a n c eo fu s b 、析mh i g h _ s p e e d , h o tp l u gi n , p l u ga n d p l a y , e a s i l yt oe x p a n da n de n g r o s s i n gl e s ss y e t e mr e s o u r c ei ss h o w ni nt h es y s t e m a tf i r s t , t h ep a p e ri n t r o d u c e st h ep r o t o c o lo fu s bb u si nb r i e f , a n dt h e nd i s c u s s e s t h ed e s i g no fd a t aa c q u i s i t i o ns y s t e m , w h i c hi n c l u d e st w os e g m e n t ss u c ha sh a r d w a r e d e s i g na n ds o f t w a r ed e s i g n i nh a r d w a r ed e s i g ns e g m e n t , t h ef e a t u r e so fc y 7 c 6 8 0 13 a a r ed e s c r i b e df i r s t l y , a n dt h e nt h es c h e m e so fu s bi n t e r f a c ec o n t r o lm o d u l e ,u s ba n d e x t e r n a lc o n t r o l l e ri n t e r f a c em o d u l e ,f i r m w a r em e m o r ym o d u l e sa n dp o w e rm o d u l ea r e d e s c r i b e di nd e t a i l t h ek e yp o i n t so ft h ed e s i g nw h i c hs h o u l db ep a i da t t e n t i o nt oa r e a l s oe x p l a i n e d s o f t w a r ed e s i g na l s oi n c l u d e st h r e ep a r t s ,u s bi n t e r f a c ec o n t r o l l e r f i r m w a r ed e s i g n ,u s bd r i v e rd e v e l o p m e n ta n da p p l i c a t i o np r o c e d u r e s i nt h es o f t w a r ed e s i g ns e g m e n t , f i r m w a r ea n dd r i v e rd e s i g ni st h em o s ti m p o r t a n t p r o j e c to f t h es y s t e m f i r s t ,t h ep a p e rp r e s e n t st h ei d e aa n dt h es t r u c t u r eo ft h ep r o g r a m , a n dt h e ni n t r o d u c e st h ef i r m w a r ed e s i g na n dt h ef l o wc h a r to ft h ef m w a r ec o d ei n d e t a i l i nd e v i c e sd r i v e rs e g m e n t , t h ep r i n c i p l eo fw i n d o w sd r i v e r sm o d u l ea n dt h e d e v e l o p i n gp r o c e s so fu s b d e v i c e s d r i v e r sa r eb r i e f l yd e s c r i b e d i nt h el a s tp a r t , t h e i n ff i l ew h i c hi sn e e dt oi n s t a l l a t i o no fw d md r i v e ri sd e s c r i b e di nd e t a i l ,a n dt h e r e a l i z a t i o no fa p p l i c a t i o np r o g r a m f i r m w a r ew a sc o m p i l e dw i t hk c i lc 51 ,a n dt h e d r i v e ra n d a p p l i c a t i o np r o g r a mw i t hv i s u a lc 卜卜6 0a n dd r i v e r s t u d i o3 0a s s i s t a n tt o o l s i nt h ee n d , t h ep a p e rm a k e sac o n c l u s i o no f t h ep r o j e c t , a n dt h ef o r e g r o u n do fu s b a p p l i c a t i o ni se x p l o r e d 2 k e y w o r d s :u s b ;d a t at r a n s m i s s i o n ;w d m ;f i r m w a r e ;d r i v e r 山东大学硕士学位论文 1 1 论文选题背景和意义 第一章引言 现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图 像处理等一些高速度、高精度的测量中,通常需要进行高速数据采集。基于p c 的 数据采集系统按照它与计算机的通信方式可分为两类:一类是内置式的,即利用 p c 内部总线,如i s a p c i 总线;一类是外置式的,即利用p c 的外部接口。对于 前者,数据采集系统通常做成插卡的形式,安装在计算机机箱内,这种内置式数 据采集设备存在以下缺点:安装麻烦;价格昂贵:受计算机插槽数量、地址、中 断资源限制;可扩展性差;在一些电磁干扰性强的测试现场无法专门对其做电磁 屏蔽,导致采集的数据失真,通常采用串口或并口,数据传输速率不高,如r s 2 3 2 的传输速率通常小于l1 5 k b p s ( 基于串1 3 芯片1 6 5 5 0 ,如基于8 2 5 0 ,则最高仅有 9 6 0 0 b p s ) ,同时传输的距离也不会超过1 5 米,对于中高速连续采样系统,其每秒 的数据传输最小量为( 1 0 0 k h z 采样率,1 0 位采样精度) :1 0 0 k 1 0 = 1 0 0 0 k ,若 r s 一2 3 2 c 以1 1 5 k b p s 与采样系统交换数据,则需约1 0 0 0 k 1 1 5 k 8 7 s 的传输时间, 采样系统与p c 接口速率的瓶颈会导致数据丢失,同时失去了连续采样的意义,一 般只适用于低速数据采集系统。因此,提高p c 与外置式采样系统流量是实现外置 式中高速数据采集系统的关键。随着计算机软硬件技术的不断发展,新一代串行 总线接口通用串行总线c o s b ) 的优良特性给我们提供了极佳的解决方案。 u s b 采用差分传输方式,具有很好地传输可靠性,设备的控制、管理和信息 交换完全是由系统软件按u s b 协议进行传输,因此不存在设备占用资源冲突而导 致系统紊乱的问题。u s b 技术具有开放性,是非赢利性的规范,得到了广泛地工 业支持。而对于p c 机用户来说,u s b 实现了真正地即插即用和热插拔,当用户需 要将外设连接到p c 上对其进行功能扩展时,只需要拿起外设的接线将它插入至i j p c 机的u s b 接口上就可以了,u s b 设计的驱动程序和应用软件可以自动启动,无需用 户做更多的操作,剩余的一切都由操作系统来处理。u s b 设备也不涉及i r q 冲突问 题,u s b 接口单独使用自己的保留中断,不会同其它设备争用p c 机有限的资源, 4 山东大学硕士学位论文 同样为用户省去了硬件配置的烦恼。因此,u s b 技术是基于采用通过连接技术, 实现外设的简单连接,达到方便用户、降低成本、扩展p c 机连接外设的目的,使 p c 机的功能扩展变得非常简单方便,并能最大限度的降低用户对计算机技术的需 要。对于工业应用来说,u s b 本身就是一种工业级总线标准,其可靠性等级可以 很好地满足工业现场测量控制系统的要求。另外,由于其所具有的外挂式特点, 它能很好地满足工业测量的环境要求,可以容易地实现完全地光电隔离,以及测 量系统的改变和扩展都很容易和方便。 虽然u s b 总线提供了很好的传输速度,但对于具体的基于u s b 串行总线的设 备,可能因其物理因素( 硬件架构) 或与设备相关的软件( 主机系统程序、客户 驱动程序和固件程序) 设计,系统带宽的使用情况等,会影响到u s b 总线对数据 的传输速度。正因为速度对数据采集系统来说是非常重要的一项性能指标,因此 研究针对基于u s b 总线的数据采集系统的设计和优化,以提供可靠的、高速的数 据传输是有必要的。 1 2u s b 总线的优势 u s b ,是u n i v e r s a ls e r i a lb u s ( 通用串行总线) 的简称,是1 9 9 5 年c o m p a q 等公司 为了解决传统总线的不足而推广的一种新型串行通讯标准。由于u s b 具有易用、 热插拔、高性能和系统造价低廉等优点,在短短不到两年的时间内从书面协议转 变成为产品,迅速被应用在视频会议的摄像采集、扫描仪、监视器、p c 电话设备、 人机交互设备和游戏设备等,在国内也逐渐应用在数据采集系统中。 u s b 为个人电脑与其外围设备之间的连接提供了一种标准化、单一化的接口。 其主要特征是高速、双向、同步、低成本、可动态连接,并且可以与当今乃至将 来的计算机平台兼容,是对计算机体系结构的一种工业标准扩展。它在具体的实 现上具有以下特点【。l : ( 1 ) 传输速度快。u s b l 1 协议规定两种速度:低速1 5 m b p s 、全速1 2 m b p s ,现 有的u s b 2 0 传输速率已经高趔4 8 0 m b p s ,约6 0 m b s 的峰值传输速率。 ( 2 ) 支持即插即用。u s b 支持热插拔,当你安装一个新的u s b 设备的时候,不 用打开机箱,也不用关机,系统将自动检测到这个新的设备,再给它找到合适的 山东大学硕士学位论文 驱动程序,对其进行自动配置,完全抛弃了过去的手工操作。 ( 3 ) 易于扩展。u s b 接口支持多个不同设备采用“级联一方式,即每个u s b 设 备用一个u s b 插头连接到另一个外设的u s b 插座上,而其本身又提供一个u s b 插座 供下一个u s b 设备连接使用。通过这种类似菊花链式的连接,一个u s b 控制器可以 连接多达1 2 7 个外设,而每个外设间距离( 线缆长度) 可达5 米。u s b 能自动识别 u s b 链上外围设备的插入或拆卸。u s b 为p c 的外设扩充提供了一个很好的解决 方案。 ( 4 ) 优秀的电源管理。普通的使用串口、并口的设备都需要单独供电系统,u s b 总线采用总线供电方式,可以提供5 0 0 m a 的电流。u s b # b 围设备处于待机状态的 时候,会自动启动省电功能来降低耗电量。当要使用设备时,又会自动恢复原来 的状态。在使用电池供电的计算机系统上,这个特性特别有用。 ( 5 ) 抗干扰性强。由于u s a 夕b 设置于计算机箱外,不受机箱内的板间电磁干扰。 若在电磁干扰比较严重的环境下,可以很容易设计屏蔽方案。 ( 6 ) u s b 设备不涉及丰机中断请求冲突问题。u s b e i 单独使用自己的保留中断, 不会同其它设备争用p c 机有限的资源,同样为用户省去了硬件配置的烦恼。 ( 7 ) 良好的兼容性。u s b 规范具有良好的向下兼容性,u s b 2 0 的主控制器能很 好地兼容u s b l 1 接口的产品。操作系统在检测到全速u s b 设备插入时,会自动按 照1 2 m b p s l 拘速率进行数据传输,而其他高速u s b 设备并不会因为全速设备的连接 而减慢它们的传输速率,它们仍可以继续使用4 8 0 m b p s 的速率进行数据传输。另外, u s b 设备一般都比同类设备的成本低。 本文设计的基于u s b 总线的高速数据采集系统正是充分利用了u s b 总线的上 述优点,从而有效地解决了传统数据采集系统的缺陷。很方便地实现了低成本、 高可靠性和高速的数据传输,适用于对中高速信号进行采集和处理。 1 3 国内外现状及研究目的 1 3 1 国内u s b 接口系统设计的现状 6 近年来,国内有许多专家和学者研究和实现了一些使用单片机控制的采集电 山东大学硕士学位论文 路,特别是在使用p c 机和单片机通信组成采样系统的研究更为突出,实现的采样 电路也应用在工业生产、工业自动化以及日常生活用品当中。但是,这些研究凸 显出来的问题丰要是很多研究者大部分还局限在理论阶段,涉及到实际应用和具 体实现,就会使用符合自己习惯的设计方法和实现方法,缺乏一种把理论转化为 实际系统的通用方法,使之设计实现的系统不能重用,造成很大的浪费。 前期国内研究人员发表的论文【峪】主要介绍u s b 的研制动机、技术目标和功能 特色,系统地、概括性地对u s b 的体系结构进行了描述,主要包括u s b 的系统概 况、物理接口、电源特性、总线协议、容错性能、系统设置、数据流模型、主机、 硬件和软件等内容。应该说,大部分文章详尽地描述了整个u s b 系统的内容,论 述的广度比较大,涉及的概念比较多,但是深度不够,在理论上并未涉及到某个 具体的u s b 芯片,也没有考虑到具体的u s b 芯片之间的差异,在实际应用上基本 无论述。和实际应用还有一段距离,理论和实际开发没有紧密结合起来,文中介 绍的方法不足以让开发者依据它去开发新设备和固件程序。 随后发表出的许多论文都是或者偏重理论,或者偏重硬件,基本上没有把u s b 接口理论和具体应用系统联系起来进行软、硬件设计方面的论述。 1 3 2 国外u s b 接口系统设计的现状 相比较而言,国外的基于u s b 接口的固件开发和设计的研究要深入一些,主 要表现在: ( 1 ) 使用的接口电路比较新,并且探讨的问题也比较深入【3 】; ( 2 ) 国外的基于u s b 接口的集成电路设计人员开发出新的芯片,能够涉及到 芯片级的研究,而且国外有大规模和超大规模集成电路生产的能力【4 】; ( 3 ) 利用高档u s b 接口集成电路,设计和生产出高档的电予产品【5 】; ( 4 ) 主要针对u s b 2 0 版本开展设计和研发工作,用来支持高速外设【6 】; 目前,国外的研究人员主要精力都集中在高档单片机在电子领域和工业控制 领域的理论和应用上。 自1 9 9 6 年u s b 接口规范制定以来,世界各国的专家和研究人员都以它为基 础,从各方面、各个角度进行了研究和改进【7 1 。 7 山东大学硕士学位论文 由于u s b 接口的易用、端口扩充性好和兼容性好等诸多优点,自出现以来备 受关注。最初设计和生产的u s b 接口电路是独立于处理机的【钔,随着研发工作的 不断推进,已经把u s b 接口电路集成到处理机内部,使处理机直接支持u s b 接口, 并在处理机上添加了处理u s b 接口的指令。这样,对于目前较为流行的嵌入式系 统的设计和开发提供了支持,并且也使得基于u s b 接口的固件设计开发周期缩短 了,同时也提高了性能。 1 3 3 研究目的 本课题研究目的在于充分利用u s b 总线所具有的即插即用、自供电、自动检 测等优点来有效的解决传统数据采集系统的缺陷。参考目前市场情况和智能仪器 的设计要求,论文给出了一种基于u s b 总线的数据采集、分析、显示为一体的数 据采集系统。该系统能实现低成本、高可靠性、多点的数据采集,并且易于携带, 可以将数据采集产品模块轻松地带到现场完成数据采集工作。提供了一种更有效、 更经济、更方便的数据采集与传输方式。 1 4 主要工作和创新点 1 4 1 本课题的主要工作 本论文在充分研究u s b 总线技术,包括电气及机械特性、数据传输类型、数 据流模型的基础上,提出了一种u s b 接口的数据采集系统方案,设计并实现了基 于u s b 接口的数据传输最小硬件系统;进行了固件程序、驱动程序和丰机端应用 程序的设计和开发。由于三者之间存在着密切的联系,开发过程中一定要处理好 三者之间的关系。驱动程序相当于应用程序和固件代码之间的桥梁,固件程序是 驱动程序和底层硬件的桥梁。如何处理和设计好三者之间的关系,将直接影响一 个应用系统的性能。本文着重研究提出了一种将u s b 接口的原理和技术等理论知 识转化到具体应用上的方法,如何去开发外设的驱动程序,如何描述设备的数据 结构等有关问题。 山东大学硕士学位论文 本课题的主要工作包括: ( 1 ) 总结归纳传统的设计方法,提出一种新的设计思路; ( 2 ) 设计一个通常意义上的应用系统来支持驱动程序和固件程序; ( 3 ) 在充分了解w d m 驱动程序模型的基础上,根据u s b 协议理论,设计和开 发设备驱动程序; ( 4 ) 编写出界面友好、具有强大据据处理和分析能力的应用程序; ( 5 ) 根据u s b 协议和设备要求,实现一个运行可靠稳定的高速图像数据采集系统。 基于u s b 接口技术的数据采集系统的设计和实现,传统方法一般都依赖于电 路的设计情况,根据u s b 协议规定的设备定义和描述,设计实现u s b 接口固件程序。 这种设计和实现同样也依赖于设计者对规范和协议的理解,缺乏一个通用的方法 来指导。 1 4 2 本课题的创新点 ( 1 ) 在硬件设计上采用最新的u s b 2 0 芯片,以达到数据高速传输的目的;软件 上采用最新的集成开发软件,可以降低开发的难度。 ( 2 ) 整个硬件的数据采集通道是按照多通道的原则设计的,足以满足需要同时 采集多通道数据信号的工业环境。 ( 3 ) 分析统一规范的u s b 固件程序,并根据实际需要创建自己的固件程序,达 到最优化的性能效果。 ( 4 ) 仔细研究u s b 2 0 协议,并灵活地编写本系统的驱动程序和u s b 2 0 通信 程序。 1 5 本文的组织结构 本文共分为六部分,第一部分对课题的研究背景、设想、创新点作了简要描 述,并针对国内外相关研究进行综述。第二部分c 串j 述了基于u s b 接口理论知识的 一般设计方法和原理,重点对u s b 系统描述、u s b 主机和u s b 协议层进行描述。 第三部分详细介绍了u s b 2 0 数据采集系统硬件电路设计的总体方案以及各个电 路模块的设计。第四部分重点阐述了u s b 2 0 数据采集系统的固件程序、驱动程序、 9 山东大学硕士学位论文 主机端应用程序设计和具体实现,第五部分部分给出了系统调试中遇到的问题及 解决办法。最后为文章的结束语,总结了本文所做的工作和下一步需要完善的 工作。 1 0 山东大学硕士学位论文 第二章u s b 2 0 通信协议 u s b 通用串行总线接口同其他串行、并行接口不同,它是一个软硬件结合的 系统体系。在进行u s b 设备设计之前需要理解其基本理论,这一章简要介绍t u s b 接口协议、u s b 体系结构以及数据在u s b 总线上的传送格式,涉及到系统中信号的 发送和协议层定义。阅读这一章可以了解关于u s b 协议的一些核心内容。 2 1u s b 系统的分层结构 对开发人员来说,u s b 系统【9 】可分为三个逻辑层:u s b 主机、u s b 设备和u s b 互连( m t c r c o n n c c t i o n ) 。u s b 通信的参考模型如图2 1 所示。 图2 1u s b 系统 山东大学硕士学位论文 2 1 1u s b 主机 u s b 主机通过主机控制器和u s b 设备相互作用,为u s b 提供了众多功能,比如: 检钡d u s b 设备的连接和断开;管理主机和u s b 设备间的控制通信流;管理主机和 u s b 设备间的数据通信流;收集总线状态和总线活动信息;控制主控制器和u s b 设备问的电气接口。 u s b 系统中只允许有一个主机,它为u s b 设备提供了连接起点,并实现数据的 传输,u s b 主机可被划分为3 个功能模块【i o i i l :客户软件、u s b 系统软件和u s b 总线 接口。 ( 1 ) 客户软件 客户软件( c l i e n ts o f t w a r e ) f h 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 ) u s b 系统软件 u s b 系统软件s bs y s t e ms o f t w a r e ) 用于在特定的操作系统中支持u s b ,它由 操作系统提供,与具体的u s b 设备无关,也独立于客户软件,其负责和u s b 逻辑设 备进行配置通信,并管理客户软件启动的u s b 数据传输。系统软件一般包括u s b 总线驱动程序u s b d ( u s bd r i v 哪、u s b 主控制器驱动程序h c d ( h o s tc o n t r o l l e r d r i v e r ) 和i e u s b 主机软件三部分。其中u s b 总线驱动程序为客户软件提供了通信接 口u s b d i ,它们之间通过f o 请求包( 冲) 进行数据传输;u s b 主控制器驱动程序 的存在使得客户软件在进行u s b 数据传输时不必知道丰控制器的具体实现细节; h c d 和u s b d 以特定的方式协同工作,简化了客户软件与u s b 功能单元间的通信, 它们之间的接口称为主控制器驱动程序接e i ( h c d i ) ,它不能被客户软件直接访问。 ( 3 ) u s b 总线接口 u s b 总线接口包括u s b 主控制器和根集线器( r o o th u b ) 两部分。其中根集线器 为u s b 系统提供连接起点;u s b 主控制器负责完成主机和u s b 设备间数据的实际传 1 2 山东大学硕士学位论文 输。u s b 总线接口与u s b 系统软件的接口依赖于主控制器的硬件实现。 其中丰控制器负责读取丰控制器驱动程序h c d 建立的事务处理列表,并将它 们安排在一系列长度为l m s l 拘帧( 全速传输) 或1 2 5 p s 的小帧( 高速传输) 中发送 n u s b 总线上;根集线器同其他集线器一样,为主机提供附加的u s b 端口,但是根 集线器被集成在u s b 丰控制器内部,h c d 对其访问时不需要产生事务处理。 2 1 2u s b 设备 一个u s b 设备由三个功能模块组成【1 2 】:u s b 总线接口、u s b 逻辑设备和功 能单元。u s b 总线接口是u s b 设备中的串行接口引擎( s 正) ;u s b 逻辑设备被u s b 系统软件看作是一个端点的集合;功能单元被客户软件看作是一个接口的集合。 其中,s i e 、端点和接口都是u s b 设备的组成单元。 1 设备架构 为了正确描述u s b 设备的特性,u s b 提出了设备架构的概念,如图2 2 所示。 设备架构认为u s b 设备是由一些配置、接口和端点组成的,即一个u s b 设备可以含 有一个或多个配置,在每个配置中可含有一个或多个接口,在每个接口中可含有 若干个端点。其中,配置和接口是对u s b 设备功能的抽象,实际的数据传输由端 点来完成。下面对u s b 设备架构的各个组成单元进行简单介绍。 圈 图2 2 u s b 设备架构 山东大学硕士学位论文 ( 1 ) 设备 设备代表一个u s b 设备,它由一个或多个配置组成。设备描述符用于说明设 备的总体信息,并指出其所含配置的个数。一个u s b 设备只能有一个设备描述符。 ( 2 ) 配置 一个u s b 设备可以包含一个或多个配置,如u s b 配置的低功耗模式和高功耗模 式就可分别对应一个配置。在使用u s b 设备前,必须为其选择一个合适的配置。 配置描述符用于说明u s b 设备中的各个配置的特性,如配置所含接口的个数等。 u s b 设备的每一个配置都必须有一个配置描述符。 ( 3 ) 接口 一个配置可以包含一个或多个接口。是一个端点的集合,可以包含一个或多 个可替换设置。接口描述符用于说明u s b 设备中各个接口的特性。u s b 设备的每一 个接口都必须有一个接口描述符。 ( 4 ) 端点 端点是u s b 设备中的实际物理单元,u s b 数据传输就是在主机和u s b 设备的各 个端点之间进行的。端点由u s b 接口芯片提供。u s b 设备中的每个端点都有惟一的 端点号,各个端点所支持的数据传输方向也是确定的:矾或o u t 。根据端点号的 不同,可将其分为0 号端点和非0 号端点两个类型。 o q 端点比较特殊,有i n 和o u t 两个物理单元,但只有一个端点号0 ,且只能 支持控制传输。所有的u s b 设备都必须含有一个0 号端点,用作缺省控制管道。u s b 系统软件就是使用该管道和u s b 逻辑设备进行配置通信的。根据具体应用的需要, u s b 设备还可含有多个除0 号端点以外的其他端点。 2 管道 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 总线接口完成的。 1 4 山东大学硕士学位论文 管道和u s b 设备中的端点一一对应。一个u s b 设备含有多少个端点,其和主机 进行通信时就可使用多少条管道,且端点的类型决定了管道中数据的传输类型。 无论存在多少条管道,在各个管道中进行的数据传输都是相互独立的。按管道中 所传输数据结构的不同,可将其分为流管道和消息管道两种类型。 图2 3u s b 通信流 流管道不具有u s b 定义的格式的数据流,可用于块传输、同步传输和中断传 输,通常是单向的。消息管道具有u s b 定义格式的数据流。只能用于控制传输, 通常是双向的。u s b 设备0 号端点所实现的缺省控制管道就是一条消息管道。 3 描述符 u s b 采用u s b 标准描述符说明一个u s b 设备,这些描述符包括设备描述符、配 置描述符、接口描述符、端点描述符和字符串描述符。对于高速设备还包括设备 限定描述符和其他速率配置描述符。设备类和供应商也可以自己定义其设备专用 描述符,分别称为设备类定义描述符和供应商自定义描述符。 ( 1 ) 设备描述符( d e v i c ed e s c r i p t o o 用于指出u s b 设备的总体信息,其内容对该 设备中同一传输模式下的所有配置都有效。一个设备只能有一个设备描述符,但 是一个设备允许多个配置描述符。 ( 2 ) 配置描述符( c o n f i g u r a t i o nd e s c r i p t o o 为u s b 设备的配置指出其配置信息。 u s b 设备的一个配置可以包含一个或者多个接口,且每个接口都可以相互独立工 山东大学硕士学位论文 作,所有的u s b 设备都至少支持一个配置描述符,每个配置都必须有自己的配置 描述符。当主机请求配置描述符时,其所有相关的接口描述符和端点描述符都将 被返回。 ( 3 ) 接l :l 描述符( i n t e r f a c ed e s c r i p t o r ) 用于指定u s b 设备中各个接口的特性,设 备的每个接口都必须有一个描述符。u s b 设备的接口是一个端点的集合,负责完 成设备的特定功能,接口可以包含一个或者多个可替换配置,它们能够在u s b 设 备处于配置状态时,改变当前接口所含端点的个数和特性。u s b 设备同一配置的 各个接口间不能使用相同的端点,但是同一接口的各个可替换配置间可以使用相 同的端点。 ( 4 ) 端点描述符( e n d p o i n td e s c f i p t o r ) 用于指出u s b 设备端点的特性,如其所支 持的传输类型、传输方向等信息。除端点o ) f ,u s b 设备的每个端点都必须有一个 端点描述符。 ( 5 ) 字符串描述符( s t r i n gd e s c n p t o r ) 用于保存一些文本信息,它是可选的。在 u s b 设备的其他描述符中,可以含有指向字符串描述符的索引值。 ( 6 ) 设备限定描述符( d e v i c eq u a l i f i e ro e s e r i p t o r ) 只适用于高速u s b 设备,如果 高速u s b 设备既需要高速传输,又需要全速传输,则它必须支持设备限定描述符, 以指出另一传输速率下该设备的总体信息。 ( 7 ) 其它速率配置描述符( o t h e rs p e e dc o n f i g u r a t i o nd e s c r i p t o r ) 用于指出高速 设备在采用全速传输下的配置信息,其不能用于低全速u s b 设备,且主机只有在 成功读取u s b 设备的设备限定描述符后,它才会进一步发出g e t _ d e s c r i p t o r ( o t h e r s p e e dc o n f i g u r a t i o nd e s c r i p t 0 0 请求。 4 总线枚举 当u s b 设备接上或者从u s b 设备移开时,主机启动一个被称作总线枚举的进 程,来列举并管理设备状态的改变,当u s b 设备接上一个加电端口时,系统采取 以下操作: ( 1 ) u s b 设备已连接在下行端口上,集线器通过状态交换管道通知主机此事件。 此时,u s b 设备处于加电状态,它所连接的端口是无效的; ( 2 ) 主机通过询问集线器标记出某个设备己连接上; 1 6 山东大学硕士学位论文 ( 3 ) 主机一旦得知新设备已连上后,发送端1 3 使能及复位命令给此端e l ; ( 4 ) 集线器将发向端口的复位信号持续1 0 m s ,当复位信号撤消后,端口已经有 效,这时u s b 设备处于缺省状态,并且从总线上可以得到1 0 0 m a 的电流,所有设 备寄存器状态已经复位,设备可对缺省地址产生响应; ( 5 ) 主机给设备分配一个唯一的地址,设备进入地址状态: ( 6 ) 在u s b 设备接受地址之前,其缺省控制管道在缺省地址处是可寻址的,主 机通过读取设备描述符,决定设备缺省管道的实际数据净负荷大小; ( 7 ) 主机从设备读取配置信息,从0 读到n 1 ( n 为配置个数) ,此操作需花费 几毫秒; ( 8 ) 基于从设备读取的配置信息及设备如何使用的信息,主机给设备一个配置 值,此刻,u s b 设备处于配置状态,并配置有关的端口,按照配置u s b 设备就可以 从v b u s 得到所要求的电量。从设备的角度而言,设备已经准备就绪。 当u s b 设备断开时,集线器同样会通知主机,断开一个设备连接会使得设备 所连接的端口无效,一收到断开通知,主机就会更新本地拓扑信息。 5 设备请求 u s b 定义了1 1 种标准u s b 设备请求,其主要功能是完成u s b 设备的配置操作, 除了标准请求之外,设备类和供应商也可以定义自己的专用请求:设备类定义请 求和供应商自定义请求。u s b 定义的1 1 种标准请求如表2 1 。 表2 1 标准u s b 设备请求 请求名请求号功能 g e t s t a t u s0 0 h 读取设备、接口或端点的状态 c l e a r f e a t u r e0 1 h 清除或禁止设备、接口或端点的某些特性 s e t f e a t u r e0 3 h 设置或势能设备、接口或端点的某些特性 s e t a d d r e s s0 5 h 分配设备地址 g e t d e s c r i p t o r 0 6 h读取指定的描述符 s e t d e s c r i p t o r 0 7 h 更新已有的描述夫符或添加新的描述符 g e t c o n t i g u r a t i o n 0 8 h 读取u s b 设备当前的配置值 s e t c o n f i g u r a t i o n 0 9 h为u s b 设备选择一个合适的配置 1 7 山东大学硕士学位论文 g e t i n t e r f a c e咄读取指定接口的当前可替换配置值 s e t i n t e r f a c e0 b h 为指定接口选项一个合适的可替换配置 s y n c h f r a m e 0 c h 读取同步端点所指定的帧序号 2 2u s b 总线拓扑结构 u s b 系统包括一个( 只允许一个) u s b 主机和最多1 2 7 个设备。主机的u s b 接 口称为u s b 主控制器。u s b 设备包括了集线器( h u b ) 和功能设备,当它们被接入 u s b 系统后都会被分配唯一的一个地址。u s b 总线拓扑结构【1 3 】如图2 4 所示。 u s b 总线的拓扑结构是星型结构。u s b 主机是星型结构的中心,主机中有一个 内嵌的根集线器。主机通过根集线器提供若干个连接点。 图2 4u s b 物理总线的拓扑 许多不同功能的设备放在一起被看作一个整体,称为复合设备。在它的内部, 提供具体功能的设备被永久地接到集线器上,由这个集线器来实现与主机的互连。 所有这些设备及这个集线器被看作一个复合设备。在主机看来,这个复合设备和 一个带着若干设备的单独集线器是一样的。 u s b 采用物理分层的星型结构的目的之一是防止闭环,u s b 电缆的两端接口形 状不同也有此作用。从逻辑上看,u s b 丰机可以与分层的u s b 设备直接通信,好像 与设备直接相连一样。 山东大学硕士学位论文 2 3u s b 数据传输 在u s b 总线上所有与u s b 设备功能单元的数据传输都是由客户软件启动的,其 传输过程必须经过四个软硬件实体:客户软件、u s b 总线驱动程序、u s b 主控制器 驱动程序和u s b 主控制器。图2 5 向下的箭头表示了客户软件向u s b 设备发送数据 的情况,其传输步骤如下: ( 1 ) 客户软件把要传输的数据放入数据缓冲区,并向u s b 总线驱动程序发出 i r p ,以请求数据传输; ( 2 ) u s b 总线驱动程序响应客户软件的i r p ,并将其中的数据转化为一个具有 u s b 格式的事务处理,然后将其向下传递; ( 3 ) u s b 主控制器驱动程序负责为这些事务处理建立一系列以帧d , 帧为单位 的事务列表,并保证其不会超过u s b 的带宽; ( 4 ) u s b 总线控制器负责读取事务列表,并将其中的事务处理以信息包为单位 发送到u s b 总线上; ( 5 ) u s b 设备接收到这些信息包后,s i e 自动将其解包并将数据放入指定端点的 接收缓冲区内,由芯片固件对其进行处理。 图2 5 u s b 传输管理 1 9 山东大学硕士学位论文 2 3 1 状态机制 为了满足主机和u s b 设备间各种类型数据传输的需要,u s b 定义了两种状态机 n -
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大班安全活动消防安全我知道教案反思(2025-2026学年)
- 北师大版品德与生活四年级上册挑战自我公开课教案附教学反思
- 语文读后续写能力训练指导
- 制造企业车间安全操作规程及管理办法
- 节水项目策划与实施案例分析
- 省市中考语文作文题目及范文解析
- 信息技术教师教学反思范文汇编
- 保险销售技巧与客户关系维护指南
- 客运安全生产责任制执行细则
- 酒店客户服务质量提升方案与案例分析
- 2025年前三季度中国股权投资市场研究报告
- 2026南方传媒校园招聘笔试考试参考试题及答案解析
- 中国人保招聘面试题及答案
- 2022年申报第二类医疗器械产品注册完整资料参考
- 乙肝梅毒艾滋知识培训
- 科技创新归纳
- 柳公权书法介绍
- 2025年郑州铁路职业技术学院单招职业技能考试题库及答案
- 海南医院面试题目及答案
- 血液内科缺铁性贫血教案
- GB/T 5760-2025塑料离子交换树脂氢氧型阴离子交换树脂交换容量的测定
评论
0/150
提交评论