基于LabVIEW_和FPGA_的虚拟仪器平台设计_毕设论文最终530_第1页
基于LabVIEW_和FPGA_的虚拟仪器平台设计_毕设论文最终530_第2页
基于LabVIEW_和FPGA_的虚拟仪器平台设计_毕设论文最终530_第3页
基于LabVIEW_和FPGA_的虚拟仪器平台设计_毕设论文最终530_第4页
基于LabVIEW_和FPGA_的虚拟仪器平台设计_毕设论文最终530_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计论文基于LabVIEW 和FPGA 的虚拟仪器平台设计摘要现代生产要求电子仪器品种多、功能强、精度高、自动化程度高,而且要求测试的速度快、实时性好,具有良好的人机界面。虚拟仪器正好可以实现这些要求。在电子实验中使用多种仪器,如信号发生器、万用表、频率计、示波器等,如果能把它们都设计成虚拟仪器,利用计算机来提高仪器的集成度,减少实验匹配的仪器的种类、数量和实验室面积,便能从根本上改变实验室的面貌,克服传统测量仪器单一功能的缺点。本设计正是以这种思想为出发点,以电子技术实验室的真实函数信号发生器、示波器、频率计为蓝本,利用LabVIEW编程来设计虚拟函数信号发生器、虚拟存储示波器、虚拟频率

2、计,并将其合并在一个虚拟平台上面,能够分别实现虚拟仿真函数信号发生器、存储示波器、及频率计的功能,实现真正意义上的虚拟仪器平台。其虚拟平台上面的函数;示波器能正确的显示波形,并能实现频率和幅值的可调;频率计可以对0HZ到99.99KHZ的信号进行频率的测量。本设计利用RS-232串口进行数据的传输,实现了LabVIEW与FPGA的通信。同时对仿真信号的生成与控制做了详细的分析,以及对设计中的问题进行了深入的探讨。本设计旨在找到一个能够改革教学实验室的有效途径。关键词:虚拟仪器,LabVIEW,RS-232,FPGATHE DESIGN OF VIRTUAL INSTRUMENTS PLATFO

3、RM BASED ON LABVIEW AND FPGAABSTRACTModern production requires electronic instrumentation variety many, strong function, high precision, high degree of automation, and high speed, good real-time in testing, good man-machine interface. Virtual Instruments can meet precisely these requirements. A vari

4、ety of instruments are used in the electronic experiments, such as signal generator, multimeter, frequency meter, oscilloscope, etc. If we are able to design them to virtual instruments, improve the integration of instruments using computer and reduce the type and number of instruments matched to ex

5、periments and the space of laboratory, then we can change the face of the laboratory fundamentally and conquer the shortcomings of single function of the traditional measuring instruments.The design of this thinking is the starting point of electronic technology to the real function of the laborator

6、y signal generator, oscilloscope, frequency meter based on the use of LabVIEW programming to design the virtual function signal generator, virtual storage oscilloscope, the virtual frequency meter, and combined in a virtual platform, to achieve the virtual simulation function, respectively, signal g

7、enerator, oscilloscope, and frequency of functions, the realization of the true sense of the virtual instrument platform. Its virtual platform for the above function signal generator can produce sine wave, triangle wave, square wave three, and be able to achieve the waveform frequency from 1Hz to 2M

8、Hz Adjustable peak peak adjustable from 0.1V to 8.0V, a very good real-time; oscilloscope waveform display correctly, and to achieve an adjustable frequency and amplitude; 0HZ Cymometer can 99.99KHZ signal to the frequency measurements.The design of the use of RS-232 serial port for data transmissio

9、n, the realization of the LabVIEW and FPGA communication. At the same time, the generation of simulation and control signals to do a detailed analysis, as well as design issues in detail. The design of a reform aimed at finding an effective way of teaching laboratory.KEY WORDS: Virtual Instrument,La

10、bVIEW,RS-232,FPGA 目 录前 言1第1章 绪论2§1.1 虚拟仪器的背景2 数字信号处理技术2 虚拟仪器技术2§1.2 本课题研究的意义3 设计的依据及意义3 国内外发展状况4§1.3 关于LabVIEW5 开发环境LabVIEW5 选择LabVIEW的原因5第2章 系统的构想与方案设计7§2.1 上位机与下位机7§2.2 DDS的工作原理7§2.3 方案论证8§2.4 系统整体框图与设计思想11 系统框图11 频率计设计思想12 函数信号发生器设计思想13第3章 上位机设计15§3.1 LabVI

11、EW软件设计思想15§3.2 人机交互界面设计17 人机交互界面的构成18 界面的组件设计19§3.3 主VI程序框图设计20 程序框图20 器件选择部分设计21 串口发送部分设计21§3.4 函数信号发生器程序框图的设计22 程序框图22 波形类型部分设计23 频率选择部分设计24 峰峰值调节部分设计25 串口发送部分设计25§3.5 频率计程序框图的设计26 程序框图26 发送数据类型控制部分设计26 串口发送部分设计28 串口接收部分设计28 显示部分设计29§3.6 设计中用到的主要VI29第4章 下位机设计31§4.1 FP

12、GA软件中主模块的设计思想31 主模块的软件设计原理总图31软件中主模块的设计原理31§4.2 FPGA软件中函数信号发生器的设计思想32 函数信号发生器的软件设计原理总图32软件中函数信号发生器的设计原理32§4.3 FPGA软件中频率计的设计思想34 频率计的软件设计原理总图34软件中频率计的设计原理34§4.4 频率计的系统模块设计35 串口接收模块35 串口转换模块38 分频模块39 控制模块40 串口发送模块41 频率计模块42§4.5 函数信号发生器的系统模块设计45 串口接收模块45 串口转换模块45 分频模块46 地址发生器模块48表查询

13、模块49 波形选择模块51 幅值调节模块52 频段选择模块53§4.6 串口的编码与解码54 关于串口54 串口的设置55 串口的发送与接收55§4.7 硬件连接56第5章 软件仿真测试与实时检测57§5.1 LabVIEW软件仿真测试57软件中函数信号发生器的仿真测试57软件中频率计的仿真测试57§5.2 FPGA软件中函数信号发生器的仿真测试58§5.3 FPGA软件中频率计的仿真测试59§5.4 总功能实时检测59参考文献65致 谢66前 言虚拟仪器的出现就是仪器发展史的一场革命,代表仪器发展的方向和潮流,对科学技术的发展和工业

14、生产的进步产生了巨大的推动作用。虚拟仪器技术是测试领域的一种新的思想和方法,它的出现是测试仪器技术和测控系统的一个新的里程碑。虽然是新兴的仪器仪表技术,但由于其具备许多区别于传统仪器的突出优点,可以由用户自行设计定义,灵活变换参数,随着计算机技术特别是软件技术和仪器技术的进步而飞速发展,因此使现代测控的系统更灵活、更紧凑、更经济、功能更强大,从而在国内外各个领域得到了越来越广泛的应用。特别在电子测量和自动化控制领域,虚拟仪器技术得到了巨大的发展。虚拟仪器是一种功能意义上的测量和控制仪器,是具有仪器功能的软件、硬件的组合。它充分利用计算机技术,在基本的硬件支持下,通过调用相应的软件模块来完成各种

15、传统仪器的功能。本文从探索研究的角度出发,对虚拟仪器的系统构成、实现手段和开发方法进行了研究。在此基础上,研究开发了基于LabVIEW开发平台的虚拟仪器平台,通过计算机串口把LabVIEW发送的控制指令送到GW48实验箱FPGA的RS-232接收引脚,经过FPGA对控制指令的处理,实现对虚拟平台上面相应虚拟仪器的调用,对不同的虚拟仪器应做不同的处理:如,虚拟频率计,当其接收到开始工作的信号后,将其频率和占空比,通过RS-232发送引脚,发送给计算机上面的LabVIEW,LabVIEW通过对串口进行读操作,将读到的结果转换成数值,并将其在虚拟频率计的界面上面显示,结果较为满意。在开发虚拟仪器的同

16、时,掌握了LabVIEW编程语言和开发技术及标准,对虚拟仪器的构成、实现手段和开发方法有了一定的认识。由于虚拟仪器技术在国内尚未普及,针对传统教学仪器缺乏或陈旧、教学方式呆板、学生实验使用多台仪器,实验准备烦琐,支持维护困难、实验室设备更新,硬件更新费时费力的等情况。把虚拟仪器引入教学是一种必然趋势。本文试图探索出一条适合我国国情的虚拟仪器的途径,做到花钱少,具有较高的性价比,以在教学实验领域进行推广。第1章 绪论§1.1 虚拟仪器的背景虚拟仪器涵盖了数字信号处理、虚拟仪器技术等多方面知识。本文所开发的虚拟仪器平台就是在信号技术、计算机技术、电子技术高速发展的背景下,利用美国NI公司

17、的虚拟仪器开发平台LabVIEW进行设计开发的,它可以快速方便地实现信号的采集、显示、分析、储存、读取和输出。§1.1.1 数字信号处理技术在科学研究和生产过程中,经常要对许多客观存在的物体或物理过程进行观测。这些客观存在的事物包括了大量标志本身所处时间空间特征的数据和“情报”,这就是该事物的“信息”。人们为了某一特定的目的,从浩瀚的信息中把所需要的部分提出来,以达到观测某一本质问题的目的。这种对信息的表达形式称之为“信号”,信号是某一特定信息的载体。信号传输理论与技术的不断发展使信号处理技术的出现成为必然。在科学和工程技术领域中,常常需要对信号进行处理。信号处理就是对数据进行所需要

18、的变换或按约定的规则进行运算,使之更便于对它们进行分析、识别和使用。信号的处理包括对信号的监测、滤波、时域分析、频域分析,调制等等。信号分为模拟信号和数字信号,在对模拟信号进行处理时,既可以使用模拟系统也可以使用数字系统。使用数字系统处理模拟信号时,需要先将模拟信号转化为数字信号,即模数转化(A/D),然后用数字系统进行处理,得到一个处理后的数字信号,再经过数模转化(D/A),得到所需的模拟信号。§1.1.2 虚拟仪器技术由于电子技术、计算机技术、软件技术、网络技术的高度发展及其在电子测量技术与仪器上的应用,新的测试理论、新的测试方法、新的测试领域及新的仪器结构不断出现,许多方面已经

19、突破传统的仪器概念,电子测量仪器的功能和结构己经发生了质的变化。在这种背景下,八十年代末美国率先研制了虚拟仪器(Virtual Instruments)。虚拟仪器就是利用现有的计算机加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器没有的特殊功能的高档、低价的新型仪器。虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制、数据分析与显示。代替传统仪器,改变了传统仪器的使用方式,提高仪器的功能和使用效率,同时大大降低了仪器的价格,使用户可以根据自己的需要定义仪器的功能。用于虚拟仪器的开发环境目前有两大类:一是文本式的编程语言,如Visua

20、l Basic, Visual C+、LabWindow/CVI等,另一类是图形化编程语言,具有代表性的有LabVIEW, HPVEE。其中影响最大的要数LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工程平台)语言,被称为“仪器仪表界面”,是专为数据采集与仪器控制、数据分析和数据表达而设计的开发软件1。§1.2 本课题研究的意义§1.2.1 设计的依据及意义虚拟仪器(Virtual Instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。虚拟仪

21、器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。目前,在大多数院校的实验教学中,常用的仍然是功能固定的台式仪器,主要有存储示波器、函数信号发生器、频率计、实验箱、电源等。对于一个高等院校而言,进行实验教学最少需要配备30套设备,每套造价近万元,其负担是可想而知的。更由于电子设备更新快, 时间一久,进行正常的实验对于好多院校都是一个困难。另外,台式机操作复杂,调试困难,受干扰程度高,在教学中不易受学员接受。而采用虚拟仪器教学实验系统,首先,仪器使用软件实现,我

22、们可以把以上所说的几种仪器集成在一个系统中,运用不同切换过程,可以同时实现教学的目的。本课题利用LabVIEW软件和FPGA的通讯在计算机屏幕上实现虚拟仪器平台面板,此虚拟仪器平台上包括函数信号发生器、存储示波器和频率计仪器,用户可以通过鼠标对操作面板的按钮、开关和按键,进行上述仪器的功能切换并设置各种工作参数,来控制和操作相应的仪器。测量和分析结果可以从虚拟仪器面板上读出。用户在屏幕上通过虚拟仪器面板对仪器的操作如同在真实仪器上的操作一样直观、方便、灵活。利用虚拟仪器开设综合性、创新型实验,使理论教学与实践更好的紧密结合,教学更生动、更形象,全面提高学生工程素质。同时还可以激发学生的实验兴趣

23、,使学生的实验技能、创新能力得到显著提高。由于此仪器平台具有多台仪器的功能,实验所需仪器的占地面积被减小,相应的实验准备过程被大大的简化。函数信号发生器、频率计和存储示波器作为实验课程上必备的实验仪器,本课题设计虚拟仪器平台比传统的更加灵活,节约成本。教师在教学过程中不需要在一台真实的仪器前操作,只需在电脑上即可完成仪器的演示。虚拟仪器的教学更好的结合了理论与实践相结合,使学生的软件与硬件技能同步提高,虚拟仪器软硬件上模块化的设计使学生在学习的方式上更加灵活,也容易掌握。由此可见,就课程的开设和学生的实际情况来讲虚拟仪器教学是可行的,虚拟仪器平台的设计对于我们日后教学是有一定的意义的。

24、7;1.2.2 国内外发展状况早在八十年代,随着NI旗航产品LabVIEW的诞生,NI就提出“软件就是仪器的口号”,开辟了“虚拟仪器技术”的崭新测量概念。从九十年代开始,国内一些大学在实验教学领域相继开展了虚拟仪器系统的研究与开发工作。目前,我国部分高校还正在开展虚拟仪器的研究工作,重点在于研制具有自主知识产权的虚拟仪器软件平台,并开发响应的虚拟仪器设备。2003年10月和2004年1月NI分别联合吉林大学和华中科技大学创建LabVIEW实验室;2004年12月清华大学与美国国家仪器公司在精密仪器和机械系新建虚拟仪器联合教学实验室。LabVIEW作为一种模块化、图形化程序设计工具具有图形化程序

25、设计编程简单、直观、开发效率高、测试系统开发完整等优点。在国内外,航天、航空、通信、汽车、半导体、自动控制和生物医学等世界范围的众多领域内得到广泛应用使得非专业人员进行虚拟仪器开发变得容易。在虚拟仪器的硬件构成中,数据采集卡的性能是最重要的。由于PCI 总线传输速率高,数据吞吐量大,因此基于PCI总线的数据采集卡成为设计的主流。但是由于数据采集卡价格昂贵,且教学实验波形精确度要求不高,也可采用基于Nios与LabVIEW的函数波形发生器设计,即采用FPGA结合微处理器的形式。DDS部分功能由FPGA来实现,微处理器用于完成控制功能,再运用SOPC技术基于FPGA芯片将处理器、存储器、I/O等系

26、统需要的模块集成到一起,软硬件可裁减,并具备在系统可编程的功能,可大大简化系统电路,提高系统集成度。§1.3 关于LabVIEW§1.3.1 开发环境LabVIEW孤立的计算机硬件和I/O接口设备均无法完成测试任务,软件技术在自动测试系统的研制与开发中正在起着越来越重要的作用。LabVIEW编程语言是美国最大的虚拟仪器制造商NI公司推出的一种基于G语言(Graphics Language)的虚拟仪器软件开发工具。LabVIEW是“实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench)”的缩写,用于La

27、bVIEW设计的虚拟仪器可脱离LabVIEW开发环境,用户最终看见的是和实际硬件仪器相似的操作面板。LabVIEW 是一个工程软件包。1986年,美国国家仪器公司(National Instruments)开发研制出它是基于苹果公司的Macintosh微机的最早版本。之后,该公司不断推出各种操作系统的LabVIEW版本2。它们的出现开创了虚拟仪器的仪器研究新方法。§1.3.2 选择LabVIEW的原因选择LabVIEW开发测试和测量应用程序的一大决定性因素是其开发速度。通常,使用LabVIEW开发应用系统的速度比其他编程语言快410倍。这一惊人速度背后的原因在于LabVIEW易用易学

28、,它所提供的工具使创建测试和测量应用变得更为轻松。LabVIEW的具体优势主要体现在以下几个方面:1. 提供了丰富的图形控件,并采用图形化的编程方法,彻底把工程师们从复杂枯涩的文本编程工作中解放出来。2. 内建的编译器在用户编写程序的同时就在后台自动完成了编译。因此用户在编写程序的过程中如果有语法错误,它会被立即显示出来。3. 由于采用数据流模型,它实现了自动的多线程,从而能充分利用处理器尤其是多处理器的处理能力。4. 通过DLL、CIN节点、ActiveX、.NET或MATLAB脚本节点技术,可以轻松实现LabVIEW与其他编程语言混和编程。5. 通过应用程序生成器可以轻松地发布EXE、动态

29、链接库或安装包。6. LabVIEW提供了大量的驱动与专用工具,几乎能与任何接口的硬件轻松连接。7. LabVIEW内建了600多个分析函数,用于数据分析和信号处理。8. NI同时提供了丰富的附加模块,用于扩展LabVIEW在不同领域中的应用,例如实时模块、PDA模块、FPGA模块、数据记录与监控(DSC)模块、机器视觉模块与触摸屏模块等3。第2章 系统的构想与方案设计§2.1 上位机与下位机 上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首

30、先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的开发系统。在概念上控制者和提供服务者是上位机,被控制者和被服务者是下位机,也可以理解为主机和从机的关系,但上位机和下位机是可以转换的。两机如何通讯,一般取决于下位机。下位机一般处于底层控制,上位机可以编程后,传入下位机或者集中管理下位机,下位机在有存储控制程序的情况下,可脱离上位机工作。在本设计中,通过在PC上操作LabVIEW的编写的人机交互界面,发送控制指令控制FPGA,作为上位机。而FP

31、GA通过解析上位机发送的控制指令,来判断让哪一个模块工作,作为下位机4。对于FPGA上面的其中一个模块为频率计,其首先接收的LabVIEW编写的人机交互界面发出的控制信号,将其转换,判断控制信号,并将某一控制信号控制的信息发送给LabVIEW的编写的人机交互界面,将其结果进行显示。这种情况下:对于频率计和LabVIEW的编写的人机交互界面两者之间的关系是互为上机位和下机位。§2.2 DDS的工作原理直接数字频率合成技术是根据奈奎斯特取样定理,从连续信号的相位出发将一个信号取样、量化、编码,形成一个信号函数表,存于ROM 中。合成时,通过改变相位累加器的频率控制字,来改变相位增量,而相

32、位增量的不同将导致一个周期内取样点的不同,从而改变频率5。在采样频率不变的情况下,通过改变相位累加器的频率控制字,将这种变化的相位/幅值量化的数字信号通过D/A变换及LPF(Low-pass Filter 低通滤波器)即可得到合成的相位变化的模拟信号频率。时钟信号Fclk频率控制字Kn位相位累加器Rom查找表D/A转换LPF低通滤波器输出F 图2-1 DDS的基本结构图DDS 的基本结构如图所示,主要由相位累加器、波形ROM、DAC 以及低通滤波器等组成。N位相位累加器在取样时钟的控制下与频率控制字K 所决定的相位增量相加;相位累加器的高位输出作为波形ROM 的地址,实现波形相位到幅值的转换;

33、波形数据经DAC 转换成模拟量,通过滤波器输出相对平滑的波形。本设计就是运用DDS技术做的函数信号发生器。§2.3 方案论证§2.3.1 虚拟频率计的方案 用LabVIEW软件为开发平台,在LabVIEW程序中把控制参数(低位,高位,频率和占空比的切换)发送到串口上,FPGA通过RS-232接收控制指令,低位,高位,频率和占空比的切换在FPGA中处理后将相应的信息发送到RS-232,LabVIEW的编写的人机交互界面通过对RS-232串口进行读操作,处理完成后,将处理完的信息在LabVIEW的编写的人机交互界面上面进行显示。此方案的优点是:人机交互界面与FPGA之间进行通信

34、时所需发送数据量少,减轻了串口的负担。采用全双工的通信方式,FPGA与PC机之间可以同时进行收、发数据。此方案的设计思想如图2-2。人机交互界面控制串口发送/接收控制指令串口接收/发送FPGA 图2-2 虚拟频率计流程图§2.3.2 虚拟存储示波器的方案首先在FPGA上面对信号进行采样,之后将采样后得到的数据通过RS-232串口发送给PC,在LabVIEW软件编程中,首先对RS-232串口进行读操作,将读到的结果经过一AD转换成波形数据,并将其在前面板上面显示出来。此方案的设计思想如图2-3。信号DA串口发送串口接收数据处理显示图2-3 虚拟存储示波器流程图 此方案的优点是:FPGA

35、往RS-232串口发送的是信号采集完的数据,大大降低了串口发送的数据量,提高了串口的发送速度。此方案采用的是半双工的工作方式,FPGA只负责发送数据,PC机只负责接收数据。其工作流程一目了然。§2.3.3 虚拟函数信号发生器的方案方案一:用LabVIEW软件为开发平台,在LabVIEW程序中进行各个波形数据的采集并把数据发送到串口上,FPGA通过RS-232接受波形数据,串行数据在FPGA中处理后经过一D/A转换后在示波器上显示结果。此方案通过串口发送的是波形数据。设计思想如图 2-4。人机交互界面控制生成波形采集数据串口发送波形数据串口接收D/A转换图2-4 方案一流程图方案二:用

36、LabVIEW软件为开发平台,在LabVIEW程序中把各个波形的波形参数(频率,频段,峰峰值)发送到串口上,FPGA通过RS-232接受波形指令,波形参数在FPGA中处理后运用DDS技术产生波形经过一D/A转换后在示波器上显示结果。此方案通过串口发送的是波形指令。设计思想如图2-5。人机交互界面控制波形指令DDS合成串口发送波形指令串口接收D/A转换图2-5 方案二流程图方案一发送的是波形数据,根据设计要求生成的最高频率为2Mhz,当2Mhz时最少需要采样四个点,每个点都是8Bit,因此需要最低的串口传送速率为64Mbit/s。优点是FPGA方面不需要太多的编程,只要一个串口接收模块即可;缺点

37、是串口需要传输大量数据。方案二发送的是波形指令,此方案不需要在 LabVIEW中采样产生波形数据,是把波形数据直接作成ROM表的形式,当把波形指令发送出来以后,FPGA根据波形参数通过DDS技术产生信号波形。优点是串口传输只需要发送很少数据;缺点是在FPGA里产生波形受ROM表里波形数据限制,易失真。通过上述对两个方案的比较及RS-232串口传输最大速率(20Mbit/s)的限制,考虑到波形发生的实时性,本设计采用方案二。把LabVIEW与FPGA结合起来,以发送波形指令的方式控制产生波形信号。§2.4 系统整体框图与设计思想整个系统可以分为LabVIEW设计与FPGA设计两大部分,

38、主要可以分为:虚拟界面,串口接收,串口发送,DDS合成,A/D转换,D/A转换6 。FPGA上面有数字信号发生器,频率计,示波器,相应的PC机上面有数字信号发生器界面,示波器的界面,频率计的界面,本设计是通过PC机来控制FPGA。其工作原理是:当PC机主界面上任何按钮按下时,将控制信息发送到RS-232串口,FPGA上面通过对RS-232串口的接收来得到相应的控制信息,来确定是哪个模块工作,同时在PC界面上面出现相应模块的前面板,通过对其前面板的控制来实现相应模块的工作。其具体的设计流程是把每种器件的参数都设定为不同的数字如表2-1(信号发生器用0表示,频率计用1表示,示波器用2表示),将这一

39、位数字按照一定的波特率发到串口,而且每当这一位数字有变化时就把新的数据发送到串口。表2-1 器件选择编码表器件类型发送参数信号发生器0频率计1示波器2如发送数据为0一位数字,就表示要工作的器件是信号发生器。之后用FPGA设计一串口接收模块,按照设定好的波特率及编码方式解码,得到控制命令,使相应的器件工作。§2.4.1 系统框图FPGA函数信号发生器存储示波器简易频率计函数信号发生器界面存储示波器界面简易频率计界面RS-232RS-232PC控制模块图2-6 总系统框图 §2.4.3 频率计设计思想由于选择了上面的方案,即发送控制命令的形式来控制FPGA发送信息大大降低了串口

40、的发送负担,使得串口的发送速率能够满足设计要求达到实时性,具体的设计流程是把每个按键编码,其编码的规则如表2-4(高8位用“10”表示,低八位用“00”表示,频率用0表示,占空比用1表示),一共有三个控制参数分别为发送低8位,发送高8位,发送频率,发送占空比,发送低8位的控制信息用1位表示,发送高8位的控制信息用1位表示,发送频率和占空比用一位表示,将上面的三位组合到一起组成一帧按照一定的波特率发到串口,而且每当这3位数字有变化时就把新的数据发送到串口。如发送数据为010三位数字,就表示要接收频率的低8位。之后用一串口接收模块,按照设定好的波特率及编码方式解码,得到的控制指令使其工作时发送相应

41、的数字。表2-4 发送指令编码表名称发送参数频率低8位010频率高8位001占空比低8位110占空比高8位101§2.4.2 函数信号发生器设计思想由于选择的是方案二即发送波形命令的形式来控制波形就大大降低了串口的发送负担,使得串口的发送速率能够满足设计要求达到实时性,具体的设计流程是把每种波形的参数都设定为不同的数字如表2-2(三角波用0表示,正弦波用1表示,方波用2表示),一共有四个波形参数分别为波形类型,频率系数(即在某个频段内的频率旋钮调节值),频段,峰峰值。表2-2 波形类型编码表波形类型发送参数三角波0正弦波1方波2表2-3 频段编码表频段发送参数2MHz0200KHz1

42、20KHz22KHz3200Hz420Hz52Hz6波形类型由于有三种波形,其参数为02(十进制)占一位;频率系数由于在200K2Mhz频段内步进为5Khz,因此可用0359表示这频段内的360个不同频率,占三位。频段有七段分别为2Hz,20Hz,200Hz,2Khz,20Khz,200Khz,2Mhz.因此用06表示,占一位,如表2-3。峰峰值是以0.1V为步进的,而经测量D/A转换的最大峰峰值为8.5V,可用084表示这85个不同值,占2位。这四种参数加起来一共要发送7位的十进制数,把这些数字连接到一起组成一帧按照一定的波特率发到串口,而且每当这七位数字有变化时就把新的数据发送到串口。如发

43、送数据为1234567七位数字,就表示要产生的波形为正弦波,频率系数为234,频段为5,峰峰值系数为67。之后用FPGA设计一串口接收模块,按照设定好的波特率及编码方式解码,得到的波形指令通过DDS技术产生数字波形,再经过一D/A转换发送到示波器上验证结果。第3章 上位机设计§3.1 LabVIEW软件设计思想LabVIEW是一种采用图图标代替文本行创建应用程序的图形化编程语言。其采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。它用图标表示函数,用连线表示数据流向。§3.1.1 LabVIEW中主VI的设计思想在主VI的前面板上面的控件有:信号发生器按

44、钮,频率计按钮,示波器按钮。当这三个按钮任何一个按下时,将相应的控制信息发送到RS-232串口,同时调用相应的子VI。其软件流程图如下图3-1。开始函数信号发生器按钮频率计按钮存储示波器按钮函数信号发生器系数频率计系数存储示波器系数比较是否相同并连接VISA写入调用相应子VINY图3-1LabVIEW软件中主VI设计流程图§3.1.2 LabVIEW中函数信号发生器的设计思想在前面板上控件主要有:波形选择,频率旋钮,频段调节,幅度调节。这四部分的调节直接影响波形信号的改变,在程序框图中,每一种调节都对应一种波形参数,当前面板中相应的控件值改变时,参数也随之改变,并把这些调节参数连接起

45、来通过串口发送出去7。其流程图如下图3-2。开始波形选择频率旋钮频段旋钮波形参数频系参数频段参数数比较是否相同并连接VISA写入NY幅度调节峰峰值参数图3-2LabVIEW软件中函数信号发生器设计流程图§3.1.3 LabVIEW中频率计的设计思想档位按钮占空比按钮控制按钮档位系数占空比系数控制系数比较是否相同并连接VISA写入NVISA读寄存器数据处理显示开始结束Y图3-3LabVIEW软件中频率计设计流程图在前面板上控件主要有:档位选择,控制按钮,占空比按钮,开关按钮。这四部分的调节直接影响到FPGA往RS-232串口发送的信息。在程序框图中,每一种调节都对应一种控制参数,当前面

46、板中相应的控件值改变时,参数也随之改变,并把这些调节参数连接起来通过串口发送出去。与此同时,VISA读RS-232串口的信息,将读出的信息进行相应的转换,最终在其前面板上面显示出来。其软件流程图如上图3-3。§3.2 人机交互界面设计LabVIEW中主VI及其子VI的前面板如图34;35;36所示。图3-4主VI的前面板图3-5子VI函数信号发生器的前面板图3-6子VI频率计的前面板§3.2.1 人机交互界面的构成由上图可知,人机交互界面有以下几部分组成:1背景图片:主VI及其子VI频率计的背景图片是自画的,子VI函数信号发生器是以真实的信号发生器为蓝本,因此背景图片是以学

47、校电子技术实验室的TH-SGO1P型功率函数信号发生器为模型,之后在LabVIEW中插入其图片。2按钮控件:其主要功能是可以产生一布尔量(true 或 false),当按钮按下是为真,弹起时为假。频段选择和波形选择中的按钮即是这种控件,通过它来控制选中某一频段或者某一波形8;档位和占空比等都是用这样的按钮来控制的。3指示灯控件:LabVIEW中可以得到一些常见的指示灯与开关按钮,这里选用了与图片上最为接近的圆形指示灯。在此设计中频段选择中的指示灯及频率指示灯,峰峰值指示灯都为此控件,当给指示灯一个true值时,指示灯亮,否则给它一个flase值时指示灯灭。它们的存在使得面板的状态一目了然。4旋

48、钮控件:旋钮控件可以输出一些定义的数值,通过用鼠标旋转此控件即可达到改变输出值,还可以通过选中并点击鼠标右键进入控件属性设置改变控件的属性,如控件值的范围,步进等,本设计中用到的频率调节旋钮和幅值调节旋钮皆为转盘控件,设置频率调节旋钮范围为0到359,步进为1可调节400个不同值;设置幅值调节旋钮范围为0到8.4,步进为0.1 ,可以有85种不同的幅值调节9。5显示控件:面板中的数值显示控件可以用于频率及幅值的显示。§3.2.2 界面的组件设计由于LabVIEW自带的控件有限,有些虽然相似但也不是完全相同,如果不加以修改,整体的视觉效果会大打折扣,因此学会修改,设计控件是必

49、须的。在本设计中用到的组件的设计方法为1按钮设计:在LabVIEW中虽然有圆形按钮较符合条件,但颜色和大小均不符合条件,且还有几种触发方式选择,不同的触发方式有不同的效果。由于图片中的按钮为黑色且较小,在设计中还要多次使用。这时拖到前面板上一个圆形按钮后选中点击鼠标右键的高级>自定义即可进入控件修改面板,再调整好大小及颜色后保存,就可以在控件面板的选择控件中调出自己的按钮控件了。布尔开关的机械动作:布尔开关有6 种机械动作属性可供选择。在前面板上用鼠标右键单击开关,在快捷菜单中选择Mechanical Action 就可以看到这些可选的动作。本设计选的为单击时转换10。2旋钮设计:旋钮的

50、大小及颜色设置如按钮设计,但还有一些如旋钮的范围,步进需要在旋钮属性里设置。3数码管显示设计:为了得到仿真的效果,频率,幅值的显示采用的是数码管字体,LabVIEW中没有自带这种字体,需要自己安装。把数值显示控件调整至需要大小,在前面板上的12pt应用程序字体中着到数码管字体,并可以对字体设置颜色,大小,位置设置,还可以通过工具面板中的颜色笔调节字体背景为黑色。§3.3 主VI程序框图设计程序框图提供VI 的图形化源程序。在程序框图中对VI 编程,以控制和操纵定义在前面板上的输入和输出功能。图37是与图34对应的程序框图。可以看到程序框图中包括了前面板上的开关和指示灯控件的连线端子,

51、还有一些CIN节点,if循环结构及程序的循环结构。整个程序框图设置了一个While Loop 循环,使它持续工作下去11。由电源开关控制这一循环的结束。整个程序主要有以下几个模块: 器件选择模块;串口发送模块设计。§3.3.1 程序框图LabVIEW是图象化的编程语言,它的软件设计是以图形连线的方式表示出来。下图38即是LabVIEW部分的主VI的设计程序,图3-7 主VI程序框图 §3.3.2 器件选择部分设计图3-8 器件选择设计图器件选择模块的主要功能是得到器件参数,当前面板中的信号发生器控件按下时,参数为0,频率计控件按下时参数为1,示波器控件按下时参数为2。首先,

52、由于信号发生器,频率计,示波器都是输入控件,在程序框图中相当于普通编程语言的输入参数,只有输出端子,没有输入端子,且输出值为布尔量,通过布尔转(0,1)VI,可以把输出值转换为0 或1,分别送到一CIN节点,对其编程如图信号发生器输入量设为 a; 频率计输入量设为 b; 示波器输入量设为 c;输出为d。CIN节点功能就是当a=1时,输出d0,表示信号发生器;当b=1时,输出d=1,表示频率计;当c=1时,输出d=2,表示示波器。之后把d的值送至一数值转十进制字符VI,等待发送12。CIN节点程序如下:if(a=1)d=0;elseif(b=1)d=1;elseif(c=1)d=2;§

53、3.3.3 串口发送部分设计串口的发送是很重要的一部分,主要功能是完成把波形指令发送到串口上。在此,串口采用的是LabVIEW自带的串口发送模块VISA,可以很方便的调用。在LabVIEW的VISA面板中有VISA配置、VISA读取、VISA写入、VISA关闭、VISA打开等关于VISA串口操作的模块。 图3-9 串口配置与发送设计图首先要先调用一个VISA配置VI,此VI的功能是完成串口的配置,如波特率,数据位数,有无奇偶校验等,在这里设置的是波特率为9600,一位起始位,八位数据位,一位停止位,无奇偶校验,无握手协议。其次,调用一VISA写入VI,此VI是将连接好的一包数据按指定格式,速率

54、发送的串口上。最后,调用VISA关闭VI,关闭串口13。§3.4 函数信号发生器程序框图的设计图310是与图35对应的程序框图。可以看到程序框图中包括了前面板上的开关,旋钮,指示灯和数值显示等控件的连线端子,还有一些CIN节点,if循环结构及程序的循环结构。整个程序框图设置了一个While Loop 循环,使它持续工作下去。由电源开关控制这一循环的结束。整个程序主要有以下几个模块: 波形类型模块;频率选择模块;频段选择模块;幅值选择模块;串口发送模块设计。§3.4.1 程序框图下图310即是LabVIEW部分的函数信号发生器的设计程序,图3-10 函数信号发生器的程序框图

55、§3.4.2 波形类型部分设计图3-11 波形类型设计图波形类型模块的主要功能是得到波形参数当前面板中的三角控件按下时,参数为0,正弦控件按下时参数为1,方波控件按下时参数为2。首先,由于三角,方波,正弦都是输入控件,在程序框图中相当于普通编程语言的输入参数,只有输出端子,没有输入端子,且输出值为布尔量,通过布尔转(0,1)VI,可以把输出值转换为0 或1,分别送到一CIN节点,对其编程如图三角输入量设为 a; 方波输入量设为 b; 正弦输入量设为 c;输出为d。CIN节点功能就是当a=1时,输出d0,表示三角波;当b=1时,输出d=2,表示方波;当c=1时,输出d=1,表示正弦波。

56、之后把d的值送至一数值转十进制字符VI,等待打包发送。CIN节点程序如下:if(a=1)d=0;elseif(b=1)d=2;elseif(c=1)d=1;§3.4.3 频率选择部分设计图3-12 频选模块设计图 频率选择模块的主要功能是由频段按钮与频率调节选钮的的值作为输入计算出频率值并且得到频率系数也频段参数。频率旋钮调节输出是一0359之间的数值假设为a,频段的判断方法与波形选择模块相似,可分别用06七个数字来分别表示2M2Hz这七个频段,则频率的值为pinlv=205+a*5/(10n)Khz。这些数值转换也在一个CIN公式接点内完成。 §3.4.4 峰峰值调节部分设计图3-13 峰峰值部分设计图峰峰值的调节是由幅侄调节旋钮完成的,主要功能是调节信号的峰峰值大小,峰峰值的调节输出直接送到峰峰值的显示控件,范围为08.5V,步进为0.1v。但其参数为真实值的十倍,以085代表08.5v之间的数值。§3.4.5 串口发送部分设计串口的发送是很重要的一部分,主要功能是完成把波形指令发送到串口上。在此,串口采用的是LabVIEW自带的串口发送模块VISA,可以很方便的调用。 图3-14 串口配置与发送设计图首先要先调用

温馨提示

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

评论

0/150

提交评论