基于labview和fpga_的虚拟仪器平台设计-精品内容摘要:

器软件开发工具。 LabVIEW 是“实验室虚拟仪器工程平台( Laboratory Virtual Instrument Engineering Workbench)”的缩写 , 用于 LabVIEW 设计的虚拟仪器可脱离 LabVIEW 开发环境 , 用户最终看见的是和实际硬件仪器相似的操作面板。 LabVIEW 是一个工程软件包。 1986 年 , 美国国家仪器公司( National Instruments)开发研制出它是基于苹果公司的 Macintosh 微机的最早版本。 之后 , 该公司不断推出各种操作系统的 LabVIEW 版本 [ 2]。 它们的出现开创了虚拟仪器的仪器研究新方法。 167。 选择 LabVIEW 的原因 选择 LabVIEW 开发测试和测量应用程序的一大决定性因素是其开发速度。 通常,使用 LabVIEW 开发应用系统的速度比其他编程语言快 4~ 10倍。 这一惊人速度背后的原因在于 LabVIEW 易用易学,它所提供的工具使创建测试和测量应 用变得更为轻松。 LabVIEW 的具体优势主要体现在以下几个方面 : 河南科技大学毕业设计 (论文 ) 6 1. 提供了丰富的图形控件,并采用图形化的编程方法,彻底把工程师们从复杂枯涩的文本编程工作中解放出来。 2. 内建的编译器在用户编写程序的同时就在后台自动完成了编译。 因此用户在编写程序的过程中如果有语法错误,它会被立即显示出来。 3. 由于采用数据流模型,它实现了自动的多线程,从而能充分利用处理器尤其是多处理器的处理能力。 4. 通过 DLL、 CIN 节点、 ActiveX、 .NET 或 MATLAB 脚本节点技术,可以轻松实现 LabVIEW 与其他编程语言混和编程。 5. 通过应用 程序生成器可以轻松地发布 EXE、动态链接库或安装包。 6. LabVIEW 提供了大量的驱动与专用工具,几乎能与任何接口的硬件轻松连接。 7. LabVIEW 内建了 600 多个分析函数,用于数据分析和信号处理。 8. NI 同时提供了丰富的附加模块,用于扩展 LabVIEW 在不同领域中的应用,例如实时模块、 PDA 模块、 FPGA 模块、数据记录与监控( DSC)模块、机器视觉模块与触摸屏模块等 [3]。 河南科技大学毕业设计 (论文 ) 7 第 2章 系统的构想与方案设计 167。 上位机与下位机 上位机是指:人可以直接发出操控命令的计算机 , 一般是 PC, 屏 幕上显示各种信号变化(液压 , 水位 , 温度等)。 下位机是直接控制设备获取设备状况的的计算机 , 一般是 PLC/单片机之类的。 上位机发出的命令首先给下位机 , 下位机再根据此命令解释成相应时序信号直接控制相应设备。 下位机不时读取设备状态数据(一般模拟量) , 转化成数字信号反馈给上位机。 简言之如此 , 真实情况千差万别不离其宗。 上下位机都需要编程 , 都有专门的开发系统。 在概念上控制者和提供服务者是上位机 , 被控制者和被服务者是下位机 , 也可以理解为主机和从机的关系 , 但上位机和下位机是可以转换的。 两机如何通讯 , 一般取决于下位机。 下位机一 般处于底层控制 ,上位机可以编程后 , 传入下位机或者集中管理下位机 , 下位机在有存储控制程序的情况下 , 可脱离上位机工作。 在本设计中 , 通过在 PC 上操作 LabVIEW 的编写的人机交互界面 , 发送 控制 指令控制 FPGA, 作 为上位机。 而 FPGA 通过解析上位机发送的 控制 指令 , 来 判断让哪一个模块工作 , 作 为下位机 [4]。 对于 FPGA 上面的其中一个模块为频率计,其首先接收的 LabVIEW 编写的人机交互界面发出的控制信号,将其转换,判断控制信号,并将某一控制信号控制的信息发送给 LabVIEW 的编写的人机交互界面,将其结果进行显示。 这 种情况下:对于频率计和 LabVIEW 的编写的人机交互界面两者之间的关系是互为上机位和下机位。 167。 DDS 的工作原理 直接数字频率合成技术是根据奈奎斯特取样定理 , 从连续信号的相位Φ出发将一个信号取样、量化、编码 , 形成一个信号函数表 , 存于 ROM 中。 合成时 , 通过改变相位累加器的频率控制字 , 来改变相位增量 , 而相位增量的不同将导致一个周期内取样点的不同 , 从而改变频率 [ 5]。 在采样频率不变的河南科技大学毕业设计 (论文 ) 8 情况下 , 通过改变相位累加器的频率控制字 , 将这种变化的相位 /幅值量化的数字信号通过 D/A变换及 LPF( Lowpass Filter 低通滤波器)即可得到合成的相位变化的模拟信号频率。 图 21 DDS的基本结构图 DDS 的基本结构如图所示 , 主要由相位累加器、波形 ROM、 DAC 以及低通滤波器等组成。 N位相位累加器在取样时钟的控制下与频率控制字 K 所决定的相位增量相加;相位累加器的高位输出作为波形 ROM 的地址 , 实现波形相位到幅值的转换;波形数据经 DAC 转换成模拟量 , 通过滤波器输出相对平滑的波形。 本设计就是运用 DDS技术做 的 函数 信号发生器。 167。 方案 论证 167。 虚拟频率计的方案 用 LabVIEW 软件为开发平台 , 在 LabVIEW 程序中把 控制 参数( 低位,高位,频率和占空比的切换 )发送到串口上 , FPGA 通过 RS232 接 收控制指令 ,低位,高位,频率和占空比的切换 在 FPGA 中处理后 将相应的信息发送到 RS232, LabVIEW 的编写的人机交互界面通过对 RS232 串口进行读操作,处理完成后,将处理完的信息在 LabVIEW 的编写的人机交互界面上面进行显示。 此方案的优点是:人机交互界面与 FPGA 之间进行通信时所需发送数据量少,减轻了串口的 负担。 采用全双工的通信方式, FPGA 与 PC 机之间可以同时进行收、发数据。 此方案的设计思想如 图 22。 时钟信号 Fclk 频率控制字 K n 位相位累加器 Rom 查找表 D/A 转换 LPF 低通滤波器 输出 F 河南科技大学毕业设计 (论文 ) 9 图 22 虚拟频率计 流程图 167。 虚拟存储示波器的方案 首先 在 FPGA 上面对信号进行采样,之后将采样后得到的数据通过RS232 串口发送给 PC,在 LabVIEW 软件编程中,首先对 RS232 串口进行读操作,将读到的结果经过一 A\D 转换成波形数据,并将其在前面板上面显示出来。 此方案的设计思想如 图 23。 图 23 虚拟存储示波器 流程图 此方案的优点是: FPGA 往 RS232 串口发送的是信号采集完的数据,大大降低了串口发送的数据量,提高了串口的发送速度。 此方案采用的是半双工的工作方式, FPGA 只负责发送数据, PC 机只负责接收数据。 其工作流程一目了然。 167。 虚拟 函数 信号发生器的方案 方案一: 用 LabVIEW 软件为开发平台 , 在 LabVIEW 程序中进行各个波形数据的采集并把数据发送到串口上 , FPGA 通过 RS232 接受波形数据 , 串行数据在 FPGA 中处理后经过一 D/A 转换后在示波器上显示结果。 此方案通过串口发 送的是波形数据。 设计思想如 图 24。 信号 D\A 串口发送 串口接收 数据处理 显示 人机交互界面控制 控制指令 串口发送 /接收 串口接收 /发送 FPGA 河南科技大学毕业设计 (论文 ) 10 图 24 方案一流程图 方案二: 用 LabVIEW 软件为开发平台 , 在 LabVIEW 程序中把各个波形的波形参数(频率 , 频段 , 峰峰值)发送到串口上 , FPGA 通过 RS232 接受波形指令 , 波形参数在 FPGA 中处理后运用 DDS 技术产生波形经过一 D/A 转换后在示波器上显示结果。 此方案通过串口发送的是波形指令。 设计思想如 图 25。 图 25 方案二流程图 方案一 发送的是波形数据 , 根据设计要求生成的最高频率为 2Mhz, 当2Mhz 时最少需要采样四个点 , 每个点都是 8Bit, 因此需要最低的串口传送速率为 64Mbit/s。 优点是 FPGA 方面不需要太多的编程 , 只要一个串口接收模块即可;缺点是串口需要传输大量数据。 方案二发送的是波形指令 , 此方案不需要在 LabVIEW 中采样产生波形数据 , 是把波形数据直接作成 ROM 表的形式 , 当把波形指令发送出来以后 ,FPGA 根据波形参数通过 DDS 技术产生信号波形。 优点是串口传输只需要发人机交互界面控制 波形 指令 DDS 合成 串口发送 波形 指令 串口接收 D/A 转换 人机交互界面控制 生成波形 采集数据 串口发送 波形数据 串口接收 D/A 转换 河南科技大学毕业设计 (论文 ) 11 送很少数据;缺点是在 FPGA 里产生波形受 ROM 表里波形数据限 制 , 易失真。 通过上述对两个方案的比较及 RS232 串口传输最大速率( 20Mbit/s)的限制 , 考虑到波形发生的实时性 , 本设计采用方案二。 把 LabVIEW 与 FPGA结合起来 , 以发送波形指令的方式控制产生波形信号。 167。 系统整体框图与设计思想 整个系统可以分为 LabVIEW设计与 FPGA设计两大部分 , 主要可以分为:虚拟界面 , 串口接收 , 串口发送 , DDS 合成 , A/D 转换, D/A 转换 [6]。 FPGA上面有数字信号发生器,频率计,示波器,相应的 PC 机上面有数字信号发生器界面,示波器的界面,频率计的界面,本设计是通过 PC 机来控制 FPGA。 其工作原理是:当 PC 机主界面上任何按钮按下时,将控制信息 发送到RS232 串口 , FPGA 上面通过对 RS232 串口的接收来得到相应的控制信息,来确定是哪个模块工作,同时在 PC界面上面出现相应模块的前面板,通过对其前面板的控制来实现相应模块的工作。 其 具体的设计流程是把每种 器件 的参数都设定为不同的数字如 表 21( 信号发生器 用 0 表示 ,频率计 用 1表示 ,示波器 用 2 表示) ,将这一位 数字按照一定的波特率发到串口 , 而且每当这 一 位数字有变化时就把新的数据发送到串口。 表 21 器件选择 编码表 器件类型 发送参数 信号发生器 0 频率计 1 示波器 2 如发送数据为 0 一 位数字 , 就表示要 工作的器件是信号发生器。 之后用 FPGA 设计一串口接收模块 , 按照设定好的波特率及编码方式解码 , 得到控制命令,使相应的器件工作。 167。 系统框图 河南科技大学毕业设计 (论文 ) 12 图 26 总系统框图 167。 频率计 设计思想 由于选择了上面的方案, 即发送 控制 命令的形式来控制 FPGA 发送信息 大大降低了串口的发送负担 , 使得串口的发送速率能够满足设计要求达到实时性 , 具体的设计流程是把每 个按 键编码,其编码的规则 如 表 24( 高8 位用“ 10”表示,低八位用“ 00”表示,频率用‘ 0’表示,占空比用‘ 1’表示 ) , 一共有 三 个 控制 参数分别为 发送低 8 位,发送高 8 位,发送频率,发送占空比,发送低 8 位的控制信息用 1 位表示,发送高 8 位的控制信息用 1 位表示,发送频率和占空比用一位表示,将上面的三位组合 到一起组成一帧按照一定的波特率发到串口 , 而且每当这 3 位数字有变化时就把新的数据发送到串口。 如发送数据为 010 三 位数字 , 就表示要 接收频率的低8 位。 之后用一串口接收模块 , 按照设定好的波特率及编码方式解码 , 得到的 控制 指令 使其 工作时发送相应的数字。 表 24 发送指令 编码表 名称 发送参数 频率低 8 位 010 频率高 8 位 001 占空比低 8 位 110 占空比高 8 位 101 数字信号发生器界面存储示波器界面简易频率计界面RS 232PC函数信号发生器 存储示波器 简易频率计 函数信号发生器界面 存储示波器界面 简易频率计界面 RS232 RS232 PC 控制模块 FPGA 河南科技大学毕业设计 (论文 ) 13 167。 函数 信号发生器 设计思想 由于选择的是方案二即发送波形命令的形式来控制波形就大大降低了串口的发送负担 , 使得串口的发送速率能够满足设计要求达到实时性 , 具体的设计流程是把每种波形的参数都设定为不同的数字如 表 22(三角波用 0 表示 , 正弦波用 1 表示 , 方波用 2 表示) , 一共有四个波形参数分别为波形类型 , 频率系数(即在某个频段内的频率旋钮调节值) , 频段 , 峰峰值。 表 22 波形类型编码表 波形类型 发送参数 三角波 0 正弦波 1 方波 2 表 23 频段编码。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。