河南科技大学毕业设计(论文) 领域内得到广泛应用使得非专业人员进行虚拟仪器开发变得容易。
在虚拟仪器的硬件构成中,数据采集卡的性能是最重要的。由于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