最新戒备雷达勘测核准程序仪表带动器的预设
1系统硬件结构及仪器驱动器设计原理该警戒雷达测试校准系统,能实现对某型警戒雷达的工作频率、发射功率、天馈系统电压驻波比、接收机噪声系数、发射脉冲波形的脉宽、上升时间、下降时间、顶降等参数的自动化测试。1描述了系统的硬件构成。
本系统作为一套基于虚拟仪器技术的自动测试校准系统,构成该系统的仪器种类较多,与工作对象间的配接复杂,硬件解决了数据及信号的输入输出,软件则是整个系统的关键。仪器驱动器就是一套用来控制可编程仪器设备的软件例行程序,是向接口驱动程序发送的仪器控制功能集。每一个例行程序都可用于实现一个特定的操作,如仪器的配置、读取、写入、触发和自检等。有了仪器驱动器,我们就不必再去逐一研究不同仪器的编程协议,这样可以大大简化仪器控制过程并缩短开发时测试程序所用的时间。仪器驱动软件在此系统中是虚拟仪器的核心,是用户完成对仪器硬件控制的纽带和桥梁,是真正对仪器硬件执行通讯与控制的软件层。没有仪器驱动器就没有数据的采集、分析和显示。系统仪器驱动器的设计,是该系统软件设计的关键技术和难点之一。
2仪器驱动器的研制方法仪器驱动器的设计准则在开发仪器驱动器的时候,首先必须定义它的层次结构,即定义它的基本功能和开发时模块的层次。一个完善的仪器驱动器不仅仅是一些功能函数的组合,它还是用户开发应用程序的工具,所以对仪器驱动器的基本要求如下:(1)模块化和层次化;(2)源代码;(3)广泛的可访问性。
仪器驱动器设计流程在测试应用中,完善的仪器驱动器是仪器操作和使用知识的高度综合。其设计流程如2所示。
开发仪器驱动器前提是对仪器驱动器函数编程手册,及仪器支持的控制和功能要有全面的了解。手册命令部分与仪器驱动器部分虽有较好的对应关系,但是在实际应用过程中,对于一组命令,设计者必须根据它们的功能把它们分成两组或多组函数。例如:如果仪器手册将触发配置命令和触发执行命令组合在一起,那么设计者就应该将这些命令分成两个函数,一个用来对触发进行配置,一个用来触发仪器。
仪器驱动器的外部接口及内部设计模型仪器驱动器的软件模块既与系统内的其它软件模块相互作用,又同仪器、更高级的软件和使用仪器驱动器的最终用户相联系。所以,创建一个仪器驱动器的第一步是定义一个模型,解释仪器驱动器同系统其他部分的关系。图3给出了通用仪器驱动器的外部接口模型,它由5部分组成:(1)功能体是仪器图3仪器驱动器的外部接口及内部设计模型图驱动器的核心;(2)自动运行接口,是高层软件程序调出仪器的仪器驱动器的机构;(3)交互式开发界面,是有助于软件编制者理解每一个实际仪器驱动器函数功能和使用程序开发界面调出每一个函数的交互图形化接口;(4)I/O接口,通过它完成驱动器与仪器间的通讯;(5)子程序接口,对一特定的仪器可能由上述部分或全部功能组成。图3也反映了仪器驱动器的内部设计模型。它描述了仪器驱动器函数体内各个函数及其层次结构。这一结构模型是仪器驱动器开发的基础。仪器驱动器功能体有两大部分构成:第一部分是功能组件,它是控制仪器功能性特定区域的软件模块;第二部分是应用函数集,它是展示如何将使用部件函数和执行完全的测试和测量操作结合起来的软件模块。
3某型警戒雷达测试校准系统仪器驱动器设计本设计根据系统实际需要,在Windows2000环境下,采用LabVIEW作为开发平台。
LabVIEW软件系统是非常理想的工具,因为它的使用完全是直观的和可视化的。一个Lab2VIEW的软件例行程序包含有前面板(frontpanel)、块图(blockdiagram)以及图标/联接器(icon/connector)等几个部分,我们将其称为一个虚拟仪器(VirtualInstrument),简称VI<4>。针对雷达测试校准系统中的仪器驱动器要求,首先应熟悉各仪器基本操作和测试中所需的GPIB或串口控制命令,再编写系统测试过程中需要的仪器驱动器。用户一般只需编写驱动程序开发一台仪器的部分功能。高级用户通常只须将这部分仪器驱动程序当作子函数一样,直接调用于程序中,这就避免了程序的复杂性。对于自动化测试系统而言,底层仪器驱动器开发完毕,就可很方便地与仪器进行通信。
本系统需要设计仪器驱动器程序的仪器包括Agi2lent54642A型示波器、S332D天馈线测试仪和噪声系数分析仪等。我们开发了这些测试仪器的仪器驱动器程序,并应用于标准的测试模块中,能完成测试中各自的特定操作。数字示波器测量时间的前面板图和块图如图4、图5所示。通过选择测试参数―――时间频率、周期、上升时间或下降时间,执行该子VI,数字示波器能够完成对其自动测量。
数字示波器测量时间的前面板图5数字示波器测量时间的块图该系统所设计的各仪器驱动器的接口模块功能函数分类如下:(1)仪器初始化函数。初始化函数能进行仪器的版本的查询和复位操作,还能执行将仪器放在默认的电源打开状态或其他指定状态。
(2)配置函数。配置函数是对仪器进行的指定操作时需要配置的软件模块。例如,测试通道的选择、触发模式的选择、控制参数的选择、测试项目的选择等等。
(3)操作/状态函数。操作/状态函数包含两部分:操作函数是开始和终止对仪器的操作;状态函数是获得目前仪器的状态或即将发生的操作的状态。该函数为上层应用软件对仪器的某一特性(如采样率、增益值、触发方式选择等参数)进行设定或读取提供了方便。
(4)数据函数。数据函数具有在仪器和控制设备间读数和写数的功能。包括数据格式转换、数字滤波等。
(5)公用函数。公用函数能执行不同的操作。常见通用的公用函数有:仪器的复位、自检、错误查询、错误信息和版本查询,用户也可根据实际情况定义一些自己所需的公共函数。
(6)关闭函数。所有的仪器驱动器都有一个关闭函数,终止程序和仪器的通信、释放内存空间及重新分配系统资源。6是根据LabVIEW仪器驱动器的内部组件,将54642A数字示波器的所有常用功能设计成子VI后生成的仪器驱动库。在实际应用中如需用哪个配置或测量功能,只需调用相应的子VI,这样大大提高了效率,节省了编程时间,便于使用者操作;同时,如有些配置需要改变,也只需改变子VI,不需调整整个程序。
4关键技术软件滤波为了提高系统的抗干扰和噪声的能力,保证测试精度,系统能对获得的测量值进行数字滤波处理,即进行多次平均后取平均值,能提高测试精度。测量结果取小数点后3位,经此处理后的系统误差仅为±2‰,满足参数测试的指标。
波形实时显示程序设计系统要求在示波器上实时显示雷达发射脉冲波形,此处采用了中断服务程序就地帧识别、有限状态机、缓存共用和代码优化等技术设计接收程序。具体地说,就是在接收中断服务子程序中直接进行数据帧识别,帧识别程序的设计利用有限状态机技术编写,并对程序中的逻辑和数据类型进行优化,使程序能够用尽可能少的时间,尽可能高的效率和可靠性从通信接口获取信息。
异常处理软件运行时的异常是很常见的,异常处理函数正是实现软件对一些不可预见错误的缺省处理。它可以通知用户当前的错误信息,保证系统工作的稳定性和软件工作的完善。如果系统没有较为完善的异常处理函数,系统很可能异常退出或死机,使用户陷入困惑,导致软件的失败。驱动程序内的处理函数可以较为简单,当检测到异常情况发生时,应能够判断错误的来源,进行不同的分支处理,如检测到仪器状态与预设状态不符,会提示用户可能存在的错误来源,避免故障蔓延。
【中国粮油仪器在线】部分信息来自互联网,力求安全及时、准确无误,目的在于传递更多信息,并不代表本网对其观点赞同或对其真实性负责。