多串口与以太网接口转换装置研制

时间:2022-09-01 03:22:05

摘要: 在某武器系统中,需要完成网口和4个串口的数据转换,研制了多串口与以太网的转换装置,硬件采用ARM—11平台的三星处理器S3C6410开发,系统通信遵守modbus协议,网络侧采用UDP协议,在Linux环境下,实现了4个串口与网络的数据传输,当网络中断时,会自动的进行武器前端的查询任务,实现数据FLASH存储,当网络正常时,能从FLASH中读取数据并返回。系统在实际系统中进行了测试,并给出了测试结果。

Abstract: In a weapon system, an interface between Ethernet and four serial port is needed, so a transfer device is developed. The hardware is based on ARM—11 named S3C6410, and modbus protocol is employed, UDP is adopted in net. Under the Linux operation system, data transfer between serial ports and Ethernet is achieved, especially, when net is broken, system can check the weapon, and then saves the data in Nand—Flash. When net is connected, system can reads the data from Nand—Flash, and send it to control center. System testing results are also demonstrated in detail.

关键词: Modbus;Linux;转换装置;多串口;以太网

Key words: modbus;Linux;transfer device;serial ports;Ethernet

中图分类号:TP39 文献标识码:A 文章编号:1006—4311(2012)28—0213—02

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。

3 应用程序开发

从系统需求角度出发,软件在功能上主要分为以下10个模块,各个模块的具体功能见表2。

本系统用的是嵌入式操作系统Linux,因为硬件资源不是很足,要想在系统开销上达到最少,软件系统应用的是单进程多线程结构,线程间通信方式采用共享内存、互斥锁等方式,这些都是为了更好地实现系统的稳定性,是系统具有更高的可靠性。

4 系统测试

按照图1所示的连接方式,将接口转换装置连于武器前端和发控中心之间,把控制台端与测试电脑的电脑连接好,这样更容易进行观察,更方便进行相关的各种调试。根据网络状态的不同,测试时主要考虑以下情况:

4.1 网络正常情况 发控中心可以进行六类指令的发送,包括数据读取指令,控制指令,每类指令都要通过相关的测试,指令传送后,武器前端会有一个回告。还要强调的是指令从网口接收到从串口发送出去的时间,以及收到武器前端回告到从网口发送出去的时间都不能大于10ms,而发控中心超时时间为1s,这并不违背发控中心对超时时间的要求。

4.2 对网络中断状态的监控以及实时连接 网络中断的情况下,需要考虑两个情况,一是服务器端没有连接,二是网线故障。但是,无论是何种情况,如果监测到网络不正常,系统会试着去连接,通过定周期查询方式的查询,20s之后,要是还是不能连接上,就报网络中断。第一种情况系统更容易监测,这样就能够及时的采取相应的解决措施,然后第二种情况,要麻烦一些,系统在设定的Keep a live超时时间之后,侦测到网络的中断,并做相同的处理。

4.3 网络中断时 这时接口转换装置承担主机的责任,进行查询任务,查询各武器前端,还要看回告状态有没有更新,然后再决定是不是需要读取历史数据。在状态有更新的情况下,需要读取数据。

4.4 网络中断后又恢复 此时系统能自动连接上发控中心,并与之进行通信。

5 结论

采用ARM—11为处理平台,嵌入式操作系统为Linux,要想在系统开销上达到最少,软件系统采用了单进程多线程结构。

经测试,网络如果没有任何异常的情况下,报文在接口转换装置上传输时间不会超过10ms,这不违背上位机modbus超时机制的要求;网络中断时,能自动查询各武器系统并实现数据本地Nand Flash存储,网络恢复后能从本地Nand Flash读取并返回。

参考文献:

[1]Modbus协议中文版[K].http://.

[2]邹思轶.嵌入式Linux设计和应用.北京:清华大学出版社, 2003.2.

[3]李江红等.VxWorks和RTLinux的性能测试分析[J].计算机测量与控制,2008,16(10).

上一篇:做真人,写美文,教好人 下一篇:多媒体技术在电工电子学教学中的应用