基于LabVIEW的RS422通信协议时间装定模块研究

2014-12-17 00:36张烜工
中国测试 2014年1期
关键词:通信协议字节串口

张烜工,陈 雷

(军械工程学院三系,河北 石家庄 050003)

0 引 言

引信的时间装定测试和装定模式测试是引信各项测试中的关键组成部分。目前,时间装定测试和装定模式测试往往采用RS232接口与引信内的DSP进行通信。但是,RS232接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容,故需使用电平转换电路方能与TTL电路连接,其接口使用一根信号线和一根信号返回线而构成共地传输形式,抗噪声干扰性弱[1]。此外,RS232传输距离有限,其传输距离不超过15 m时效果最好;在引信不摘火情况下测试时,该距离会威胁人身安全。此外,由于在引信内的第二代和第三代DSP已经拥有RS422/RS485接口,RS232接口逐步面临淘汰。

为了解决上述问题,本文以PXI总线测试采集系统为基础,利用RS422/RS232转接器完成计算机上的接口转换,并且制定高层通信协议,在LabVIEW软件环境下利用VISA完成串口通信。这样既使数据传输稳定,又增加了传输距离。

1 RS422介绍及主要硬件配置

RS422接口标准全称是 “平衡电压数字接口电路的电气特性”,它定义了接口电路的特性[2]。实际上还有一根信号地线,共5根线。RS422接口支持点对多的双向通信。其接口的最大传输距离为4 000 ft(约1219m),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100m长的双绞线上所能获得的最大传输速率为1Mb/s。

RS422接口需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在300m以下不需终接电阻。在本测试模块中,结合工程实际,约定通信距离为100m。故本测试模块没有终接电阻。

在以PXI为总线的本测试系统中,由于计算机上并没有直接的RS422接口,因此选用SP-218系列产品,它既可以进行RS232/RS422接口转接,又可以进行RS232/RS485转接。但是该连接器需要24V直流电源,本文采用HRB AC-DC开关电源作为其电源,该开关电源只需220 V普通交流电即可。

2 通信协议制定

由于RS422标准只对接口的电气特性做出规定而不涉及协议,因此在通信前要进行自身的通信协议设定。考虑到引信的具体使用环境和信息的容量,制定了本协议。

2.1 波特率的确定

RS422通信数据最大传输速率与距离成反比,传输速率的单纯提高会造成引信通信信号反射,甚至导致通信数据混乱[3]。从功能需求角度来讲,在引信测试中,考虑到信息量不是很大,同时约定了通信距离最长为100m,所以波特率选用9600bit/s。

2.2 通信规程的约定

通信规程是为确保通信顺利进行,接收方和发送方约定要共同遵守的基本规定,包括收发双方的同步方式、差错检验方式、数据编码等。

由于引信和测试系统之间通信数据量较小,因此,模块与引信之间采用异步通信模式。用半双工方式发送信息时,采用数据帧格式发送,无校验,将传输的数据集中在一个数据包中,便于进行数据接收和处理。异步通信的具体数据格式如图1所示。

图1 起止式异步通信的数据格式

在引信的装定模式中,除了时间装定以外,还包括爆炸模式装定,如瞬发、延期和近炸。由于在发送过程中第一个数据容易丢失,所以发送协议开始以0xAA作为引导字节 (0xAA在时间装定中不容易出现,下文中所述装定地址、装定模式和帧尾的选择也是同理),在接收协议中规定只接收0xAA开始的数据包。同样地,结束标志使用0xBB。0xAA与0xBB之间要有5帧数据,这5帧数据包括装定地址(1帧),装定模式(1帧),装定时间(3帧)。规定0xFC为瞬发模式,0xFD为定时模式,0xFE为延期模式,0xFF为近炸模式。在时间上,以ms为单位,测试系统在装定时间前通过软件自动将输入的时间从s换算成ms再进行装定。目前来看,引信装定时间最长不超过200s,即200000ms。

在实际应用中,该模块不仅负责测试中的装定,而且也用于迫击炮弹、榴弹炮弹及火箭弹发射前的模式和时间装定。由于火箭弹在发射前需要分别装定,因此在装定之前装定模块需要寻址。在装定过程中,先规定装定地址,再装定爆炸模式,其次再给出时间。装定模块一次性将所有信息以数据包形式发送,引信收到后,查看自身地址与给定地址是否相符,如果相符,则予以接收,如果不符,则不再接收。规定地址从0xF0到0xFA。对于迫击炮或者榴弹炮单管武器平台来说,在装定引信时并不需要寻址这一功能,但是为了兼顾火箭弹电子时间引信装定,寻址过程必须保留。将引信内DSP地址初始全部设置为0xF0,这样在迫击炮弹或者榴弹炮弹中装定时数据包地址全部都设置成0xF0,就解决了这一矛盾。

但是,火箭弹电子时间引信在装定之前地址也是一样的,即初始地址0xF0。对于这个问题,即引信如何识别自己装在哪个弹筒中进而采用不同的装定模式和时间,采用如下的解决方式:认为弹筒编码从1到12。筒内设置4个触点,触点与弹接触时认为是低电平,触点不与弹接触时认为是高电平,对于高电平来说,认为是1,同理低电平认为是0。这样就形成了4位二进制数,如1号筒为0001,3号筒为0011等。每个弹上引信内的DSP接收到不同的高低电平后将其变为二进制数,然后还原为十进制数,就可以知道自身所在筒的编号。获知编号后,利用之前给定的编号与0xF0到0xFA之间一一对应的关系,获得自己的十六进制地址。

在装定爆炸模式后,是时间参数,共有3帧,在装定时把十进制数改为十六进制数据。如要装定地址为0xF5,模式为定时,时间为199998ms的引信,具体的数据帧格式如下:

引信收到数据包后,DSP根据预先设定的程序进行模式装定和时间装定,之后再将代表模式装定的数值及时间数据发送回来,测试模块予以接收。

3 串行通信的软件实现

一般来讲,在Windows环境下,串行通信在软件方面既可以使用C语言,又可以使用LabVIEW软件。C语言编写比较繁琐,不如LabVIEW使用简单方便。另外,智能弹药通用检测平台使用LabVIEW软件进行测试语言的编写。为了使该装定模块既可以独立使用,又可以与智能弹药通用检测平台相结合,使该模块作为平台的一个部分,故选用LabVIEW软件进行串口通信。目前在LabVIEW中实现串行通信主要有利用VISA和ActiveX控件两种方式。本模块采用VISA进行通信。

VISA是组成VXIplug&play系统联盟的35家最大的仪器仪表公司统一采用的标准[4]。采用了VISA标准,就可以不考虑时间及I/O选择项,驱动软件可以互相兼容使用。

串口通信作为仪器通信的一部分,它的函数是VISA函数的子集。串口函数库位于函数选板的仪器I/O>>串口中,如图2所示。

串口通信的基本流程是:配置串口参数(打开串口)——发送或者接收数据——关闭串口。其重中之重为参数配置。配置串口函数及具体参数如图3所示。

在该函数里,设置串口通信的资源名称、波特率、校验方式、停止位和流控制。所谓流控制,就是常说的“握手”,在本装定模块中,没有握手信号。此外,还有“超时”,“终止符”及“启用终止符”3个端子的设置。超时一般默认为10000ms,终止符默认为0x0A,启用终止符默认情况下也是开启的。这里都采用默认值。根据不同的平台,数据传输可分为同步或者异步。前文已述,本模块采取异步通信模式。

初始化配置完毕后,由VISA写入节点,将写入缓冲区的数据写入指定的设备或接口,再由VISA读取节点,从VISA资源名称所指定的设备或接口读取指定数量的字节,并将数据返回至读取缓冲区,最后由VISA关闭节点,关闭VISA资源名称所指定的设备会话句柄。由于串口读写的端口定义默认为字符串类型,为了和DSP通信,串口应以十六进制发送0xAA标志,所以在写串口时数据类型为十六进制的数据,而串口读取的字符串要转换为数字型数组才能正确地做后续处理。

图2 串口通信函数选板

图3 VISA配置串口

从串口中读取的字符串转换为7个字节,其中,第1个字节0xAA,为帧头标志,第2个字节表示装定地址,第3个字节表示装定模式,第4个到第6个字节表示装定时间,最后一个字节为帧尾,作为结束标志。

4 结束语

本文介绍了基于LabVIEW的RS422通信协议时间装定器的设计,该方法简单可靠,同时又克服了原有时间装定器传输距离短且不稳定的缺点。对于火箭弹上装定引信的地址识别问题,设计了一种简单有效的方法来解决。本文使用LabVIEW软件中的VISA库很好地完成了串口通信。该装定器不仅可以独立完成时间和模式装定任务,还可以作为子模块添加到智能弹药通用检测平台里,为以后智能弹药通用电参数检测平台的功能完善与扩展打下良好基础。

[1] 李大友.微型计算机接口技术[M].北京:清华大学出版社,1998:378.

[2] 黄国栋,戴义保.基于RS422A现场总线的温控网络系统[J].测控自动化,2004,20(5):7-8.

[3] 郑红星,曹晓绯.RS422在反坦克导弹上的应用研究[J].弹箭与制导学报,2008,28(4):32-34.

[4] 蒋薇,张晓波,赖青贵.基于LabVIEW的仪器通信技术研究[J].计算机测量与控制,2013,21(4):1030-1032.

猜你喜欢
通信协议字节串口
No.8 字节跳动将推出独立出口电商APP
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
No.10 “字节跳动手机”要来了?
轻量级分组密码Midori64的积分攻击
车载网络通信协议标准化问题研究
船舶电子设备串口数据的软件共享方法
电动汽车充电接口及通信协议新国标发布
串口技术的实物调试和虚拟仿真联合教学模式