(通信与信息系统专业论文)嵌入式usb应用系统的研究与实现.pdf_第1页
(通信与信息系统专业论文)嵌入式usb应用系统的研究与实现.pdf_第2页
(通信与信息系统专业论文)嵌入式usb应用系统的研究与实现.pdf_第3页
(通信与信息系统专业论文)嵌入式usb应用系统的研究与实现.pdf_第4页
(通信与信息系统专业论文)嵌入式usb应用系统的研究与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(通信与信息系统专业论文)嵌入式usb应用系统的研究与实现.pdf.pdf 免费下载

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

文档简介

华中科技大学硕士学位论文 摘要 随着电脑外设和数码产品的不断发展,各种设备之间的接口和互连成为当前需要 解决的难题。通用串行总线( u s b ) 支持即插即用和热插拔等特性,传输速率较高且 价格低廉,因而逐渐成为p c 外围设备的接口标准,并在各种数码产品中得到了广泛 的应用,在通讯和工业控制领域也有着美好的应用前景。 本文以程控交换实验系统的u s b 接口设计为背景,给出了基于e z u s b 控制器 的解决方案,重点论述了设备端和主机端软、硬件的设计与实现方法。在简要介绍并 分析u s b 总线体系结构和实现机制的基础上,结合本系统的实际需求对常见u s b 控 制器的性能特点进行了分析比较,提出了采用e z - u s b 控制器的解决方案。在对 e z u s b 控制器的功能结构进行分析的基础上,提出了系统硬件电路的设计方案,就 主要功能模块的实现进行了论述,并对系统抗干扰、防静电、调试等闯题作出了讨论。 对于嵌入式设备中相当重要的固件程序,采用了模块化的开发方法,通过建立固件程 序框架使程序各部分之间的功能更加明晰,简化了固件的开发工作。设备驱动程序是 外设开发中的难点。为此,在对u s b 主机端软件的体系结构和w i n d o w s 驱动程序模 型进行分析之后,结合部分代码详细论述了本系统设备驱动程序和客户端应用程序的 设计要点。针对当前3 c ( c o m p u t e r 、c o r r 皿l l n i c 撕o n & c o n s u m e re l e c t r o n i c s ) 技术不 龋融合的趋势,还介绍了u s b 协议的最新发展与应用前景。 本系统的设计方案和理论分析为后续研究和开发打下了基础,并为其他嵌入式 u s b 应用系统的开发提供了参考。 关键词:通用串行总线固件设备驱动程序w i n d o w s 驱动程序模型( w d m ) 客户端应用程序 华中科技大学硕士学位论文 a b s t r a c t w i t ht h e d e v e l o p m e n to fp cp e r i p h e r a l s a n dd i g i t a l p r o d u c t s t h e i n t e r f a c ea n d c o n n e c t i o nb e t w e e na n yt w oo ft h e mh a sb e c o m ead i f f i c u l tp r o b l e m u n i v e r s a ls e r i a lb u s s u p p o r t st h ef e a t u r eo fp n pa n dh o t - s w a p ,、v i 也ah i 曲t r a n s f e rs p e e da n dl o wp r i c e t h e r e f o r e ,i th a sb e e nw i d e l yu s e d i nd i g i t a lp r o d u c t s ,a n di se x p e c t e dt ob et h ei n t e r f a c i n g s t a n d a r do fp c p e r i p h e r a l s ,w i t h a b r i g h t f u t u r ei nc o m m u n i c a t i o na n di n d u s t r i a l a p p l i c a t i o n 鼢t h e b a c k g r o u n d o ft h eu s bi n t e r f a c ed e s i g ni ns t o r e dp r o g r a mc o n t r o ls w i t c h i n g s y s t e mf o rt e a c h i n g ,t h ep a p e rp r e s e n t sas o l u t i o nb a s e do ne z u s b ,i nw h i c ht h ed e s i g n a n d i m p l e m e n t a t i o no ft h e h a r d w a r ea n ds o f t w a r eo nb o t hh o s ta n dd e v i c es i d e sa r e d e m o n s t r a t e di nd e t a i l s o nt h eb a s eo fab r i e fi n t r o d u c t i o na n da n a l y s i so ft h eu s b a r c h i t e c t u r ea n di t s o p e r a t i n gm e c h a n i s m ,t h et h e s i sc o m p a r e s s e v e r a lp r e v a l e n tu s b c o n t r o l l e r sa c c o r d i n gt ot h er e q u i r e m e n to ft h es y s t e m ,a n db r i n g sf o r w a r das c h e m eb a s e d o ne z u s b a f t e ra n a l y z i n gt h ef e a t u r e so fe z - u s bc o n t r o l l e r , t h ep a p e rp r o p o s e st h e l a y o u t o ft h ec i r c u i td e s i g na n dd i s c u s s e st h e i m p l e m e n t a t i o no ft h e m a i nf u n c t i o n a l m o d u l e s ,a l o n gw i t hs o m ee x t r ai s s u e ss u c ha sa n t i - j a m m i n g ,e l e c t r o s t a t i cd i s c h a r g ea n d h a r d w a r ed e b u g g i n g n 怆f i r m w a r e ,w h i c hi se s s e n t i a li na ne m b e d d e dd e v i c e ,i sd e v e l o p e d i nam o d u l a r w a y 硼t l lt h ef i r m w a r ef r a m e w o r k s ,t h ef u n c t i o no f e a c hp a r ta p p e a r se x p l i c i t , w h i c hs i m p l i f i e st h et a s k si nf i r m w a r e d e v e l o p m e n t g e n e r a l l ys p e a k i n g ,d e v i c ed r i v e ri sa l l o b s t a c l ei np e r i p h e r a ld e v e l o p m e n t t h u st h ek e r n e l si nt h ed e s i g no fd e v i c ed r i v e ra n d c l i e n ta p p l i c a t i o na r ee l a b o r a t e da f t e rt h ea n a l y s i so ft h es o f t w a r ea r c h i t e c t u r eo fu s bh o s t a n dw i n d o w sd r i v e rm o d e l m o r e o v e r , t h el a t e s te v o l u t i o no fu s b s p e c i f i c a t i o na n di t s f u t u r e a p p l i c a t i o n a r ei n t r o d u c e dd u et ot h et r e n dt h a tt h e t e c h n o l o g y o fc o m p u t e r , c o m m u n i c a t i o na n dc o n s u m e re l e c t r o n i c si sr u n n i n gi n t oa m a l g a m a t i o n t h ed e s i g ns c h e m ea n dt h e o r e t i c a l a n a l y s i sf o r i l l ab a s ef o rf u r t h e rr e s e a r c h ,a n d p r o v i d e r e t e r e n c ef o ro t h e re m b e d d e du s b s y s t e m s k e y w o r d :u n i v e r s a ls e r i a lb u s f i r m w a r ed e v i c ed r i v e r w i n d o w sd r i v e rm o d e l ( w d m ) c l i e n t 印p l i c a t i o n h 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已经标明g l 用的内容外,本论文不包含任何其他个 人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:巍杠 日期:加口妒年弘月哆日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数掘 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口在年解密后适用本授权书。 本论文属于 不保密回。 ( 请在以上方框内打“4 ”) 学位论文作者签名:乌袅是 日期:扫口争年争月乃目 指导教师签名;兰星。3 ,垂 日期炒p 年牛月2 3 吕 华中科技大学硕士学位论文 1 1u s b 协议的提出与发展 1 绪论 目前,个人电脑上所使用的大多数外设仍然是基于i o 接口方式实现的,建立在 i b m 公司1 9 8 4 年提出的p c a t 机体系结构基础之上。由于成本、配置和个人电脑的连 接等方面的原因,传统的i 0 接口方式存在比较严重的缺陷。传统的“0 模式中,外设 映射为c p u 的i o 地址空间,并由主机分配一个指定的i r q 中断请求,在某些情况下还 需要一个d m a 通道;主机则利用这些中断请求和d m a 通道的信息对指定的外设进行 访问j 。这种模式中外设消耗了大量的系统资源( 包括i o 地址、内存、中断、d m a 等) ,而p c 机的系统资源相当有限,因而使外设的可扩展性受到局限。同时,外设对 系统资源的独占性容易导致资源冲突。 随着电脑应用的拓展,p c 机的外设接口越来越多,例如并行口、串行口、键盘口、 鼠标口、游戏手柄接口、音频输入输出口等。由于各种外部设备不断增加,使计算机 所提供的用于外设连接的资源日渐捉襟见肘,并容易导致各种i o 冲突 2 1 。而各种外设 缺少一种统一的廉价、双向、即插即用的总线,限制了外部设备的开发。另外,计算 机通信将是下一代计算机的基本应用,计算机和人的数据交流需要一个广泛而便宜的 网络来连接计算机与电话。在此背景下,m i c r o s o f t 公司于1 9 9 4 年提出了即插即用( p l u g & p l a y ,p n p ) 的技术方案,其核心思想是把p c 机的外围设备和扩充电路板连接起来, 使系统可以自动分配中断和端口等资源,而无需用户干预。这种方案解决了用户为外 设手工设置资源参数的困难,但新外设的安装和各种板卡的扩充仍然显得相对麻烦, 而且扩充外设数量的问题也没有解决。为此,在1 9 9 6 年c o m p a q 、i n t e l 和m i c r o s o f t 提出 了设备插架( d e v i c eb a y ) 的概念,并于1 9 9 7 年正式制订了设备插架技术的规范。设 备插架技术的主要优点是:设备插入方式类似于盒式v h s 录像带插入录像机,非常方 便;设备接入时不影响应用程序的运行,实现了接入的热插拔方式;具有良好的可扩 充性和扩展的方便性。基于即插即用和设备插架技术,i n t e l 、c o m p a q 、m i c r o s o f t 、 n e c 、n o r t h e r nt e l e e o m 、i b m 等计算机业界的大厂商共同提出了适合中低速外部设备 使用的通用串行总线( u n i v e r s a ls e r i a l b u s ) 接口,简称u s b 3 。 通用串行总线论坛组织( u s b i f ) 负责协议的标准化工作【4 】现在使用最广泛的 是1 1 版本,支持峰值传输速率为1 2 m b p s 的全速外设,几乎所有的主板上都集成了1 华中科技大学硕士学位论文 4 个支持u s b1 1 协议的总线接口,通过u s b 集线器( h u b ) 的扩展可以支持多达1 2 7 个外设同时连接,解决了其他外设接口存在的所有问题。同时,u s b 总线能提供最大 5 0 0 m a 电流的5 v 电源,这样绝大多数外设都不必使用外接电源了。针对目前日益增长 的传输容量和速率,u s b 协议已经发展到了2 0 版本,可以支持峰值传输速率为 4 8 0 m b p s 的高速外设【5 】。目前新推出的主板芯片组的南桥芯片基本上都集成了支持 u s b2 0 协议的控制器,提供4 8 个u s b2 0 接口,以适应用户对u s b 端口数量和传输 速率不断增长的需求。 1 2 u s b 接口的特性与优势 u s b 总线规范是对p c 现有体系结构的扩充,它能针对不同的性能要求提供相应 的实现方案,以满足不同系统和部件的功能要求。同时,u s b 总线具有很多优良的 特性。 由于u s b 总线为电缆和连接头提供了单一模型,接口的电气特性与用户无关,而 且能够自检外设、自动进行设备驱动和设置,外设还可以动态连接、动态配置,因而 为终端用户提供了良好的易用性。u s b 总线的应用场合非常广泛:可以适应不同设备, 传输速率从几k b p s 至l j 几- 百m b p s ;在同一条线上支持同步、异步两种模式;支持对多个 设备的同时操作,最多可同时操作1 2 7 个物理设备;在主机和设备之间可以传输多个 数据和信息流:支持多功能的设备:利用低层协议,提高了总线利用率。u s b 总线支 持同步传输,它确定的带宽和低延迟适合电话系统和音频的应用,同步工作状态下可 以利用整个总线带宽。u s b 总线的通信具有很强的灵活性:直接支持一系列不同大小 的数据包,允许选择设备缓冲器的大小;通过指定数据缓冲区大小和执行时间,支持 各种数据传输率;通过协议对数据流进行缓冲处理。u s b 协议通过其差错处理差错恢 复机制来实现自身的健壮性,可以对有缺陷的设备进行鉴别,并且完全支持热插拔。 由于u s b 协议采用差分传输方式,因而具有很好的传输可靠性。 除了在结构和性能上的优势之外,u s b 总线还具有与p c 产业的一致性,它表现为: 协议的易实现性和完整性、与p c 目i 插即用体系结构的一致性以及与现存操作系统的良 好兼容性。另外,u s b 为外设的开发提供了物美价廉的解决方案。它以低廉的价格提 供1 2 m b p s 的子通道,电缆和连接头也相当廉价,将外设和主机硬件进行了最优化的集 成,从而促进了低价格外设的发展 6 1 。u s b 的体系结构保证y u s b 系统具有良好的可 升级性,它支持在一个系统中同时存在多个u s b 主机控制器。 华中科技大学硕士学位论文 1 3u s b 总线的应用前景 目前,很多外设的应用需要在p c 机总线中插入相应的适配器,并占用一个p c i 或 i s a 插槽。随着计算机应用的不断发展,各种新外设不断涌现,适配器的种类和数量 也从而不断增加,对p c 机有限的扩展能力提出了严峻的挑战。而对于采用并行口或串 行口等不需要适配器接入的外设,也存在不支持热插拔、传输速率较低的问题。 有鉴于此,在u s b 协议提出之后,u s b 总线接口正逐步取代原有的各种接口成为 主流。事实上除了显示适配器这种需要很高数据量的p c 设备以及一些对实时性要求极 高的控制设备,几乎所有的p c p b 设都可以移植至i j u s b 接口上来,除了传统的键盘、鼠 标、扫描仪、打印机等设备,声卡、网络适配器甚至音箱都可以采用u s b 接口。 随着计算机网络的发展,基于p c 的通信设备也越来越多,如调制解调器和连接p c 的i p 电话机等。传统的调制解调器通过r s 2 3 2 接口与计算机连接,由于r s 2 3 2 接口的带 宽限制,最大的传输速率被限制为1 1 9 2 k b p s l 7 j 。虽然这一通讯速率可以满足目前拨号 和i s d n 服务的需要,但是r s 2 3 2 接口贫瘠的性能已经不能适应目前飞速发展的高速接 入技术对带宽的需求。通过有线电视网、x d s l 等技术进行网络接入,使得基于u s b 接口的调制解调器具有很大的发展空间。 u s b 2 0 规范支持最大4 8 0 m b p s 的传输率,完全可以胜任视频处理和输入设备的应 用【吼。视频图像的获取需要利用视频采集卡完成模拟图像信号到数字图像信号的转换, 并把变换后获得的数字信号存储到计算机内 9 】。目前的视频采集设备基本上采用p c i 接口卡的形式,而视频信号要求严格的实时性,由于p c i 总线带宽一定,如果同时有 多个设备申请总线的控制权,就会引起总线的竞争。u s b 总线可以为同步数据流提供 预定的独占带宽,从而可以保证处理的实时性i l 。 除了作为p c 外设接口的应用,u s b 总线还被应用到数据采集、测试、测量等领域, 正成为多种新型应用的通用连接标准。u s b 总线支持即插即用、热插拔、总线供电等 特性使其在越来越多的领域得到应用,成为真正意义上的“通用”总线。 1 4 选题背景和主要研究内容 华中科技大学研制的s p c 系列程控交换实验系统已在各兄弟院校中得到了广泛的 使用。实验系统自身不带微处理器,由p c 作为控制台完成运算和控制的功能。目前实 验系统与p c 采用并行接口,不支持热插拔,并且可能存在与其他设备( 如使用并口的 华中科技大学硕士学位论文 打印机) 争用并口的情况。为了顺应计算机应用系统的发展趋势,研制使用u s b 接口 的改进产品势在必行。本文的研究背景主要基于程控交换实验系统的u s b 接口设计, 以及u s b 接口在v o i p 电话终端中的应用。本文结合这两个系统的应用经验,对嵌入式 u s b 应用系统的开发和设计作出了研究和探讨,重点论述了设备端和主机端的软硬件 实现方法,各章节的内容安排如下: 第1 章简述了u s b 协议的提出与发展,并介绍了课题背景及其意义: 第2 章简要介绍了u s b 协议的体系结构,分析了设计中用到的重要概念; 第3 章系统的阐述了u s b 设备端的总体方案、硬件电路设计和固件设计,并讨 论了提高u s b 接口传输速率的方法; 第4 章论述了u s b 设备的主机端软件设计,包括驱动程序设计和客户端应用程 序设计,着重论述了w d m 类型的u s b 驱动程序的开发过程; 第5 章结合u s b 协议的最新发展分析了u s b 总线的应用前景; 结束语部分对嵌入式u s b 应用系统的开发和本文作出了总结。 华中科技大学硕士学位论文 2u s b 体系结构分析 u s b 是一种电缆总线,支持在主机和各种即插即用外设之间进行数据传输。由主 机预定的标准协议使各种设备分享u s b 带宽,当其它设备和主机在运行时,总线允许 添加、设置、使用以及移除外设。u s b 协议基于即插即用和设备插架技术,是一种基 于管道模型的软硬件协议,摒弃了一般外设协议的端1 3 映射方式,从而有效的避免了 i o 冲突。下面针对u s b 协议的体系结构进行简要分析。 2 1u s b 系统描述和总线协议简介 2 1 1u s b 系统的组成 根据功能划分,一个u s b 系统可以描述为三个部分,g p 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 ) u s b 互连 u s b 互连是指u s b 设备与主机之间进行连接和通信的操作,主要包括以下几个方 面:总线的拓扑结构,b p 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 物理互连是一个分层次的星型 拓扑结构,而h u b ( 集线器) 是每个星型的核心,每条线段采用点到点的连接方式, 连接主机和集线器或其功能部件,或者连接集线器和集线器或其功能部件【l “。u s b 总 线的拓扑结构如图2 1 所示。 ( 2 ) u s b 主机 u s b 主机是整个通信模式的核心,是整个u s b 系统的管理者。u s b 主机就像交通 警察一样控制和调度连接到端口的全部设备的活动。这种模式称为基于主机的通信模 式。u s b 主机是整个u s b 系统中唯一需要系统资源( 主机存储器、i o 地址空间、i r q 等) 的部分,而u s b 设备不再需要映射到相应的主机存储器和i o 地址空间,也不需要 m q 。 在任何u s b 系统中只有个u s b 主机。主计算机系统上的u s b 接口称为主控制器 华中科技大学硕士学位论文 ( h o s tc o n t r o l l e r ) ,主控制器是通过硬件、固件和软件来共同实现的。根集线器被集 成到主机上,用来提供一个或者多个接入点。 u s b 主机控制器借助它的根集线器或者集线器初始化所有的事务,每一毫秒初始 化一帧的开始( s o f ) 。s o f 产生后,通信事务就在主机和h u b # 设之间产生。 h o s t ( r o o tt i e r ) t i e r 4 图2 - 1u s b 总线的拓扑结构 ( 3 ) u s b 设备 u s b 设备通常有两种,其中集线器负责提供额外的接入到u s b 系统的连接点,而 功能设备为系统提供某种特定的功能,比如i s d n 连接器、数字游戏杆、扬声器等。现 在出现了第三种设备,集成了前两者的功能,既可以提供额外的接入点,又能完成一 定的功能,如某些带u s bh u b 的键盘、显示器等 1 3 l 。 2 1 2 总线协议 u s b 总线属于一种轮询方式的总线,主控制器负责初始化所有的数据传输。每个 总线事务的执行动作最多包括三个信息包( 令牌包、数据包和应答包) 的传输。主控 制器按照传输前制定的原则,在调度的基础上开始发送一个u s b 包,此时总线事务开 始进行。这个包描述了事务的类型和方向、u s b 设备地址和端点的数目,称为令牌包。 j s b 设备通过对相应的地址字段进行解码来进行自身的地址选择。在一个给定的事务 中,数据要么从主机流向设备,要么从设备流向主机,数据的传输方向在令牌包中指 定。然后,发送端开始发送包含信息的数据包或表明没有数据传输,而接收端也要相 华中科技大学硕士学位论文 应的发送一个握手的数据包表明是否传输成功。在主机和一个设备上的端点之间的 u s b 数据传输模型称为一个管道( p i p e ) 。管道具有一些有用的信息,包括数据带宽、 传输服务类型、以及一些端点的信息( 方向和缓冲区大小) 【l 4 1 。 大多数管道当一个u s b 设备被配置后才存在,而u s b 协议中存在一个特殊的管道 缺省控制管道。它属于消息管道,只要相应设备上电后就一直存在,从而为设备 的配置、状态查询和输入控制信息提供入口。 事务诃度允许对流管道进行流控制,从而在硬件级上防止了对缓冲区的高估或低 估。在硬件层,通过使用一个n a k 握手包来阻止对缓冲区的读写,从而停止当前的数 据传输。当收到n a k 包时,只要总线可用,该事务会一直重试。这种流控制机制允许 多种流管道同时运行,所以多重流管道可以用不同的时间间隔和包大小进行服务。 2 2 u s b 数据流模型及其应用分析 2 2 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 总线上传输,由主机控制器协调何 时通过总线访问传输数据。关于端点和管道的分析如下。 ( 1 ) 设备端点 端点是u s b 设备唯一的可识别部分,是主机和设备间通信流的结束点。一系列相 互独立的端点一起构成了u s b 逻辑设备。每个逻辑设备具有唯一的地址,在设备连接 到主机时由主机分配。设备中的每个端点在设备内部有唯一的端点号,在设备设计时 由开发者指定。每个端点都是一个单向的连接点,支持数据流入或者流出设备。端点 的特性决定了它与客户端软件进行传输的类型,应在设计时指定,包括端点的总线访 问频率要求、总线延迟要求、带宽要求、端点号、数据包的最大长度、端点的传输类 华中科技大学硕士学位论文 型和方向等信息。 u s b 设备需要一种缺省的控制方法,该方法将端点0 既作为输入又作为输出端点, 通过缺省控制管道初始化并配置u s b 设备。设备一旦连接至i j u s b 总线并上电,在收到 一个总线复位命令后,就可以对端点0 进行访问。而对于非o 端点,只有在成功配置之 后才能使用。 ( 2 ) 管道 u s b 管道是建立在u s b 设备的端点与主机软件之间的某种联系,管道代表了借助 缓冲区在主机软件和设备的某个端点之间传输数据的能力。在u s b 系统中,有两种类 型的管道,它们是流管道( s t r e a m p i p e ) 和消息管道( m e s s a g e p i p e ) 。 流管道从总线事务的数据包中获得数据,并且该数据不具有u s b 所定义的结构。 数据流从一个流管道的一端流入,从另一端流出。在整个通信流中,流管道始终是单 向的。 消息管道和流管道有很大的不同,消息管道允许数据流在同一个管道的两个方向 上发生,并且传输的数据具有特定的结构【1 5 。缺省控制管道( 包含端点o ) 就是一个 消息管道。 2 2 2 传输方式 一个给定的u s b 设备的每一个端点均有其各自的特性,这些特性规定了访问这些 端点的方式,其传输特性和应用程序的要求密切相关。u s b 规范定义了四种传输类型, 反映了u s b 设备端点可能要求的传输性质。 u s b 既可以支持非实时的数据类型,如打印、文本或图像传输;也可以支持实时 的数据类型,如语音和视频信息。下面介绍四种传输类型,并分析其应用场合。 ( 1 ) 控制传输 控制传输属于双向传输,它把非周期性的由主机软件发起的请求可靠的传送给 u s b 设备,经常在设备配置中使用,用于命令事务和状态事务。控制传输恒定占用总 线1 0 的带宽,每个控制数据包最大为6 4 字节,带有c r c 校验的功能。 ( 2 ) 块传输 块传输可以是单向或者双向的,特别适合非周期性大数据包的可靠传输,典型的 应用是用来传输可以利用任何带宽的数据,而且当这些数据没有可用带宽时可以容忍 等待。它对准确性要求较高,最大数据包为6 4 字节,通常应用于绘图仪、打印机和可 移动存储器中。 华中科技大学硕士学位论文 ( 3 ) 中断传输 中断传输为这样一类设备设计:它们只传送或接收少量数据,而且并不经常传输, 但它们有一个确定的服务周期。中断传输要求通道的最大服务周期能够得到保证,而 且由错误引起的重发在下一服务周期进行。中断传输特别适合小规模数据、低速、低 延迟的应用场合,常用于鼠标、键盘这类低速设备。 ( 4 ) 同步传输 同步传输用于主机和设备之间周期性的、连续的通信,一般用于传送与时间相关 的信息。这种传输类型保留了将时间概念包含于数据中的能力。同步传输的最大数据 包可以为1 0 2 4 字节,它对实时性的要求超过对准确性的要求,因此不支持错误恢复【1 6 】。 同步传输特别适合数据采集和音频、视频传输的应用场合,如u s b 摄像头、v o i p 电话 终端等。 2 3 u s b 设备架构分析 开发u s b 设备必须了解其架构。u s b 设备可以划分为三层:底层是传送和接收数 据包的总线接口:中间层处理总线接口与不同端点之间的数据路由;顶层的功能由串 行总线设备提供,如鼠标、i s d n 接口等。本节描述u s b 设备中间层的通用属性,它们 由设备的特定功能部分通过总线接口与主机进行通信。 2 3 1 u s b 设备状态 ( 1 ) 主机可见的设备状态 表2 i y d 出了各种主机可见的设备状态之间的转化关系。需要注意的是,u s b 设备 会响应上行端口传来的一个复位信号进行复位操作,当r e s e t 信号完成的时候,u s b 设 备即复位成功。 ( 2 ) 总线枚举 当u s b 设备连接到主机或从主机移除时,主机启动总线枚举的进程,来识别并管 理设备状态的改变,操作过程如下: 首先,u s b 设备所连接的集线器通过其状态改变管道,向主机汇报该u s b 设备己 连上,主机通过询问集线器决定此次状态改变的确切含义。当主机得知新设备连上后, 等待至少l o o m s 使插入操作完成,设备电源稳定工作。然后,主机发出端口使能和复 位命令给相应的端口,集线器将发向端口的复位信号持续1 0 m s ,复位信号撤销后端口 随即有效。这时u s b 设备处于缺省状态,可对缺省地址产生响应。随后主机为设备分 q 华中科技大学硕士学位论文 配一个唯一的地址,设备转向编址状态。主机从设备读取配置信息,给设各一个配置 值,设备就完成配置,可以进行正常的工作。 设备被移除时,集线器同样会通知主机,断开设备连接从而使得设备连接的端口 无效。收到断开通知后,主机更新拓扑信息【l ”。 表2 1 主机可见的设备状态转化关系 连接加电缺省编址配置挂起说明 设备尚未连接至接口,其他特 否 性无关 设备已连接至接口,但未加电, 是否 其他特性无关 设备已连接至接口,并且已加 是是 否 电,但尚未复位 设备已连接至接口,已加电、 是是是否复位,但尚未分配地址,设备 在缺省地址处可寻址 设备己连接至接口,己加电、 是是是是 否 复位,并分配了唯一地址 设备己连接至接口,已加电、 是是是是是否复位,并分配了唯一地址,且 完成配置,设备功能可用 设备在至少3 m s 内探测不到总 是是是线活动,自动进入挂起状态, 设备功能不可用 2 3 2 u s b 设备请求 所有u s b 设备都必须响应主机通过缺省控制管道发来的请求。控制传输开始首先 完成一个s e t u p 事务,s e t u p 事务的数据包提供请求的细节,包括请求类型、请求对 象、数据长度等。表2 2 给出了u s b 规范定义的1 1 种标准请求代码,每种标准请求所对 应的s e t u p 数据包不尽相同,指定该请求所涉及的参数、请求对象( 设备接口端点) 、 d a t a 阶段的传输字节数以及传输数据。 表2 2 标准请求代码 b r e q u e s t 值 b r e q u e s t 值 g e t s t a t u s o g e j 二c i o n f i g u r a t i o n 8 c l e a r _ f e a t u r e 1 s e c o n f i g u r a t i o n 9 s e t _ f e a t u r e 3 g e t _ i n t e r f a c e l o s e z d d r e s s 5 s e t _ i n t e r f a c e l l g e t _ d e s c r i p t o r 6 s y n c h _ f r a m e 1 2 s e t _ d e s c r i p t o r 7 保留2 、4 华中科技大学硕士学位论文 开发u s b 设备时,必须严格按照规范中定义的标准请求结构来定义控制请求,无 论设备固件还是客户驱动程序都应按照这种标准结构进行操作【l 8 1 。 2 3 3 设备描述符 u s b 规范定义了用于描述u s b 设备硬件信息的标准描述符数据结构,这些数据结 构的定义只能由u s b 规范进行修改或扩充。表2 3 给出了描述符类型及其描述对象【l 9 1 。 其中,串描述符是可选的,配置和端点描述符不包括端点0 的描述符。 各种描述符的定义与操作将在第3 章中结合设备固件的设计进行详细说明。 表2 3 描述符类型 描述符类型描述对象 设备描述符整个设备 配置描述符设备的一个配置 接口描述符配置中的一个接口 端点描述符接口中的一个端点 串描述符一个u n i c o d e 串,该串用自然语言描述设各、配置、接口或端点 华中科技大学硕士学位论文 3u s b 设备端的实现与研究 u s b 规范定义t u s b 主机和u s b 设备两个实体。u s b 主机是p c 机主板上u s b 控制 器硬件与控制其工作的软件的集合,而u s b 设各是独立于p c 机的硬件和软件的集合。 目前的p c 架构和操作系统一般将主机端的u s b 主机控制器封装起来,因此u s b # b 设的 开发工作主要集中在设备端的实现,包括硬件设计和固件设计两部分。 3 1 基于e z - u s b 的系统方案设计 3 1 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 系统的传输能力,这个指标有助于 u s b 控制器的选择。 ( 1 ) u s b 系统传输能力分析与控制器选择 u s b1 1 规范规定全速设备的峰值传输速率为1 2 m b p s ( 即1 5 m b p s ) ,但由于实 际应用的限制和协议本身的开销,因此实际可用的最大带宽不可能达到1 2 m b p s 。影 响设备带宽的因素很多,主要有总线开销、比特填充、u s b 控制器等几个方面的原因。 u s b 规范为了支持数据传输必然有一定的总线开销,包括成包、帧开始、帧结束、时 钟调整、总线查询、控制传输所需的保留时间等。帧开始包在总线上传输用来确认每 个u s b 帧的开始,总共需要6 b t f ( 每帧传输的字节所占用的时间) ;帧结束包的目 的是确保帧的完整性,要占用2 b t f ;时钟调整主要与外部时钟有关,通常需要2 b t f : 集线器周期性的查询总线来确定是否有设备接入或移除,这种低频率发生的查询需要 约1 4 b t f ;控制传输占用1 0 的带宽,用来标识和配置新加入的设备。另外,由于 u s b 总线采用n r z i 编码,所以它采用比特填充技术来保证信号传输的可靠性。它在 六个连续的1 后插入一个0 ,这样,为了移动一定量的数据,比特填充最长需要占据 1 6 7 的总线时间,一般一个随机的块传输数据流占用0 8 的总线时间。 华中科技大学硕士学位论文 考虑开销时,应将协议开销考虑到最大,即考虑最坏的情况。这样,可以考虑一 个控制传输的情况,该传输分为建立阶段( 1 4 字节开销) 、数据传输阶段( 1 4 字节开 销) 、零字节状态字段( 1 4 字节开销) 三个部分。由于总线时间中的1 0 用来提供控 制信息,因而只有9 0 的总线时间用于传输有效数据。这样,数据字节数为 1 5 0 0 0 9 1 4 x 3 = 1 3 0 8 ( 每帧最大字节数为1 5 0 0 字节) 。一个给定帧的开销通常小于 这个值,因为实际中并没有上面分析中假设的这么多时钟调整、集线器查询和控制传 输的事务。 根据带宽选择u s b 控制器首先需要分析带宽分配的问题。带宽分配分为确认传 输和非确认传输两类,确认传输方式( 包括同步和控制传输方式) 中总线必须预先分 配带宽来确保传输的进行,而非确认传输( 包括中断和块传输方式) 方式中总线只利 用现有的带宽而无需事先预留带宽。分析确认传输方式估算其带宽需求应假设最大的 比特填充,这样可以确保传输成功;而分析非确认传输方式估算其带宽需求应假设随 机数据流的比特填充,因为菲确认传输方式具有出错重传的机制。如果不考虑协议开 销,最大比特填充占用2 1 8 字节,这样u s b 总线所能提供的最大带宽为 1 3 0 8 2 1 8 = 1 0 9 0 字节。而这种情况下设备需要的最大带宽为9 1 8 字节,因此u s b 协 议从理论上可以满足带宽性能的要求。 通过以上的分析可以看出,对于一个单独的u s b 设备,u s b1 1 规范能提供的最 大有效带宽仅为1 0 9 m b p s ,而不是1 5 m b p s 。影响u s b 传输带宽的不仅仅是总线和 位填充,u s b 控制器的性能也是重要的因素。u s b 控制器中的两个硬件因素会对带 宽产生影响,即i o 流量和端点配置。由于i o 流量通常是确定的,因此起主要作用 的是端点大小对带宽的影响。式( 3 - 1 ) 分析了设备带宽的计算,便于进行u s b 控制 器的选择。 b w = e p x i n t b p f | 蛔h + e p 巩忪 ( 3 1 ) 式( 3 - 1 ) 中,b w 表示可提供的带宽( m b p s ) ,e p 表示端点大小( b y t e s ) ,b p f 为每 帧的字节数( b y t e s ) ,o h 为开销占用的字节数( b y t e s ) 2 0 1 。根据式( 3 1 ) 可以方便 的确定u s b 控制器所能提供的最大带宽,如果大于外设所需的带宽,即可满足应用 系统的要求。 目前,市场上可供选择的u s b 控制器主要有两种:带u s b 接口的单片机( m c u ) 和单纯的u s b 接口芯片。带u s b 接口的单片机从应用上又可以分为两类,一类是从 1 3 华中科技大学硕士学位论文 底层设计专用于u s b 控制的单片机,比如c y p r e s s 公司的c y 7 c 6 3 4 1 3 ( 低速) 和 c y 7 c 6 4 1 1 3 ( 全速) ,但由于开发工具和控制器性能有限,所以不予选用。另一类是 增加了u s b 接口的通用单片机,例如i n t e l 公司的8 x 9 3 1 ( 基于普通8 0 5 1 内核) 和 8 x 9 3 0 ( 基于高速增强型8 0 5 l 内核) 、c y p r e s s 公司的e z u s b 。选用这类u s b 控制 器的最大好处在于开发者对控制器的系统结构和指令集非常熟悉,不需要专用的开发 工具,但是对于简单系统或者低成本系统,控制器的价格偏高。 单纯的u s b 接口芯片仅处理u s b 通信的底层协议,它可以认为是一个s i e ( 串 行接口引擎) ,用来完成主机到设备之间的格式转化、数据包的p i d 解码、c r c 校验 和比特填充等功能,还需要个外部处理器来进行协议处理和数据交换,典型的代表 有p h i l i p s 公司的p d i u s b d l l ( 1 2 c 接口) 和p d i u s b d l 2 ( 并行接口) 、n a t i o n a l s e m i c o n d u c t o r 公司的u s b n 9 6 0 2 9 6 0 3 ( 并行接口) 等。这一类u s b 接口芯片的主要 特点是价格便宜、接口方便,可靠性高,但由于外部需要处理器控制,较之带u s b 接口的单片机来说硬件电路要复杂一些【2 l l 。 综合前文的分析,比较上述各种因素,并考虑未来升级的需要,最终选择了c y p r e s s 公司e z u

温馨提示

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

评论

0/150

提交评论