APP下载

飞机显示器自动测试系统设计

2011-09-07李开宇

计算机工程与设计 2011年7期
关键词:视频信号串口显示器

董 殷, 李开宇

(南京航空航天大学自动化学院,江苏南京210016)

0 引 言

飞机显示器在飞机这一特殊人机系统中占有重要地位,既是完成飞行任务的必要设备,也是保证飞行安全的关键设备[1]。随着航空电子技术的发展,需要显示的信息量不断加大,因此对显示器提出了更高的要求,使得飞机显示系统从最初的飞机仪表发展到现在的电子显示器,而电子显示器又经历了阴极射线管(CRT)显示器和平板显示器两个发展阶段。飞机显示器主要是把显示系统所测试的参数显示出来,尤其是在某些紧张的飞行状态中,显示器还必须保证飞行员在极短的时间内准确地获取所需要的信息,进行及时、安全的操作。因此显示器的显示信息必须具有准确、可靠、实时、清晰、形象、直观和容易判读等特点,符合人机工效学的要求[2]。

目前一般采用的测试方法是运用各种仪表以手动方式对各个参数进行测试,因此测试过程不连续,故障通常难以发现和定位,测试读数由人工判断,大量数据难于准确记录。为了解决上述问题,开发研制一套针对飞机显示器的自动测试设备是很有必要的。本文即针对某型飞机上安装的飞机下视显示器开发一套地面测试设备,实现对显示器的性能、功能检测及故障的诊断隔离。

1 系统总体设计

1.1 测试设备功能需求分析

被测飞机显示器系某型飞机下视液晶显示器,其显示内容为主控计算机发出的符合STANAG3350B标准的PAL制式差分视频信号,且同步信号在绿色通道。测试设备除了提供视频信号外,还须与显示器通过RS-485端口进行串行通信,接受显示器输出的工作状态信息,然后依据工作状态信息进行管理和测试,故障分析,并生成用户要求的测试报告。

1.2 系统总体结构

系统除功能上满足测试要求外,还应具有以下特性:①可测性、可维修性、可靠性,自检测性和可计量性;②软硬件结构模快化,具有很强的通用性;③具有良好的可扩展性;④检测设备采用成熟元器件、技术和工艺,提高产品的结构设计水平,满足电磁兼容性要求。

根据以上要求,本测试系统在检测台的结构上,采用以工控机为主体的“机柜式”形式。系统主要由适配器模块、电源模块、工业控制计算机、显示器、键盘鼠标及测试电缆等硬件组成。其中工控机是系统的控制核心,主要完成功能为接受操作员的测控指令、执行测试控制。适配器主要完成激励信号的驱动、切换、隔离,和被测产品进行电气连接,并提供被测产品所需的直流工作电源接口和接收被测产品输出的状态信号。电源模块为工业级电源,给显示器提供工作电源和照明电源[3]。

直流电源、视频信号源、适配器等均采用模块化结构,考虑到被测产品检测需求,这种系统结构布线合理,尽可能避免信号之间的耦合与干扰,具有灵活、抗干扰能力强、操作方便、通用性强、扩展容易、性价比高等优点,非常适合于专用产品的检测。同时考虑到该检测系统的特殊性,即部分测试结果仅在显示屏上显示,需要人工比对进行判读,另外需要给被测产品提供部分微弱电压信号,为了保证测试的精度和判读的方便,在测试设备的信号源机箱面板上,采用了高精度的电压测试仪表,并为被测产品留有专门的检测位置,以方便操作人员在实际工作中的操作[4]。系统组成原理框图如图1所示。

1.3 测试流程

检测设备的基本测试流程为:被测产品通过测试电缆同检测设备的接口与信号转换组件(适配器)相连;工控计算机控制其内插的视频转换卡产生产品测试所需的视频信号,在测试软件的控制下,按照一定的通讯协议及相应的测试标准,测试设备提供给测试产品相应的测试信号和控制命令,产品则根据设备提供的信息和指令实现相应的功能。检测人员根据产品的状态和显示器显示的相关数据判断被测产品的功能和性能指标是否合格,并对故障进行定位。

2 硬件设计

对于显示器要求的485通信,我们可以采用成熟的产品,在此我们选用ADDI公司的RS-485载板、子板及附件,它提供多路485通信接口,我们任选其中2路即可。除通信要求外,显示器还需要输入PAL制式的差分视频信号,并且同步信号在绿色这一路,在此我们选择双头显卡加视频转换卡的设计方案。从显卡输出的信号有五路,分别为红、绿、蓝颜色信号,和2路同步信号,需要将这五路信号复合成要求的三路差分信号。我们可以购买视频转换卡将显卡信号转化为我们需要的视频信号,但价格昂贵,在此我们选择自己设计视频转换电路来满足检测要求,并做成PCI板卡形式,通过工控机主板供电。视频转换流程图如图2所示。

2.1 同步信号复合

图1 测试系统原理框架

图2 视频转换流程

图3 同步信号极性转换电路

图4 行场同步转复合同步信号电路

在这里,因为要求的视频信号要满足PAL制式,所以首先要求我们用的VGA卡要能发送与PAL标准视频时序兼容的RGB格式视频信号。从显卡出来的同步信号有2路,行同步和场同步。我们需要对这2路同步信号做以下处理:极性转换、生成复合同步信号。

从显卡出来的同步信号会存在不同的极性,我们需要将其转化为单一的极性。极性转换电路如图3所示,图中采用带有4个2输入异或门芯片74LS86。

同步信号转换后变为统一极性,然后通过与非门芯片74HC00和NE555定时器对脉冲进行延拓,就可以复合成复合同步信号[5]。复合电路如图4所示。

复合后的同步信号如图5所示。

图5 场同步和复合同步信号

2.2 差分信号产生

复合同步信号产生以后,通过与视频转换芯片EL5373的INN2端相连,被加入到绿色颜色信号这一路。被叠加的绿色信号和其它两路颜色信号一起经过 EL5373芯片转换后变为差分视频信号[6]。转换电路如图6所示。

3 系统软件设计

在确保检测设备硬件设计正确、可靠的前提下,测试软件是实现系统所有各项检查功能的重要保证。

3.1 虚拟仪器概述

虚拟仪器主要有两方面的意义:第一,在计算机上虚拟出具体存在的实际仪器,即虚拟面板。它可以在计算机上虚拟出和实际仪器无差别的操作面板,测试人员只需要在计算机上操作相关按钮就可以完成对仪器的控制,和手工操作仪器没有差别。第二,在计算机上虚拟出实际不存在的仪器,也就是测量功能的虚拟实现。在对数据进行处理的过程中,应用不同的数据处理算法获得不同的特征并将其以仪器的方式显示出来,从而产生一种新的实际中不存在的仪器[7-8]。

VC++是一种功能强大的软件开发平台,Measurement studio是美国NI公司的虚拟仪器设计工具,VC++环境下向用户提供一组Measurement Studio控件,采用VC++和Measurement Studio联合编程可以充分利用两者的优势[9]。

因此,在这里我们在WindowXp操作系统下,用户界面采用C语言和VC6.0混合编写,充分发挥了C语言面向底层硬件编程的优势,实现软件设计要求。与此同时,基于虚拟仪器的特点,为了使检测界面更加美观、真实,我们在VC++的基础上,利用NI公司的MEASUREMENTSTDIO中的按钮控件,让检测界面更加接近真实的仪器界面。

3.2 软件功能分析

飞机显示器检测设备所要达到的主要目标,是能够实现对被测设备的全部性能检测和故障定位。

测试应用软件用于检测被测产品各种显示状态及参数,主要包括:显示器按键检测,显示器通讯检测,显示器状态检测,视频信号发生控制,测试结果分析等。软件流程图如图7所示。

3.3 通信端口自检

显示器与主控计算机通信是通过两路 RS-485串行接口通信方式实现的。在开始检测之前,我们需要对用到的2路485端口进行检测,确保端口可以进行正确的发送和接收操作。在Windows操作系统中,多线程是提高系统利用率,实现并行处理的重要手段。为此,我们利用Windows自带的API函数和多线程技术来实现此功能。

设2路485端口分别为1、2。自检时,将二者连接,进行如下操作:①异步方式打开串口句柄:CreateFile函数;②建立串口通信事件:CreateEvent函数;③初始化串口,设置串口参数:SetCommState函数;

图6 差分信号转换电路

图7 软件系统框架

串口初始化完成后,当对端口1的发送,端口2的接收进行检测时,在主线程里,端口1利用定时器每隔50ms发送一次数据,在副线程里,端口2在while循环里用Wait-CommEvent函数等待串口接收事件,当检测到EV_RXCHA事件发生时,ReadFile函数读取数据,并发送消息到主线程与发送的数据进行比较,若发送和接收数据完全相同,则检测成功,反之,失败,查找失败原因。当对端口2的发送,端口1的接收进行检测时,只需将主从线程的发送和接收端口对换即可。检测完毕后,关闭定时器,退出副线程,关闭串口[10]。

3.4 下视显示器与测试设备通信

3.4.1 MSComm控件串行通信

虽然在Windows下Win32API提供了使用文件操作方式的函数进行串口操作的方法,但是在编程实现上还是比较复杂。针对本检测设备的通讯特点,利用已有的AxtiveX控件,只需要编写少量的代码,就可以轻松高效地完成任务[11]。

3.4.2 串口事件处理

首先将2个端口各关联一个控件,并设置相应通信参数,然后按照显示器通信要求,主控计算机发送相应测试数据。显示器接受数据后会返回相应的状态信息,为了及时无误的读取显示器状态参数,有2个属性设置需要注意,一是SetRThreshold函数参数设为1,即接受缓冲区一有字符马上触发接受事件;另一个利用SetlnputLen函数将接收区数据长度设为0,即读取缓冲区的全部数据[12]。除了属性设置外,在OnComm对数据的接收时,我们也要在查询事件触发后,数据读取之前加上Sleep函数,让CPU有个短暂的停顿,这样才能保证正确无误的读取显示器返回的数据。

由于显示器返回状态信息种类繁多,参数大小各不相同,因此,我们必须保证既要对数据进行及时接收,又要对接受数据进行正确处理。在此,我们利用Windows消息机制中的异步消息模式来进行数据处理,即在OnComm对接受事件进行响应后,用Postmessage函数发送消息,然后在消息中进行数据处理[13]。

3.5 下视显示器测试画面产生

除了通过各种命令对显示器的工作状态进行检测外,我们还须对显示屏的显示质量进行测试,主要包括坏点、对比度、清晰度等。为此,我们需要为显示器提供不同的测试画面。

3.5.1 显卡设置

在这里我们用的是单显卡上驱动双显示器技术,因此,在提供测试画面以前,我们需要对显卡进行相应设置。

首先将主显示器连接到第一个D-Sub接口上,再将被测显示器经过视频转换卡连接到第二个D-Sub接口上。连接好显示器后开机,因为WinXP中双屏显示功能默认是关掉的,所以进入WinXP操作系统后,其中一个显示器会自动关闭。其中保持开启的显示器是接在显示器的主显示接口上,关闭的显示器是接在从显示接口上。

此时需要安装显卡最新驱动才能设置双显示器输出参数,这里我们用的是nVIDIA显卡,而nVIDIA显卡利用Force-Ware驱动中的nView来实现双显示器功能。进入系统后,在显示属性设置里可以看到2台显示器,第一次使用时2台显示器是灰色,表示没有启用。双击选择“是”之后,第二台显示器就会正确的显示扩展的Windows桌面。进入显示属性驱动设置界面,点击“高级_显示”,进入显示设备设置窗口,单击扩展窗口中的“nView”,在“nView”模式下,选择“水平跨越”。“水平跨越”是指两台显示器的显示内容是以水平方向连接在一起。至此,显卡设置完成。

3.5.2 测试画面产生

当被检测显示器与主测试屏连接到同一显卡后,设置显卡,然后通过软件编程,我们可以在被检测显示屏上全屏显示不同的测试画面。具体做法如下:首先我们获取被检测显示器的分辨率大小X*Y,然后将显示测试画面的对话框平移X,最后将要显示的画面在对话框上进行显示,这样就为显示器提供了检测画面。并且,利用VC中的Onpaint函数,可以不断改变显示器显示的画面。

4 实验与结果分析

对于显示器的测试主要是两个方面,显示器功能测试和显示质量测试。对于显示质量的测试我们无法通过软件编程自动进行,只能点击测试画后,通过肉眼和亮度计等工具来对被测显示器进行测试。测试图片如图8右上角所示,总共12张。

对于显示器功能的检测,为了更加直观,准确的达到测试目的,我们的测试界面仿照被测显示器的面板来进行布局,并将测试结果直接显示出来。显示器的显示功能和显示参数是由显示器上20个周边按键选择控制的,当被测显示器有键按下时,若按键工作正常,则测试面板上对应位置的按钮变绿,如果工作不正常,则变红。根据显示器检测项目要求,检测台还要模拟机载显示控制平台的功能,通过检测界面中的“单字节发送命令”栏里的14个按钮来实现。当模拟控制台与显示器成功通信时,相应按钮变绿,否则变红。

测试面板除以上要求测试要求外,我们还增加了握手通信测试,奇偶错测试等测试项目。通过与显示器连接调试,测试设备完全满足测试要求,达到测试目的。图8为被测显示器有键卡死时的得测试画面,当有2个键同时卡死时,测试面板正确反应出了健卡死的位置,并报告具体的故障,其它正常工作处通过绿色显示。

5 结束语

图8 系统测试面板

随着电子设备的发展和科学技术的进步,检测设备功能越来越强,结构越来越复杂,传统检测设备难以满足要求,为保证检测设备的通用和统一,采用通用的自动测试设备已势在必行。本文中,以工控机为主体,配合虚拟仪器技术,运用软件开发平台 VC++实现对显示器性能参数的自动测试。把测试信息显示出来,使用户可以直观的观察到测试的结果,充分利用了已有资源,达到了检测目的[14]。不仅如此,利用工控机扩展性强,软件可修改的特点,我们在此方案的基础上,还成功实现了对多种不同飞机显示器的检测,做到了一机多用,大大节约了检测成本,且取得了很好的效果。

[1]孙滨生.飞机显示器的发展[J].兵器知识,2005,6(1):50-51.

[2]闫智武,李成贵.飞机座舱仪表显示器的发展概况[J].现代显示,2005,1(1):22-23.

[3]石鑫,吴晓男.基于虚拟仪器的自动测试系统设计[J].仪表技术,2007,8(1):13-15.

[4]卢钧.飞机视频信号自动测试系统的研究与设计[J].计量与测试技术,2005,32(11):8-9.

[5]周茜.VGR到RGB+复合同步信号变换器[J].电子制作,2004,11(2):7-8.

[6]EL5373 Data Sheet[Z].Intersil公司,2003:4-6.

[7]李明辉,刘连生.基于虚拟仪器的自动测试系统研究[J].电子测试,2008,3(3):37-40.

[8]薛文琪,翟正军.基于虚拟仪器的电源测试系统设计与实现[J].计算机工程与设计,2010,31(6):1331-1332.

[9]刘海英,杜晓通.MeasurementStudioforVisualC++环境下小型工业监控软件的开发[J].工业控制计算机,2004,17(11):23-24.

[10]阚能琪.VC++串口通信中多线程技术的应用研究[J].西化大学学报,2005,7(24):84-85.

[11]王中训,徐超.基于VC++6.0的多串口通信方法[J].计算机应用,2008,28(6):37-41.

[12]王华,岳丽全,岳志高.MSComm控件VC++6.0串口通信中的应用[J].长春工程学院学报,2009,10(1):72-73.

[13]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2007.

[14]郑挺,王勇.虚拟仪器技术在自动测试系统中的应用[J].中国测试技术,2006,32(1):42-43.

猜你喜欢

视频信号串口显示器
把显示器“穿”在身上
浅谈AB PLC串口跟RFID传感器的通讯应用
IDC发布《2018年PC显示器市场跟踪报告》
一种新型点阵显示器的设计
浅析新一代视频信号ICtCp
短距视频信号无线通信网络
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
小飞鸽ZY—2250D数字机无视频输出故障的应急处理