河南科技大学毕业设计(论文) 基于labview、fpga的虚拟仪器平台开发与设计
摘要
现代生产要求电子仪器品种多、功能强、精度高、自动化程度高,而且要求测试的速度快、实时性好,具有良好的人机界面。虚拟仪器正好可以实现这些要求。在电子实验中使用多种仪器,如信号发生器、万用表、频率计、示波器等,如果能把它们都设计成虚拟仪器,利用计算机来提高仪器的集成度,减少实验匹配的仪器的种类、数量和实验室面积,便能从根本上改变实验室的面貌,克服传统测量仪器单一功能的缺点。
本设计正是以这种思想为出发点,以电子技术实验室的真实函数信号发生器、示波器、频率计为蓝本,利用LabVIEW编程来设计虚拟函数信号发生器、虚拟存储示波器、虚拟频率计,并将其合并在一个虚拟平台上面,能够分别实现虚拟仿真函数信号发生器、存储示波器、及频率计的功能,实现真正意义上的虚拟仪器平台。其虚拟平台上面的函数信号发生器可以产生正弦波、三角波、方波三种波形,并能够实现波形频率从1Hz到2MHz可调,峰峰值从0.1V到8.0V可调,实时性很好;示波器能正确的显示波形,并能实现频率和幅值的可调;频率计可以对0HZ到99.99KHZ的信号进行频率的测量。
本设计利用RS-232串口进行数据的传输,实现了LabVIEW与FPGA的通信。同时对仿真信号的生成与控制做了详细的分析,以及对设计中的问题进行了深入的探讨。本设计旨在找到一个能够改革教学实验室的有效途径。
关键词:虚拟仪器,LabVIEW,RS-232,FPGA
I
河南科技大学毕业设计(论文) THE DESIGN OF VIRTUAL INSTRUMENTS PLATFORM
BASED ON LABVIEW AND FPGA
ABSTRACT
Modern 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 variety 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 experiments 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 laboratory 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 generator, 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 2MHz 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 transmission, 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
II
河南科技大学毕业设计(论文) design issues in detail. The design of a reform aimed at finding an effective way of teaching laboratory.
KEY WORDS: Virtual Instrument,LabVIEW,RS-232,FPGA
III
河南科技大学毕业设计(论文) 目 录
前 言 .................................................................................................. 1 第1章 绪论....................................................................................... 2 §1.1 虚拟仪器的背景 ................................. 2
§1.1.1 数字信号处理技术 ........................... 2 §1.1.2 虚拟仪器技术 ............................... 2 §1.2 本课题研究的意义 ............................... 3
§1.2.1 设计的依据及意义 ........................... 3 §1.2.2 国内外发展状况 ............................. 4 §1.3 关于LabVIEW .................................... 5
§1.3.1 开发环境LabVIEW ........................... 5 §1.3.2 选择LabVIEW的原因 ......................... 5 第2章 系统的构想与方案设计 ....................................................... 7 §2.1 上位机与下位机 ................................. 7 §2.2 DDS的工作原理 .................................. 7 §2.3 方案论证 ....................................... 8 §2.4 系统整体框图与设计思想 ........................ 11
§2.4.1 系统框图 .................................. 11 §2.4.3 频率计设计思想 ............................ 12 §2.4.2 函数信号发生器设计思想 .................... 13 第3章 上位机设计 ......................................................................... 15 §3.1 LabVIEW软件设计思想 ........................... 15 §3.2 人机交互界面设计 .............................. 17
§3.2.1 人机交互界面的构成 ........................ 18 §3.2.2 界面的组件设计 ............................ 19 §3.3 主VI程序框图设计 ............................. 20
§3.3.1 程序框图 .................................. 20 §3.3.2 器件选择部分设计 .......................... 21 §3.3.3 串口发送部分设计 .......................... 21 §3.4 函数信号发生器程序框图的设计 .................. 22
IV
河南科技大学毕业设计(论文) §3.4.1 程序框图 .................................. 22 §3.4.2 波形类型部分设计 .......................... 23 §3.4.3 频率选择部分设计 .......................... 24 §3.4.4 峰峰值调节部分设计 ........................ 25 §3.4.5 串口发送部分设计 .......................... 25 §3.5 频率计程序框图的设计 .......................... 26
§3.5.1 程序框图 .................................. 26 §3.5.2 发送数据类型控制部分设计 .................. 26 §3.5.3 串口发送部分设计 .......................... 28 §3.5.4 串口接收部分设计 .......................... 28 §3.5.5 显示部分设计 .............................. 29 §3.6 设计中用到的主要VI ............................ 29 第4章 下位机设计 ......................................................................... 31 §4.1 FPGA软件中主模块的设计思想 .................... 31
§4.1.1 主模块的软件设计原理总图 .................. 31 §4.1.2 FPGA软件中主模块的设计原理 ............... 31 §4.2 FPGA软件中函数信号发生器的设计思想 ............ 32
§4.2.1 函数信号发生器的软件设计原理总图 .......... 32 §4.2.2 FPGA软件中函数信号发生器的设计原理 ....... 32 §4.3 FPGA软件中频率计的设计思想 .................... 34
§4.3.1 频率计的软件设计原理总图 .................. 34 §4.3.2 FPGA软件中频率计的设计原理 ............... 34 §4.4 频率计的系统模块设计 .......................... 35
§4.4.1 串口接收模块 .............................. 35 §4.4.2 串口转换模块 .............................. 38 §4.4.3 分频模块 .................................. 39 §4.4.4 控制模块 .................................. 40 §4.4.5 串口发送模块 .............................. 41 §4.4.6 频率计模块 ................................ 42 §4.5 函数信号发生器的系统模块设计 .................. 45
§4.5.1 串口接收模块 .............................. 45
V
河南科技大学毕业设计(论文) §4.5.2 串口转换模块 .............................. 45 §4.5.3 分频模块 .................................. 46 §4.5.4 地址发生器模块 ............................ 48 §4.5.5 ROM表查询模块 ............................ 49 §4.5.6 波形选择模块 .............................. 51 §4.5.7 幅值调节模块 .............................. 52 §4.5.8 频段选择模块 .............................. 53 §4.6 串口的编码与解码 .............................. 54
§4.6.1 关于串口 .................................. 54 §4.6.2 串口的设置 ................................ 55 §4.6.3 串口的发送与接收 .......................... 55 §4.7 硬件连接 ...................................... 56 第5章 软件仿真测试与实时检测 .................................................. 57 §5.1 LabVIEW软件仿真测试 ........................... 57
§5.1.1 LabVIEW软件中函数信号发生器的仿真测试 .... 57 §5.1.2 LabVIEW软件中频率计的仿真测试 ............ 57 §5.2 FPGA软件中函数信号发生器的仿真测试 ............ 58 §5.3 FPGA软件中频率计的仿真测试 .................... 59 §5.4 总功能实时检测 ................................ 59 参考文献 .......................................................................................... 65 致 谢 ................................................................................................ 66
VI
河南科技大学毕业设计(论文) 前 言
虚拟仪器的出现就是仪器发展史的一场革命,代表仪器发展的方向和潮流,对科学技术的发展和工业生产的进步产生了巨大的推动作用。虚拟仪器技术是测试领域的一种新的思想和方法,它的出现是测试仪器技术和测控系统的一个新的里程碑。虽然是新兴的仪器仪表技术,但由于其具备许多区别于传统仪器的突出优点,可以由用户自行设计定义,灵活变换参数,随着计算机技术特别是软件技术和仪器技术的进步而飞速发展,因此使现代测控的系统更灵活、更紧凑、更经济、功能更强大,从而在国内外各个领域得到了越来越广泛的应用。特别在电子测量和自动化控制领域,虚拟仪器技术得到了巨大的发展。虚拟仪器是一种功能意义上的测量和控制仪器,是具有仪器功能的软件、硬件的组合。它充分利用计算机技术,在基本的硬件支持下,通过调用相应的软件模块来完成各种传统仪器的功能。
本文从探索研究的角度出发,对虚拟仪器的系统构成、实现手段和开发方法进行了研究。在此基础上,研究开发了基于LabVIEW开发平台的虚拟仪器平台,通过计算机串口把LabVIEW发送的控制指令送到GW48实验箱FPGA的RS-232接收引脚,经过FPGA对控制指令的处理,实现对虚拟平台上面相应虚拟仪器的调用,对不同的虚拟仪器应做不同的处理:如,虚拟频率计,当其接收到开始工作的信号后,将其频率和占空比,通过RS-232发送引脚,发送给计算机上面的LabVIEW,LabVIEW通过对串口进行读操作,将读到的结果转换成数值,并将其在虚拟频率计的界面上面显示,结果较为满意。在开发虚拟仪器的同时,掌握了LabVIEW编程语言和开发技术及标准,对虚拟仪器的构成、实现手段和开发方法有了一定的认识。
由于虚拟仪器技术在国内尚未普及,针对传统教学仪器缺乏或陈旧、教学方式呆板、学生实验使用多台仪器,实验准备烦琐,支持维护困难、实验室设备更新,硬件更新费时费力的等情况。把虚拟仪器引入教学是一种必然趋势。本文试图探索出一条适合我国国情的虚拟仪器的途径,做到花钱少,具有较高的性价比,以在教学实验领域进行推广。
1
河南科技大学毕业设计(论文) 第1章 绪论
§1.1 虚拟仪器的背景
虚拟仪器涵盖了数字信号处理、虚拟仪器技术等多方面知识。本文所开发的虚拟仪器平台就是在信号技术、计算机技术、电子技术高速发展的背景下,利用美国NI公司的虚拟仪器开发平台——LabVIEW进行设计开发的,它可以快速方便地实现信号的采集、显示、分析、储存、读取和输出。
§1.1.1 数字信号处理技术
在科学研究和生产过程中,经常要对许多客观存在的物体或物理过程进行观测。这些客观存在的事物包括了大量标志本身所处时间空间特征的数据和“情报”,这就是该事物的“信息”。人们为了某一特定的目的,从浩瀚的信息中把所需要的部分提出来,以达到观测某一本质问题的目的。这种对信息的表达形式称之为“信号”,信号是某一特定信息的载体。
信号传输理论与技术的不断发展使信号处理技术的出现成为必然。在科学和工程技术领域中,常常需要对信号进行处理。信号处理就是对数据进行所需要的变换或按约定的规则进行运算,使之更便于对它们进行分析、识别和使用。信号的处理包括对信号的监测、滤波、时域分析、频域分析,调制等等。信号分为模拟信号和数字信号,在对模拟信号进行处理时,既可以使用模拟系统也可以使用数字系统。使用数字系统处理模拟信号时,需要先将模拟信号转化为数字信号,即模数转化(A/D),然后用数字系统进行处理,得到一个处理后的数字信号,再经过数模转化(D/A),得到所需的模拟信号。
§1.1.2 虚拟仪器技术
由于电子技术、计算机技术、软件技术、网络技术的高度发展及其在电子测量技术与仪器上的应用,新的测试理论、新的测试方法、新的测试领域及新的仪器结构不断出现,许多方面已经突破传统的仪器概念,电子测量仪器的功能和结构己经发生了质的变化。在这种背景下,八十年代末美国率先
2
河南科技大学毕业设计(论文) 研制了虚拟仪器(Virtual Instruments)。虚拟仪器就是利用现有的计算机加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器没有的特殊功能的高档、低价的新型仪器。
虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制、数据分析与显示。代替传统仪器,改变了传统仪器的使用方式,提高仪器的功能和使用效率,同时大大降低了仪器的价格,使用户可以根据自己的需要定义仪器的功能。用于虚拟仪器的开发环境目前有两大类:一是文本式的编程语言,如Visual Basic, Visual C++、LabWindow/CVI等,另一类是图形化编程语言,具有代表性的有LabVIEW, HPVEE。其中影响最大的要数LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工程平台)语言,被称为“仪器仪表界面”,是专为数据采集与仪器控制、数据分析和数据表达而设计的开发软件[1]。
§1.2 本课题研究的意义
§1.2.1 设计的依据及意义
虚拟仪器(Virtual Instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
目前,在大多数院校的实验教学中,常用的仍然是功能固定的台式仪器,主要有存储示波器、函数信号发生器、频率计、实验箱、电源等。对于一个高等院校而言,进行实验教学最少需要配备30套设备,每套造价近万元,其负担是可想而知的。更由于电子设备更新快, 时间一久,进行正常的实验对于好多院校都是一个困难。另外,台式机操作复杂,调试困难,受干扰程度高,在教学中不易受学员接受。而采用虚拟仪器教学实验系统,首先,仪器使用软件实现,我们可以把以上所说的几种仪器集成在一个系统中,运用不同切换过程,可以同时实现教学的目的。
本课题利用LabVIEW软件和FPGA的通讯在计算机屏幕上实现虚拟仪器
3
河南科技大学毕业设计(论文) 平台面板,此虚拟仪器平台上包括函数信号发生器、存储示波器和频率计仪器,用户可以通过鼠标对操作面板的按钮、开关和按键,进行上述仪器的功能切换并设置各种工作参数,来控制和操作相应的仪器。测量和分析结果可以从虚拟仪器面板上读出。用户在屏幕上通过虚拟仪器面板对仪器的操作如同在真实仪器上的操作一样直观、方便、灵活。利用虚拟仪器开设综合性、创新型实验,使理论教学与实践更好的紧密结合,教学更生动、更形象,全面提高学生工程素质。同时还可以激发学生的实验兴趣,使学生的实验技能、创新能力得到显著提高。由于此仪器平台具有多台仪器的功能,实验所需仪器的占地面积被减小,相应的实验准备过程被大大的简化。
函数信号发生器、频率计和存储示波器作为实验课程上必备的实验仪器,本课题设计虚拟仪器平台比传统的更加灵活,节约成本。教师在教学过程中不需要在一台真实的仪器前操作,只需在电脑上即可完成仪器的演示。虚拟仪器的教学更好的结合了理论与实践相结合,使学生的软件与硬件技能同步提高,虚拟仪器软硬件上模块化的设计使学生在学习的方式上更加灵活,也容易掌握。由此可见,就课程的开设和学生的实际情况来讲虚拟仪器教学是可行的,虚拟仪器平台的设计对于我们日后教学是有一定的意义的。
§1.2.2 国内外发展状况
早在八十年代,随着NI旗航产品LabVIEW的诞生,NI就提出“软件就是仪器的口号”,开辟了“虚拟仪器技术”的崭新测量概念。从九十年代开始,国内一些大学在实验教学领域相继开展了虚拟仪器系统的研究与开发工作。目前,我国部分高校还正在开展虚拟仪器的研究工作,重点在于研制具有自主知识产权的虚拟仪器软件平台,并开发响应的虚拟仪器设备。2003年10月和2004年1月NI分别联合吉林大学和华中科技大学创建LabVIEW实验室;2004年12月清华大学与美国国家仪器公司在精密仪器和机械系新建虚拟仪器联合教学实验室。
LabVIEW作为一种模块化、图形化程序设计工具具有图形化程序设计编程简单、直观、开发效率高、测试系统开发完整等优点。在国内外,航天、航空、通信、汽车、半导体、自动控制和生物医学等世界范围的众多
4
河南科技大学毕业设计(论文) 领域内得到广泛应用使得非专业人员进行虚拟仪器开发变得容易。
在虚拟仪器的硬件构成中,数据采集卡的性能是最重要的。由于PCI 总线传输速率高,数据吞吐量大,因此基于PCI总线的数据采集卡成为设计的主流。但是由于数据采集卡价格昂贵,且教学实验波形精确度要求不高,也可采用基于NiosⅡ与LabVIEW的函数波形发生器设计,即采用FPGA结合微处理器的形式。DDS部分功能由FPGA来实现,微处理器用于完成控制功能,再运用SOPC技术基于FPGA芯片将处理器、存储器、I/O等系统需要的模块集成到一起,软硬件可裁减,并具备在系统可编程的功能,可大大简化系统电路,提高系统集成度。
§1.3 关于LabVIEW
§1.3.1 开发环境LabVIEW
孤立的计算机硬件和I/O接口设备均无法完成测试任务,软件技术在自动测试系统的研制与开发中正在起着越来越重要的作用。LabVIEW编程语言是美国最大的虚拟仪器制造商NI公司推出的一种基于G语言(Graphics Language)的虚拟仪器软件开发工具。LabVIEW是“实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench)”的缩写,用于LabVIEW设计的虚拟仪器可脱离LabVIEW开发环境,用户最终看见的是和实际硬件仪器相似的操作面板。
LabVIEW 是一个工程软件包。1986年,美国国家仪器公司(National Instruments)开发研制出它是基于苹果公司的Macintosh微机的最早版本。之后,该公司不断推出各种操作系统的LabVIEW版本[2]。它们的出现开创了虚拟仪器的仪器研究新方法。
§1.3.2 选择LabVIEW的原因
选择LabVIEW开发测试和测量应用程序的一大决定性因素是其开发速度。通常,使用LabVIEW开发应用系统的速度比其他编程语言快4~10倍。这一惊人速度背后的原因在于LabVIEW易用易学,它所提供的工具使创建测试和测量应用变得更为轻松。
LabVIEW的具体优势主要体现在以下几个方面:
5
河南科技大学毕业设计(论文) 1. 提供了丰富的图形控件,并采用图形化的编程方法,彻底把工程师们从复杂枯涩的文本编程工作中解放出来。
2. 内建的编译器在用户编写程序的同时就在后台自动完成了编译。因此用户在编写程序的过程中如果有语法错误,它会被立即显示出来。 3. 由于采用数据流模型,它实现了自动的多线程,从而能充分利用处理器尤其是多处理器的处理能力。
4. 通过DLL、CIN节点、ActiveX、.NET或MATLAB脚本节点技术,可以轻松实现LabVIEW与其他编程语言混和编程。
5. 通过应用程序生成器可以轻松地发布EXE、动态链接库或安装包。 6. LabVIEW提供了大量的驱动与专用工具,几乎能与任何接口的硬件轻松连接。
7. LabVIEW内建了600多个分析函数,用于数据分析和信号处理。 8. NI同时提供了丰富的附加模块,用于扩展LabVIEW在不同领域中的应用,例如实时模块、PDA模块、FPGA模块、数据记录与监控(DSC)模块、机器视觉模块与触摸屏模块等[3]。
6
河南科技大学毕业设计(论文) 第2章 系统的构想与方案设计
§2.1 上位机与下位机
上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的开发系统。在概念上控制者和提供服务者是上位机,被控制者和被服务者是下位机,也可以理解为主机和从机的关系,但上位机和下位机是可以转换的。两机如何通讯,一般取决于下位机。下位机一般处于底层控制,上位机可以编程后,传入下位机或者集中管理下位机,下位机在有存储控制程序的情况下,可脱离上位机工作。
在本设计中,通过在PC上操作LabVIEW的编写的人机交互界面,发送控制指令控制FPGA,作为上位机。而FPGA通过解析上位机发送的控制指令,来判断让哪一个模块工作,作为下位机[4]。对于FPGA上面的其中一个模块为频率计,其首先接收的LabVIEW编写的人机交互界面发出的控制信号,将其转换,判断控制信号,并将某一控制信号控制的信息发送给LabVIEW的编写的人机交互界面,将其结果进行显示。这种情况下:对于频率计和LabVIEW的编写的人机交互界面两者之间的关系是互为上机位和下机位。
§2.2 DDS的工作原理
直接数字频率合成技术是根据奈奎斯特取样定理,从连续信号的相位Φ出发将一个信号取样、量化、编码,形成一个信号函数表,存于ROM 中。合成时,通过改变相位累加器的频率控制字,来改变相位增量,而相位增量的不同将导致一个周期内取样点的不同,从而改变频率[5]。在采样频率不变的
7
河南科技大学毕业设计(论文) 情况下,通过改变相位累加器的频率控制字,将这种变化的相位/幅值量化的数字信号通过D/A变换及LPF(Low-pass Filter 低通滤波器)即可得到合成的相位变化的模拟信号频率。
时钟信号Fclk 频率控制字K n位相位累加器 Rom查找表 D/A转换 LPF低通滤波器 输出F 图2-1 DDS的基本结构图
DDS 的基本结构如图所示,主要由相位累加器、波形ROM、DAC 以及低通滤波器等组成。N位相位累加器在取样时钟的控制下与频率控制字K 所决定的相位增量相加;相位累加器的高位输出作为波形ROM 的地址,实现波形相位到幅值的转换;波形数据经DAC 转换成模拟量,通过滤波器输出相对平滑的波形。本设计就是运用DDS技术做的函数信号发生器。
§2.3 方案论证
§2.3.1 虚拟频率计的方案
用LabVIEW软件为开发平台,在LabVIEW程序中把控制参数(低位,高位,频率和占空比的切换)发送到串口上,FPGA通过RS-232接收控制指令,低位,高位,频率和占空比的切换在FPGA中处理后将相应的信息发送到RS-232,LabVIEW的编写的人机交互界面通过对RS-232串口进行读操作,处理完成后,将处理完的信息在LabVIEW的编写的人机交互界面上面进行显示。
此方案的优点是:人机交互界面与FPGA之间进行通信时所需发送数据量少,减轻了串口的负担。采用全双工的通信方式,FPGA与PC机之间可以同时进行收、发数据。
此方案的设计思想如图2-2。
8
河南科技大学毕业设计(论文)
图2-2 虚拟频率计流程图
§2.3.2 虚拟存储示波器的方案
首先在FPGA上面对信号进行采样,之后将采样后得到的数据通过RS-232串口发送给PC,在LabVIEW软件编程中,首先对RS-232串口进行读操作,将读到的结果经过一A\\D转换成波形数据,并将其在前面板上面显示出来。
此方案的设计思想如图2-3。
信号 D\\A 串口发送 FPGA 串口接收/发送 人机交互界面控制 控制指令 串口发送/接收 显示 数据处理 串口接收
图2-3 虚拟存储示波器流程图
此方案的优点是:FPGA往RS-232串口发送的是信号采集完的数据,大大降低了串口发送的数据量,提高了串口的发送速度。此方案采用的是半双工的工作方式,FPGA只负责发送数据,PC机只负责接收数据。其工作流程一目了然。
§2.3.3 虚拟函数信号发生器的方案
方案一:
用LabVIEW软件为开发平台,在LabVIEW程序中进行各个波形数据的采集并把数据发送到串口上,FPGA通过RS-232接受波形数据,串行数据在FPGA中处理后经过一D/A转换后在示波器上显示结果。
此方案通过串口发送的是波形数据。设计思想如图 2-4。
9
河南科技大学毕业设计(论文) 人机交互界面控制 生成波形 采集数据 串口发送 波形数据 D/A转换 串口接收 图2-4 方案一流程图
方案二:
用LabVIEW软件为开发平台,在LabVIEW程序中把各个波形的波形参数(频率,频段,峰峰值)发送到串口上,FPGA通过RS-232接受波形指令,波形参数在FPGA中处理后运用DDS技术产生波形经过一D/A转换后在示波器上显示结果。
此方案通过串口发送的是波形指令。设计思想如图2-5。
人机交互界面控制 波形指令 串口发送 波形指令 D/A转换 DDS合成 串口接收
图2-5 方案二流程图
方案一发送的是波形数据,根据设计要求生成的最高频率为2Mhz,当2Mhz时最少需要采样四个点,每个点都是8Bit,因此需要最低的串口传送速率为64Mbit/s。优点是FPGA方面不需要太多的编程,只要一个串口接收模块即可;缺点是串口需要传输大量数据。
方案二发送的是波形指令,此方案不需要在 LabVIEW中采样产生波形数据,是把波形数据直接作成ROM表的形式,当把波形指令发送出来以后,FPGA根据波形参数通过DDS技术产生信号波形。优点是串口传输只需要发
10
河南科技大学毕业设计(论文) 送很少数据;缺点是在FPGA里产生波形受ROM表里波形数据限制,易失真。
通过上述对两个方案的比较及RS-232串口传输最大速率(20Mbit/s)的限制,考虑到波形发生的实时性,本设计采用方案二。把LabVIEW与FPGA结合起来,以发送波形指令的方式控制产生波形信号。
§2.4 系统整体框图与设计思想
整个系统可以分为LabVIEW设计与FPGA设计两大部分,主要可以分为:虚拟界面,串口接收,串口发送,DDS合成,A/D转换,D/A转换
[6]
。FPGA
上面有数字信号发生器,频率计,示波器,相应的PC机上面有数字信号发生器界面,示波器的界面,频率计的界面,本设计是通过PC机来控制FPGA。其工作原理是:当PC机主界面上任何按钮按下时,将控制信息发送到RS-232串口,FPGA上面通过对RS-232串口的接收来得到相应的控制信息,来确定是哪个模块工作,同时在PC界面上面出现相应模块的前面板,通过对其前面板的控制来实现相应模块的工作。其具体的设计流程是把每种器件的参数都设定为不同的数字如表2-1(信号发生器用0表示,频率计用1表示,示波器用2表示),将这一位数字按照一定的波特率发到串口,而且每当这一位数字有变化时就把新的数据发送到串口。
表2-1 器件选择编码表 器件类型 信号发生器 频率计 示波器 发送参数 0 1 2
如发送数据为0一位数字,就表示要工作的器件是信号发生器。之后用FPGA设计一串口接收模块,按照设定好的波特率及编码方式解码,得到控制命令,使相应的器件工作。
§2.4.1 系统框图
11
河南科技大学毕业设计(论文) FPGA 函数信号发生器 PC 函数信号发生器界面 存储示波器 RS-232 简易频率计 简易频率计界面 控制模块 RS-232 存储示波器界面
图2-6 总系统框图
PC数字信号发生器界面§2.4.3 频率计设计思想
由于选择了上面的方案,即发送控制命令的形式来控制FPGA发送信存储示波器界面息大大降低了串口的发送负担,使得串口的发送速率能够满足设计要求达RS-232到实时性,具体的设计流程是把每个按键编码,其编码的规则如表2-4(高简易频率计界面8位用“10”表示,低八位用“00”表示,频率用‘0’表示,占空比用‘1’表示),一共有三个控制参数分别为发送低8位,发送高8位,发送频率,发送占空比,发送低8位的控制信息用1位表示,发送高8位的控制信息用1位表示,发送频率和占空比用一位表示,将上面的三位组合到一起组成一帧按照一定的波特率发到串口,而且每当这3位数字有变化时就把新的数据发送到串口。如发送数据为010三位数字,就表示要接收频率的低8位。之后用一串口接收模块,按照设定好的波特率及编码方式解码,得到的控制指令使其工作时发送相应的数字。
表2-4 发送指令编码表 名称 频率低8位 频率高8位 占空比低8位 占空比高8位
12
发送参数 010 001 110 101 河南科技大学毕业设计(论文) §2.4.2 函数信号发生器设计思想
由于选择的是方案二即发送波形命令的形式来控制波形就大大降低了串口的发送负担,使得串口的发送速率能够满足设计要求达到实时性,具体的设计流程是把每种波形的参数都设定为不同的数字如表2-2(三角波用0表示,正弦波用1表示,方波用2表示),一共有四个波形参数分别为波形类型,频率系数(即在某个频段内的频率旋钮调节值),频段,峰峰值。
表2-2 波形类型编码表 波形类型 三角波 正弦波 方波 发送参数 0 1 2
表2-3 频段编码表 频段 2MHz 200KHz 20KHz 2KHz 200Hz 20Hz 2Hz 发送参数 0 1 2 3 4 5 6
波形类型由于有三种波形,其参数为0~2(十进制)占一位;频率系数由于在200K~2Mhz频段内步进为5Khz,因此可用0~359表示这频段内的360个不同频率,占三位。频段有七段分别为2Hz,20Hz,200Hz,2Khz,20Khz,200Khz,2Mhz.因此用0~6表示,占一位,如表2-3。峰峰值是以0.1V为步进的,而经测量D/A转换的最大峰峰值为8.5V,可用0~84表示这85个不同值,占2位。这四种参数加起来一共要发送7位的十进制数,把这些数字连接到一起组成一帧按照一定的波特率发到串口,而且每当这七位数字有变化时就把新的数据发送到串口。如发送数据为1234567七位
13
河南科技大学毕业设计(论文) 数字,就表示要产生的波形为正弦波,频率系数为234,频段为5,峰峰值系数为67。之后用FPGA设计一串口接收模块,按照设定好的波特率及编码方式解码,得到的波形指令通过DDS技术产生数字波形,再经过一D/A转换发送到示波器上验证结果。
14