基于串口服务器的通信机串口通信解决方案
2022-11-21文钟华刘海森
文钟华,刘海森
(中国民用航空桂林空中交通管理站,广西 桂林 541106)
0 引言
在实际应用中,串口通信通常使用电缆直接传输,随着近年网络的飞速发展,基于网络传输的串口服务器发展迅速,相比于普通串口通信,串口服务器具有防雷、传输距离长等优点。目前国内大部分机场的气象数据库通信分系统接收AWOS和AFTN报文数据都是通过串口卡接收的,串口卡需要安装在通信机的PCI插槽上,由串口转接头分成多路串口,串口的数量是固定的,且目前国内绝大部分气象数据库通信分系统都是单机运行的,若需更换串口卡,需要通信机停机,通信机停机影响气象数据交换,对气象业务影响较大。而串口服务器可以解决这些问题,通过简单配置,可任意增减串口服务器数量,因串口服务器与通信机是通过网络连接的,串口服务器的安装或更换不需要通信机停机,且网络的传输方式具有防雷和传输距离长的优点。与串口卡相比,该方案的安装和维护更加安全、便捷。
1 方案概况
1.1 使用串口卡方案
串口卡需要安装在通信机的PCI插槽上,串口数量由安装的串口卡型号决定,如需更换串口卡,需要通信机停机,方可从通信机的PCI插槽上对串口卡进行拆装,因为串口卡与通信机之间是通过电缆线连接的,一般通信距离不会超过15 m[1],串口卡方案示意图如图1所示。
图1 串口卡方案示意图
1.2 使用串口服务器方案
串口服务器只需要与通信机接入到同一网络中即可,通过简单修改驱动程序的配置文件,可任意增加或减少串口服务器数量。由于串口服务器基于网络通信,不依赖通信机的PCI插槽,因此,在进行维护时,通信机不需要停机就可完成。串口服务器与通信机之间通过网络连接,普通双绞线的传输距离达到100 m[2],传输距离长,而且具有防雷等特点,串口服务器方案示意图,如图2所示。
图2 串口服务器方案示意图
2 安装
2.1 串口服务器配置
本文使用moxa的NPort 5150串口服务器为例进行讨论(下同)。使用串口服务器默认IP进行网页登陆,点击“Network Settings”菜单,根据实际网络情况配置“IP address”、“Netmask”等选项,使得串口服务器能够与通信机进行网络通信;点击“Serial Settings”菜单,根据实际情况设置串口通信参数;点击“Operating Settings”菜单,“Operation mode”设置为“Real COM Mode”;点击“Save/Restart”对串口服务器进行保存重启即可完成配置。
2.2 驱动安装
访问moxa官网的驱动下载页(https://www.moxa.com.cn/support/search.aspx?type=soft),选择对应的串口服务器型号进行驱动下载,根据通信机的Linux内核型号选择对应驱动下载,根据民航第一期气象数据库系统的通信机Linux系统内核版本,本文选择NPort Real TTY Driver for Linux (Linux 2.4.x,2.6.x)驱动版本,把下载好的驱动tgz压缩包拷贝至通信机,解压压缩包,进入解压后的驱动程序目录,运行安装程序“./mxinst”,等待驱动安装完成,安装完成后会在“/usr/lib/npreal2/driver”目录下生成一些程序文件、配置文件和README.TXT说明文件。
2.3 驱动配置
进入安装生成的驱动程序目录“/usr/lib/npreal2/driver”,运行命令“mxaddsvr [NPort IP Address] [Total Ports] ([Data port] [Cmd port])”,即可添加串口服务器到通信机串口中,其中NPort IP Address为串口服务器IP,Total Ports为串口服务器串口数量,Data port和Cmd port为串口服务器的通信端口,例如运行 “mxaddsvr 10.22.130.123 1 4002 966”命令即可添加一个IP为10.22.130.123的一路串口服务器。当前目录下查看配置文件npreal2d.cf,可以看到已经多了一条配置记录(见图3)。其中“TTYName”即新生成的串口设备名称。根据通信机的mssini.ini配置文件,可以查询到AWOS自观接收和AFTN报文接收的串口设备名称,把npreal2d.cf配置文件的“TTYName”改成mssini.ini文件对应的串口名称即可。例如把npreal2d.cf配置文件中的“TTYName”名由“ttyr00”改为AFTN数据接收串口“ttyM0”,最后运行“mxloadsvr”命令使得配置文件生效。
图3 npreal2d.cf配置文件
当需要安装多路串口服务器时,只需要重复上述操作即可。
3 串口数据收发测试
登录通信机,使用命令“echo “abc”>/dev/ttyM0”(ttyM0为串口服务器对应创建的串口名称)向串口发送字符串“abc”,在串口服务器的串口端可接收数据“abc”。往串口服务器的串口端发送字符串“abc”,在通信机端使用命令“cat /dev/ttyM0”[3]可打印接收到的串口数据“abc”。
4 结语
使用串口服务器作为气象数据库通信分系统的串口通信设备,安装和配置都较为简单,增加或减少串口数量只需要对驱动进行简单配置即可,对串口服务器进行维护时,通信机也无需停机,串口服务器与通信机通过网络连接,具有防雷和传输距离长的特点,便于维护管理。与使用串口卡方案相比,该方案具有较为明显的优势,能够较好地提高气象数据库通信分系统的可靠性和可维护性。