新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于多线程技术的天线实时测量系统研究

基于多线程技术的天线实时测量系统研究

作者:时间:2015-07-19来源:网络收藏

  2.1 软件分层结构与信息交互

本文引用地址:http://www.eepw.com.cn/article/277447.htm

  系统软件是整个系统的控制核心,它的功能对用户是透明的,对于用户而言,只要选择和输入了正确的测量参数,系统就能自动完成相应的测量功能。

  根据软件需求和功能,可将其分为三层结构部分:

  用户界面部分、数据处理部分和硬件接口部分。

  系统软件各层之间的信息交互如图2所示。

  

 

  用户界面部分,响应用户操作,将硬件设置传输到硬件接口部分,将输入数据送到数据处理部分,同时将数据处理部分送来的数据与状态信息显示给用户,使用户可以便捷地完成测量控制与监控。数据处理部分,一方面将硬件接口传递来的数据与状态信息进行处理,转换为用户需要的格式以供显示和存储;另一方面将用户设置的数据信息转换为数据指令交给硬件接口部分。

  硬件接口部分,完成计算机与仪器之间的通信,一方面将指令和数据等程序语言转化为仪器可识别的机器语言输送到仪器;另一方面将仪器传输回来的数据和状态信息等转换为可编程处理的数据,以供数据处理部分使用。

  2.2 软件任务分析

  根据系统工作原理,系统软件需要完成以下任务:

  (1)建立计算机与转台控制箱之间的通信:建立通道,使计算机可以读取转台实时运行状态,并可以随时控制转台以改变其运行状态。

  (2)转台运行状态的显示:将转台运动速度及角度信息显示到用户界面并实时更新。

  (3)转台运行参数的设置:按照用户输入设置转台的运动速度、起止位置以及脉冲输出方式,并控制其运动的起止。

  (4)建立计算机与的通信:建立通道,使计算机可以读取矢网状态及测量数据,并可以随时控制矢网以改变其运行状态。

  (5)的初始化以及测量参数的设置:使用基于VISA 库的SCPI指令,对矢网进行初始化使其进入测量状态,按照用户输入完成测量参数的设置。

  (6)测量数据存储文档的建立与更新:在计算机中建立文档用于测量数据的存储,将测量过程从由矢网读取的测量数据按特定格式进行实时记录。

  (7)系统测量进度的显示:在测量过程中的软件运行节点、测量过程中完成某次测量时以及测量完成后输出相应提示性文字到用户界面。

  在实时测量系统中,要求计算机能同时完成多项任务,且具有很高的实时性要求,多线程技术以其避免阻塞、能同时执行多项任务、减小运行过程和用户界面的相互影响,以及最大程度地利用多处理器性能的独特优点很好地满足了这一要求。

  2.3 软件多线程的实现

  MFC 中有两类线程,用户界面线程和工作者线程。前者有自己的消息队列和消息循环,一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等;后者没有消息循环,通常用来执行后台计算和维护任务,如冗长的计算过程,数据的循环读取等。

  任意一个MFC 程序至少具有一个线程,也是程序的主线程。通过主线程能够生成或终止任意多的线程,主线程一直存在直至程序终止。其中用户界面线程是程序默认启动的主线 程,主要实现软件的运行和响应用户操作及控制。根据软件任务分析部分,在主线程中生成三个工作者线程,通过计算机与测量仪器的通信,完成仪器参数的设置以 及数据的实时采集、处理等后台工作。

  各线程工作顺序及生存时间如图3所示。

  

 

  三个工作者线程所完成的具体工作如下:

  转台状态线程:建立计算机与转台控制箱的通信,不断读取转台的位置信息和速度信息并将其更新显示到用户界面,对应软件任务分析部分的任务(1)和(2),流程如图4所示。

  



评论


相关推荐

技术专区

关闭