APP下载

基于串行指令的红外探测远程控制系统设计

2014-02-09李志伟铁跃焕宁新建

计算机工程与设计 2014年4期
关键词:字节总线红外

李志伟,铁跃焕,宁新建

(空军第一航空学院航空军械工程系,河南信阳464000)

0 引 言

自然界中任何温度高于绝对温度零度的物体都会产生红外辐射,红外辐射是一种不可见光。红外探测就是利用红外辐射的特性,在其传播的“大气窗口”内将目标的不可见红外光信息转换为可见的视频图像信息,即通过探测设备将携带待测目标信息的红外辐射转换为电信号,供电子系统进一步处理、检测和输出,从而实现对目标的有效探测和定位[1]。

对于红外探测系统的设计,一方面中要解决光学信号的探测、转换问题[2],另一方面要解决信号的处理、输出问题[3]。为此,根据任务要求对探测系统进行性能设置和功能控制,对改善整个系统性能,提高探测效果具有至关重要的意义[4]。

1 红外探测系统结构设计

为了实现对目标红外辐射图像的信息采集和功能控制,设计了如图1所示的红外远程控制系统,该系统主要包括两个子系统:红外图像采集子系统、计算机处理与控制子系统。

图1 红外远程控制系统结构

1.1 红外图像采集子系统

主要组成是红外相机和接口电路,主要作用是:

(1)将外界目标的红外辐射转换为视频图像信号进行输出;

(2)接收并执行经由RS232总线传来的控制指令。

本系统选用的红外相机为FLIR Commercial Systems公司生产的Tau系列产品,它提供了一个50针的Hirose外部接头,主要提供5个方面的功能端口:4-6V(1W)电源、模拟视频输出、指令控制通道、低压差分信号(low voltage differential signaling,LVDS)数字数据通道、并行数字数据通道[5]。本系统设计主要采用了前三种功能端口。

模拟视频输出:具有NTSC和PAL两种制式,可根据需要进行选择。信号输出既可直接连接到通用的视频显示器(如电视)或视频记录设备(如录像机),也可通过同轴电缆(需外接一个75欧姆的终端电阻)与计算机等设备相连。

指令控制通道:通过接收来自RS232总线的串行指令信号实现对红外相机的远程控制。该总线只要具有RX(接收)、TX(发送)、GND(地)3条信号线即可,信号电平为3.3V。

1.2 计算机处理与控制子系统

主要组成是计算机、视频图像采集卡、控制软件等,主要作用是:

(1)通过视频图像采集卡采集来自红外相机的视频图像,并将其存储、显示;

(2)根据任务要求编写并选取控制指令,通过COM端口经由RS232总线发送至红外相机。

为了实现对红外相机输出视频信号的采集与处理,系统选用了一款由西安维视数字图像技术有限公司生产的MV-810图像采集卡,该卡提供了两个BNC接头,通过同轴电缆实现计算机与红外相机的视频传输。

在计算机中选取任意一个空闲的COM端口,通过RS232总线与红外相机的指令控制通道相连。

2 红外图像采集与控制

从图1所示的硬件组成结构可以看出,系统主要由以红外相机和计算机为核心部件的两大子系统组成,其完成的主要功能可综合为:红外图像的采集与输出、采集功能的指令控制。工作原理示意图如图2所示。

图2 系统工作原理

2.1 红外图像的采集与输出

在红外相机一端,目标红外辐射通过光学透镜、光学带通滤光片,分离出目标红外辐射的光波信号,然后入射到红外探测器表面,红外探测器将入射的光子流变换成电子流,其大小正比于光子流的瞬时强度。再经过前置放大器对信号进行放大、处理[6],产生模拟视频信号,通过电子控制部件将视频电子信号传送到模拟视频输出端。

在计算机一端,通过视频图像采集卡实时采集来自红外相机模拟视频输出端口的视频信号,经由PCI总线传入内存,根据需要可利用视频图像采集卡提供的软件处理功能对图像做进一步调节,再通过显示器显示输出。

2.2 探测功能的指令控制

本系统红外探测功能的控制是通过执行来自RS232总线的远程控制指令实现的。

在计算机一端,根据红外相机的编码规则对系统中常用的控制指令进行编码,并保存到指令库中[7]。系统应用中,根据任务需要调取相应的控制指令,发送至COM端口,经由RS232总线传递到红外相机。

在红外相机一端,当指令控制通道接收到一组来自RS232总线的控制指令后,首先根据指令编码规则进行代码校验,如果正确,则通过指令译码器对指令译码,根据指令功能由电子控制部件对探测功能实施控制。

本相机可以实现的指令控制功能主要有:状态控制、系统设置、视频控制、自动增益控制(automatic gain control,AGC)、热量测量等。

3 控制指令编码

3.1 串行通信协议

本系统所用红外相机只能由指令控制通道接收外部控制信息,对任一合法信息均可产生一个外部响应,相机本身不向外部发送任何信息。

所有控制和响应信息都遵循如表1所示的串行包协议。

表1 串行包协议

表1中所有字节均按十六进制编码,在串行通信中,数据的发送和接收均采用十六进制字符串格式。

其中,Status、Function、Data等字节均可根据任务需要查询相机的技术说明书,Byte Count字节用于指示数据包中Data字节的总数量,CRC1和CRC2字节用于串行通信的数据校验。

3.2 循环冗余校验

在数据通信中,为了保证数据传输的正确性,通常需要进行数据校验,其中最有效的方法之一就是采用循环冗余校验(cyclical redundancy check,CRC)。CRC的最大特点是检错能力强,开销小,易于用编码器及检测电路实现,因而在数据存储和数据通信中得到了广泛应用。

根据应用环境与习惯的不同,CRC标准可分为CRC-12、CRC-16、CRC-CCITT、CRC-32等多种。其中,CRC-16是美国采用的16位编码标准,它由两个字节组成,用于传送8位的二进制字符串。本相机系统中,无论是接收信息还是响应信息均采用CRC-16标准进行校验。

3.3 CRC代码求解

CRC编码实际上是一种线性编码,其基本思想是:

在发送端,对于要发送的k位二进制信息码序列,按照一定的规则产生一个具有r位的校验监督码(即CRC码),并附在信息码后边,构成一个具有k+r位的新的二进制编码序列,然后发送出去。

在接收端,当接收到数据后,需要重新计算CRC值并与收到的CRC值进行比较,若二者不同,则说明数据通讯出现了错误[8]。

在代数编码理论中,一个码组可以表示为一个多项式,码组中的各码元可以看作是多项式的系数。例如1100010可以表示为1·x6+1·x5+0·x4+0·x3+0·x2+1·x+0,即x6+x5+x。CRC的基本原理是除法及余数原理,如果除数不同,那么CRC的类型也就不一样。通常,CRC的除数用生成多项式来表示[9]。

若要发送或接收的二进制原始信息共有k位,码组多项式为P(x),其最高幂次即为k-1;设生成多项式为G(x),其最高幂次为r;并设CRC多项式为R(x),编码后带CRC的信息多项式为T(x)。

发送方编码方法为:将P(x)乘以xr(即对应的二进制码序列左移r位),再除以G(x),若所得余式为R(x),则T(x)=xrP(x)+R(x)。

例如,要传送的信息码为1100,生成多项式为1011,即P(x)=x3+x2,G(x)=x3+x+1,则CRC的计算过程为

得R(x)=x。由于G(x)最高幂次r=3,因此R(x)对应的CRC应具有3位编码,即010。

在接收端,将接收到的二进制序列数(包括信息码和CRC码)除以生成多项式G(x),如果余数R(x)为0,则说明传输中无错误发生。本例中,若接收码序为T(x),则

无余式,说明传输正确。

在CRC-16标准中,生成多项式为x16+x12+x2+1,对于某一编码的二进制信息,其相应的CRC求解可参上述方法进行。

表1中,CRC1的值根据数据包的前6个字节计算得出,CRC2的值则根据其前面的所有字节(字节0-N)计算得出。

3.4 控制指令编码

假设要控制相机的极性变化,即通过指令设置相机极性为“白热”或“黑热”,则根据表1所示的串行通信协议,控制指令代码的第1个字节(Process Code)应为6E;根据相机状态字节的定义,第2个字节(Status)应为00;第3个字节(Reserved)为保留字节,不妨设为00;第4个字节(Function)及之后的所有字节,除CRC字节之外均需查相机功能代码表,经查表得知[5],对应的Function代码为10;Byte Count代码为00 02,即指令对应的数据字节总数为2;“白热”对应的数据位(Data)为00 00。至此,除了校验位之外,指令代码部分均已确定,“白热”指令的代码格式可确定为:

按照3.1描述的通信协议,采用3.3提供的CRC计算方法,求得“白热”指令的CRC1和CRC2分别为BC 9A和00 00,因此,“白热”控制指令的完整通信代码为:

按照同样的方法可求得“黑热”控制指令的完整通信代码为:

说明:代码中各字节之间以一个英文空格隔开。

4 控制功能的实现

4.1 串行通信端口设置

由于红外相机是通过串行指令控制的,因此要想实现对红外相机的远程控制,在计算机一端,首先要按照通信要求对串行端口进行设置,其参数设置如下:

波特率:57600

数据位:8

校验位:None

停止位:1

4.2 指令发送

根据任务要求,从预先编制好的代码库中调取相应的指令代码,将包含CRC的指令代码通过串口发送至RS232总线。

发送规则是:首先发送第1个字节,然后依次发送其余的所有字节。对于多字节参数均按高位优先顺序(即最高有效位MSB优先)发送。

以“白热”极性设置为例,信息发送功能的部分VC 6.0实现代码如下:

4.3 指令接收

在接收端,当指令控制通道接收到一条控制指令后,首先按照表1所示的指令规则对指令信息重新计算CRC,并与接收到的CRC比较,如果二者一致,说明指令接收正确,然后再对指令进行译码,并由相机的电子控制部件控制相机执行对应的功能。

5 测试分析

5.1 控制效果测试

通过计算机控制系统向串行端口发送上例中的“白热”、“黑热”控制指令,探测效果分别如图3、图4所示。

图3 “白热”控制效果

图4 “黑热”控制效果

从图3和图4中可以看出,发出不同的控制指令,系统探测到的红外图像极性发生了反转,即白的地方变黑,黑的地方变为白。说明指令控制正确,实现了预期控制效果。

利用上述方法编写并发送其它控制指令,如缩放、亮度调节等,均能达到预期的控制效果。反复实验验证系统工作的稳定性和可靠性。

5.2 控制距离测试

如图1所示,计算机与红外相机之间的通信连接主要通过两条传输线路来完成:同轴电缆、RS232总线。

本系统采用的同轴电缆为带有屏蔽层的细缆,其传输距离可达到200米以上,RS232总线的正常通信距离在15米以内,因此限制系统控制距离的主要因素是RS232总线。实验结果表明,当RS232总线长度在15米以内时,系统均能稳定、可靠地工作。随着距离的增加,通信传输可靠性逐渐降低。

为了解决整个系统的控制距离问题,可以对红外相机系统进行改进,如图1所示,在Hirose接头处增加一个外部连接模块,该模块提供一个Mini USB接口,通过USB实现串行控制信号的传输。按照USB 2.0通信规范,配以传输距离延长设备,数据传输距离可达到100米左右,能够满足一般的远程控制需要[10]。

6 结束语

基于串行指令的红外探测远程控制,系统设计的关键是控制指令的编码,核心是指令编码的校验。通过RS232串行通信线路传输带有校验码的控制指令,实现计算机对红外探测系统的远程控制,可以有效改善控制质量,提高指令控制的可靠性,适应不同的应用需求。同时,还可以通过采用USB替代RS232信号传输的方式,延长信号传输距离,实现更远距离的系统控制,对提高红外探测系统的环境适应性具有重要意义。

由于红外探测系统是利用目标与背景之间红外辐射的差异进行工作的,具有全天候前视和夜视能力,因此不管是军用还是民用都具有十分广阔的应用前景。

[1]FU Xiaoning,WANG Bingjian,WANG Di.Electro-optic ranging &countermeasure[M].Beijing:Publishing House of Electronics Industry,2012(in Chinese).[付小宁,王炳健,王荻.光电定位与光电对抗[M].北京:电子工业出版社,2012.]

[2]YU Huijuan,LI Lan,LIU Xiangxin,et al.Design and realization of ground objects infrared scene simulator[J].Infrared Technology,2013,35(1):31-37(in Chinese).[余慧娟,黎兰,刘相新,等.地面目标红外成像仿真系统的设计与实现[J].红外技术,2013,35(1):31-37.]

[3]ZHAO Fangzhou,LI Junshan,YANG Wei,et al.Infrared object tracking algorithm based on extended spatial histogram[J].Microelctronics &Computer,2012,29(10):81-84(in Chinese).[赵方舟,李俊山,杨威,等.基于扩展空间直方图的红外目标跟踪方法[J].微电子学与计算机,2012,29(10):81-84.]

[4]SHI Yanli.Choice and development of the third-generation infrared detectors[J].Infrared Technology,2013,35(1):1-8(in Chinese).[史衍丽.第三代红外探测器的发展与选择[J].红外技术,2013,35(1):1-8.]

[5]FLIR Commercial Systems Inc.Tau camera user's manual[OL].http://www.flir.com,2011.

[6]LI Yunxia,MENG Wen,MA Lihua,et al.Theory &application of the electro-optic countermeasure[M].Xi'an:Xidian University Press,2009(in Chinese).[李云霞,蒙文,马丽华,等.光电对抗原理与应用[M].西安:西安电子科技大学出版社,2009.]

[7]LI Zhiwei,LI Yue.Security warning system design based on knowledge base of computer resources[J].Computer Engineering and Design,2013,34(1):55-58(in Chinese).[李志伟,李岳.基于计算机资源知识库的安全预警系统设计[J].计算机工程与设计,2013,34(1):55-58.]

[8]XU Shang,HUANG Jianguo,LI Li.Realization method of CRC for mode S data-link[J].Measurement &Control Technology,2012,31(2):27-30(in Chinese).[徐赏,黄建国,李力.S模式数据链CRC校验实现方法[J].测控技术,2012,31(2):27-30.]

[9]DU Rui,ZHANG Weigong,DENG Zhe,et al.Parallel CRC algorithm design and implementation of new bus[J].Computer Engineering and Design,2013,34(1):131-135(in Chinese).[杜瑞,张伟功,邓哲,等.新型总线中并行CRC算法的设计与实现[J].计算机工程与设计,2013,34(1):131-135.]

[10]ZHANG Xue,LIANG Xiaogeng.Development of and demands for infrared detectors[J].Electronics Optics &Control,2013,20(2):41-45(in Chinese).[张雪,梁晓庚.红外探测器发展需求[J].电光与控制,2013,20(2):41-45.]

猜你喜欢

字节总线红外
网红外卖
No.8 字节跳动将推出独立出口电商APP
闪亮的中国红外『芯』
关于CAN总线的地铁屏蔽门控制思路论述
No.10 “字节跳动手机”要来了?
8路红外遥控电路
TS系列红外传感器在嵌入式控制系统中的应用
人类进入“泽它时代”
Q&A热线
PCI9030及其PCI总线接口电路设计