




已阅读5页,还剩69页未读, 继续免费阅读
(电路与系统专业论文)基于fpga和usb远程实验系统的研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士论文 基于f p g a 和u s b 远程实验系统的研究与开发 摘要 本论文以i n t e m e t 在远程监控上的应用为研究背景,以完成远程实验系统为目 的展开了研究。首先,阐述了国内外相关课题的现状和发展趋势,接着针对远程监 控中数据采集卡成本高并且易受机箱内环境影响的这一不足,确定采用通用串行总 线u s b 技术进行本实验系统的数据采集,并利用f p g a 体积小、处理速度快,内 部延时小、可自由编程的优点,采用硬件描述语言v h d l 编写时序控制程序,下载 到r p g a ,产生其硬件控制电路,对整个系统进行时序控制。接下来把u s b 接口技 术与l a b v i e w 语言开发平台结合起来,利用在v i s u a lc + + 环境下编写动态链接库 资源,以调用动态链接库的形式,实现与驱动程序的通信,将采集到的数据在 l a b v i e w 应用程序界面上进行数据显示、数据存储和数据分析。使用l a b v i e w 中 内嵌的w e bs e r v e r 进行网络发布,将服务器上应用程序面板发送到远方,供客户机 进行远程浏览和控制。 利用u s b 实现f p g a 与主机之间的通信具有重要的现实意义,虽然u s b 传输 距离有限,但可利用w e b 来弥补,从而达到远程监控、提高资源使用率和削减应 用成本的目的。 关键词:数据采集,通用串行总线,现场可编程逻辑门阵列,动态链接 库,l a b v i e w ,远程监控 a b s t r a c t a b s t r a c t t h ea p p l i c a t i o no fi n t e m e ti nt h el o n g - d i s t a n c em o n i t o r i n gw a st a k e na sr e s e a r c h b a c k 酽o u n da n dt h ea c c o m p l i s h m e n to fe x p e r i m e n ts y s t e mi nt h ed i s t a n c ew a st a k e na s r e s e a r c hp u r p o s ei nt h i sp a p e r 1 1 1 ed e v e l o p m e n to f r e l a t e ds u b j e c ta r o u n dt h ew o r l dw a s d i s c u s s e df i r s t l y t oo v e r c o m es h o r t c o m i n go fd a t aa c q u i s i t i o nc a r dw h i c hi sh i g hc o s t a n de a s i l ya f f e c t e db yp ce n v i r o n m e n t ,t h ed a t ac o l l e c t i o nb ym e a n so fu n i v e r s a ls e r i a l b u sw a sa d o p t e di nt h ee x p e r i m e n ts y s t e m t h ea d v a n t a g e so fs m a l lc u b a g e ,h i g hs p e e d , i n t e r n a ls m a l ld e l a ya n df r e ep r o g r a mi nf i e l dp r o g r a m m a b l eg a t ea r r a yw e r em a d ef u l l u s eo f t h ep r o g r a mo fs c h e d u l i n gc o n t r o lw a sc o m p i l e db yv h s i ch a r d w a r e d e s c r i p t i o nl a n g u a g ei no r d e rt or e s u l ti nh a r d w a r ec o n t r o l - c i r c u i tb yd o w n l o a d i n gt h e p r o g r a mt of p g a f o rs c h e d u l i n gc o n t r o lo f w h o l es y s t e m u s bi n t e r f a c et e c h n o l o g yw a s c o m b i n e dw i t hl a b v i e we n v i r o n m e n ts u b s e q u e n t l y d y n a m i cl i n kl i b r a r yw a sc o m p i l e d b yv i s u a lc + + w i t hw h i c ht h ec o m m u n i c a t i o nw i t hd r i v e rw a sr e a l i z e d t h ec o l l e c t e d d a t aw a ss h o w e di nl a b v i e we n v i r o n m e n t w h i c hw a ss t o r e da n da n a l y z e d t h e a p p l i c a t i o n p a n e lw a sp u b l i s h e db yu s eo fw e b s e r v ei n - l i n el a b v i e w t h ed a t as h o w e d i ns e r v e rw a st r a n s m i t t e dt od i s t a n c ef o rb r o w s ea n dm o n i t o r i n go f c l i e n t s i tw a so fg r e a ti m p o r t a n c et oi m p l e m e n tc o m m u n i c a t i o nb e t w e e nf p g aa n dp cb y u s eo fu s b w e bo f f s e t st h el a c ko fu s bi nt r a n s m i s s i o nd i s t a n c e t h ea i mo f l o n g d i s t a n c em o n i t o r i n ga n dh e i g h t e n i n gu s i n gr a t eo fs o u r c ea n dl o w c o s tw a sa c h i e v e d i nt h ee x p e r i m e n t a ls y s t e m k e y w o r d s :d a t aa c q u i s i t i o n ,u s b ,f p g a ,d l l ,l a b v i e w ,l o n g - d i s t a n c e m o n i t o r i n g i i 声明 本学t 位论文是我在导师的指导下取得的研究成果,尽我所知,在本 学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发表或 公布过的研究成果,也不包含我为获得任何教育机构的学位或学历而使 用过的材料。与我一同工作的同事对本学位论文做出的贡献均已在论文 中作了明确的说明。 研究生签名:重垩孳细5 年7 月多日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅或 上网公布本学位论文的部分或全部内容,可以向有关部门或机构送交并 授权其保存、借阅或上网公布本学位论文的部分或全部内容。对于保密 。 论文,按保密的有关规定和程序处理。 研究生签名:立堕仁 加6 年7 月乡日 硕士论文基于f p g a 和u s b 远程实验系统的研究与开发 1 绪论 1 1 课题的理论意义和应用价值 实验是教学活动中一个必不可少的过程,尤其是对于理工学科,必须在实验室进 行测量、数据采集、分析和设计,它是掌握理论知识和提高动手能力的一个必不可缺 少的环节。本课题“基于f p g a 和u s b 远程实验系统的研究与开发”是设计一个远 程实验系统,它属于i n t e m e t 在远程数据采集与控制方面的一种应用,通过软件将计 算机硬件资源与实验仪器有机地融合为一体,从而把计算机强大的计算处理能力和仪 器硬件的测量、控制能力结合在一起【l 3 j 。现代社会的高速发展,使远程实验在时间、 空间和经济效益上显示出日益强大的生命力。在过去的十多年中,基于这种远程教学 的概念所产生的虚拟实验室( v i r t u a ll a b o r a t o r y ,v l ) ,使学生操作虚拟的实验装置 进行实验己得到了成功的应用。如今,i n t e m e t 网络技术的巨大进步使得比v l 更进 一步地远程实验( r e m o t el a b o r a t o r y ,r l a b ) 的实现成为可能。 采集现场的实验数据是整个系统的关键部分。现有的数据采集系统中通常的采集 方式是采用数据采集板卡,如a d 卡及r s 一4 2 2 ,r s 一4 8 5 等总线板卡。采集板卡不仅 成本高,安装麻烦,而且易受机箱内环境的干扰而导致采集数据失真:同时,还易受 计算机插槽数量和地址、中断资源的限制,可扩展性差:更有甚者,在对大批量数据 进行采集时,采样系统与主机接口的瓶颈作用将导致部分数据丢失,失去连续采样的 意义【4 】。本课题对实验数据的采集采用u s b 接口技术,可以克服上述不足,并且还 使数据采集设备具有热插拔、传输速度快、通用性强、易扩展和性价比高等优点【5 】。 另一方面,在传统的数据采集系统中,通常采用单片机或d s p ( d i g i t a ls i g n a l p r o c e s s o r ,数字信号处理器) 作为c p u ( c e n t r a lp r o c e s s i n g u n i t ,中央处理器) 控制 a d c ( a n a l o g t o d i g i t a lc o n v e r t e r ,模数转换器) 、存储器和其它外围电路的工作,但 是,单片机的时钟频率较低,难以适应高速势据采集系统的要求,而d s p 虽然可以 实现较高速的数据采集,但其速度提高的同时也增加了系统的成本【6 】。随着电子技术 的不断发展与进步,电子系统的设计发生了很大的变化,传统的设计方法正逐步退出 历史舞台,而基于e d a 技术的芯片设计正成为电子系统的设计主流,可编程逻辑器 件f p g a 和c p l d 由于具有开发简单、静态可重复编程和动态在系统编程的特点, 已经成为当今应用最广泛的两类可编程专用集成电路( a s i c ) 。随着微电子技术的迅 猛发展,f p g a 上包含的资源越来越丰富,可实现的功能越来越强,这使得f p g a 在 电子电路设计中的角色越来越重要【7 - 8 】。f p g a 具有单片机和d s p 无法比拟的优势, f p g a 时钟频率高,内部延时小,全部控制逻辑由硬件完成,速度快,效率高,组合 形式灵活,可以集成外围控制和接口电路。利用f p g a ,电子设计工程师可以从容地 第1 章绪论 在办公室或实验室设计出所需要的专用集成电路,从而大大缩短了产品的上市时间, 降低了开发成本。 此外,l a b v i e w 是一种新型的图形程序编程语言,内部含有丰富的数据显示、 分析处理、数据存储等子程序,本系统利用f p g a 和u s b 技术开发实验数据的采集 部分,再结合l a b v i e w 图形化编程语言作为应用程序和l a b v i e w 强大的网络通信、 数据分析处理和数据存储功能,集成了三者的强项和优点。f p g a 控制采样通道的硬 件进行实验数据采集;u s b 总线实现对采集到的数据实时高速地传送给主机: l a b v i e w 把传送来的实验数据在主机上显示出来,并且利用其所具有的功能模块对 数据进行分析和存储,然后将数据通过网络发送到远方【9 1 2 1 。 基于w e b ( 网络) 的实验系统的产生和发展主要有如下重要意义和应用价值: ( 1 ) 加强和完善了远程教育技术,并且通过学生在任何地方任何时候共享设备完 成实验这种新思路为远程教育开辟了一片新天地。 ( 2 ) 降低了可能发生在真实实验室中做实验的危险,所以它特别适合于做一些包 括危险操作或危险物质的实验,如放射性的化学实验和环境比较恶劣的实验等。 ( 3 ) 对人类的生活会产生越来越大的影响。比如,家庭和公司的办公自动化。不 难想象这些基于w e b 的远程控制技术可以运用到众多领域,如移动电话、网络智能 大厦、工厂等。 ( 4 ) 运用i n t e r n e t 可以对实验设备共享使用,大大降低实验教学的成本,提高实验 设各的使用效率,产生巨大的经济效益。 1 2 国内外发展概况及发展趋势 最好的实验方法是能够随时让实验者工作并且让人感觉像在真实的实验室中,许 多科学家把远程控制访问控制实验称作s b b t ( s e c o n db e s tt ob e i n gt h e r e ) 1 3 1 。自 上世纪9 0 年代以来,世界上许多大学在发展基于w e b 的实验教学上都作出了坚持 不懈的努力,取得了令人惊喜的进步。 在j a m e sm a d i s o n 大学,一个普通的物理实验被修改后可使用l a b v i e w 程序环 境通过i n t e m e t 来完成。这项活动的主要意义在于给学生引入了网络操作的理念 1 4 】。 一种称为a i i v i l a b ( a u t o m a t e di n t e m e tm e a s u r e m e n tl a b o r a t o r y ) 的在线交互实验 室在r e n s s e l a e rp o l y t e c h n i c 学院建立。这个实验室在半导体器件特征上建立了个实 验模型,它可以通过w e b 被自由访问口”。 1 9 9 9 年,个名为v l a b 的振荡实验装置在新加坡国立大学建立,后来,基于 w e b 的双容器控制实验也得到进一步的发展,这套实验装置的一个独特之处在于有 一套视频设备提供点对点的可视化信息反馈并允许调节和控制放大、缩小以及视频角 度【l6 】。它有与本系统相类似的结构,双容器控制实验结构图如图1 2 1 所示。 2 硕士论文基于f p g a 和u s b 远程实验系统的研究与开发 图1 2 1 双容器控制实验结构图 香港中文大学设计的一个基于网络的控制实验系统,p c 机的应用控制界面是采 用l a b v i e w 来编写,通过客户朋务器的模式组合起来,该系统能够将各个独立执行 的设备有效地连接起来,可弹性地连接到不同的实验系统。它具有模拟现实实验环境 的功能,却有现场的影像和数据反映,能够以较少的资源,同样形成了一个有效率、 高稳定性以及富有弹性的系统m 】。 近l o 年来,国内已有部分院校的实验室引入了虚拟仪器系统,如清华大学、上 海复旦大学、上海交通大学、华中理工大学、哈尔滨工业大学、四川联合大学等。清 华大学汽车系利用虚拟仪器技术构建了汽车发动机检测系统【1 8 1 。另外,一些高校和企 业也利用虚拟仪器技术进行项目开发,吉林大学进行的“精密仪器软件平台研究与开 发”【1 9 1 ,武汉理工大学信息工程学院的学生开发了“基于u s b 和l a b v i e w 技术的 远程发动机测试诊断系统”1 3 1 等。基于u s b 的虚拟仪器实验系统已成为当今研究的 热点。 1 3 本系统的特点 本课题研究的是一种基于f p g a 和u s b 的远程实验系统,其特点可描述如下: ( i ) 整个系统采用了浏览器服务器( 简称b s ) 模式,其中,客户端通过浏览器 向外部服务器发送请求,获得信息;而服务器可以在网络中的任何位置,运行在任何 操作系统上,将采集到的实验结果发送给用户。 ( 2 ) 在系统的设计中采用了f p g a 实现采样信号以及对u s b 接口器件的控制,从 而使系统具有很大的灵活性。 ( 3 ) 系统的控制程序是在i s e 操作平台上用v h d l 语言来实现的,使系统具有低 成本、高性能和良好的可移植性。 ( 4 ) 系统的应用程序在l a b v i e w 环境下进行开发,并通过软件实现对数据的显 第1 章绪论 示、存储以及分析处理,大大缩小了仪器硬件的成本和体积。 ( 5 ) 利用互联网对采集到的信号进行分析和控制,使人们只需要通过任何一部已 经联网的电脑,在任何时候、任何地方都可以对系统提供的信号进行访问。 ( 6 ) 通过设定用户访问权限和用户所能访问实验程序的权限,不能使控制计算机 i p 和端口不通过服务器验证而被直接访问,增强了系统的安全性。客户端通过浏览 器进行监控,使用户无需从服务器端下载任何软件来运行该实验,可阻止系统被外部 病毒入侵、降低安全上的漏洞。 整个系统的概况图如图1 3 1 所示。 实验 数据 测试 系统 u s b li 本地p c 机( 带 萋h 辜辫爰 客户p c 机( 带有客 户端通信服务程序 以及l a b v i e w 数据 处理应用程序等) 图1 3 1 整个系统的概况图 由图1 3 1 所示的概况图可以看到被测试的实验数据进入u s b 数据采集系统, 经u s b 总线进入本地主机虚拟仪器程序界面并进行数据显示、存储和分析,然后通 过互联网将应用程序面板远程传送到远端的客户机,供客户机浏览和控制。采用 l a b v i e w 开发应用程序界面,用户可以用较少的资金、较少的系统开发和维护费用, 用比过去更少的时间开发出功能更强、质量更可靠的产品和系统。 在开发整个远程实验系统中,最关键的部分为u s b 数据采集系统、l a b v i e w 数 据显示分析存储部分和l a b v i e w 网络通信系统。 1 4 本论文所做的工作 本论文的主要工作是设计一个基于w e b 的电路实验开发系统,通过i n t e m e t 来 完成电路课程上的实验。研究的主要内容有: ( 1 ) 实验数据传送的硬件设计,包括数据输入时的多路开关、采样保持器、模数 转换器以及u s b 接口器件之间的连接。 ( 2 ) 利用硬件描述语言编写u s b 接口器件的固件代码。 ( 3 ) 数据采集通道软件的设计,主要包括对多路开关、采样保持器、模数转换器 的时序控制,以及对采集到的数据需进行的处理和存储。 ( 4 ) 主机上的软件设计,主要包括利用l a b v i e w 语言编写应用程序界面以及在 v i s u a lc + + 环境下编写动态链接库。 ( 5 ) 远程网络控制系统的软件架构设计和配置。 ( 6 ) 整个系统硬件和软件协调工作的调试。 4 硕士论文基于f p g a 和u s b 远程实验系统的研究与开发 1 5 本系统的技术实现 要完成上述任务,实现基于w e b 的实验系统,需借助于下列相关技术和工具。 ( 1 ) v 丑) l 语言 对于数据采集部分、数据处理部分、数据存储部分以及u s b 接1 2 1 器件控制部分, 全部利用v h d l 语言编写时序控制器模块,并利用状态机来实现控制时序。 ( 2 ) 操作平台 时序控制程序在i s e 6 1 ( i n t e g r a t e ds o f t w a r ee n v i o r m e n t ,集成综合环境) 操作环境 下进行文件的编写,利用第三方软件m o d e l s i m 5 7 9 进行波形仿真,判断其逻辑正确 性,用s y n p l i f yp r 0 7 5 进行综合优化,最终通过映射、布局布线后烧写f p g a 芯片, 进行在线调试。 ( 3 ) v i s u a lc 十+ 语言 在v i s u a lc + + 环境下进行动态连接库的编写。 ( 4 ) l a b v i e w 语言 利用l a b v i e w 图形化编程语言来编写应用程序界面,通过调用动态链接库的导 出函数,实现主机与硬件的通信;利用l a b v i e w 的存储功能将实验数据存储起来, 作为分析使用;利用l a b v i e w 的网络发布功能,实现远程实验测试与控制。 ( 5 ) 驱动程序 利用d d k 编写u s b 设备的驱动程序。 硕士论文基于f p g a 和u s b 远程实验系统的研究与开发 2u s b l 1 规范 2 1 引言 u s b 是英文u n i v e r s a ls e r i a lb u s 的缩写,中文名称叫“通用串行总线”。u s b 是 一种应用在计算机领域的新型接i ;3 技术。1 9 9 4 年,i t e l 、c o m p a q 、d i g i t a l 、i b m 、 m i c r o s o f t 、n e c 、n o r t h e r nt e l e c o m7 家世界著名的计算机和通讯公司成立了u s b 论 坛,于1 9 9 5 年1 1 月正式制定了u s b 0 9 通用串行总线规范。1 9 9 7 年全世界才开始 有真正符合u s b 技术标准的设备出现。1 9 9 9 年初形成了u s b2 0 规范,u s b 2 0 可以 向下兼容u s b l 1 ,其最高数据传输速度达到4 8 0 m b p s 。 目前的u s b 设备普遍都兼容u s b l 1 协议。按u s b i 1 协议,可提供的传输速度 有低速1 5m b p s 和全速1 2 m b p s 两种,非常适用于中低速外部设备。 u s b l 1 规范分为1 1 章【2 。第1 章论述了产生u s b 的动机;第2 章列出并定义 了整令规范用到的术语和缩写;第3 章论述了产生u s b 的背景,包括设计目标;总 线特点和现有技术;第4 章论述了u s b 体系结构和关键概念;第5 章论述了u s b 数 据流模型,说明了数据如何通过u s b 总线;第6 章论述了u s b 的机械特性;第7 章 论述了u s b 的电气特性及其电气规范,包括发信号、电源分配和物理层规范:第8 章论述了协议层,信息包的传送格式、不同的传输类型,包处理方式和差错恢复机制; 第9 章论述了u s b 设备结构,包括u s b 设备中间层的属性和操作、对设备的状态、 总线枚举以及配置一个设备时的标准请求和设备描述符;第1 0 章论述了u s b 主机: 硬件和软件;第1 1 章论述了集线器规范。接下来针对本系统中用到的规范进行简要 的描述。 2 2u s b 的特点 u s b 之所以能够得到广泛的支持和快速普及,是因为它具备如下特点8 ,2 0 】: ( 1 ) 使用方便,即插即用。使用u s b 接口可以连接多个不同的设备,支持热插拔。 u s b 设备不涉及中断请求( i n t e r r u p tr e q u e s t ,i r q ) 冲突问题,它单独使用自己的保留 中断,不会和其它设备争用主机有限的资源,真正做到即插即用。 ( 2 ) 传输速度快。u s b l 1 支持的全速传送速率为1 2 m b p s 。 ( 3 ) 连接灵活、可扩展性强。个u s b 接口理论上可以连接1 2 7 个u s b 设备, 而每个设备间的距离( 电缆线长度) 可达5 m 。 ( 4 ) 不需要独立供电。使用串1 2 1 或者并口的设备都需要单独的供电系统,u s b 设 备不需要。u s b 接1 5 提供了内置电源,这个内置电源能向同u s b 所连接的低压设备 提供标称5 v 的电源,此低压设备就不需要专门的电源了。表2 2 1 显示了u s b 总 7 第2 章u s b i 1 规范 线同其它串行总线相比较的特点1 4 】。 表2 2 1u s b 串行总线同其它串行总线比较 每个接1 3 连接的设最大速度比特每秒传送最大距离 接口格式 备最大个数? l m a x( v 。“b p s ) ( m ) u s b 异步串行 1 2 7( 1 5 、1 2 、4 8 0 ) x 1 0 61 6 r s - 2 3 2 异步串行 22 0 x 1 0 35 0 1 0 0 r s - 4 8 s 异步串行3 2 单元负载 1 0 x 1 0 64 0 0 0 i r d a 数据红外异步串行 2 1 1 5 x 1 0 3 6 m i c mw i r e同步串行 8 2 1 0 6 1 0 i e e e - 1 3 9 4串行6 44 0 0 x 1 0 6 1 5 1 2 c 同步串行 4 04 0 0 x 1 0 1 8 2 3u s b 体系结构 2 3 1u s b 系统描述 一个u s b 系统可以分为u s b 互连、u s b 设备和u s b 主机三个部分。每个部分 的概况可描述如- f 8 , 2 0 1 。 ( 1 ) 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 3 1 1 所示。 。 图2 3 1 1u s b 总线拓扑结构 由图2 3 1 1 可知,u s b 总线拓扑结构由主机、集线器和设备三种元素组成。 硕士论文基于f p g a 和u s b 远程实验系统的研究与开发 在主机平台上的u s b 中,主机就是p c 机和根集线器,用户可以将设备和下级h u b 与p c 机相连。而下级h u b 又可以被连接更下一级的h u b 和设备,从而构成了树状 结构。在u s b l 1 协议中,一个u s b 拓扑网络最多可支持4 个h u b 层( 包括根集线 器时为5 层) 。 ( 2 ) u s b 设备 分为集线器和功能部件。 集线器就是常用的u s bh u b ,它可提供更多的u s b 连接点。功能部件是一种通 过u s b 总线进行数据发送和接收的u s b 设备。一个u s b 器件可分为三层:最底层 是一个总线接口,被用于发送和接收数据包:中间层被用于操作和路由总线接口和设 备不同端点之间的数据,端点是数据接收或发送的终点,对数据来说它可被认为是一 个消息源或接收器;最顶层是串行总线接口提供的功能部件。 主机结构与物理设备结构的连接如图2 3 1 2 所示。 客户卜叫功能部件 u s b 系统 主机控制器 u s b 逻辑设备 u s b 总线接口 + 逻辑的信息流 实际的信息流 图2 3 1 2 主机结构与物理设备结构 ( 3 ) u s b 主机 指设备所服务对象的硬件和软件的集合。u s b 主机是u s b 系统的核心,通过主 机控制器与u s b 设备进行交互。它分为主机控制器、u s b 系统和客户3 个层次。其 主要功能可描述如下: 检测u s b 设备的安装和拆卸。 管理在主机和u s b 设备之间的控制流。 管理在主机和u s b 设备之间的数据流。 收集u s b 设备的状态和动作信息。 给被连接的u s b 设备供电。 2 3 2u s b 物理接口 u s b 的物理接口包括两部分,一部分为把设备连接到主机的u s b 电缆或连接到 u s b 集线器的u s b 电缆,另一部分为u s b 主机或u s b 设备上的接口。u s b 电缆的 物理结构如图2 3 2 1 所示。 9 第2 章u s b l 1 规范 v b u s d + n g n d 图2 3 2 1u s b 电缆 在图2 3 2 1 所示的u s b 电缆中,v b u s 为电源线,g n d 为地线,d + 和d 为传 输差动信号的数据线。将数据流信号变换成差动信号进行传输的目的是为了提高传送 信号的抗干扰能力。 u s b 传输分为全速和低速两种模式。对集线器来说,判别所连接的设备是否是 高速设备,只需在设备初次连接到集线器时,检测d + 或d 一上的信号是高电平还是低 电平即可。d + 与d 一两条信号线在p c 机的根集线器端同时接上1 5 k f l 的下拉电阻并 连接至地线。当设备未连接至p c 机的根集线器或集线器的连接端时,由于d + 和d 一 两条信号线下拉电阻的关系,几乎都视为接地( 0 v ) ,但是若有一个设备刚连接上时, 上拉电阻1 5 k f 与下拉电阻1 5 k f 2 形成一个分压器。因此其中有一条数据信号线( d + 或d 一) 的电位将被提升至电源电压的9 0 左右。当集线器测得一条数据信号电压趋 近v c c ,另一条仍维持接地状态,就可以确定有一个设备已经连接上了。u s b 协议要 求低速设备在d 一端接l ,5 k f 2 上拉电阻,全速设备在d + 端接相同的上拉电阻。在加电 时,根据d - 和d + 信号线所处的状态,集线器就能很容易辨认设各的速度,从而为设 备配置不同的信息。图2 3 2 2 为全速设备与p c 机之间电气特性连接图。 图23 2 2 全速设备与p c 机之间电气特性连接图 u s b 是一种统一的传输规范,但是它的接插口类型有很多种,最常见的为普通 计算机上用的扁平外形的a 型门。接插l 又分为公口和母口,一般情况下,电缆上 带的是公口,机器上带的是母口。a 、b 型接插1 :3 如图2 32 3 所示。 图2 3 2 3 、b 型接插l :l 硕士论文基于f p g a 和u s b 远程实验系统的研究与开发 2 3 3 配置、接口和端点 一般而言,每个u s b 设备可以有一个或多个配置。设备的每个配置中都含有一 个或多个接口。当u s b 设备连接到接口时,主机根据接口现有的状态,寻找相应的 软件来访问硬件。设备的接口有一个或多个端点,端点作为一个通信管道的终点,决 定了端点和客户软件之间的传输服务类型。端点分为i n 、o u t 两种,o u t 端点是接 收从h o s t 发送数据的端点,i n 端点是向h o s t 发送数据的端点。端点的特性包括总线 访问频率要求、带宽要求、端点号、错误处理方法、端点能够发送或接收的最大包尺 寸、端点的传输类型、数据在端点和主机的传输方向等,u s b 设备的配置、接口和 端点如图2 3 3 1 所示。 图2 3 3 1u s b 设备的配置、接口和端点 u s b 设备的描述符能向主机软件提供一系列u s b 设备的特征和能力的信息,这 些信息用来配置设备和定位u s b 设备驱动程序,以确保主机以正确的方式访问设备。 设备由一个或多个配置来控制其行为,配置描述符定义了设备的配置信息,确定出被 配置的接口数目,接口描述符确定出被配置的端点的数目,端点描述符来确定端点的 特性。描述符的树状结构如图2 3 3 2 所示。 臣翮 配置描述符ll 配置描述符li 配置描述符 接口描述符li 接口描述符li 接口描述符 端点il 端点i i 端点ll 端点i i 端点ll 端点 描述符f 描述符ii 描述符i l 描述符ii 描述符ll 描述符 图2 3 3 2 描述符的树状结构 除端点0 外,其余端点在配置前均处于一个未知状态,不能被主机访问。对端点 要求如下: ( 1 ) 端点o 的要求 所有u s b 总线设备都需要实现缺省的控制管道。这种控制传输将使用0 号输入 l l 第2 章u s b i 1 规范 端点和0 号输出端点。u s b 主机系统用此缺省管道初始化及配置设备。缺省管道支 持对控制信号的传输,一旦设备连接并上电,且又收到一个总线复位命令后,两个0 号端点就可被访问了。 ( 2 ) 非0 端点的要求 非0 端点的要求根据所要实现的设备功能进行设定。低速设备除0 号输入及输出 端点外,仅有两个可选端点;全速设备根据协议的定义,最多可具有1 5 个额外的输 入端点和1 5 个额外的输出端点。除缺省控制管道的缺省端点外,其它端点只有在设 备配置后才可被使用。 2 3 4u s b 管道 管道是指主机端驱动程序的数据缓冲区与外设端点的连接,表明了在两者之间传 输数据的能力,是一种逻辑抽象。管道可分为两种不同的互斥管道:流管道和消息管 道。其作用可描述如下。 ( 1 ) 流管道 流管道中的数据是以流的形式,也就是该数据的内容不具有u s b 要求的结构。 数据从流管道一端流进的顺序与它们从流管道另一端流出时的顺序是一样的。流管道 中的通信流总是单方向的。流管道只占用相关端点号的一个方向,该端点号的另一个 方向可以被分配给该设备的其它流管道。流管道支持同步传输、中断传输和批量传输。 ( 2 ) 消息管道 消息管道与端点的关系同流管道不同,其工作次序是由主机向u s b 发送一个请 求,然后进行数据传输,最后进入状态阶段。为了适应上述请求,数据状态的变化, 消息管道要求数据有一个格式,此格式保证了在变化时命令能被可靠地传输和确认。 消息管道是一个双向管道,允许双向通信流。当一个设备的消息管道需要占用该设备 单个端点号的两个方向时,一个方向用于输入,另一个用于输出。u s b 不允许一个 消息管道与两个方向上不相同的端点号相连。缺省控制管道就是一个消息管道,消息 管道仅支持控制传输。 2 4u s b 通信协议层 2 4 1 传输类型 u s b 定义了四种传输类型:控制传输、批量传输、中断传输和同步传输。这四 种传输类型可描述如下。 ( 1 ) 控制传输 控制传输是在主机和控制端点之间进行控制信息的传送,其功能是在设备初次连 硕士论文基于f p g a 和u s b 远程实验系统的研究与开发 接时对设备进行配置,并对设备的状态进行实时检测,以及在设备配置完成后进行所 需数据特定的传输。控制事务在u s b 中具有最高优先级,总线驱动程序为控制事务 保留了1 0 的带宽。控制传输是纠错传输,在遇到传输错误时重试三次,若错误仍 然存在则放弃传输并向上层软件报告错误。控制端点所能指定的最大数据传输长度为 8 ,1 6 ,3 2 ,6 4 字节。每个u s b 设备至少应有一个编号为0 的控制端点来响应控制 事务进行接收或发送。每个控制事务包括一个s e t u p 令牌包,之后可以带一个可选 的数据阶段和一个握手阶段。控制传输结构示意图如图2 4 1 1 所示。 i d l e 口h o s t 口f u n c t i o n 图2 4 1 1 控制传输结构示意图 ( 2 ) 中断传输 中断传输适用于小批量、点式、非连续的数据传输应用场合。它由输入事务和输 出事务构成。一旦收到输入标记,功能部件便返回数据,n a k 或s t a l l 。中断传输 能把最大6 4 字节的数据无误地在主机和端点间传输,它必须考虑延迟。中断传输结 构如图2 4 1 2 所示。 l e l l o 口f 一 图2 4 1 2 中断传输结构示意图 ( 3 ) 批量传输 批量传输能在主机和批量端点问一次传输最多6 4 字节的数据。批量传输的延时 时间事先难以确定。批量传输以错误检测和重试的方式保证了主机和功能部件之间的 无错发送能力。批量传输结构示意图如图2 4 1 - 3 所示。 第2 章u s b i 1 规范 - h口n 图2 4 1 3 批量传输结构示意图 ( 4 ) 同步传输 同步传输在每一帧内或者微帧内必须传输固定数目的字节数据,它适用于固定速 率或者特定时间的传输。同步传输没有纠错阶段,所以不能保证传输的完全可靠性。 同步传输结构示意图如图2 4 1 4 所示。 i d l e t o k e n 一一 d a t a 圈h o w l 口f u n c t i o n 图2 4 1 4 同步传输结构示意图 2 4 2u s b 数据编码 u s b 总线作为串行的数据总线其总线上的数据是诸多“位”串行排列而成的, 当主机对设备发出控制信号时,所有连接的设备都通过根集线器收到同样的信号,但 是通过比对配置的设各地址后,只有一个设备会做出响应动作。对一个u s b 设备而 言,不仅要准确无误地接收主机端所送来的数据,而且还要正确地发出响应的信号。 因此,d + 与d 一的差分数据线就必须采用一种特殊的编码方式来传输信号,以解决由 u s b 电缆线所产生的信号延迟及误差等问题。 u s b 采用了n r z i ( n o nr e t u r nt oz e r oi n v e r t ,不归零翻转) 的编码方式,对于 不同步的脉冲信号能产生同步的数据存取。n r z i 是一种串行编码方式,它使用高低 电压来表示“1 ”和0 ,当d a t a 为“0 ”时n r z i 输出翻转,当d a t a 为“1 ”时n r z i 输出不变,如图2 4 2 1 所示,n r z i 编码方式可降低对定时脉冲的要求。 一 m l l 一 ,一 鲞t、面主幸而手 硕士论文 基于f p g a 和u s b 远程实验系统的研究与开发 在对数据进行n r z i 编码前,为保证信号有足够的变化,在数据流内,每6 个连 续的“1 ”之后都应插入个“0 ”,从而在n r z i 数据流中加入了一些变化。这样 i d l e 011 01 01 0 00i 胁8 厂 几n厂 n r z - 气厂r 广一 图2 4 2 1n r z i 数据编码 最多每7 个位周期,接收器就要收到一个数据的变化,以保证数据和时钟同步。位插 入操作是由数据端强制执行的,接收端必须对n r z i 数据进行解码,识别插入位,并 丢弃它们。 2 4 3 包的格式 所有总线上数据的传输都可归结为令牌包、数据包和握手包的传输。 ( 1 ) 令牌包 任何操作都是从主机开始的,主机以预先安排好的时序发出一组数据描边操作类 型、方向、外设地址以及端点号的令牌包( t o k e np a c k e t ) 。令牌包由p i d ( p a c k e t i d e n t i f i e r ) 字段、a d d r ( a d d r e s s ) 字段、e n d p ( e n d p o i n t ) 字段和c r c ( c y c l i c r e d u n d a n c yc h e c k ) 字段构成,格式如表2 4 3 1 所示。 表2 4 3 1 令牌包 ( 2 ) 数据包 数据包由p i d 、大于或等于0 个字节的数据区和c r c 构成。有两种类型的数据 包,其p i d 分别为d a t a 0 和d a t a l ,在数据传送时交替出现,格式如表2 4 3 2 所示。 表2 4 3 2 数据包 位数8 b i t so 1 0 2 3 b i t s 1 6 b i t s 字段 p i dda :t ac r c l 6 ( 3 ) 握手包 握手包用来告知数据事务的状态,能表示数据成功接收、命令的接收或拒绝、流 控制和中止条件,格式如表2 4 3 3 所示。 表2 4 3 3 握手包 位数 8 b i t s 字段 p i d 第2 章u s b l l 规范 2 4 4 标准u s b 描述符 u s b 设备用描述符的形式向主机报告它的基本性能。标准设备描述符包括设备 描述符、配置描述符、接口描述符、端点描述符和字符串描述符,其中,字符串描述 符不是必须的。 ( 1 ) 设备描述符 设备描述符的长度为1 8 个字节它描述了设备的基本信息,一个u s b 设备只能有 一个设备描述符。 ( 2 ) 配置描述符 配置描述符描述设备某一种配置信息,它包括配置有几个接口,配置描述符的长 度为9 个字节。主机使用s e t _ c o n f i g u r a t i o n 请求来选择一个配置,用g e t _ c o n f i g u r a t i o n 请求来返回一个配置。 ( 3 ) 接口描述符 接口描述符描述一个接口的信息,它的长度为9 个字节。主机不能要求单独获得 某个接口描述符或端点描述符,它们只能和配置描述符一起被主机获得。 ( 4 ) 端点描述符 除端点0 外,接口所使用的每一个端点都有自己的端点描述符。端点描述符的长 度为7 个字节,包含了主机用来确定一个端点带宽要求的信息。 2 4 5u s b 总线的请求 所有的u s b 总线设备以缺省控制管道响应主机发出的请求,这些请求是通过控 制传输来完成的,请求及请求的参数通过s e t u p 包发向设备,由主机负责设置s e t u p 包内的每个域的值。s e t u p 包格式如表2 4 5 1 所示。 l 大小( b ) 11 222 域 b m r e q u e s t t y p eb r e q u e s t w v a l u ew l n d e x w l e n g t h 在表2 4 5 1 中,b m r e q u e s t t y p e 表示设备请求类型,d 7 :数据传输方向, 0 = 主机到设备,l = 设备到主机;d 6 5 :类型,o = 标准,1 = 类型,2 = 厂商,3 = 保留;d 4 0 :接收方,o = 设备,1 = 接1 2 1 ,2 = 端点,3 = 其它;4 3 1 = 保留。b r e q u e s t 表示u s b 设备请求值,标准请求有1 1 个命令。w v a l u e 为值,它根据不同的请求, 以字节来定义,例如,设备请求为g e t d e s c r i p t o r ( 0 6 h ) ,w v a l u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设施设备运行检测评估
- 2025浙江宁波市慈溪市机关事务管理局直属机关幼儿园招聘派遣制人员3人笔试备考题库及答案解析
- 2025医师定期考核试题及答案
- 2025下半年浙江舟山市属事业单位招聘工作人员27人笔试备考试题及答案解析
- 从细节处体现出高贵的礼仪品质
- 农学中的农村环境卫生管理政策解读
- 2025年老年医学常见病诊治考试答案及解析
- 2025年中医妇科常见病症诊疗考试答案及解析
- 2025年四川宜宾市筠连县事业单位引进81名高层次人才笔试高频难、易错点备考题库带答案详解
- 2025年城市污水处理厂智能化升级改造对城市基础设施的影响报告
- 外研社版小学英语(三起)五年级上册单词默写表
- 《多样的美术门类》课件 2024-2025学年赣美版(2024)初中美术七年级上册
- 人美版九年级上册初中美术全册教案
- GB/T 2820.7-2024往复式内燃机驱动的交流发电机组第7部分:用于技术条件和设计的技术说明
- 2023年法律职业资格《主观题》真题及答案
- 2024-2025学年安徽省八年级语文上册第一次月考试卷04
- 单位委托员工办理水表业务委托书
- 2026年全年日历表带农历(A4可编辑可直接打印)预留备注位置
- 2024年全国期货从业资格之期货投资分析考试历年考试题附答案
- 矿山生态修复监理工作资料编制内容和要求、施工监理主要工作程序框图、工程施工与监理表式
- 药店药剂师专业劳动合同
评论
0/150
提交评论