0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于LabWindows/CVI开发平台实现Namisoft频谱仪程控软件设计方案

电子设计 来源:网络整理 作者:佚名 2019-11-28 07:50 次阅读

1、引言

微波射频技术已经广泛应用于军事和民用领域。如雷达、末级制导、快速侦察,电子对抗以及通信和导航等。随着军事电子技术的发展,对射频波段测试设备和仪器的需求更为迫切,射频频谱分析仪作为一种通用测试仪器,是研制、检测与维护很多军用电子产品的必备工具;

Namisoft将介绍在开发频谱分析往中基于LabWindows/CVI的软件的总体设计,相比其它软件工具而言,LabWindows/CVI功能强大,简单易学,可以使很多复杂的功能变得更容易实现。

2、LabWindows/CVI概述

LabWindows/CVI是交互式C语言开发平台,可以在多操作系统下运行。它是以ANSIC为核心的面向仪器与测控过程的交互式平台,具有图形用户接口(GUI)简单、控制功能强大,实时性强、编程容易等优点。主要适用于各种测试,控制、故障分析及信息处理软件的开发,尤其是大型,复杂的测试试软件,使用LabWindows/CVI开发可以获得优良的测试性能。

Namisoft在实际开发中体会到,和其它虚拟仪器开发工具相比,LabWindows/CVI具有如下特点:

(1)基于标准C语言,编程技术主要采用时间驱动方式与回调函数方式,易于学习和掌握。

(2)是可视化、交互式的开发工具。具有人机交互界面编辑器.运用可视化交互技术实现“所见即所得”,使人机界面的实现直观简单。

(3)具有程序自动生成的能力,可减少软件开发过程中代码编写的工作量。

(4)具有功能齐全的软件工具包(仪器控制、I/O控制、通讯、数据处理等)以及功能强大的函数库,包括GPIB、RS232,VXI,VISA等。

(5)有大量与外部代码或软件进行连接的机制,如DLL(动态链接库)、DDE(共享库)、ActiveX等。

(6)具有多种灵活的函数调用手段。

3、Namisoft频谱仪程控软件总体方案的设计

总体设计方案

从频谱仪软件的总体需求来说,Namisoft频谱仪程控软件主要由三部分组成:主界面操作与显示,数据分析和处理以及和底层硬件通信。其中主界面主要完成配置参数的设置,用户命令的发送、显示图形和分析结果等:数据分析和处理这一部分负责根据用户命令参数,将获取的原始数据进行分析处理,得到可以用于显示的结果;和底层通信部分负责用户控制命令和仪器配置数据的下发、获取硬件上传的原始数据供数据分析部分使用,以及获取仪器设备的状态数据反馈用户。

主界面:主要指人机界面部分,用户通过人机界面来完成仪器的操作,以及直观地得到需要的分析、测量结果。这一部分主要是针对用户,所以在界面风格设计上更多是要符合用户的习惯.由于本软件是在PC机上运行,显示窗口应设计为可谓整的,以适合用户不同大小的显示器。除了设计供用户使用鼠标点击的软键盘和菜单键外.还应考虑菜单和键盘的兼容性,增强软件的适应性。在界面显示上,应保证图形显示的连续性,避免出现图形停顿的现象。

界面应包含的菜单如下:

(1)中心频率、起始频率.终止频率、频率步进:(2)参考电平、单位转换、衰减;(3)频率跨度(span).全SP轴、零span;(4)FFT/数字检波模式选择、实时分析带宽设置,视频滤波带宽设置,数字检波方式设置、扫描时间;(5)光标开启/关闭、单光标,双光标、光标至中心频率:(6)迹线(最大值迹线、最小值迹线、当前迹线):(7)校准:(8)软件复位。

数据分析与处理:这一部分是整个软件的核心,它关系到软件运行的准确性,可靠性和执行效率。在该软件中,主要分为以下几类数据:(1)控制与配置数据,用户通过人机界面对测量参数进行设置。把发送给硬件部分的参数称为控制数据;把用于数据分析的参数称为配置数据。(2)接收数据,接收来自VⅪ总线的数据信息或者状态信息。(3)显示结果数据,用于显示图形和测量结果。(4)读取数据.从外设读入出厂的校准数据。数据流程图如图1所示。

图1 数据流程图

与底层通信:该谱仪中与底层通信采用VXI总线通信机制,VXI通信起着系统硬件和软件的承上启下接口作用,软件和硬件的沟通主要是由这部分完成。硬件接口部分基于VXI总线,本软件首先应保证能和VXI总线进行通信:其次要保证用户的设置参数能准确、实时下发,能准确无误地读出当前的状态信息以及数据。因此,需要为接口上的信息通信制定一个同步机机制,以保证数据传输过程中不会出现数据错位、数据丢失的情况。

因此,根据上述三个方面的功能,得到了Namisoft频谱仪程控软件的层次结构图,见图2。本软件自项向下分为三个层次:最上层是图形用户界面,它包括图形显示及向用户提供的人机交互平台:居中的是数据处理分析层,它包括数据处理、控制命令的配置等:最底层是与VXI总线相关的信息处理.如软,硬件接口、中断指令、控制命令的下发、数据读取以及软硬件同步等。

图2 软件层次结构图

Namisoft频谱仪程控软件在流程上采用两个线程:数据处理线程和界面处理线程。界面线程涉及参数的配置.参数下发,图形显示等,其中需要对部分变量释放,重新分配空间和初始化.而数据处理线程会使用到这些变量,于是在两个线程之间需要进行相应的保护。在本软件中采取的是延时和标志位相结合的办法,在界面线程里,需要对变量进行释放时,采取一定时间的延时,这个时间足够一个数据线程运行的时间,并且会对数据线程入口处的标志位进行置位,这样,

在界面线程未对变量重新初始化完之前数据线程不会执行具体的函数,只是响应中断。

4、初步方案实现

因为LabWindows/CVI提供了VISA函数库。很方便的和VXI总线打交道,还提供了功能强大的信号处理函数比如FFT变换.以及丰富的界面显示和波形绘制函数库,所以Namisoft频谱仪程控软件很容易地实现了上述的功能。并且界面上显示的控件,均有相对应的控件回调函数,用起来非常方便。

5、结束语

本文Namisoft给出了频谱仪上层软件的设计方案,并且用LabWindows/CVI初步实现了改方案,具有一定的工程价值,但要投入频谱仪的研发与使用还需进一步的研究。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示器
    +关注

    关注

    21

    文章

    4740

    浏览量

    137922
  • 操作系统
    +关注

    关注

    37

    文章

    6293

    浏览量

    121906
  • 线程
    +关注

    关注

    0

    文章

    490

    浏览量

    19503
收藏 人收藏

    评论

    相关推荐

    关于LabWindows/CVI和Labview

    最近在学习LabWindows/CVI,想找个学习网站,最后就找到了这个Labview的网站,不知道有没有人用LabWindows/CVI,二者有什么区别,那个功能更强大呢?
    发表于 07-04 15:49

    美国国家仪器(NI)软件Labview,Labwindows cvi,Motion,Vision,DAQ开发与培训

    `` 本帖最后由 wuxi2010 于 2016-3-7 16:42 编辑 1)Labview(Labwindows cvi)与access/SQL server数据库程序开发 2
    发表于 02-29 12:21

    虚拟频谱分析仪设计方案介绍

    摘要:本文介绍了虚拟频谱分析仪设计方案,设计了该系统的硬件部分与软件部分。该系统以数据采集卡,PC机为硬件开发平台,以图形化编程语言Lab
    发表于 06-11 06:43

    纳米软件案例之频谱仪程控软件

    。基于LavWindows/CVI设计的虚拟仪器在无损检测、电力仪表系统、温控系统、流程控制系统、故障诊断和医疗等领域中发挥着重要作用。用户需求前不久用户找到纳米软件希望使用CVI
    发表于 07-16 11:44

    怎么利用LabWindows/CVI设计实现对429信号的仿真和测试?

    本文使用目前市场上技术成熟的基于PCI接口的429收发板卡,以LabWindows/CVI作为软件开发环境,设计实现了对429信号的仿真和测试,达到了使用个人电脑完成429信号检测任务
    发表于 04-09 07:00

    如何利用LabWindowsCVI平台开发虚拟函数信号发生器

    虚拟仪器和LabWindowsCVI简介基于LabWindowsCVI平台开发虚拟函数信号发
    发表于 04-25 06:17

    一种LabWindows/CVI与MATLAB混合编程的实现

    Labwindows/CVI 是一套面向测控领域的优秀软件开发平台;MATLAB 具有强大的数据处理函数库和多样且简易的绘图方法。本文提出的修改La
    发表于 06-24 09:29 52次下载

    LabWindows/CVI基础教程

    LabWindows/CVI基础教程:LabWindows/CVI是National Instruments公司推出的一套面向测控领域的软件开发
    发表于 07-23 08:22 0次下载

    基于多CPU和LabWindows/CVI 的行车记录仪系统

    介绍基于多CPU 和LabWindows/CVI 的行车记录仪系统,阐述了主机的硬件和软件的设计方法和数据分析软件实现
    发表于 08-31 17:40 142次下载

    cvi 8.0 下载 (NI LabWindows 电子测量)

    NI LabWindows/CVI 8.0 (电子测量): NI LabWindows CVI 8.0 最新完整版,专业强大的用于测试、测量与控制
    发表于 01-26 09:36 880次下载
    <b class='flag-5'>cvi</b> 8.0 下载 (NI <b class='flag-5'>LabWindows</b> 电子测量)

    面向仪器与测控过程的交互式C/C++开发平台--LabWindows/CVI

    LabWindows/CVI(C for Virtual Instrumenta-tion)是一个用C语言构建仪器系统的交互式软件开发环境,其目的就是使用户易于开发和调试虚拟仪器系统。
    发表于 04-19 20:16 61次下载

    LabWindows教程之LabWindows CVI的虚拟仪器设计与应用教材免费下载

    本文档的主要内容详细介绍的是LabWindows教程之LabWindows CVI的虚拟仪器设计与应用教材免费下载。 本书详尽、系统地介绍了NI公司推出的一种虚拟仪器软件设计
    发表于 12-03 08:00 117次下载

    LabWindows CVI开发环境下实现串口通讯的方法详细说明

    介绍了在LabWindows CVI开发环境下实现串口通讯的方法。与其他软件开发环境下的串口通讯的方法相比,
    发表于 07-02 15:37 41次下载

    Labwindows CVI的简介说明

    CVI全称LabWindows/CVI,是一个用于测试和测量的ANSI C开发环境,使用CVI编写测控
    发表于 03-17 08:00 19次下载
    <b class='flag-5'>Labwindows</b> <b class='flag-5'>CVI</b>的简介说明

    使用LABwindows/CVI软件搭建学生管理器界面(一)

      学习完链表就需要将其加以应用,这期使用LABwindows/CVI创建一个学生管理器,其中用到了链表的知识以及LABwindows/CVI的操作方法,这期主要使用
    的头像 发表于 01-16 14:07 3557次阅读
    使用<b class='flag-5'>LABwindows</b>/<b class='flag-5'>CVI</b><b class='flag-5'>软件</b>搭建学生管理器界面(一)