(通信与信息系统专业论文)基于usb20接口的虚拟仪器研究.pdf_第1页
(通信与信息系统专业论文)基于usb20接口的虚拟仪器研究.pdf_第2页
(通信与信息系统专业论文)基于usb20接口的虚拟仪器研究.pdf_第3页
(通信与信息系统专业论文)基于usb20接口的虚拟仪器研究.pdf_第4页
(通信与信息系统专业论文)基于usb20接口的虚拟仪器研究.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

摘要 本文的研究工作为基于u s b 2 0 接口的虚拟仪器研究。u s b ( 通用串行总线) 接口广泛应用在各种p c 外设中,2 0 0 0 年发布的u s b 2 0 标准提供了4 8 0 m b p s 的 传输速率,为高速设备的应用提供了可能。随着计算机的功能越来越强大,虚拟 仪器( v i r t u a l n s t r u m e n l ) 技术也正在飞速发展,结合u s b 2 0 接口和虚拟仪器构 成新型仪器获得了新的发展空间,本文在这一研究中取得了很好结果,主要研究 成果如下: 1 ) 提出了一种基于p c 机和u s b 总线接口电路实现虚拟仪器的软、硬 件系统方案。 2 ) 研制了一种用于高速数据采集的u s b 2 0 接口电路板,采用e z u s b f x 2 作为设备端控制器,其a d 变换的最高速率可达6 0 m h z ,采样 数据能以2 4 0 m b p s 的速率实时传输到p c 机中。 3 ) 完成了u s b 控制器的固件程序、动态链接库程序和l a b v i e w 测试程 序的编写和调试,并将整个系统成功联调,实现了一种基于p c 机和 u s b 2 0 接口电路的虚拟仪器原型。 关键词:u s b2 0 虚拟仪器e z - u s bf x 2 固件 a b s tr a c t t h i st h e s i s1 n v o l v e s d e v e l o p m e n to fv i r t u a li n s t r u m e n t sb a s e do nu s b2 0 i n t e r f a c eu s bi n t e r f a c eh a sf o u n dw i d ea p p l i c a t i o n si nv a r i o u sp e r i p h e r a le q u i p m e n t o fp c u s b2 0s p e c i f i c a t i o ni s s u e di n2 0 0 0c a l lp r o v i d eas p e e do f4 8 0m b p s ,w h i c h e n a b l e sa p p l i c a t i o n so fh i g hs p e e de q u i p m e n t w i t ht h ed e v e l o p m e n to fc o m p u t e r t e c h n o l o g y , v i r t u a li n s t r u m e n t ( v 1 ) b a s e do np cc o m p u t e rh a sm a d eg r e a tp r o g r e s s t h e r e f o r e ,c o m b i n a t i o no fu s b2 0i n t e r f a c ea n dv is h o u l db eav e r yp r o m i s i n gi d e a t h ea u t h o rh a sg o tg o o dr e s u l t si ns u c hr e s e a r c h ,a n dt h em a i nc o n t r i b u t i o n sa r e a s f o l l o w s 1 ) as c h e m et or e a l i z ev i r t u a li n s t r u m e n tb a s e do nap cc o m p u t e ra n du s b i n t e r f a c ec i r c u i tb o a r di sp r o p o s e d ,i n c l u d i n gd e s i g na n di m p l e m e n t a t i o no f i t sh a r d w a r ea n ds o f t w a r e 2 ) a h i 曲s p e e dd a t aa c q u i s i t i o nc i r c u i tb o a r dw i t hu s b 2 0i n t e r f a c ea n d e z u s bf x 2a s e q u i p m e n tc o n t r o l l e ri sd e v e l o p e d , w h o s em a x i m u m s a m p l er a t ec a nr e a c h6 0m h z a n dw h o s er a t eo f t r a n s f e r r i n gs a m p l ed a t at o t h ep cc o m p u t e rc a nr e a c h2 4 0 m b p s 一 。 3 、t h ea u t h o rs u c c e e d e di n d e v e l o p i n g a ni n i t i a l p r o t o t y p e o fv i r t u a l i n s t r u m e n t ,i n c l u d i n gp r o g r a m m i n ga n dd e b u g g i n g o fu s b2 0 m i c r o c o n t r o l l e rf i r m w a r e ,d y n a m i c l i n kl i b r a r y ( d l l ) ,a n dl a b v i e w p r o g r a m s ,a sw e l lt e s t i n gt h ew h o l es y s t e m k e y w o r d :u s b2 0 v i r t u a li n s t r u m e n te z u s bf x 2f i r m w a r e 创新性声明 y6 9 5 4 5 2 本人声明所呈交的论文是我个人在导师的指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中 不包含其它人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学 或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志所做的任何 贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 关于论文使用授权的说明: 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印、或其它复制手段保存论文。( 保密的论 文在解密后遵守此规定) 本人签名:墨盔整 日期: 三! 堕! :堡 导师签名 第一章绪论 第一章绪论 1 1 研究工作的背景及意义 虚拟仪器能够满足特定的开发测量需要,并且可以通过较低代价的硬件和软 件升级实现相当复杂的信号处理功能,能够以较低的成本、较小的体积实现配景 灵活的智能仪器组合。 通用串行总线( u n i v e r s a ls e r i a lb u s ,简称u s b ) 从诞生后发展到今天,己将 近十年。伴随着计算机技术的迅猛发展,u s b 协议从1 1 过渡到2 0 ,作为其最 重要指标的设备传输速度也从1 5 m b s 的低速和1 2 m b s 的全速提高到如今的 4 8 0 m b s 的高速。毫无疑问的是,u s b 已经占领了p c 及其外设的市场。 将u s b 功能与虚拟仪器相结合,将会产生更高的数据传输率、更方便的使用 方式,更为优越的体现出虚拟仪器的性能。 1 2 相关研究工作的发展动态 1 2 1 虚拟仪器的发展过程及现状 众所周知,测量是人类认识自然、改造自然的一种手段,通过测量人们可以 对客观世界取得定量的信息,仪器是测量中必不可少的工具。电子测量仪器是利 用电子学的理论和技术对电量和非电量进行观察和测量的装置和系统。随着电子 技术的发展及其在各方面的广泛应用,对于测量和仪器提出了更高的要求,测试 项目和范围与日俱增,测试精度和测试速度要求急剧提高。七十年代咀来,是电 子测量仪器领域发生飞跃变化的年代,微计算机的问世和大规模集成电路的发展 对这一领域产生了革命性的影响。在测试系统中,对仪器的“智能”要求越来越 高,仪器中微机的任务不断加重,这使得仪器在很多方面逐渐向微计算机靠拢。 虚拟仪器的概念是1 9 8 6 年由美国国家仪器公司( 以下筒n i 公司) 首先提出 的。所谓虚拟仪器就是利用现有的计算机,加上特殊设计的仪器硬件和专用软件, 形成既有普通仪器的基本功能,又有般仪器所没有的特殊功能的高档低价的新 型仪器。它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱 分析仪等;还可集成于自动控制、工业控制系统,可自由构建成专有仪器系统。 虚拟仪器系统可以广泛地应用在通讯、自动化、半导体、航空、电子、电力、生 化制药、和工业生产等各种领域。无论哪种虚拟仪器系统,都是将仪器硬件搭载 2 基- pu s b2 0 接口的虚拟仪器研究 到笔记本电脑、台式p c 或工作站等各种计算机平台( 甚至可以是掌上电脑) 加上应 用软件而构成的。虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展 的最新方向和潮流,是信息技术的一个重要领域,对科学技术的发展和工业生产 将产生不可估量的影响。 从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器的三个 阶段。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而 把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩 小了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。 与传统仪器相比,虚拟仪器的特点【2 j 在于: ( 1 ) 打破了传统仪器的“万能”功能概念,将信号的分析、显示、存储、打印 和其它管理集中交由计算机来处理。由于充分利用计算机技术,完善了数据的传 输、交换等性能,使得组建系统变得更加灵活、简单。 ( 2 ) 强调“软件就是仪器”的新概念,软件在仪器中充当了以往由硬件甚至整 机实现的角色。由于减少了许多随时间可能漂移、需要定期校准的分立式模拟硬 件,加上标准化总线的使用,使系统的测量精度、测量速度和可重复性都大大提 高。 一 ( 3 ) 仪器由用户自己定义,系统的功能、规模等均可通过软件修改、增减,可 方便地同外设、网络及其它应用设备连接。虚拟仪器通过提供给用户组建自己仪 器的可重用源代码库,处理模块间通讯、定时、触发等功能,强调在通用计算机 平台的基础上,通过软件和软面板,把由厂家定义的传统仪器转变为由用户定义 的,由计算机软件和几种模块组成的专用仪器。虚拟仪器的出现,彻底打破了传 统仪器由厂家定义、用户无法改变的模式,给了用户一个充分发挥自己能力和想 象力的空间。 ( 4 ) 鉴于虚拟仪器的开放性和功能软件的模块化,用户可以将仪器的设计、使 用和管理统- - n 虚拟仪器标准,使资源的可重复利用率提高,系统组建时间缩短, 功能易于扩展,管理规范,使用简便,软、硬件生产、维护和开发的费用降低。 虚拟仪器既可以作为单台数字式测试仪器使用,又可以构成较为复杂的测试系统, 甚至通过高速计算机网络构成分布式测试系统,进行远程监控及故障诊断。此外, 用基于软件体系结构的虚拟仪器系统代替基于硬件体系结构的传统仪器,还可以 大大节省仪器购买、维护费用。 虚拟仪器的开发厂家,为扩大虚拟仪器的功能,在测量结果的数据处理、表 达模式及其变换方面也做了许多工作,发布了各种软件,建立了数据处理的高级 分析库和丌发工具库( 例如测量结果的谱分析、快速傅立叶变换、各种数字滤波器、 卷积处理和相关函数处理、微积分、噪声发生、回归分析、数值运算、时域和频 域分析等1 ,使虚拟仪器发展成为可以组建极为复杂自动测试系统的仪器系统。 筇一章绪论 1 2 2u s b 总线技术发展过程及现状 当今的计算机外部设备,都在追求高速度和高通用性。为了满足用户的需求, 以i n t e l 为主,并由c o m p a q ,h e w l e t tp a c k a r d ,i n t e l ,l u c e n t ,m i c r o s o f t ,n e c 和p h i l i p s 这7 家厂商共同制定了串行接翻u s b 总线协议,于1 9 9 4 年n 月铡定了第一个草 案,1 9 9 6 年2 月公布u s b 规范版本l ,0 ,2 0 0 0 年4 月发布u s b2 0 标准规范p j 。 u s b 总线协议支持最多5 个h u b 级联,可把多达1 2 7 个外设同时连接到你的系统 上,所有的夕 设通过协议来共享u s b 总线的带宽。目前,u s b 端口已成为了微 机主板的标准端口,使用中豹u s b 协议有1 0 ,1 1 和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 b2 0 协议中提出 了u s bo t g 4 ( o nt h eg o ) 的概念,为u s b 的嵌入式控制1 5j 提供了广阔的前景。u s b o t g 技术解决了以往u s b 设备不能脱离p c 机丽运行的矛盾,使得嵌入式设备能 与u s b 设备直接进行点对点通讯。u s b 总线主要的优点是速度快、功耗低、支 持即插即用( p l u g & p l a y ) 和使用维护方便。 u s b2 0 将设备之间的数据传输速度增加到了4 8 0 m b p s ,是u s b1 1 标准的 4 0 倍。u s b2 0 可以使用原来u s b 定义中同样规格的线缆,接头的规格也完全相 同。而且新的符合u s b2 0 规格的设备不会和u s b1 x 设备在共同使用的时候发 生任何冲突。新的v i a 芯片组和i n t e l ,a m d ,s i s ,a l l 都已经在新产品中力入了 对u s b2 0 的支持。软件方面,w i n d o w s9 8 全面提供了对u s b l x 的支持,而 w i n d o w sx p 全面提供了对u s b2 0 的支持,在l i n u x ,m a c o s ,b e o s ,w i n c e 等操作系统中,对u s b2 0 都有了相关的软件支持或者系统程序包。随着u s b 总 线技术在计算机外设中的广泛应用,以u s b o t g 为背景的嵌入式u s b 应用也被 提到议事日程上来了。u s bo t g 技术解决了u s b 总线技术在嵌入式环境中应用 时点对点通讯的问题。现在c y p r e s s ,p h i l i p s ,n e c 等公司都推出了很成熟的u s b o t g 芯片组,u s bo t g 技术将很快普遍应用起来。 1 , 2 3u s b 总线技术在虚拟仪器中的应用 u s b 总线以其方便、快速、支持即插即用、份廉等优点,必将在虚拟仪器 方面有着广泛的应用。而我国在虚拟仪器方面的研究开发比较滞后,国内的虚拟 仪器市场都由hp n i ,t e k 等国外公司占据。因此,加快虚拟仪器的研制开发有着 广阔的市场静景,也是刻不容缓的任务。u s b 总线的出现,为我们研制虚拟仪器 开辟了另一条道路。低成本、普及型的便携式虚拟仪器在我国科研机构、大中专 院校、中小企业旱有着广阔的应用前景。 基丁u s b2 0 接口的虚拟仪器研究 1 。3 研究工作的丰要内容 本文的研究工作主要是基于u s b2 0 接1 2 1 的虚拟仪器的系统实现方法。分为 以下几个部分: l ,设计完成u s b2 0 接口的数据采集板,包括前端的a d 采样,c p l d 通路 选择,u s b 控制接口部分。 2 ,开发u s b 接口控制器的固件程序,完成u s b 接口的枚举、批量传输的实 现。 3 编写虚拟仪器的应用程序,利用接口函数调用动态链接库程序,在动态链 接库程序中实现硬件和l a b v i e w 程序的通信。 本论文共分五章,各章内容安摊如下: 第一章为绪论,简要介绍本文研究工作的背景及其应用、目的和意义。 第二章详细介绍u s b 总线体系结构,并比较u s b2 0 接口对u s b l x 的改进, 给出了系统设计中需要注意的问题。 第三章描述了所选用的u s b 总线设备端控制器e z u s bf x 2 的芯片结构特 点,给出了配置方式。 。 第四章给出系统设计方案,包括硬件系统框图,底层固件的设计实现,动态 链接库程序的设计,l a b v i e w 程序和底层硬件的通信方法等。 第五章给出了系统调试方法及运行结果。 结束语部分对本文的研究内容进行了总结,并指出了进一步研究的方向。 蒴一章u s b20 总线体系 第二章u s b2 0 总线体系 本章首先奔绍了u s b 总线规范提出的背景,然后研究了u s b 通信流程,分 析了四种传输类型,并对比u s b2 0 相对于u s b1 x 的改进。 2 1u s b2 0 标准的提出 近年来p c 机性能显著提高,有能力处理巨量数据,与此同时外围设备的性 能提高,功能性增强。用户诸如数字图像的需求导致需要p c 和同益成熟的外设 之间的高性能总线连接,这就是u s b 2 0 产生的客观背景。u s b 2 0 在原有1 2 m b s , 1 ,5 m b s 的基础上增加了4 8 0 m b s 的第三种传输速率。u s b2 0 是u s b 的自然演 进,增加所需带宽的同时保留了u s b 总线的初衷,并且和现有外围设备完全兼容。 2 2u s b 通信流程 u s b 系统提出了一些重要的概念和特征来支持现代计算机所提出的可靠性 要求,u s b 的分层结构能使不同层次的实现者只关心相关层次的特性功能细节, 而不必掌握从硬件结构到软件系统的所有细节。u s d 的这种层次结构翔图2 1 所 不。 主机 互连物理设备 忙羔 斗一一一 l 一川 功能屡 1 i r u s e r 系统软件 胡 u s b 逻辑最备 t u s i i 砒备壕 圭j l 一生:! ? l i l 屿。总线接矗 u s b 总线接 _ jj 层 _ _ _ _ _ - _ 一 吠际强情流 辱盘磷数鼬黼嚣囊鞭臻器鬈;攀鸯 逆辑地信流 幽21u s b 十机端和设备端通信幽解 6基ru s b2 0 接口的虚拟仪器研究 如图2 】所示,台主机与一个u s b 设备间的连接是l b 许多层上的连接组成。 u s b 总线接口层提供了在主机和设备之间的物理连接、信令信号和数据包连接。 u s b 设备层对u s b 系统软件是可见的,系统软件基于它所见的设备层来完成 般的对设备的u s b 操作。功能件( 应用层) 可以通过与之相配合的客户软件向主 机提供一些额外的功能。u s b 设备层和应用层的通信是逻辑上的,对应于这些逻 辑通信的实际物理通信由u s b 总线接口层来完成。 i 通道:两个水平实体之间连接 数据传递机制 u s b 拥芙的形式的数据侍辅 图2 2 主机端和设备端通信详解 更为深入的通信流程如图2 2 所示,对客户与应用间不同的交互,u s b 设备 对数据流有不同的要求。u s b 为此提供了更好的总线利用率,它允许各种不同的 数据流相互独立地进入一个u s b 设备。每种通信流都采取了某种总线访问方法来 完成主机上的软件与设备之间的通信。每个通信都在设备一h 的某个端点结束。不 同设备的不同端点用于区分不同的通信流。 一个u s b 逻辑设备对u s b 系统来说就是一个端点集合,端点可以根据它们 史现的接| _ | 来分类。u s b 系统软件通过一个缺省的控制通道来管理设备,而客户 第章l s b2 0 总线体系7 软件用管道束管理接l _ 。管道柬的一端为瑞点,一端为缓冲区。客户软件要求通 信数据在主桃上的+ 个缓冲和u s b 设备上的一个端点之问迸行,主视控制器或 u s b 设备( 取决于数据传输方向) 将数据打包后在u s b 上传。由主机控制器协调何 时用总线访问在u s b 上传递数据。 2 3 四种数据传输类型 u s b 体系结构支持4 种最基本类型的数据传输1 7 ( 一个管道仅支持一种类型) : 】控制传输 主要用于在连接时刻配置一个端口。 凰画圆s 脚e - f u p 圃 凰圃圆 d a 丁a s t a g e 如p 矗o n a l ) s t a t u s s t a q e 图2 3 控制传输( c o n t r 0 1 ) 控制传输的特点:保证准确性,用于配置和控制,所有设备都有控制端点0 。 2 批量数据传输, 用于相对大量的数据传输,批量数据传输是有序的、可靠的( 通过错误检测和 少量的重发) 、占用的带宽可变,应用于打印机和扫描仪等。 圜圆圆圜圆圆 图2 4 批量传输( c o n t r o l ,i n 和o u t 两种) 批量传输的特点:保证准确性,不保证传输时延,刹用u s b 的重发机制,高 速模式下最多可在一个数据包传输5 1 2 字节,多用于需要防错的设备。 3 中断数扼传输 用于实时但可靠的数据传输,例如同显或反馈响应。 基j 。u s b2 0 接口的虚拟仪器明宄 囤团圆 圈2 5 中断传输( i n t e r r u p t ) 中断传输的特点:和批量传输类似,传输发生在固定的周期间隔( 以帧为单 位) ,用于周期性查询设备状态。 4 同步数据传输 占用大量的u s b 带宽( 也称为流实时传输) ,同步数据的实时传输通过牺牲数 据流上的潜在短暂丢失来确保,同步传输是持续的、实时的、速率稳定的,同步 数据的典型是视频、音频信号。 囤一 图2 6 同步传输( i s o ) 同步传输的特点:保证传输时间不保证准确性,没有蘑发,高速模式端点 允许最大每包1 0 2 4 字节,用于实时信息传输。 一 2 4u s b2 0 对比u s b1 x 的改善 2 0 0 0 年4 月u s b2 0 版本被推出,它的最高速率可达4 8 0 m b p s ,是u s b l 1 协议的4 0 倍。新版本中的最大变化是传输速率的大幅提高。u s b1 x 支持两种总 线速率:全速( 1 2 m b p s ) 和低速f 1 5 m b p s ) 。低速速率主要针对那些低消耗的设备, 例如鼠标、键盘等,它们需要使用柔软的电缆( 没有良好屏蔽) 。u s b2 0 增加了一 种更高速的总线速率:高速( 4 8 0 m b p s ) ,这个飞跃使该接口可以面向更多的应用。 当然,总线的速率并不等于设备真正传输数据的速率。数据传输速率要根据总线 的繁忙程度、以及它所使用的数据传输类型( 4 种类型:控制传输,批量传输,中 断传输,同步传输1 乘定。在最好的情况下,高速的批量传输的传输速率可以达到 5 3 m b p s ,这时它占用将近9 0 的带宽。下面对u s b2 0 协议改善部分作详细阐述, 用以阐明u s b2 0 协议是如何提高数据传输速率的,以及为提高传输速率在描述 符、集线器上所作的改进,并讲解新的u s b 设备开发需要注意的问题【l ”。 2 4 1 微帧和u s b2 0 集线器 尽管u s b2 0 总线i 叮以提供高速的数据传输,但它仍允许用户在高速传输时 第一章u s b2 ,o 总线体系 9 使用低速和全速两种传输的设备。在一个全速的总线上,总控制器将总线上的时 间h 分为长度为】m s 的帧,每帧使用作为时间参考的s o f ( s t a r t o f - f r a m e ) 包丌始, 在每一帧内,主机安排传向多个目的的多个传输。每个传输包括将使用的缓存的 端点地址,在多数传输类型中,信息在两个方向上传输,主机开始事务,从主机 或到主机的数据传输,并且接收返回的状态信息。对于高速传输,主机将每个l m s 的帧分为8 个微帧( 每个帧从s o f 包开始) 。每个微帧能够携带到达多个地址的 多个传输。简全速相比较,单个事务能够携带更多的数据,协议的加强使总线在 各种速率时的适应都更加有效。 集线器能够增加外设的端口数。一个典型的集线器可以有一个根集线器相连 的上游端口以及最多7 个连接外设或其它集线器的下游端口。一个支持u s bi x 协议的集线器支持全速和低速的数据速率,但是不能实现速率转换;它通过传输, 仅仅改变边沿速率来匹配目的速率。如图2 6 所示:一个u s b2 0 集线器则相当 于一个远程处理器,可以根据需要实现从高速到低速或全速的转换。集线器的智 能使得高速总线继续同u s b1 x 的设备兼容。同时它也意味着u s b2 0 比u s b1 x 的集线器要复杂。 2 畦帆扫 艇班鳗答 薪r 8 获两i 列举时被辩举为全蛙性埘垒速 晒 图2 7 u s b2 0 集线器拓扑图 当把一个设备连接到u s bi x 的集线器上时,集线器通过测量d + 和d 一信号 之间的电压来判断设备的速率。因为高速总线比低速和全速总线要快得多,高速 总线在实现速度的转换时使用了一些其它的技巧来避免总线的堵塞。当把一个 u s b2 0 集线器连接到u s b2 0 根集线器时,在这些集线器之间使用高速传输数 掘。为了减少信号的抖动,集线器反复同步接收高速数据,另一方面它不变地连 接到任何高速设备【8 】。 0 基丁u s b2o 接【_ : 的虚拟仪器研究 2 4 2 优化的传输议 u s b2 0 同u s blx 一样也支持4 种传输类型。控制传输应用于在主机列举 设备时或主机想要发送定义请求成接收相应的信息时。中断传输用于指示设备或 在空隙对需要传输数据的情况,这季孛情况需要有个传输的最大时延作保证。批 量传输应用那种想要尽可能快地传输数据但在总线忙时又可以等待的设备,例如 打印机、扫描仪等。同步传输用于那些需要实时传输的设备例如实时的音频、视 频等,这种传输需要保证传输的实时性。 除了具有高速传输速率以外,u s b2 ,0 在协议上也有改善适应高速传输的方 法,提出用于在高速总线上全速和低速传输的分裂传输。表2 1 比较了计算机在 低速、高速和全速时的4 种传输类型。速率提高有两个理由:每个事务的包的最 大数目增加了,一个事务中每顿拥有更多的数据包。因为每帧熊传输更多的数据, 所以高速控制传输也比以前更快了。 表2 1 进出高速端点最大数据传输速率( 单位:k b p s ) 传输类型低速全速高速 控制 2 48 3 21 57 8 2 中断o 86 42 45 7 6 批量不允许1 2 1 65 32 4 8 嗣步不允许 1 0 2 3 2 45 7 6 高速的批量和控制传输有一个更好的握手方法。在接收数据之后,一个设备 端点将通过握手返回个n y e t ( n o t y e t ) ,表示端点己经接收过数据了,但它没 准备好接收更多的数据。当主机认为设备可能已经准备好了之后,它将发送一个 p i n g 标志包,端点返回a c k ( n i j 应) 或n a k 来通知高速主机是否可以进行下次数 掘传输。 为了更有效地利用总线,高速传输的主机和集线器在和低速、全速设备间使 用了新的分裂传输。在低速和全速时,所有事务的包是依次进行的,在它们之间 没有其它的传输。例如,在接收过标志和数据包后,设备必须没有延时返回一个 预期的握手包。但是个高速的集线器,为了等待设备接收到标志和数据包,接 着作出反应,而浪费了大量的时间。解决的办法是将一个事务分成两部分:在高 速传输时,主机发送给集线器一个开始分裂标惠包( s t a r t - s p l i t ) ,并随之发送主祝在 事务中所要发送的数据。然后主机就被释放去处理其它的事务而无须等待这个事 务被完成。高速集线器通过翻译完成同低速、高速设备间的这个事务。然而,响 应并不是立刻通过集线器发送到主机,丽是将响应存储在缓存中。最后,主机发 送一个完成分裂标志包( e n d s p l i t ) 从集线器取走设备的响应。这样就完成了一次主 机同外设之叫的一个事务。 第一章l s b2o 总线体系 2 4 小书 本章首先介绍了u s b2 0 协议的初衷,然后分析了u s b 协议如何实现主机和 设备的通信流程,由此阐明设备开发的各部分工作在整体系统中的位置,最后给 出u s b2 0 标准为高速传输所做的改进。掌握一个全新的较为复杂的通信协议体 系,是本课题的一个难点,作者用较多的时间,达到了较深入的理解。 第二章u s b 总线控制器e z u s bf x 2 的芯片结构及配置方式 第三章u s b 总线控制器e z - u s bf x 2 的芯片结构及配置方式 本章给出系统所选用u s b 设备端控制芯片e z u s bf x 2 1 9 1 的结构特点,讲述 存取端点的配置,并对所选用的g p i f 接口配置方式进行详细阐述。 3 1e z - u s bf x 2 特点 c y p r e s s 公司推出的e z u s bf x 2 ( 芯片型号c y 7 c 6 8 0 1 3 ) ,是业界第一个支 持u s b2 0 同时向下兼容u s b1 + 1 规范的单片机,它既负责u s b 事务处理也兼具 微处理器的控制功能,是一款性能较高的u s b2 0 微控制器。 e z u s bf x 2 的单芯片内有u s b 2 0 物理层电路和基于该公司的e z - u s bf x 结构的8 0 5 1 单片机。用单片e z u s bf x 2 开发u s b 2 0 外设具有一定的优势,它 既考虑了要获得所需的高性能i o ( 输入,输出) ,又要保持4 8 0 m b s 的u s b 2 0 高 速率,优势体现在性能、灵活性和价格等方面。 f x 2 部件的特点之一是采用低价的8 0 5 1 单片机,仍然能获得很高的速度。 至于灵活性,则体现在u s b 2 0 的通用可编程接口( g p i f ) 能为特定的应用接口 编程。图3 1 所示为f x 2 方框图,它展示了芯片的集成特性。 广一 = = _ ;j l 厂_ 1 a d d i t i o n a i 0 s a d d i y g p i f t i d y ( 6 ) c t l ( 6 ) 4 k b ; f f 0 ,8 1 6 圈3 1e z - u s bf x 2 系统构成框图 其中集成的标准8 0 5 1 内核,具有下列增强特性 1 ) 可以达到4 8 m h z 时钟; 4基丁u s b2 0 接口的虚拟仪器研究 2 ) 每条指令占四个刚钟周期: 3 ) 两个u s a r t ; 4 ) 三个定时计数器; 5 ) 扩展的中断系统: 郇两个数据指针。 此外,u s b 的端点数据缓冲器以及从属f i f o ( 先入先出寄存器) ,现在都与 经典的f i f o 一样。该缓冲器可与c y p r e s s 智能u s b 2 ,0s i e ( 串行接口引擎) 相 连接。如图3 1 所示,数掘进入收发器后,通过s i e 直接转向f i f o ,然后,通过 8 或1 6 位数据路径,可与外部连接存取数据,这时在数据路径上没有单片机。为 了实现u s b2 0 的高速带宽,f x 2 的端点缓存和从属f i f o ( 实现和外部逻辑器件 或处理器按口的f i f o ) 集成在一起以取消内部数据传输时间。并且f x 2 的f i f o 有独特的“量子”特性”“,数据以u s b 分组大小为单位提交到f i f o ,丽不是每 次一个字节。对外来说,它看起来仍然像f i f o ,但代之以每次只传送1 个字或1 个字节为立即传送整个分组信息。端点缓冲器可通过固件设置为是双、三或四缓 冲器,与所需的数据量或灵活性有关。f x 2 的f i f o 的量子特性及可编程设置多 缓冲为满足u s b2 0 所需带宽提供保障。 一 f x 2 片上只有r a m 而无r o m ,由于固件是在f x 2 的r a m 中,所以能通过 智能串行接口引擎用u s b 线缆下载,实现所谓“软配置”,“软配置”提高了软 件的调试及升级速度。上电时,内部逻辑会检查连接到12 e 总线上的e e p r o m 中的第一个字节( 0 x c 0 或0 x c 2 ) 。如果是o x c o ,就会使用e e p r o m 中的 v i d p i d d i d 来替代内部存储值;如果是o x c 2 ,内部逻辑就会把e e p r o m 中的 内容装入到内部r a m 中;如果没有检查到e e p r o m ,f x 2 就会使用内部存储的 描述符来枚举。f x 2 缺省的v i d p i d d i d 是0 x 0 4 8 4 0 x 8 6 1 3 0 x x x y y 。当首次插 入u s b 时,f x 2 通过u s b 电缆会自动枚举且下载固件和u s b 描述符表;接下来, f x 2 再次枚举,这次主要通过下载的信息来定义设备。这髓个步骤就口q 做重枚举 旧,当设备插入时它们就立即执行。 因为u s b 2 0 是新的,有许多问题要考虑。下载给设计者提供了一种容易升 级的方法,在参数变化时,这是一个重要的优点,减少了风险和不确定性,有助 于加快开发速度。 3 2 1 端点缓存简介 3 2 端点缓存及其配置 u s b 协议定义了端点作为数据的接收器和发送器。主机发送4 个比特的地址 第二章u s b 薏g i , 线控制器e z u s bf x 2 的芯片绵构及配置方式 5 位和1 个比特的方向位来选择端点,因此u s b 最多可有3 2 个端点定义:i n o i n l 5 稻o u t 0o u t l 5 。 f x 2 定义了7 个端点,在高速模式下的端点缓存结构如图3 2 所示。 e p o i n o u t 、e p l i n 、e p i o u t 是6 4 字节的端点缓存。e p 0 是默认的控制传输 端点,既是i n 端点也是o u t 端点。e p l 斟、e p i o u t 支持批量、中断相两步传 输。e p o 、e p l i n 和e p l o u t 只能由f x 2 的固件访问;而e p 2 、4 、6 和8 无需固 件干涉即可同片外互传高速数据【】3 1 e 】n t 二匝 二匝 要 二匝 :匹 二匿 】 ! ! 3 口 p i 州i 亘口 匝 亘= 正 l m 4 e p 2 s 1 2 e p 2 5 1 2 1 0 2 4 5 1 2 5 1 8 2 z z - u sf x 2 端点存 置方式非常灵活。e p 2 、4 、6 和8 是大容量高带宽的数据传输端 点,可设n或out端点的一种,能配置成多种形式以适应带宽需要。在图3|2 中,每一表一种配置方式。带阴影的方框可包括2、3、4个512或1024字节 的缓存,表示端点可配置成双重、三重和四重缓存。双缓存是指usb可以读 或写一个包,而另个数据包(同一个端点内另一个缓冲存储器中的)可供 外部接口;三重缓存加了第3个数据包存储器可供usb和外部接口需要的一 方使用;缓存增加了第4个数据包存储器。多缓存的结构以在读写双方速度 相似时有改善带宽,平滑带宽抖动,减少双方的互相等待时问。 点缓冲区与f x 2 进行数据交换。为了能够跟上高速( 4 8 0 m b p s ) usb传率,基于fx2的系统,其外部逻辑通常直接通过连接到端点的fifo 来读写数而无需fx2c p u 的参。当应用程序要求c p u 处理在外部逻辑和 usb之动的数掘时一一或者根本就没有连接外部逻辑时固件可以存耿 6 基 ? u s b2 0 接口的虚拟仪器研究 作为r a m 块或( 使_ e 鞫特定的自动增量指针) f i f o 的端点缓冲区。 即使当外部逻辑或内建通用编程接口f g p i f ) 在没有c p u 干预情况下来处理 通过4 个大缓冲区端点f i f o 的高带宽数据传输时,固件仍要担负以下责任1 1 4 】: 1 ) 配置端点: 2 ) 响应主机对端点0 的控制传输; 3 ) 控制和监视g p l f 的行为; 4 ) 使用u s a r t 、定时计数器、中断、i o 引脚等处理应用程序指定的任务。 3 2 2 端点缓存配置 f x 2c p u 使用表3 1 中的6 个寄存器配置端点:e p 0 不需要配置寄存器,因 为其配置总是有效:i n o u t 、控制佳输、6 4 字节、单缓冲。e p 0 对烈和o u t 传输使用单一的6 4 字节缓冲区。e p i 对i n 和o u t 传输使用分别独立的6 4 字节 缓冲区。端点2 、4 、6 、8 处理高带宽u s b2 0 传输。端点e p 2 和e p 6 是最灵活 的端点,原因是其大小( 5 1 2 或1 0 2 4 字节) 、缓冲深度( 2 、3 或4 ) 都是可以配 置的。端点e p 4 和e p 8 固定为5 1 2 字节、双缓冲1 7 1 。 表3 1 端点配置寄存器 地址名称可配置的参数 o x b 6 l oe p l o u t c f g v a l i d 、t y p e ( 总是o u t ,6 4 字节,单缓冲) o x e 6 1 1e p l t n c f g v a l i d 、t y p e ( 总是i n 。6 4 字节,单缓冲) o x e 6 1 2e p 2 c f g v a l i d 、d i m c f i o n 、t y p e 、s i z e 、b u f f e r i n g o x e 6 1 3e p 4 c f g v a l i d 、d i r e c t i o n 、t y p e ( 总是5 1 2 字节,双缓冲) 0 x e 6 1 4e p 6 c f g v a l i d 、d i m c t i o n 、t y p e 、s i z e 、b u f f e r i n g 0 x e 6 1 5e p 8 c f g v a l i d 、d i r e c t i o n 、t y p e ( 总是5 1 2 字节,双缓冲) 注意:对于e p l ,传输类型只能是批量或中断 这些寄存器中的位控制以下项目: 1 ) 有效位( v a l i d ) :雹l ( 缺省) 使能端点,无效端点不会响应主枧的i n 、o u t 包。 2 ) 类型位( t y p e ) :两位,t y p e l :o ( 位5 和4 ) 设置端点类型: o o = 非法 0 1 = 同步传输( 仅对e p 2 , 4 ,6 ,8 ) 1 0 = 批量传输f 缺省) 1 1 - 中断传输 3 ) 方向位( d i r e c t i o n ) :1 = i n ,0 = o u t 。 4 ) 缓冲使( b u f f m i n g ) :两位,b u f l :0 控制缓冲深度( 仅对e p 2 和e p 6 ) 0 0 = 4 第三章u s b 总线控制器e z u s bf x 2 的芯片结构及配置方式 0 i = = 非法 1 0 = 2 ( 缺省) l l = 3 5 ) 端点大小位( s i z e ) :o = 5 1 2 字节,1 = 1 0 2 4 字节。 3 2 3 端点数据的存取 在表3 2 所示地址的端点数据对c p u 是可见的。在任何时候当应用程序所调 用端点的缓冲区比表3 2 中所示的缓冲区物理大小要小时,c p u 从缓冲区的最低 地址开始存取端点数据。例如,如果e p 2 端点缓冲区报告的最大包大小为5 1 2 字 节,c p u 就存取e p 2 端点缓冲区的低地址段( 如,从0 x f 0 0 0 到0 x f l f f ) 。同样, 如果f x 2 工作在全速模式,则只有最低6 4 字节的数据被使用。 表3 , 2 端点缓冲区在r a m 中占的区间 名称地址 大d , ( b y t e ) e p o b u f0 x e 7 4 0 _ m x e 7 7 f6 4 e p l o u t b u fo x e 7 8 肚0 x e 7 b f6 4 e p l i n b u f0 x e 7 c 口x e 7 f f6 4 e p 2 f i f o b u f 0 ) d 0 0 0 _ x f 3 f f1 0 2 4 e p 4 f i f o b u f 0 x f 4 0 0 _ 0 x f 5 f f5 1 2 e p 6 f i f o b u f 0 x f 8 0 0 一一o x f b f f 1 0 2 4 e p 8 f 1 f o b u f 0 x f c ( r ) - - - - o x f d f f 2 5 1 2 e p o b u f 是用于控制传输的( 可选) 数据阶段的。来自c o n t r o l 包的8 字 节数据存放在一个单独的称为s e t u p d a t ( 地址为o x e 8 8 8 o x e 6 b f ) 的r a m 缓冲区中。 c p u 只能存取多缓冲端点的“活动”缓冲区。换句话说,也就是固件必须以 只有5 1 2 字节宽度来对待一个5 t 2 字节的4 缓冲端点,即使是4 缓冲端点实际占 用了2 0 4 8 字节的r a m 。还有,当端点e p 2 和e p 6 被配置

温馨提示

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

评论

0/150

提交评论