基于LabVIEW的数字滤波器毕业设计论文.docx
- 文档编号:17419605
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:30
- 大小:390.27KB
基于LabVIEW的数字滤波器毕业设计论文.docx
《基于LabVIEW的数字滤波器毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的数字滤波器毕业设计论文.docx(30页珍藏版)》请在冰点文库上搜索。
基于LabVIEW的数字滤波器毕业设计论文
本科毕业论文(设计)
论文题目
:
基于LabVIEW的数字电路的
仿真实现
姓名
:
学号
:
班级
:
年级
:
专业
:
系部
:
指导教师
:
完成时间
:
作者声明
本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。
对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中已明确的方式标明。
因本毕业论文(设计)引起的法律结果完全由本人承担。
毕业论文(设计)成果归XX所有。
特此声明。
作者专业:
作者
学号:
作者签名:
年月日
基于LabVIEW的数字电路的仿真实现
X
SimulationandRealizationofDigitalSimulationPlatformBasedonLabVIEW
摘要
虚拟仪器是一种高效用于构建数据采集与监测系统图形化编程语言,它充分利用最新的计算机技术来实现和扩展仪器的功能,用计算机屏幕可以简单地模拟大多数仪器的调节控制面板,以各种需要的形式表达并且输出检测结果。
本课题主要研究了利用虚拟仪器软件开发数字仿真平台,在计算机上通过对前面板和程序框图的编写来完成对数字仿真平台的研究与设计。
仿真平台上主要研究的数字电路包括了门电路,触发电路,组合逻辑电路,计数器,编码器,译码器,抢答器,表决器等。
这些都是数字电子技术课程中的基础实验,该平台充分利用LabVIEW语言的灵活开放和良好的人机界面等特点,简单直观的再现了实验现象,使得试验和分析变得简单明了,用这些基础的逻辑电路可以实现其它更复杂的功能,同时也能更好的理解数字电子技术的相关知识和试验原理。
关键词:
虚拟仪器;LabVIEW;数字电路;仿真平台
Abstract
LabVIEWisahighlyproductivegraphicalprogramminglanguageforbuildingdataacquisitionaninstrumentationsystems.Itfullyutilizesthelatestcomputertechnologytoimplementandextendtheinstrumentfunction.Usingtheimageofacomputerscreencanbeeasilysimulateavarietyofequipmentcontrolpanelstotheneedsexpressedintheformoftheoutputoftestresults.
Thismajorstudyontheuseofvirtualinstrumentsoftwaredevelopmentplatform,onyourcomputerthroughthefrontpanelandrearpanelpreparedtocompletetheresearchanddesignofdigitalsimulationplatform.Researchonsimulationplatformofdigitalcircuitsincludingthecircuit,triggeringcircuits,combinationallogiccircuits,counters,encoders,decoders,preemptiveanswer,vote,andsoon.Thesearebasicexperimentofdigitalelectronictechnologycourse,takefulladvantageoftheplatformflexibleopenLabVIEWlanguageandagoodman-machineinterfaceandotherfeatures,simpleVisualrepresentationofatest,makesitsimpletotestandanalysis,logiccircuitscanimplementonthebasisofother,morecomplexfeatures,butalsobetterknowledgeandunderstandingofdigitalelectronictechnologytest.
Keywords:
virtualinstruments;labview;digitalcircuits;simulationplatform
1绪论
1.1引言
随着科学技术的进步,数字电子技术已经广泛地应用于电视、雷达、通信、电子计算机、自动控制、航天等各个领域。
数字电路在现代高科技中的作用是相当重要的,它的高速发展标志着现代化电子技术的高水准、高质量、电子计算机、数字式仪表、数字控制装置和工业逻辑系统等方面都是以数字电路为基础的。
在虚拟仪器推出之前数字电路实验只能在教学实验室中进行,受场地和设备的影响很大,而且实验设备较贵易损坏。
随着计算机技术、大规模集成电路技术和通信技术的飞速发展,仪器技术领域发生了巨大的变化,
计算机技术与仪器技术相结合,形成了一种新概念仪器—虚拟仪器。
它把计算机强大的计算处理能力和仪器硬件的测量、控制能力集合在一起,大大缩小了仪器硬件的成本和体积,并且突破了传统仪器在数据处理、显示、传送等方面的限制,使使用者可以方便得对其进行维护、扩展、升级等,这些特点是传统仪器所不能比拟的。
美国国家仪器公司(NationalInstruments)在1996年推出了一种革命性的图形语言LabVIEW,开创了虚拟仪器的新纪元。
使用者可以以一般的电脑搭配经济的硬件实现虚拟化,同时最大限度地降低了数字实验室的教学设备成本。
提起“虚拟”人们也许会联想到仿真,但虚拟与仿真其实质上有着很大的区别。
所谓“虚拟”是基于计算机的自动测量与控制技术的关键技术之一,它是信息科学的重要分支。
虚拟仪器技术是以计算机为基础,软件为核心并配以相应的硬的高度智能化的实现信号的采集与控制、数据的测试与分析处理、结果输出、显示等众多功能的高新仪器技术[1]。
数字电子技术作为电子信息类各专业的主要技术基础课程之一,其重要性不言而喻。
但其又有许多实践电路,仅仅学理论知识,没有相应的实验做辅导,对其抽象的知识也不能完全理解,用LabVIEW构建的数字电子虚拟实验平台可以满足这一要求。
1.2数字电路的国内外发展概括
工作于数字信号的电路称为数字电路。
数字电路采用二进制,1、0两种数码正好对应于两种逻辑状态:
真和假,因此可方便的进行逻辑运算和逻辑处理。
逻辑运算是数字电路最基本的运算形式,因此数字电路也称为数字逻辑电路。
数字电路的发展经历了电子管、晶体管分立器件电路,直到现在广泛应用的集成电路,经过半个多世纪的发展,数字电路的应用几乎延伸到了所有的领域。
1946年诞生了世界上第一台电子计算机,这表明人类创造了可增强和部分代替脑力劳动的工具。
它与人类在农业、工业社会中创造的那些只是增强体力劳动的工具相比,起了质的飞跃,为人类进入信息社会奠定了基础。
6年后,即在1952年,计算机技术应用到了机床上。
从此,传统机床产生了质的变化。
近半个世纪以来,数控系统经历了两个阶段和六代的发展。
1947年:
贝尔实验室肖特莱等人发明了晶体管,这是微电子技术发展的第一个里程碑;1950年:
结型晶体管诞生;还发明了离子注入工艺;1951年:
场效应晶体管发明;1956年:
发明了扩散工艺;1958年:
仙童公司RobertNoyce与德仪公司基尔比间隔数月分别发明了集成电路,开创了世界微电子学的历史;1960年:
发明了光刻工艺;1962年美国RCA公司研制出MOS场效应晶体管;1966年:
美国RCA公司研制出CMOS集成电路,并研制出第一块门阵列;1988年16MDRAM问世,1平方厘米大小的硅片上集成有3500万个晶体管,标志着进入超大规模集成电路阶段;1989年:
1MbDRAM进入市场;2000年:
1GbRAM投放市场。
1965年-1978年:
以计算机和军工配套为目标,以开发逻辑电路为主要产品,初步建立集成电路工业基础及相关设备、仪器、材料的配套条件;1978年-1990年:
主要引进美国二手准备,改善集成电路的国产化;1990-2000年:
以908工程、909工程为重点,以CAD为突破口,抓好科技攻关和北方科研开发地基地建设,为信息产业服务,集成电路行业取得了新的发展。
本系统主要用于初学数字电路者掌握基本逻辑电路。
综上可知,数字电路是今后LabVIEW的主流部件,将在更多的应用领域得到广LabVIEW泛应用。
2虚拟仪器技术介绍
2.1虚拟仪器的基本概念
虚拟仪器(VirtualInstruments,简称VI)的概念,是美国国家仪器公司于1986年提出的。
虚拟仪器技术最核心的思想,就是利用计算机的软件资源,使本来需要硬件实现的技术软件化,以便最大限度地降低系统成本,增强系统的功能与灵活性,真正体现了“软件就是仪器(ThesoftwareisTheinstrument)”的口号。
虚拟仪器就是在通用的计算机平台上定义和设计仪器的测试功能,使用者操作这台计算机,就像是在使用一台专门设计的电子仪器。
它突破了传统仪器的特点,将传统仪器由硬件实现的数据分析功能与显示功能,改由功能强大的计算机及其显示器来完成,并配置以相应的I/O接口设备进行数据采集,再编制不同测试功能的软件对获得的信号数据进行分析处理及显示,就可以构成一套完整的测试系统,并具备数据处理的功能和友好的人机界面。
同时,仪器的功能和面板可以由用户根据需要自行定义或扩展,而不是由厂家事先定义且固定不变。
这样,用户不必购买多台不同功能的仪器,不必购买昂贵的集多功能于一身的传统仪器,也不必不断的购买新的仪器。
而且因为有网络的存在,可以应用网络实现仪器共享或远程控制。
虚拟仪器是以通用计算机为核心的硬件平台,用户可根据自己的需要通过编制不同的测试软件来构成各种功能的测试系统,其中许多硬件功能可直接由软件实现,系统具有极强的通用性和多功能性。
虚拟仪器应用软件集成了仪器的所有采集、控制、数据分析、结果输出和用户界面等功能,使传统仪器的某些硬件乃至整个仪器都被计算机软件所代替。
所以软件是整个系统的关键,当基本硬件确定以后,就可以通过不同的软件实现不同的功能。
它突破了传统仪器在数据处理、显示存储等方面的限制,实现了部分仪器硬件的软件化,增加了系统的灵活性。
应用虚拟仪器技术不仅能够降低系统的开发与维护费用,而且能够节省综合系统的组建时间。
同时,友好的人机交互界面技术使人感觉像操控真实的仪器一样,具有身临其境的感受,另外,其方便的网络功能,能够实现资源共享[2]。
2.2LabVIEW的基本概念
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。
VI指虚拟仪器,是LabVIEW的程序模块。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。
用户界面在LabVIEW中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
其主要特点有以下几点:
(1)尽可能采用了通用的硬件,各种仪器的差异主要是软件;
(2)可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器;(3)用户可以根据自己的需要定义和制造各种仪器。
在LabVIEW环境下开发的应用程序称之为VI。
VI是LabVIEW的核心,由一个人机交互的界面前面板(FrontPanel)和框图程序组成。
前面板是程序的界面,在这一界面上有控制量(Controls)和显示量(Indicators)两类对象。
在前面板中,控制量模拟仪器的输入装置并把数据提供给VI的框图程序,例如开关、旋钮;而显示量则是模拟仪器的输出装置并显示由框图程序获或产生的数据,例如用于显示波形的窗口等。
每一个程序前面板都对应着一段框图程序。
框图程序用LabVIEW图形编程语言编写,可以把它理解成传统程序的源代码。
框图程序由端口、节点、图框和连线构成。
其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义框图内的数据流动方向。
程序框图又称代码窗口或流程图,是VI图形化的源程序,在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出等功能。
流程图中包括前面板上对象的连线端子,还有一些前面板上没有但编程必须有的对象,如函数、结构和连线等[3]。
LabVIEW具有典型的图形化语言风格,其程序的编制过程就是将不同的图标(VI)进行选择、组合并连线的过程。
其不同的图标(VI)相当于具有不同功能的“子程序”,图标间的连线指定了数据的流向,相当于代码语言的“赋值”语句。
在LabVIEW的函数选板中,既包含了大量专用的信号处理、信号运算等VI图标,也包含了各种数值运算、逻辑运算的基本VI图标。
其中的逻辑运算VI,其图标就是标准的逻辑运算符号,如图2.1所示为布尔逻辑运算的选板。
图2.1布尔逻辑运算VI选板
就信号的输入/输出来说,LabVIEW亦提供了丰富的输入控件和输出控件,如各种形式的开关、按钮、指示灯、波形显示器等等,这些器件可直接用简单的拖动方式拖放到相应位置即可使用。
如图2.2所示为前面板中的控件。
图2.2前面板中的控件
3数字电路系统的结构设计
3.1数字电路课程分析
数字电子是电子信息类技术的专业基础,主要包括门级电路、组合电路、时序电路等内容,这是一门实践性较强的技术,需要结合数字逻辑电路的仿真和设计等相关实验进行学习。
LabVIEW基于图形化的框图程序与数字电路逻辑图非常相像,形象生动,便于理解和掌握,能够让用户的主要精力集中于对电路逻辑的设计和仿真上,因此非常适用于数字电子电路的入门级学习和实验。
在LabVIEW中编写数字电子电路的仿真程序,主要靠布尔类型的数据和相关操作函数实现[4]。
数字电路中的物理量的变化在时间和数量上都是离散的。
也就是说,它们的变化在时间上是不连续的,总是发生在一系列离散的瞬间,这一类物理量也叫数字量。
用数字量表示的信号就是数字信号,在数字电路课程所有的实验中都使用数字信号来实现其功能,这些信号通常是0、1表示的二进制序列。
而LabVIEW中的布尔量正好符合这些特点,只需把二进制序列用布尔量的真假来表示即可,这为设计实验系统提供了方便。
数字电路可以分为两类:
一类是基本逻辑电路,也是常用的数字电路,其中包括组合逻辑电路如编码器、译码器、选择器等,时序电路如触发器、寄存器、计数器等,这些是掌握数字电路的基础。
另一类是综合设计实验如数字频率计、数字时钟、波形发生器等,本文在设计的过程中主要选择了八种比较常用的综合电路。
这些由基本电路组合而成,原理相同,设计方法不尽相同,其它的综合实验都可以用LabVIEW实现,主要是掌握基本原理和方法。
3.2抢答器的设计
此VI功能为四人抢答器,主要实现内容为:
四个参赛者每个人有一个抢答按钮编号为1号、2号、3号、4号,对应的指示灯为1号灯、2号灯、3号灯、4号灯;主持人有一个控制按钮,用于将所有的灯熄灭与将大屏幕清零,并控制抢答的开始;当参赛者按下抢答按钮时,蜂鸣器响铃,对应的指示灯亮,同时大屏幕上显示最优先抢答者的编号;具有互锁功能,有人优先抢答后系统会关闭,其他人无法继续抢答,必需等主持人清零后,重新喊开始才能重新抢答。
实际操作:
当主持人按钮打开时VI才能运行,当1-4号有一个按钮被按下时,灯亮、蜂鸣器响且VI停止运行,当主持人按钮关闭时运行VI就能清零,前面板如图3.1,程序框图如图3.2所示。
图3.1抢答器前面板
图3.2抢答器程序框图
该程序采用事件结构(EventStructure)、While循环结构、条件结构(CaseStructure),一共有6个事件结构,分别为4个选手按钮,一个停止按钮和一个复位按钮,每一个事件通过相应的按键来触发,其中的选择结构用来控制在选手按下按钮后其他人按键无效,当有选手按键时相应的事件触发,灯会亮同时屏幕上也会有相应的数字,在事件结构里嵌入的选择结构也会触发,为真时其他选手按键均变无效。
在事件结构里同时放置一个蜂鸣器,事件触发后便可以响。
屏幕显示方面用了格式化写入字符串,将字符串路径、枚举型、事件标识、布尔或数值数据格式化为文本形式然后输出。
3.338译码器的设计
译码是编码的逆过程,它的功能是将具有特定含义的二进制码进行辨别,并转换成控制信号,具有译码功能的逻辑电路称为译码器。
或者说,译码器是可以将输入二进制代码的状态翻译成输出阻抗信号,以表示其原来含义的电路。
根据需要,输出信号可以是脉冲,也可以是高电平或者低电平。
译码器的种类很多,但它们的工作原理和分析设计方法大同小异。
三个输入端ABC共有8种状态组合(000—111),可译出8个输出信号Y0—Y7。
输入是三位二进制代码、有八种状态,八个输出端分别对应其中一种输入状态。
因此,又把三位
二进制译码器称为3线8线译码器。
38译码器是通过3条线来达到控制8条线的状态,在电路中,起到扩展IO资源用。
38译码器引脚图如图3.3所示。
图3.338译码器引脚图
74LS138的真值表如表3.1所示,当译码器处于工作状态时,每输入一个二进制代码将使对应的一个输出端为低电平,而其它输出端均为高电平,也可以说对应的输出端被译中。
表3.13-8译码器的真值表
输入
输出
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
x
x
x
1
1
1
1
1
1
1
1
x
x
x
1
1
1
1
1
1
1
1
在LabVIEW前面板中,首先在前面板里放置一个簇壳,里面放置三个按钮表示输入信号,然后分别放置8个指示灯来表示输出信号。
前面板如图3.4所示。
图3.438译码器前面板
在程序面板中,按照电路图连线,最后加上一个while循环。
程序框图如图3.5所示。
图3.538译码器程序框图
该程序采用While循环结构,把与非门和非门结合运用,将簇壳与一个分解簇函数相连接,每个开关连接一个非门,再根据电路连接相应的与非门,每个与非门对应一个输出信号。
无论从逻辑图还是功能表我们都可以看到74LS138的八个输出管脚,任何时刻要么全为高电平1,芯片处于不工作状态,要么只有一个为低电平0,其余7个输出管脚全为高电平1。
如果出现两个输出管脚在同一个时间为0的情况,说明该芯片已经损坏。
3.4七段数码管显示的设计
七段数码管就是指数码管里有七个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。
数码管又分为共阴极和共阳极两种类型,其实共阴极就是将七个LED
的阴极连在一起,让其接地,给任何一个LED的另一端高电平,便能点亮。
而共阳极就是将七个LED的阳极连在一起。
把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg这7个发光二极管的负极连接在一起并接地;它们的7个正极接到7段译码驱动电路74LS48的相对应的驱动端上。
此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。
该程序的前面板如图3.6所示,在一个簇壳里放置七个指示灯组成一个七段数码管的图形,再放置一个数值输入控件,用来控制数码管的显示,最后加上一个停止按钮。
图3.6七段数码管前面板
该程序的程序框图如图3.7所示,在程序框图中,主要采用条件结构(CaseStructure)、While循环结构,一共有11个结构,其中10个结构为0到9这10个数字的显示,最后一个结构是控制整个系统的停止。
首先将数值输入控件连接到选择端口,在这0到9结构中,用1个布尔真常量和1个布尔假常量来控制七个指示灯的明暗从而达到显示不同数字的目的,然后通过合成簇函数将信号送到簇壳数码管中。
值得注意的是在结构中必须专门做一个停止结构,不然按停止按钮不会响应,这个和While循环结构有很大的区别。
图3.7七段数码管程序框图
3.53位二进制减法计数器的设计
计数器是用来累计时钟脉冲(CP脉冲)个数的时序逻辑部件。
它是数字系统中用途最广泛的基本部件之一,几乎在各种数字系统中都有计数器。
它不仅可以计数,还可以对CP脉冲分频,以及构成时间分配器或时序发生器,对数字系统进行定时、程序控制操作。
此外,还能用它执行数字运算。
二进制计数器能按二进制的规律累计脉冲的数目,也是构成其它进制计数器的基础。
一个触发器可以表示l位二进制数,表示n位二进制数就得用n个触发器。
同步二进制减法计数器比异步二进制计数器线路简单,工作速度较慢。
同步计数器工作速度较快,电路较复杂。
3位二进制减法计数器随着计数脉冲的不断输入而作递增计数;前面板如图3.8所示,先在前面板中放置2个按钮代表脉冲信号和停止,再放3个指示灯。
图3.83位二进制减法计数器前面板
计数器是基于JK触发器做成的,其中部分电路是JK触发器,可以利用LabVIEW中子VI的功能将JK触发器打包成一个子程序,作为VI模块调用。
程序框图如图3.9所示.
图3.93位二进制减法计数器程序框图
3.6双功能表决器的设计
这是一个组合逻辑电路,含有3个输入变量A、B、C,l个控制变量M和1个输出变量Y,满足如如下两种类型的表决器功能。
1、当控制变量M=0时,电路具有“意见一致”功能,即A、B、C输入一致时输出1,
否则输出为0。
2、当控制变量M=1时,电路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW 数字滤波器 毕业设计 论文