【摘要】串口服务器实现了串口通信和IP 通信的双向转换,同时提供了多种工作模式。分析了各种工作模式的原理、特点和应用场景,重点描述了如何利用串口服务器,将基于串口通信的各类设备直接迁移到IP 网络上。
【关键词】串口通信;IP 网络;串口服务器;应用迁移
1 引言
异步串行通信作为一种“古老”的数据通信方式,兴盛于主机/终端时代,在互联网一统江湖之前,一直占据着远程数据通信领域的重要地位。随着高速网络技术的不断发展和完善,作为一种面向字符的低速通信手段,异步串行通信早已风光不再,但在一些特定的应用领域异步串行通信依然是不可替代的,表现在以下两个方面:第一,由于简单、可靠,具有良好的时间响应,时延确定性好,仍广泛应用于工业控制领域和实时数据采集应用;第二,具备成熟的接口规范,几乎所有的智能设备,如路由器、交换机、投影机等,都保留串口作为控制端口,通过仿真终端就能操作和设置。
虽然异步串行通信存在一定的生存空间,但MODEM 这类DCE 设备已经退出历史舞台,数据通信的主力由高速网络担当,这样就出现了一个在IP 网上扩展异步串行通信的硬性需求,于是市场上出现了一类连接串口和IP 网络的设备--串口服务器。
2 工作模式分析
串口服务器的基本功能是实现串口数据和网络数据的双向转换和传输。串口服务器支持多种应用模式,常见的有TCP 服务端/客户端模式、UDP 模式、实串口模式。
2.1 实串口模式
实串口模式也称虚拟串口模式,工作在该模式时,通过网络与串口服务器连接的主机需要安装COM/TTY 的驱动程序,串口服务器的各个端口在主机上映射成为虚拟端口,原有串口设备的软件或通信模块可以无需修改就直接继续使用,同时实现了联接距离的无限扩展。
实串口模式的最大优势在于可保持原有应用的架构和软件不做任何改变,借助网络优势,将主机/终端部署到任何地方,当不想对原有系统进行大规模改造时,该模式是最优方案,如图1 所示。

2.2 TCP 模式
TCP 模式包括客户端模式和服务端模式,都是通过在主机与串口服务器之间建立TCP 连接实现数据传输。如果串口服务器等待主机连接,称为服务端模式,反之为客户端模式,如图2 所示。
如果应用场景是需要主机主动向终端设备发送数据,应采用服务端模式;如果终端设备在数据到达时主动向主机上报数据,则应采用客户端模式。

2.3 UDP 模式
UDP 模式与TCP 模式类似。TCP 模式是基于连接的,分客户端和服务端,优点是可靠性高,缺点是连接过程繁琐,效率低下。UDP 是基于报文的、点对点或点对多点的通信模式。串口服务器通过UDP 协议与主机进行串口数据传输,能够将来自串口设备的数据单播或多播到一台或多台主机,也能接收来自一台或多台主机的数据。与TCP 模式相比,UDP 协议更加快速而有效。
通过对串口服务器进行设置,UDP 模式即适用于传送基于ASCII 码的短报文,也适用与二进制数据流。当传输文本短报文时,通常通过设置分隔符实现在数据中分离出报文数据。假设报文是以回车符+换行符结尾,就可设置端口的分隔字符为回车符+换行符,这样每当串口服务器收到以分隔符结尾的报文时,就向指定的IP 地址和端口号发送包含该报文的UDP 数据报。当传输二进制数据流时,通常设置最大缓冲区的值,每当接收到规定数量的数据时,向主机发送一次。
在UDP 和TCP 模式下,串口服务器一方面实现了串口连接的空间扩展;另一方面利用强大的设置功能,实现了数据的预处理,起到了主机的前置处理器的作用,减轻了主机的数据处理负荷。
3 结语
串口服务器实现了串口通信和IP 通信的双向转换,同时提供几种基本工作模式以满足不同类型的应用需求。无论是已有的应用,还是新开发的系统,都是省钱省事的选择。基于上述基本工作模式,可以衍生出很多复杂的应用模式。即可用于突破串口的数据传输距离限制,也可用于优化系统的体系结构。在互联网高度普及的今天,合理使用串口服务器,可以让基于串口通信的老设备重新焕发青春。