基于labview的虚拟数字电路实验系统的设计学位论文.docx
《基于labview的虚拟数字电路实验系统的设计学位论文.docx》由会员分享,可在线阅读,更多相关《基于labview的虚拟数字电路实验系统的设计学位论文.docx(29页珍藏版)》请在冰豆网上搜索。
基于labview的虚拟数字电路实验系统的设计学位论文
基于LabVIEW的虚拟数字电路实验系统的设计
摘要
当今社会在校学生人数急剧增加,传统的实验仪器已不能满足实验需要,学生的实际实验训练得不到满足,尤其是理工科学生,没有实验训练,抽象的理论知识很难理解。
随着低成本高性能的计算机资源普及运用,数字化仪器平台逐渐取代传统电子仪器已成为一种趋势。
如果把虚拟仪器运用到实验教学和科研中,不但可以节约大量仪器设备的需要,也提高了实验教学和科研的效率和质量。
数字电路作为电子信息类各专业的主要技术基础课程之一,其实践实验环节尤为重要。
用虚拟仪器技术构建数字电路实验系统,将广泛的应用到实验教学中。
关键词:
虚拟仪器技术,数字电路,实验系统,LabVIEW
ABSTRACT
Intoday'ssociety,thenumberofstudentsincreasedexponentially,Thetraditionalexperimentalapparatushasbeenunabletomeettheneedofexperiment,Studentsdonotmeettheactualexperimenttraining,EspeciallyforstudentsofscienceandEngineering,Noexperimentaltraining,Abstracttheoryishardtounderstand.Withlowcostandhighperformancecomputerresourcesuse,Digitalinstrumentplatformgraduallyreplacedthetraditionalelectronicinstrumenthasbecomeatrend.Ifthevirtualinstrumentusedintheexperimentteachingandscientificresearch,Notonlycansavealargeamountofequipmentneeds,butalsoimprovetheexperimentalteachingandthescientificresearchqualityandefficiency.Digitalcircuitforelectronicinformationmajorsmainlytechnicalbasiccourseof,Theexperimentalpracticelinkisparticularlyimportant.Usingthevirtualinstrumenttechnologytoconstructdigitalcircuitexperimentsystem,willbewidelyappliedintheexperimentalteaching.
Keywords:
virtualinstrumenttechnology,digitalcircuit,experimentSystem,LabVIEW
第一章绪论……………………………………………………………4
一、课题提出的背景和意义………………………………………4
二、毕业设计的任务………………………………………………4
第二章虚拟仪器概述…………………………………………………5
第三章LabVIEW在数字电路实验中的应用…………………………10
第四章数电路实验系统的设计………………………………………14
一、组合逻辑电路实验……………………………………………14
1、全加器…………………………………………………………14
2、全减器…………………………………………………………15
3、译码器…………………………………………………………16
4、数据选择器……………………………………………………18
二、时序逻辑电路实验……………………………………………19
1、RS触发器………………………………………………………19
2、JK触发器………………………………………………………21
3、计数器…………………………………………………………22
三、综合设计实验…………………………………………………23
1、信号发生器……………………………………………………23
2、七段数码管……………………………………………………25
3、时钟及秒表计时器……………………………………………27
总结……………………………………………………………………29
致谢……………………………………………………………………30
参考文献………………………………………………………………31
第一章绪论
一、课题提出的背景和意义
实验教学是培养学生创新思维和实践能力的重要环节。
随着科技的飞速发展,课程教学内容不断更新,传统的实验教学方式日益暴露出一些缺陷和不足。
如今高校实验室教学设备数量有限,特别是一些贵重的仪器,要做到学生与设备一对一配套是不现实的。
在传统的实验室教学模式中,一般会将学生分为若干小组,以组为单位作实验,使部分同学难以全部参与和投入,没能充分了解和掌握实验全过程。
再加上传统仪器功能固定且单一,仪器使用多年后,精度和灵敏度会有所下降,在实验过程中常常会因为仪器的原因而使实验数据产生很多误差然后浪费大量的时间进行检查。
而且传统实验模式中,学生靠手工记录和分析数据,这样这些数据不便于保存、查询和整理。
数字电路实验是理工科专业教学的一个重要内容,是培养学生电子技术应用和工程设计能力不可缺少的教学环节,所以实验室水平要不断改进和提高,以适应学科的发展。
虚拟仪器技术为解决这一问题提供了可能,如果基于虚拟仪器技术在实验教学中得到应用,将可以改善实验条件和效果,使教学更生动形象,这是在现代实验教学中的一种先进技术手段。
二、毕业设计的任务
本次毕业设计的任务就是在LabVIEW虚拟仪器的设计环境下完成数字电路实验系统。
在前面板即图形用户界面上表现开关、旋钮、图形或者其他控制和显示对象,在后面板调用事件结构、While循环、条件结构等LabVIEW典型函数模块完成事件的响应和实现等功能。
然后根据各个数字电路实验原理用LabVIEW分别进行模块编程,完成整个实验系统,用户只需在数字电路实验总面板上点击相应的功能模块,即可实现数字电路实验项目,然后进行相对应的操作。
这样使学生容易理解各个电路的功能以进行实践训练和自主学习,有利于学生的能力培养。
第二章虚拟仪器概述
从仪器的发展史可以看出,仪器领域已经经历了两次技术革命。
第一次是由数字电子技术的发展引起的,使仪器进入数字化仪器时代;第二次仪器革命是由于微处理器的广泛应用引起的,使仪器进入智能仪器时代。
而现在正在进行着第三次仪器革命即虚拟仪器时代,这和通用计算机硬软件技术的进步密不可分的。
一、虚拟仪器的简介
美国国家仪器公司NI(NationalInstruments)提出了虚拟测量仪器(VirtualInstrument,简称VI)的概念,引发了传统仪器领域的一场重大变革,使得计算机和网络技术得以长驱直入仪器领域,和仪器技术结合起来,从而开创了“软件即是仪器”的先河。
虚拟仪器(VI)是基于计算机系统的数字化测量测试仪器,用计算机屏幕形象、方便地模拟各种仪器的调控面板,以各种需要的形式表达输出检测结果;用计算机软件实现大部分信号的分析和处理,完成各种调控和测试功能。
“软件即是仪器”,在虚拟仪器系统中,软件发挥着核心作用,在其中,硬件仅是为了解决信号的输入输出,而核心功能以软件来完成,基于虚拟仪器,用户可以根据自己的需要定义仪器的功能,通过软件修改的方法,很方便地改变、增减仪器系统的功能与规模。
因此利用现有计算机资源,配以独特设计的仪器硬件和专用软件,可以实现普通仪器的全部功能以及一些在普通仪器上无法实现的特殊功能[1]。
VI是计算机技术、现代测量技术共同发展的结晶,代表着当今仪器发展的最新趋势。
自美国国家仪器公司在1986年提出虚拟仪器的概念之后,虚拟仪器技术便一直成为发达国家自动测控领域的研究热点和应用前沿。
20多年来,无论是初学乍用的新手还是经验丰富的程序开发人员,虚拟仪器在各种不同的工程应用和行业的测量及控制的用户中广受欢迎。
二、虚拟仪器的发展现状
国外:
自20世纪80年代以来,NI公司研制和推出了多种总线系统的虚拟仪器,其代表产品是LabVIEW图形编程系统。
随后HP公司也推出了HPVEE编程系统。
后来世界上又陆续百家公司如Tektronix公司、Racal公司也相继推出了各自的产品。
1988年,全球只有5家制造商推出的30余种产品;1994年,已有90余家近1000多种产品问世。
但最早和最具影响力的还是NI公司的图形化开发平台LabVIEW。
虚拟仪器在国外已发展成为一种新的产业。
美国是虚拟仪器的诞生地,目前也是全球最大的虚拟仪器制造国[2]。
国内:
20世纪90年代中期开始引进、研究和开发工作,国家自然科学基金委员会将虚拟仪器研究作为现代机械工程科学前沿学科之一,列入为“十五”期间优先资助领域。
目前有些研究已取得可喜成绩,如863项目“虚拟仪器关键技术的研究及其产业化”,所研制的“一体化虚拟仪器”就是一种不同于欧美虚拟仪器的技术。
这项成果表明我国在虚拟仪器方面走出一条自主创新的路子。
据“国际自动化仪表”杂志1999年预测:
到21世纪前十年,全世界将有50%的仪器仪表为虚拟仪器,其生产厂家将超过千家,产品将达到数千种。
市场占有率将达到电测仪器仪表的50%以上。
三、虚拟仪器的结构和分类
虚拟仪器可以概括为:
采集硬件+显示面板+算法软件
虚拟仪器本质上是一个开放型的结构,由通用计算机、数字信号处理器或其他CPU来提供信号处理、存储和显示功能,由数据采集板卡、CPB或VXI总线接口板进行信号的获取与控制,实现仪器的功能。
根据它采用总线方式的不同[3],可分为以下几种类型:
1、PC总线——插卡型虚拟仪器
这种方式借助于插入计算机内的数据采集卡与专用的软件如LabVIEW相结合,它可以通过各种控件自已组建各种仪器。
Labview/cvi是基于文本编程的程序员提供高效的编程工具,通过三种编程语言VisualC++,VisualBasic,Labviews/cvi构成测试系统,它充分利用计算机的总线、机箱、电源及软件的便利。
但是受PC机机箱和总线限制,且有电源功率不足,机箱内部的噪声电平较高,插槽数目也不多,插槽尺寸比较小,机箱内无屏蔽等缺点。
另外,ISA总线的虚拟仪器已经淘汰,PCI总线的虚拟仪器价格比较昂贵。
2、并行口式虚拟仪器
最新发展的一系列可连接到计算机并行口的测试装置,它们把仪器硬件集成在一个采集盒内。
仪器软件装在计算机上,通常可以完成各种测量测试仪器的功能,可以组成数字存储示波器、频谱分析仪、逻缉分析仪、任意波形发生器、频率计、数字万用表、功率计、程控稳压电源、数据记录仪、数据采集器。
美国LINK公司的DSO-2XXX系列虚拟仪器,它们的最大好处是可以与笔记本计算机相连,方便野外作业,又可与台式PC机相连,实现台式和便携式两用,非常方便。
由于其价格低廉、用途广泛,特别适合于研发部门和各种教学实验室应用。
3、GBIB总线方式的虚拟仪器
GPIB技术是IEEE488标准的虚拟仪器早期的发展阶段。
它的出现使电子测量独立的单台手工操作向大规模自动测试系统发展,典型的GPIB系统由一台PC机、一块GPIB接口卡和若干台GPIB形式的仪器通过GPIB电缆连接而成。
在标准情况下,一块GPIB接口可带多达14台仪器,电缆长度可达40米。
GPIB技术可用计算机实现对仪器的操作和控制,替代传统的人工操作方式,可以很多方便地把多台仪器组合起来,形成自动测量系统。
GPIB测量系统的结构和命令简单,主要应用于台式仪器,适合于精确度要求高的,但不要求对计算机高速传输状况时应用。
4、VXI总线方式虚拟仪器
VXI总线是一种高速计算机总线VME总线在VI领域的扩展,它具有稳定的电源,强有力的冷却能力和严格的RFI/EMI屏蔽。
由于它的标准开放、结构紧凑、数据吞吐能力强、定时和同步精确、模块可重复利用、众多仪器厂家支持的优点,很快得到广泛的应用。
经过十多年的发展,VXI系统的组建和使用越来越方便,尤其是组建大、中规模自动测量系统以及对速度、精度要求高的场合。
有其他仪器无法比拟的优势。
然而,组建VXI总线要求有机箱、零槽管理器及嵌入式控制器,造价比较高。
5、PXI总线方式虚拟仪器
PXI总线方式是PCI总线内核技术增加了成熟的技术规范和要求形成的,增加了多板同步触发总线的技术规范和要求形成的,增加了多板发总线,以使用于相邻模块的高速通讯的局总线。
PXI的高度可扩展性。
PXI具有8个扩展槽,而台式PCI系统只有3~4个扩展槽,通过使用PCI—PCI桥接器,可扩展到256个扩展槽,台式PC的性能价格比和PCI总线面向仪器领域的扩展优势结合起来,将形成未来的虚拟仪器平台。
但无论采用哪种类型的虚拟仪器系统,都是通过应用软件将硬件设备搭载到计算机平台上,实现计算机全数字化的采集、测试和分析。
而开发虚拟仪器离不开合适的软件工具,目前的虚拟仪器软件开发工具有两类:
文本式编程语言,如VisualC++,VisualBasic,LabWindows/CVI等;图形化的编程语言,如LabVIEW,HPVEE等,这些软件开发工具为用户设计虚拟仪器应用软件提供了最大限度的方便与良好的开发环境。
但是虚拟仪器也并非十全十美,在与其他设备连接时容易受到客观环境和条件的限制,另外由于需要进行大量的软件计算,可能造成较大的时延,此种情况下需要用传统的硬件仪器来代替。
第三章LabVIEW在数字电路实验中的应用
一、LabVIEW简介
LabVIEW是LaboratoryVirtualInstrumentEngineeringWorkbench(实验室虚拟仪器集成环境)的简称,是由美国国家仪器公司(NationalInstruments,NI)创立的一个功能强大而灵活的图形开发环境。
NI公司生产基于计算机技术的软硬件产品,其产品帮助从事研究、开发、生产、测量工作,以及在诸如汽车、半导体、电子、化学、电信、制药等行业工作的工程师和科学家进行测量、过程控制及数据分析和存储。
在试验测量、工业自动化和数据分析领域起着重要作用。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、文件输入/输出、数据分析、数据显示及数据存储、GPIB/VXI/PXI/基于计算机的仪器、RS232/485协议、模拟/数字/计数器I/O、信号调理、、图像获取和机器视觉、运动控制、PLC/数据日志等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试及观察数据流。
LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言——通常称为G编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。
与传统的编程方式相比,使用LabVIEW设计虚拟仪器,可以提高效率4~10倍。
同时,利用其模块化和递归方式,用户可以在很短的时间内构建、设计和更改自己的虚拟仪器系统[4,5]。
前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
LabVIEW系统由LabVIEW应用执行文件和许多相关的文件及子目录组成。
LabVIEW使用文件和目录来存储创建VI所必须的信息,部分重要的文件和目录如下:
1、LabVIEW可执行程序:
用于启动LabVIEW。
2、vi.lib目录:
该目录包含VI库,如数据采集、仪器控制和分析VI。
它必须与LabVIEW可执行程序在同一目录下。
不要改变vi.lib目录名称,因为LabVIEW启动时要查找该目录。
如果改变此名称,就无法使用众多的控件和库函数。
3、examples目录:
该目录包含许多VI示例,这些例子示范了LabVIEW的功能。
4、user.lib目录:
用户创建的VI保存于该目录并将出现在LabVIEW的Functionspalette上。
5、instr.lib目录:
如果希望用户仪器驱动程序库出现在LabVIEW的函数选项板上,应将其放置在该目录下。
6、Learning目录:
该目录包含有使用本书所需的VI库。
图3.1LabVIEW的发展历程
二、LabVIEW编程简介
LabVIEW编程一般要经过以下几个步骤。
1、总体设计:
根据用户需求,进行VI总体结构设计,确定面板布局与程序流程,并保证所使用的虚拟仪器硬件在LabVIEW函数库中有相应的驱动程序。
2、前面板设计:
在LabVIEW的前面板编辑窗口内,利用工具模板和控件模板进行VI前面板的设计。
图3.2LabVIEW前面板
3、框图编程:
在LabVIEW的框图编辑窗口内,利用工具模板和函数模板进行方框图编程。
图3.3LabVIEW框图
4、程序调试:
单击前面板编辑窗口或方框图编辑窗口工具条中的运行按钮,执行VI程序;同时可利用LabVIEW工具模板中的断点工具和探针工具调试缩编程序。
三、LabVIEW中的数字电路技术
LabVIEW具有典型的图形化语言风格,其程序的编制过程就是将不同的图标进行选择、组合并连线的过程。
其不同图标相当于具有不同功能的“子程序”,图标间的连线指定了数据的流向,相当于代码语言的“赋值”语句。
在LabVIEW的函数选板中,既包含了大量专用的信号处理、信号运算等图标,也包含了各种数值运算、逻辑运算的基本VI图标。
图3.4LabVIEW布尔运算
不难看出,利用这些图标编制的逻辑运算程序(LabVIEW后面板),也就是一个规范的数字逻辑电路的逻辑图。
就信号的输入/输出来说,LabVIEW亦提供了丰富的输入控件和输出控件,如各种形式的开关、按钮、指示灯、波形显示器等等,这些“器件”可直接用简单的拖动方式拖放到相应位置即可使用[6]。
图3.5LabVIEW布尔选项板
由于虚拟仪器LabVIEW中提供的布尔运算VI比较完备,再加上系统本身图形化的语言风格,完全可以做到将“程序——逻辑图——实验过程——输入输出”等过程的结合,使过程简单明晰,可以完成数字逻辑电路中几乎所有的实验及演示,如:
半加器、全加器、比较器、计数器、与非门、D触发器、JK触发器、译码器等等。
而且还可以运用LabVIEW中程序执行过程的“高亮度单步执行”模式充分地观察到信号的动态流程和逻辑电路的运算过程。
第四章数字电路实验系统的设计
一、组合逻辑电路实验
1、全加器
两个同位的加数和来自低位的进位三者相加,这种加法运算就是所谓的全加,而实现全加运算的电路就叫做全加器。
如果用A、B代表两个数中的第i位,用Ci表示来自低位的进位,用S表示全加和,用Co表示送给高位的进位[6,7],那么得出真值表为如表4.1所示:
A
B
Ci
S
Co
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
表4.1全加器
根据其逻辑关系用LabVIEW编写程序框图,如图4.1所示:
图4.1全加器程序框图
前面板如下:
图4.2全加器前面板
2、全减器
全减器是两个二进制的数进行减法运算时使用的一种运算单元。
最简单的全减器是采用本位结果和借位来显示,二进制中是借一当二,所以可以使用两个输出变量的高低电平变化来实现减法运算。
全减器真值如表4.2所示:
其中A和B表示二进制数的第i位,S表示本位最终运算结果,即就是低位向本位借位或本位向高位借位之后的最终结果,Ci表示低位是否向本位借位,Co表示本位是否向高位借位。
A
B
Ci
S
Co
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
表4.2全减器
根据其逻辑关系用LabVIEW编写程序框图,如图4.3所示:
图4.3全减器程序框图
前面板运行结果如下图4.4所示:
图4.4全减器运行结果
3、译码器
译码器是将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。
根据需要,输出信号可以是脉冲,也可以是高电平或者低电平。
译码器种类很多,但他们的工作原理和分析设计方法大同小异。
表4.3是3位二进制译码器的真值表,输入是3位二进制代码A2、A1、A0,输出是其状态译码Y0~Y7。
输入
输出
A2
A1
A0
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
表4.3译码器
根据其逻辑关系用LabVIEW编写程序框图,如图4.5所示:
图4.5译码器程序框图
前面板如图4.6所示:
图4.6译码器
4、数据选择器
在多路数据传送过程中,能够根据需要将其中任意一路挑选出来的电路,叫做数据选择器,也称为多路选择器或多路开关。
表4.4是4选1数据选择器,输入信号:
4路数据,用D0、D1、D2、D3表示;两个选择控制信号,用A0、A1表示。
输出信号:
用Y表示,它可以是4路输入数据中的任意一路。
输入
输出
D
A1
A0
Y
D0
0
0
D0
D1
0
1
D1
D2
1
0
D2
D3
1
1
D3
表4.4数据选择器
根据其逻辑关系用LabVIEW编写程序框图,如图4.7所示:
图4.7数据选择器程序框图
前面板如图4.8所示:
图4.8数据选择器
二、时序逻辑电路实验
1、RS触发器
把两个与非门G1、G2的输入、输出端交叉连接,即可构成基本RS触发器,其逻辑电路如图所示。
它有两个输入端R、S和两个输出端Q、Q非。
图4.