(计算机应用技术专业论文)基于wdm设备驱动虚拟仪器的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于wdm设备驱动虚拟仪器的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于wdm设备驱动虚拟仪器的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于wdm设备驱动虚拟仪器的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于wdm设备驱动虚拟仪器的研究与实现.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 虚拟仪器就是利用数据采集设备加上数据分析软件来代替常规的测量仪 器。这里所开发的虚拟仪器是用在数字电路实验测量中跟踪时序的数字存储示 波器。主要用途是用来测试电路板上的硬件数字时序信号,并将采集的数据按 照多种方式显示给用户,提供良好的数据分析接口。 这里用到的硬件采集设备是作者自行开发的u s b 2 0 接口的外部设备,其 总线的最理想的通信速度可以达到4 8 0 m b i t s ,可以满足设计的技术指标。因为 u s b 对于w i n d o w s 系统来说是个设备,加上w i n d o w s 2 0 0 0 以上的系统对硬 件资源采取了保护政策,所以对硬件的读写作者编写一套运行在系统内核级的 w d m ( w i n d o w s d r i v e rm o d e l ) 驱动程序。这里整个虚拟仪器的设计作者分为: 固件、固件程序、系统驱动程序、波形显示程序以及原理图绘制程序等部分, 而所有的均出自作者个人的设计。各个模块的功能是:固件是用户能见到的直 接从外面电路板上采集信号的硬件,是后续的采样数据来源,同时也是p c 端 软件控制的对象。固件程序是直接控制硬件动作的软件,其运行在硬件中。设 计固件中用到( y p r e s s 公司的微处理器c y 6 8 0 1 3 ( 它是内嵌增强型8 0 5 1 内核的 带u s b 接口的单片机) 和x i l i n x 的f p g a 。软件部分中,系统驱动程序是运 行在操作系统内核的系统信任部分,是应用程序与硬件的接口,负责双方的数 据交换。波形数据显示程序完成的功能是按设置的采样通道显示采样数据,是 用户最关心的界面程序。原理图绘制程序是用来绘制被测电路板原理图的工 具,主要是方便用户在查看采样数据的时候不用到被测电路板上去查找测试 点,而直接从原理图中查看。值得一提的是,这里的数据分析软件是仿 f o u n d a t i o n 2 1 来开发的。 本文共分为8 章,第1 章虚拟仪器的概述,介绍虚拟仪器的定义以及当今 虚拟仪器的发展状况;第2 章到第5 章介绍一般硬件设计、固件程序设计、驱 动程序设计和基于w d m 结构的u s b 驱动开发。第6 章讲述的是本系统硬件 部分的整体结构,而这些是作者在开发虚拟仪器硬件部分的精髓;第7 章讲述 摘要 的是本系统的上层软件开发,第8 章是系统设计的总结。 r 关键词: 虚拟仪器、设备驱动、d d k w d m u s b i l a b s t r a c t a b s t r a c t v i r t u a li n s t r u m e n ti s as u b s t i t u t eo fr o u t i n el n s t r u m e n t b yw a y so fd a t a c o l l e c t i o nc a r da n ds o f t w a r e t h ev i r t u a li n s t r u m e n tt h e r ei sak i n do fl o g i c a l a n a l y z e ro f t e nu s e di ne x p e r i m e n tm e a s u r e i t sm a i nu s a g ei st om e a s u r e h a r d w a r e s i g n a l so nc i r c u i tb o a r d ,a n ds h o w t ot h eu s e r st h r o u g hv a r i o u sw a y s i tg i v e su s v e r yg o o d d a t aa n a l y s i si n t e r f a c e h a r d w a r ec o l l e c t i o nc a r du s e dh e r ei sau s b 2 0e x t e r i o re q u i p m e n t d e v e l o p e d b ym y s e l f t h e b e s tc o m m u n i c a t e s p e e d o fi t s g e n e r a l c i r c u i ti sa s h i g h a s 4 8 0 m b i t s ,r e a c h i n gi t sd e s i g n i n gt e c h n i c a lg u i d e l i n e b e c a u s eu s e i sak i n do f e q u i p m e n to fw i n d o w s ,a n dw i n d o w s2 0 0 0 ,i n c l u d i n gi t ss e n i o r s ,h a v ep r o t e c t i o n s t r a t e g yt oh a r d w a r er e s o u r c e ,t h e r em u s tb ead r i v ep r o g r a mo fh a r d w a r ea c c e s s r u n n i n go n t h ek e r n e ls y s t e ml e v e l t h e r e f o r e ,t o t a lv i r t u a li n s t r u m e n ti n c l u d e st h e f o l l o w i n gp a r t s :f i x i n gp a r t s ,f i x i n gp a r t sp r o g r a m ,s y s t e md r i v i n gp r o g r a m ,t w i s t s a n dt u r n ss h o w i n g p r o g r a m ,a n dt h e o r y c h a r td r a w i n g p r o g r a m f i x i n gp a r t sa r et h es i g n a lc o l l e c t i o nh a r d w a r e ,w h i c hb s e r sc o u l ds e ef r o m o u t e rc i r c u i tb o a r d i ti s s u b s e q u e n c ed a t as o l i c e ,a l s o i st h eo b j e c t , w h i c hi s c o n t r o l l e db ys o f t w a r eo np c p o r t f i x i n gp a r tp r o g r a m i st h es o f t w a r et h a td i r e c t l y c o n t r o l st h ea c t i o no fh a r d w a r e ,a n dr u n n i n go nt h eh a r d w a r e t h eh a r d w a r eu s e d h e r ei sc y 6 8 0 1 3 i ti sas i n g l ec h i p ,w h i c hh a su s bi n t e r f a c ea n d8 0 1 5 - k e m e li n s i d e s y s t e md r i v i n gp r o g r a mi st h es y s t e mt r u s tp a r tr u n n i n go nt h eo p e r a t i o ns y s t e m k e r n e l ,a n di ti st h ei n t e r f a c eb e t w e e na p p l i c a t i o np r o g r a ma n dh a r d w a r e , c o n t r o l l i n gt h e d a t ae x c h a n g e t w i s t sa n dt u r n s s h o w i n gp r o g r a m s h o w st h e c o l l e c t e dd a t a t h r o u g ht h e s e tc o l l e c t i o n g a t e w a y u s e r s c a r em o s ta b o u tt h i s i n t e r f a c ep r o g r a m t h e o r yc h a r td r a w i n gp r o g r a mi sat o o lf o rt h eu s eo fd r a w i n g t h et h e o r yd i a g r a mo ft h et e s t e dc i r c u i tb o a r d s ot h eu s e rc o u l dd i r e c t l yl o o ko v e r t h es a m p l ed a t af r o mt h et h e o r yd i a g r a m ,n o tt h ec i r c u i tb o a r d t h em o s tr e a d a b l e 1 1 1 a b s t r a c t t i r i n gi st h a tt h ed e v e l o p i n g h a si m i t a t e df o t m d a t i o n 2 1 t h i s p a p e r h a s e i g h tc h a p t e r s ,c h a p t e r o n ei s s u m m a r i z e ,i n t r o d u c e t h e c o n c e p t i o n o fv i r t u a li n s t r u m e n ta n dt h ea c m a l i t yo fi t c h a p t e rt w ot o 矗v e i n t r o d u c eh a r d w a r ed e s i g n ,f i r m w a r ed e s i g n ,d e v i c ed r i v e rd e s i g na n du s bd e v i c e d r i v e rb a s e dw d m a r c h i t e c t u r e ,a n da l lt h e s ea r ej u s tt h ek e r n e lo fm yd e s i g no f h a r d w a r e s p a r t c h a p t e rs i x i sw h o l es y s t e ma r c h i t e c t u r eo fh a r d w a r es y s t e m , c h a p t e rs e v e ni s s o f t w a r ed e v e l o p m e n t ,c h a p t e re i g h ti st h es u m m a r yo fs y s t e m d e s i g n k e y w o r d s :v i r t u a li n s t r u m e n t ,e q u i p m e n td r i v e ,d d kw d m u s b 第1 章概述 1 1 虚拟仪器概述 第1 章概述 所谓虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪 器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;可集成于自动控制、 工业控制系统;可自由构建成专有仪器系统。它由计算机、应用软件和仪器硬 件组成。无论哪种虚拟仪器系统,都是将仪器硬件搭载到笔记本电脑、台式 p c 或工作站等各种计算机平台( 甚至可以是掌上电脑) 加上应用软件而构成的。 圈1 1 传统的仪器结构 虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计 算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小 了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。 从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器。由于计 算机性能以摩尔定律( 每半年提高一倍) 飞速发展,已把传统仪器远远抛到后面。 并给虚拟仪器生产厂家不断带来较高的技术更新速率。 虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵 活,很容易构建,所以应用面极为广泛。尤其在科研、开发、测量、检测、计 量、测控等领域更是不可多得的好工具。虚拟仪器技术先进,十分符合国际上 流行的”硬件软件化”的发展趋势,因而常被称作”软件仪器”。它功能强大,可 实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部功能,配 以专用探头和软件还可检测特定系统的参数,如汽车发动机参数、汽油标号、 炉窑温度、血液脉搏波、心电参数等多种数据;它操作灵活,完全图形化界面, 风格简约,符合传统设备的使用习惯,用户不经培训即可迅速掌握操作规程; 藏汉理工大学颈圭学位论文 图1 2 仪器的发展方向 它巢成方便,不但可以和岗速数据采集设备构成自动测量系统,掰盥可以和按 翻设备孝每成离动控籁系统。 在仪器计量系统方面,示波器、频谱仪、信号发生器、逻辑分析仪、电压 电流表是科研机关、企业研发实验室、大专院所的必备测量设备。随着计算机 按零在测绘系绞嚣广泛疲臻,传统懿纹器浚备缺乏鞠应的诗葵瓠羧誓,凌瑟酝 含数据采集殿数据处理十分困难。而飘,传统仪器体积相对庞丈,多种数据测 量时常常感到捉襟见肘,手足无措。我们常见到硬件工程师的工作台上堆砌着 纷我的仪爨,交罐豹线缆鄹繁多特测嚣终。然瑟在黛藏豹虚拟测爨系统孛,我 们见至0 的怒熬洁的桌面,条理的操作,不僵使测量入贯从繁复的仪器堆中解放 出来,而且述可实现自动测量、自动记录、自动数据处理。其方便之极固不必 多言,面设蘩成本豹大螭降低却不可不提。一套完熬的实验测量设餐少则几万 元,多瓣凡十万元。在圈镣静往髓条传下,耱应懿纛按仪器蛰格瑟 螽二分之一 甚至更多。虚拟仪器强大的功能和价格优势,使得j 露在仪器计赞领域具有很强 的生命力和十分广阔的前景。 在专弼溺囊系统方嚣,寝攘搜器豹发凌空翔雯麓广润。嚣鬏囊今柱会,蘩 息技术的迅猛发展,各杼各业无不转向智能化、自动化、集成化。无所不在的 计算机应用为虚拟仪器的推广提供了良好的基础。虎拟仪器的概念就是用专用 熬软硬 孛配合计算瓤实现专奏设备的功能,并使其囊动纯、智能纯。因此,皮 掇仪器适含予一切需要计算机辅韵避稃数据存储、数据处理、数搬传输的诗爨 场合。测量与处理、结果与分析相脱节的面貌将大为改观。数据的拾取、存储、 处理、分柝条龙操作,既有条不紊又遇捷快速。摊而广之,一切计量系统, 只要按零上掰行,都霹蔫寝援纹疆枝饕,交瑟霹冤纛羧纹器痤鬟窆黉是多么戆 宽广。 2 武汉理工大学硕士学位论文 在自动控制和工业控制领域,虚拟仪器同样应用广泛。绝大部分闭环控制 系统要求精确的采样,及时的数据处理和快速的数据传输。虚拟仪器系统恰恰 符合上述特点,十分适合测控一体化的设计。尤其在制造业,虚拟仪器的卓越 计算能力和巨大数据吞吐能力必将使其在温控系统、在线监测系统、电力仪表 系统、流程控制系统等工控领域发挥更大的作用。 1 。2 虚拟仪器的发展过程 2 0 世纪8 0 年代中期,美国国家仪器公司( n a t i o n a ii n s t r u m e n t 简称n i ) 首先提出了“软件就是仪器”( t h es o f t w a r ei st h ei n s t r u m e n t ) 这虚拟 仪器概念。这个概念为用户定义、构造自己的仪器系统提供了完美的解决途径。 虚拟仪器通过软件将计算机硬件资源与仪器硬件有机地融合为一体,从而把计 算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小 了仪器硬件的成本和体积,并通过软件实现对数据的昆示、存储以及分析处理。 从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器。当硬件 平台i 0 接口设备与计算机确定后,编制某种测量功能的软件就成为该种功能 的测试仪器。因为虚拟仪器可与计算机同步发展,与网络及其他周边设备互联, 用户只需改变软件程序就可以不断赋予它或扩展增强它的测量功能。这就是 说,仪器的设计制造不再是厂家的专利。虚拟仪器开创了仪器使用者可以成为 仪器设计者的时代,这将给仪器使用者带来无尽的收益。 虚拟仪器从概念的提出到目前技术的日趋成熟,体现了计算机技术对传统 工业的革命。大致说来,虚拟仪器发展至今,可以分为三个阶段,而这三个阶 段又可以说是同步进行的。第一阶段利用计算机增强传统仪器的功能。由于 g p i b 总线标准的确立,计算机和外界通信成为可能,只需要把传统仪器通过 g p i b 和r s 一2 3 2 同计算机连接起来,用户就可以用计算机控制仪器。随着计算 机系统性能价格比的不断上升,用计算机控制测控仪器成为一种趋势。这一阶 段虚拟仪器的发展几乎是直线前进。第二阶段开放式的仪器构成。仪器硬件上 出现了两大技术进步:一是插入式计算机数据处理卡( p l u g - i np c d a q ) ; 二是v x i 仪器总线标准的确立。这些新的技术使仪器的构成得以开放,消除了 第一阶段内在的由用户定义和供应商定义仪器功能的区别。第三阶段虚拟仪器 武汉理工大学硕士学位论文 框架得到了广泛认同和采用。软件领域面向对象技术把任何用户构建虚拟仪器 需要知道的东西封装起来。发展到这一阶段,人们也认识到了虚拟仪器软件框 架才是数据采集和仪器控制系统实现自动化的关键。 在虚拟仪器技术发展中有两个突出的标志,一是v x i 总线标准的建立和推 广;二是图形化编程语言的出现和发展。前者从仪器的硬件框架上实现了设计 先进的分析与测量仪器所必须的总线结构,后者从软件编程上实现了面向工程 师的图形化而非程序代码的编程方式,两者统一形成了虚拟仪器的基础规范。 1 3 虚拟仪器的硬件技术的发展 要保证虚拟仪器具备与传统仪器匹配的实时处理能力和可靠性,很重要的 一点是取决于传输测量数据的总线结构。在虚拟仪器中,其分析功能是由计算 机来完成的或由计算机来控制的。因此,接口、总线的速度和可靠性是关键, v x i 总线标准的建立,使得用户可以像仪器厂商一样,从访问寄存器这样的低 层资源来设计和安排仪器功能,也使得用户化仪器功能设计得以实现。 v x l 总线的出现,使得虚拟仪器设计有了一个高可靠性的硬件平台。目前 已出现了用于射频和微波领域的高端v x l 仪器。当然,采用普通p c 总线,尤 其是工业p c i 总线的虚拟仪器也在不断发展,这类虚拟仪器主要面向一般工业 控制,过程监测和实验室应用。 1 4 虚拟仪器的软件发展 除了硬件技术外,软件技术的发展和有关国际标准的建立,也是推动虚拟 仪器技术发展的决定性因素之一,在g p i b 接口总线出现以后,关于程控仪器 的句法格式、信息交换协议和公用命令的标准化,一直是人们关心的问题。标 准程序命令( s c p i ) 标准的建立,向解决程控命令与仪器厂家无关这一目标迈 进了重要的一步。 随着虚拟仪器思想的深入,用户自己开发仪器驱动器已成为技术发展的客 观要求。过去仪器驱动都是由仪器厂家专门设计的,缺乏标准,使得用户在仪 器软件方面的投资得不到保护。为此,国际上专门制定了虚拟仪器软件体系 武汉理工大学硕士学位论文 ( v i s a ) 标准,建立了与仪器接口总线无关的标准i o 软件,与l a b v i e w 、h p v e e 、 l a b w i n d o w s 等先进开发环境软件相适应。开发一个用户定制的虚拟仪器在软件 技术上已经成熟。可以预计,未来屯子测量仪器和自动化测试技术的发展还将 更多地渗透虚拟仪器的思想。 1 5 虚拟仪器的功能 虚拟仪器是虚拟技术的一个重要组成部分,是由计算机技术、测量技术和 微电子技术高速发展而孕育出的一项革命性技术。虚拟仪器系统的概念不仅推 进了以仪器为基础的测控系统的改造,同时也影响了以数据采集为主的测控系 统的传统构造方法的进化。过去独立分散、互不相干的许多领域,在虚拟仪器 系统的概念之下,正在逐渐靠拢、相互影响,并形成新的技术方法和技术规范。 图1 3 虚拟仪器的结构 虚拟仪器系统的概念是测控系统的抽象。不管是传统的还是虚拟的仪器, 它们的功能都是相同的:采集数据,对采集来的数据进行分析处理,然后显示 处理的结果。它们之间的不同主要体现在灵活性方面。虚拟仪器由用户自己定 义,这意味着您可以自由地组合计算机平台、硬件、软件、以及各种完成应用 系统所需要的附件。它可代替传统的测量仪器,如示波器、逻辑分析仪、信号 发生器、频谱分析仪等;可集成于自动控制、工业控制系统;可自由构建成专 有仪器系统。它由计算机、应用软件和仪器硬件组成。因此,虚拟仪器的出现, 彻底改变了传统的仪器方法,开辟了测控技术的新纪元。而这种灵活性在由供 应商定义、功能固定、独立的传统仪器上是达不到的。这一创新使得用户能够 根据自己的需要定义仪器功能,而不像传统仪器那样,受到仪器厂商的限制。 武汉理工大学硕士学位论文 我们常见到硬件工程师的工作台上堆砌着纷乱的仪器,交错的线缆和繁多 待测器件。然而在集成的虚拟测量系统中,我们见到的是整洁的桌面、条理的 操作,不但使测量人员从繁复的仪器堆中解放出来,雨且还可实现自动测量、 自动记录、自动数据处理。不但方便之极,而且设备成本大幅降低。 虚拟仪器包括硬件和软件两个基本要素。硬件的主要功能是获取真实世界 中的被测信号,可分为两类:类是满足一般科学研究与工程领域测试任务要 求的虚拟仪器。最简单的是基于p c 总线的插卡式仪器,也包括带g p i b 接口和 串行接口的仪器;另一类是用于高可靠性的关键任务,如航空、航天、国防等 应用的高端y x i 仪器。虚拟仪器系统将不同功能、不同特点的硬件构成为一个 新的仪器系统,由计算机统一管理、统一操作。软件的功能定义了仪器的功能。 因此,虚拟仪器最重要、最核心的技术是虚拟仪器软件开发环境。作为面向仪 器的软件环境应具备以下特点:一是软件环境是针对测试工程师而非专业程序 员,因此,编程必须简单,易于理解和修改;二是具有强大的人机交互界面设 计功能,容易实现模拟仪器面板;三是具有强大的数据分析能力和数据可视化 分析功能,提供丰富的仪器总线接口硬件驱动程序。 1 6 虚拟仪器与传统仪器的比较 表l 一】虚拟仪器与传统仪器的比较 传统仪器虚拟仪器 关键是硬件关键是软件 开发与维护的费用高开发与维护的费用低 技术更新周期长技术更新周期短 价格高价格低,并且可重复性与可配置性强 产商定义仪器功能用户定义仪器功能 系统封闭、固定系统开放、灵活、与计算机的进步同步 不易与其他设备连接极易与其他设备连接 与传统仪器相比,虚拟仪器在智能化程序、处理能力、性能价格比、可操 作性等方面都具有明显的技术优势,具体表现为:1 、智能化程度高,处理能 6 武汉理工大学硕士论文 力强a 虚拟仪器的处理能力和智能化程度主要取决于仪器软件水平。用户完全 可以根据实际应用需求,将先进的信号处理算法、人工智能技术和专家系统应 用于仪器设计与集成,从而将智能仪器水平提高到一个新的层次。2 、复用性 强,系统费用低。应用虚拟仪器思想,用相同的基本硬件可构造多种不同功能 的测试分析仪器,如同一个高速数字采样器,可设计出数字示波器、逻辑分析 仪、计数器等多种仪器。这样形成的测试仪器系统功能更灵活、系统费用更低。 通过与计算机网络连接,还可实现虚拟仪器的分布式共享,更好地发挥仪器的 使用价值。3 、可操作性强。虚拟仪器面板可由用户定义,针对不同应用可以 设计不同的操作显示界面。使用计算机的多媒体处理能力可以使仪器操作变得 更加直观、简便、易于理解,测量结果可以直接进入数据库系统或通过网络发 送。测量完后还可打印,显示所需的报表或曲线,这些都使得仪器的可操作性 大大提高。 1 _ 7 虚拟仪器的数据采集方式 从虚拟仪器的定义来说,它更多地强调软件在仪器中的应用,但虚拟仪器 仍离不开硬件技术的支持,信息的获取仍需要通过硬件来实现。目前,虚拟仪 器的类型主要取决于仪器所采用的接口总线类型。从仪器与计算机采用的总线 连接方式的不同,可分为内插卡式和外接机箱式两大类。内插卡式就是将各种 数据采集卡插入计算机扩展槽,再加上必要的连接电缆或探头,就可形成一个 仪器。外接机箱式采用背板总线结构,所有仪器都连接在总线上或采用外总线 方式,用外部主控计算机来实现控制。这种类型的虚拟仪器以v x i 仪器为典型 代表。无论哪种虚拟仪器,都离不开数据采集硬件的支持。 图1 ,4 虚拟仪器的数据采集方式 上图描述了插入式d a q 的组成。通常一块d a q 卡可以完成多种功能,包括 a d 、d a 转换,数字输入输出以及计数器操作等。 7 武汉理工大学硕士论文 数据采集系统的功能模块如图1 5 所示。使用模块化的设计思想完成特定 任务,会使用户程序的重新组织易于控制和实现。 图15 虚拟仪器的软件结构 1 8 虚拟仪器的开发工具 设计虚拟仪器的过程与主要工作内容就是编制应用软件的过程。设计虚拟 仪器必需有合适的软件工具。因此,提供应用软件开发工具的软件平台技术也 相应快速发展。目前流行的软件开发工具主要有两类:文本式编程语言:如 v i s u a lc + + ,v i s u a lb a s i c ,l a b w i n d o w s c v i 等;图形化编程语言:如 l a b v i e w ,h f v e e 等。在这篇论文的以下章节中作者自行开发硬件电路板、固件 驱动程序、操作系统驱动程序和用v i s u a lc + + 语言开发的上层界面显示程 序。 1 9 虚拟仪器的框架设计 从构成要素讲,虚拟仪器系统是由计算机、应用软件和仪器硬件组成的。 从构成方式讲,则有以d a q 板和信号调理部分为硬件来组成的p c - d a q 测试 系统,以g p i b 、v x i 、串行总线系统、现场总线系统等。虚拟仪器系统构成如 图1 6 所示。无论哪种虚拟仪器系统,都是将硬件仪器搭载到笔记本电脑、台式 计算机或工作站等各种计算机平台上,再加上应用软件而构成的。因而,虚拟 仪器的发展已经与计算机技术的发展步伐完全同步。 武汉理工大学硕士论文 1 6 虚拟仪器体系结构 本虚拟仪器分为两大块,硬件部分和软件部分。其中软件部分分为三个模 块,由设备驱动( 内核态驱动) 、动态连接库( 用户态驱动) 和应用程序构成。 其中设备驱动负责提供对硬件设备读写等各种服务,运行在内核态,是操作系 统信任的一部分。动态连接库是运行在用户态的驱动,提供应用程序与驱动程 序的接口。这样由于其提供的函数接口,避免了编写应用程序的人员与驱动程 序的直接打交道,一来开发应用程序人员不用去了解硬件设备,方便了他们的 工作:其二,可以防止应用程序开发人员的误操作导致系统的崩溃,确保系统 的安全。应用程序是提供给用户的应用接口,这里的程序界面类似示波器的界 面,用于显示各通道的数据。同时为了提供用户的二次开发,这里将提供以标准 的a p i 接口函数的动态连接库等。整个虚拟仪器的结构如图1 7 所示。 i应用程序 j 工 动态连接库一d l l l u 驱动程序一s v s ) 图17 系统软件结构 这里的软件的三大部分均是作者自已用c 和v i s u a lc + + 自行开发的。而硬 件部分分为两大模块,即高速采样和数据传输部分。硬件部分采用的自行开发 9 武汉理工大学硕士论文 的u s b 2 0 的外设接口,其模块结构如图1 8 所示。硬件的电路以及底层软件也 是作者自行开发的,其代码结构将在后面各个章节中所述。 图1 8 系统硬件结构图 第2 章硬件部分设计 2 1 硬件框架综述 第2 章硬件部分设计 作为对实际的信号采集的虚拟仪器,自然离不开采集信号的硬件。它是连 接被测信号与被测信号显示设备( 计算机) 的必要手段。其主要功能是采集被 测信号并进行相应信号处理运算后再通过计算机的外围接口传送给计算机。 这里的硬件分为两个部分,第一部分是数据采集与处理部分,它是由f p g a 来完成的。这里的f p g a 设计思想是将其设计成一个独立的数据采样与处理的 控制器,在接收到命令后会按设置进行采集数据和数据压缩。设计中使用f p g a 的理由是它的速度比较快,这里用的f p g a 的工作频率能达到3 0 0 m h z 。另外一 部分是数据传输部分,它使用c y p r e s s 公司的c y 6 8 0 1 3 来完成的。c y 6 8 0 1 3 提 供的一个高速数据传输接口是u s b 2 0 ,理想中最快的速率是4 8 0 m b p s 。 2 2u s b 的基础知识【8 l 【1 6 1 通用串行总线u s 8 ( u n i v e r s a ls e r i a lb u s ) 的规范是i b m 、c o m p a q 、i n t e l 、 m i c r o s o f t 、n e c 等多家公司联合制定的。u s b 总线规范草案最早提出于1 9 9 4 年底,推出了o 7 版本,接着于1 9 9 6 年推出了1 o 版本,到1 9 9 8 年,又推出 了1 1 版本。在1 1 版本中定义了两种速度u s b 的传输工作模式,低速( l o w s p e e d ) 模式的数据传输速度1 5 m b s ;全速( f u l ls p e e d ) 模式使得u s b 的传 输速度峰值达到了1 2 m b s 。在2 0 0 0 年底,u s b 组织又推出了u s b 2 0 版本,将 u s b 总线的传输速度提高到4 8 0 m b s 的水平,支持它的芯片称为( h i g hs p e e d ) 系列。 2 2 1u s b 出现的历史 随着电脑应用的拓宽,p c 机的外设越来越多。在机箱的外部出现了各种各 样的外设接口,如并行口、串行口、键盘口、鼠标口、游戏手柄接口、视频输 出口、网络接口等。由于各种设备不断增加,计算机所提供用于连接外设的资 源日渐紧张,而导致各种i o 的冲突。在这种历史背景下,m i c r o s o f t 公司于 武汉理工大学硕士学位论文 1 9 9 4 即插即用技术方案。这种技术解决了用户为外设手工设置参数的困难, 由系统自动进行设置。但新外设的安装也很麻烦,而且扩充外设数量的问题也 没有解决。因此1 9 9 6 年召开的面向p c 机硬件技术工作者会议上,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 ) 的概念。基于这个概念, 后来开发出了适合中速的外设使用的u s b 总线接口,它是一种典型的设备插架 结构的总线。目前大多数p c 都配置有i 一4 个标准u s b 总线接口,而且通过u s b 集线器( h u b ) 的扩充,可以支持多达1 2 7 个外设同时连接。 2 2 2u s b 使用的对象和目标 u s b 的对象最初瞄准的是诸如调制解调器、扫描仪、键盘、个人数字助理、 鼠标和操作杆等这样的低速设备。通过不断的发展,u s b 已经能胜任更高速的 数据传输,因此适用的范围也逐步扩大到了如外置大容量存储器、数码相机、 视频系统等这样需要大量传输数据的外设中去。目前,u s b 2 0 的发展甚至到了 可以支持实时的高分辨率视频传输的水平。随着u s b 传输数据速度的提高,传 输实时性的增强,可以预见其用途将更加宽广。表2 一i 给出了按照u s b 可以 达到的数据传输率进行分类。 表2 一iu s b 的数据传输率分类 类别应用特性 低速:交互设备键盘、鼠标、游戏杆低价格、可热拔插、易用 1 0 2 0 k b s性 全速:音频、压缩视频 i s d n 、p b x 、p o t s低价格、可热拔插、易用 5 0 0 k b s 1 2 m b s性 限定带宽和延时 高速:- 视频、磁盘音视频处理高带宽、限定延时 2 5 4 8 0 m b s磁盘易用性 2 2 3u s b 设计原理和特性 u s b i i 的总线规范是对p c 现有的总线体系结构的扩充。u s b 总线接口的 设计主要有以下几个原则:易于扩充多个外围设备;价格低,且支持1 2 m b s 的数据传输:充分支持声音音频和压缩视频等实时数据;协议灵活,能够同时 进行异步和同步数据传输;能兼容各种不同设备的技术,提供一个标准接口, 武汉理工大学硕士学位论文 广泛接纳各种设备:综合不同p c 机的结构和体系特点,赋予p c 机的新功能。 2 2 4 u s b 性能 对于不同版本的u s b 协议以及其它各种外围接口,其速率的比较见表2 一 表2 2 计算机外围接口特性 接口类型理论最大传输速率( b s ) u s ba tl o ws p e e d 1 5 m b s u s ba tf u l l s p e e d 1 2 m b s u s b2 0a th i g hs p e e d4 8 0 m b s s e r i a lp o r t1 1 5 k b s i r d a1 1 5 k b s i e e e1 3 9 4 a4 0 0 l b s s c s i4 0 m b s f a s ts c s i8 0 m b s 1 2 c4 0 0 k b s i e e e 4 8 8 8 m b s u s b 接口虽然不是最快的,但是它普及的速度来看,在未来的一两年内,也许 会逐渐替代串行口和并行口,甚至可以终结i e e e l 3 9 4 a 总线( 也叫火线, f i r m w a r e ) 接口,成为个人电脑上的标准配置。而且现在几乎所有的主板上都 内置了1 4 个u s b 接口,用户不需要另外购买适配器,减少了成本,这也是 u s b 能够流行起来的一个原因。 2 2 5u s b 接口设备供电 u s b 电缆中包含有两根电源线及两根数据线。部分设备,如读卡器、摄像 头、游戏手柄等耗电比较少的设备可以直接通过u s b 接口供电。可以通过u s b 接口供电的设备又分为低电量模式和高电量模式,前者最大可获得l o o m a 的电 流,后者最大可以获得5 0 0 m a 的电流。如果需要更大的电流,那就只好通过外 接电源来供电了。 2 2 6u s b 接口连接距离 u s b 提供低速与全速两种数据传送速度规格。全速传送时,结点间连接距 1 3 武汉理工大学硕士学位论文 离为5 m ,连接使用4 芯电缆。u s b 全速传输速率与标准的串行端口相比,大约快 1 0 0 倍;与标准的并行端口相比,也快近1 0 倍。因此,u s b 能支持高速的通信 接口( 例如综合业务网i s d n 等) ,使用拥有足够的带宽供新的数字外设使用。 2 2 7u s b 2 o u s b 2 0 发展的原因主要是因为u s b l 1 规定的最大传输速率只有1 2 m b s , 远低于4 0 0 m b s 的i e e e l 3 9 4 a 总线。为了与i e e e l 3 9 4 a 竞争,以i n t e l 为主的 一些硬件厂商和开发商又联合制定了u s b 2 0 规范。u s b 2 0 总线规范将传输速 率提升到4 8 0 m b s ,足以满足大多数外设速率要求。其规范中的增强主机控制器 接口( e h c l ) 定义了一个与u s b i 1 相兼容的框架。它可以用u s b 2 0 总线接口的 驱动程序驱动u s b i i 总线接口设备。这样。所有支持u s b i 1 总线接口的设备 都可以直接在u s b 2 0 总线接口上使用而不必要担心兼容性的问题,而且象u s b 连接头、插头、插孔等附件也可以直接使用。u s b 2 0 总线规范特别定义的帧结 构,使得u s b 2 0 总线接口设备在小缓存的情况下依然能够以高速率传送数据。 不过,如果外设不支持如此高的速度的话,系统将还原到早期的1 2 m b s ( 全速) 或者1 5 m b s ( 低速) 速度上来。 2 2 8u s b 总线体系结构 u s b 总线是一种串行总线,支持在主机与各式各样即插即用的外设之间进 行数据传输。它由主机预定传输数据的标准协议,在总线上的各种外设上分享 u s b 总线带宽。当总线上外设和主机在运行时,允许自由添加、设置、使用以 及删除一个或多个外设。一个完整的u s b 总线系统可以分为三部分:u s b 总线 的主机、u s b 总线的设备以及它们之间的互连。其结构图如图2 1 所示: 图21u s b 总线的外设连线 1 4 武汉理工大学硕士学彼论文 2 2 + 9 u s b 电缆 所有u s b 外设都有一个上行的连接。上行连接采用a 型接网,而下行连接 一般则采用b 型接口,遮两个接口不可以简单地互换,这样就避免了集线器之 间循环往复地非法连接。一般情况下,u s b 粲线器输出连接口为a 型,而外设 及h u b 的输入盈均势8 黧。辑懿u s b 电缆一般采用一端a 盈、一端8 日豹形式。 u s b 穗缆中霄器稷导线:一瓣互耱交缝熬拣溱蠖格线,瘸子蕊翰麓分焦号b + 稳 d 一,嬲辨有一对符合标准的电源线v 。和g n d ,用于给设备提供+ 5 v 电源。u s b 连线具有屏蔽层,以避免外界干扰。u s b 的摘头和电缆如图2 2 所示: 鹫2 。2 嚣b 秘摇头秘彀缓 而u s b 连线的定义如表2 3 所示: 表2 3u s b 连接城建义 i 连接序号信垮名称舆型连接线 l( 电压正) 数 2 蚤一( 受差势整号) 巍 3d + ( 斑差分信号)绿 【4 g n d ( 电源地)照 【外层屏敝层 这飘两根双绞的数据线d + 、d 一用于收发u s b 总线传输的数据差分信号。低速和 垒逮横式可在用羼一璐8 总线传输豹祷况下壤动楚动态切换。数攥传输时,调 裁纛瓣辩镑与差努数攥起逮蓬鼗据线瓣,终竣篷去,售号褒稷埝辩毅转换 成n r z i 码( 不归零爱囱稻) 。为僳证转换的逡续性,在编码斡弼瓣尊还要进行位 插入操作,这些数据被打包成有固定时间间隔的数据包,每一数据包中附有同 步倍母,使得收方可以逐原出总线时钟信号。u s b 对电缆长度肖一定的要求, 最长可为5 m 。终端设备位予电缆的尾部,在集线嚣的每个端口都w 以检测终端 武汉理工大学硕士学位论文 是否连接或分离,并区分出高速或低速设备。 2 2 1 0u s b 传输信号状态 u s b 总线中d + 和d 一信号线传输的是一对差分信号,可表示为j 状态和k 状态。全速连接与低速连接所定义的j 、k 状态是相反的,j 、k 状态必须大于 所容许的电平h 。 2 o v ,v 。 m a j o r f u n c t i o n i r p m j ( ;r e a t e = e z u s bc r e a t e : d r i v e r o b j e c t - 一 m a j o r f u n c t i o n i r p ! m jc l o s e _ = e z u s b _ c l o s e : d r i v e r o b j e c t 一 d r i v e r u n l o a d = e z u s b j j n l o a d : d r i v e r o b j e c t - ) m a j o r f u n c t i o n i r p j _ d e v i c e _ c o n t r o l = e z u s b p r o c e s s i o c t l : d r i v e r o b j e c t 一 m a j o r f u n c t i o n i r p _ m j _ p n p = e z u s b 一d i s p a t c h p n p : d r i v e r o b j e c t - 一 m a j o r f u n c t i o n i r p - u _ p o w e r = e z u s l ;b _ d i s p a t c h p o w e r : d r i v e r o b j e c t 一 d r i v e r e x t e n s i o n 一 a d d d e v i c e = e z u s b _ p 】 n p a d d d e v i c e : e z u s b _ k :d p r i n t ( ( ”e x i t i n g ( e z u s b ) d r i v e r e n t r y ( x ) n ”,n t s t a t u s ) ) : r e t u r nn t s t a t u s : ) 程序清单6 2 驱动程序初始化 这里主要是定位应用程序的各例程的入口。 第7 章界面程序设计 第7 章界面程序设计 7 1 绘制原理图程序设计1 5 】【,3 1 3 1 1 7 1 1 软件的功能综述 虚拟仪器的整体软件是按x i l i n x 公司的f o u n d a t i o n 2 1 的原理图输入和时 序仿真为蓝本来设计的。整个上层软件分为两个部分,第一部分就是原理图输 入部分,其主要的功能就是绘制原来图。这里的设计采用了p r o t e l 的设计思想 及分层设计,先通过元件设计出常用的电子元器件库,在调用自己创建的电子 元器件库绘制原理图。第二部分是时序仿真部分,这部分的功能是实现将硬件 从测试对象上采集的数据按时序的方式显示

温馨提示

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

评论

0/150

提交评论