摘要:在某武器系统中,需要完成网口和4个串口的数据转换,研制了多串口与以太网的转换装置,硬件采用ARM-11平台的三星处理器S3C6410开发,系统通信遵守modbus协议,网络侧采用UDP协议,在Linux环境下,实现了4个串口与网络的数据传输,当网络中断时,会自动的进行武器前端的查询任务,实现数据FLASH存储,当网络正常时,能从FLASH中读取数据并返回。系统在实际系统中进行了测试,并给出了测试结果。
关键词: Modbus;Linux;转换装置;多串口;以太网
0 引言
20世纪90年代之后,随着时代的发展,社会的进步,计算机、网络和通信技术的不断繁荣和普及,Internet在武器系统中的应用也逐渐扩大范围,在不同的相关领域表现出比较好的应用效果。尤其是在武器系统中越来越多的应用基于Internet的分布式测量和控制技术,同时在系统监控,武器设备发控等众多领域也有所涉及。因为基于Internet的分布式监控能够进行测量信息数据的共享,在实际的应用中还有很多优势,比如信息传递快、交互性强等,这给现代武器在未来的发展中指明了发展方向。
要更好的进行分布式控制,基于Internet的Modbus TCP通讯协议得到了更广泛。Modbus TCP通信协议的操作原理是,在网络以及相关的武器的协助下,通过控制器实现通信。还要注意的是虽然控制设备在生产厂商的选择上是有差异的。但是他们却都能够连成网络,实现集中监控。Modbus TCP协议定义了一个控制器能认识使用的消息结构,无论使用哪种网络通信[1]。
本文系统的数据链路通讯采用Modbus协议,发控中心与武器前端通过ARM-11连接,采用主从方式进行通信。
1 系统总体结构和工作过程
武器系统通过交换机与发控中心相连,在TCP/IP协议的协助下,接口转换装置设备作为控制器;我们为了更好地实现更远距离的传输,使数据传输具有更高的可靠度,与武器前端的通信采用RS-422接口。

通过布式modbus协议实现两种接口间的通信,这需要接口转换装置设备承担两份责任,从发控中心的角度来讲,接口转换装置可看成是从机,从武器前端的角度来讲,接口转换装置被认为是主机。
下面我们来分析系统的具体工作过程:
正常情况下,发控中心发送数据查询和操作指令,在接口转换装置的协助下,转换为RS422格式,使武器前端接收数据,然后再由其将数据上传到接口转换装置,最后发控中心在接口转换装置的协助下,以TCP的方式接收数据。在这一过程当中,接口转换装置的主要任务就是进行数据输。
如果发控中心不能将指令正常的发送到接口转换装置,发生了某种程度的网络故障,要求接口转换装置主动发送查询指令,采集各个武器前端数据,并将数据保存到接口转换装置的Nand Flash中。当检查网络没有任何异常后,再根据发控中心下达的指令把之前存储的数据上传到发控中心。此时接口转换装置实现了发控中心的一些功能。
2 接口转换装置软硬件配置
硬件结构图如图2所示。

从图2中不难看到,系统内部配置有RTC、看门狗、16M SDRAM、8M flash,外部接口有一个网口和四个个串口,采用RS-422接口,通过软件可以配置RS-232/422/485接口[2]。软件方面,基于Linux Kernel 2.6的Linux操作系统[3]。
详细软硬件参数表如表1。
表1 系统软硬件配置表

3 应用程序开发
从系统需求角度出发,软件在功能上主要分为以下10个模块,各个模块的具体功能见表2。
本系统用的是嵌入式操作系统Linux,因为硬件资源不是很足,要想在系统开销上达到最少,软件系统应用的是单进程多线程结构,线程间通信方式采用共享内存、互斥锁等方式,这些都是为了更好地实现系统的稳定性,是系统具有更高的可靠性。
4 系统测试
按照图1所示的连接方式,将接口转换装置连于武器前端和发控中心之间,把控制台端与测试电脑的电脑连接好,这样更容易进行观察,更方便进行相关的各种调试。根据网络状态的不同,测试时主要考虑以下情况:
表2 应用程序模块划分及相应功能

4.1 网络正常情况 发控中心可以进行六类指令的发送,包括数据读取指令,控制指令,每类指令都要通过相关的测试,指令传送后,武器前端会有一个回告。还要强调的是指令从网口接收到从串口发送出去的时间,以及收到武器前端回告到从网口发送出去的时间都不能大于10ms,而发控中心超时时间为1s,这并不违背发控中心对超时时间的要求。
4.2 对网络中断状态的监控以及实时连接 网络中断的情况下,需要考虑两个情况,一是服务器端没有连接,二是网线故障。但是,无论是何种情况,如果监测到网络不正常,系统会试着去连接,通过定周期查询方式的查询,20s之后,要是还是不能连接上,就报网络中断。第一种情况系统更容易监测,这样就能够及时的采取相应的解决措施,然后第二种情况,要麻烦一些,系统在设定的Keep a live超时时间之后,侦测到网络的中断,并做相同的处理。
4.3 网络中断时 这时接口转换装置承担主机的责任,进行查询任务,查询各武器前端,还要看回告状态有没有更新,然后再决定是不是需要读取历史数据。在状态有更新的情况下,需要读取数据。
4.4 网络中断后又恢复 此时系统能自动连接上发控中心,并与之进行通信。
5 结论
采用ARM-11为处理平台,嵌入式操作系统为Linux,要想在系统开销上达到最少,软件系统采用了单进程多线程结构。
经测试,网络如果没有任何异常的情况下,报文在接口转换装置上传输时间不会超过10ms,这不违背上位机modbus超时机制的要求;网络中断时,能自动查询各武器系统并实现数据本地Nand Flash存储,网络恢复后能从本地Nand Flash读取并返回。



