Namisoft基于LABWINDOWS CVI的频谱分析仪软件总体设计
[复制链接]
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初步实现了改方案,具有一定的工程价值,但要投入频谱仪的研发与使用还需进一步的研究。
|