掌桥专利:专业的专利平台
掌桥专利
首页

一种串口服务器嵌入式系统

文献发布时间:2024-04-18 20:01:23


一种串口服务器嵌入式系统

技术领域

本发明属于网络通信领域,尤其涉及一种串口服务器嵌入式系统。

背景技术

工业现场的很多串口类设备,由于技术的局限性,串口类通信通常只能进行短距离传输,无法适应大园区的设备监控需求。随着物联网技术的发展,为了使现场数据能对接工厂管理系统,需要使用现场已经布设的串口等总线来升级改造,实现现场数据接入。

一般常用的以太网速率是100Mbps,而串口通常比较高的处理速率是921600bps,对于串口线来说通信速率越高,传输距离越短,当进行远距离传输时,需要降低波特率。在以上应用场景中,总线将是整个链路的传输瓶颈,其限制了通过串口服务器中转到串口等总线上的数据量。

当前,以太网信号与串口信号之间的转换主要包括硬件电路转换和路由转换两种方式,对于硬件电路转换,其需要开发专用的芯片,且容易造成数据丢包;对于路由转换,需要采用专门的路由器或交换机,实际成本偏高。

发明内容

有鉴于此,本发明实施例提供了一种串口服务器嵌入式系统,用于解决现有以太网信号与串口信号转换方法存在成本高、可能存在丢包的问题。

在本发明实施例的第一方面,提供了一种串口服务器嵌入式系统,包括:

以太网模块,用于发送和接收以太网数据;

串口模块,用于发送和接收串口数据;

中断处理模块,用于对通信模块和串口模块进行中断处理;

模式开关模块,用于选择串口服务器的工作模式;

其中,所述工作模式至少分为普通模式和数据透传模式,所述普通模式是在TCP/IP协议栈的应用层处理网络数据和串口数据的相互转换,所述数据透传模式是在TCP/IP协议栈的链路层处理网络数据和串口数据的相互转换;

MAC地址表,用于缓存网络设备的MAC地址和IP地址的对应关系;

Web服务器,用于为用户提供web配置页面,以配置设备的网络地址和工作模式;

过滤分发模块,用于根据设置的过滤规则,将报文从网络侧转发到串口中继线路;

数据组包模块,用于将来自串口中继线路的数据,按照标准格式组包成完整的以太网数据包或无线网络数据包。

在一个实施例中,所述MAC地址表划分为网络侧MAC地址表和总线侧MAC地址表;所述MAC地址表根据预设规则判断是否对来自网络侧MAC地址表的ARP报文通过串口中继线路进行转发。

在一个实施例中,所述MAC地址表根据接收的ARP报文实时进行更新。

在一个实施例中,所述串口服务器嵌入式系统还包括:

网络协议栈,用于对普通模式中网络数据进行处理。

本发明实施例中,基于用户配置过滤规则和工作模式,结合MAC地址表、模式开关机过滤分发模块,不仅可以实现数据包在链路层快速转发,可以不经过TCP/IP协议栈处理,而且能够对数据包进行过滤,克服了串口服务器中转数据量的瓶颈限制,减少了ARP报文通过总线中继线路传输的数据量,减少对带宽的占用,实施成本低且不需要专用芯片或专用路由器、交换机等。同时,该嵌入式系统简单小巧,可以在不带操作系统的设备上实施,也可以在freertos等嵌入式操作系统上实施,适用于单片机等低端硬件平台。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅

仅是本发明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳5动的前提下,还可以根据这些附图获取其他附图。

图1为本发明一个实施例提供的一种串口服务器嵌入式的结构示意图;

图2为本发明一个实施例提供的一种串口服务器的工作原理示意图。

具体实施方式

0为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将

结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

5应当理解,本发明的说明书或权利要求书及上述附图中的术语“包括”

以及其他相近意思表述,意指覆盖不排他的包含,如包含一系列步骤或单元的过程、方法或系统、设备没有限定于已列出的步骤或单元。此外,“第一”“第二”用于区分不同对象,并非用于描述特定顺序。

请参阅图1,本发明实施例提供的一种串口服务器嵌入式系统的结构示0意图,包括:

以太网模块110,用于发送和接收以太网数据;

当所述以太网模块处于数据透传模式时,需要接收网络上所有的数据,可以通过将网卡设置成混杂模式,实现对所有网络数据的接收。

串口模块120,用于发送和接收串口数据;

5中断处理模块130,用于对通信模块和串口模块进行中断处理;

模式开关模块140,用于选择串口服务器的工作模式;

其中,所述工作模式至少分为普通模式和数据透传模式,所述普通模式是在TCP/IP协议栈的应用层处理网络数据和串口数据的相互转换,所述数据透传模式是在TCP/IP协议栈的链路层处理网络数据和串口数据的相互转换;

在数据透传模式中可利用过滤分发模块170在链路层或IP层过滤数据。

其中,工作模式的设置可以通过软件配置,或者通过拨码开关实现。

MAC地址表150,用于缓存网络设备的MAC地址和IP地址的对应关系;

其中,所述MAC地址表划分为网络侧MAC地址表和总线侧MAC地址表;所述MAC地址表根据预设规则判断是否对来自网络侧MAC地址表的ARP报文通过串口中继线路进行转发。

由于串口中继通信速率低,为了避免频繁的ARP报文抢占串口中继带宽,需要由MAC地址表决定对来自网络侧的ARP报文是否要通过串口中继线路进行转发。

其中,所述MAC地址表根据接收的ARP报文实时进行更新。ARP(AddressResolutionProtocol)是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机(或网络设备),并接收返回消息,以此确定目标的物理地址。

Web服务器160,用于为用户提供web配置页面,以配置设备的网络地址和工作模式;

基于Web服务器160提供的web页面,用户可以配置串口服务器、网络设备的网络地址。

过滤分发模块170,用于根据设置的过滤规则,将报文从网络侧转发到串口中继线路;

根据用户设置的过滤规则,只将允许的报文从网络侧转发到串口中继线路,以降低串口中继线路带宽瓶颈给整个系统数据通信带来的不稳定性。

数据组包模块180,用于将来自串口中继线路的数据,按照标准格式组包成完整的以太网数据包。

所述数据组包模块将来自串口中继线路的数据,按照IEEE802.3等标准规定的格式,重新组包成完整的以太网数据包,并根据相关规则转发给其他模块。

可选的,所述串口服务器嵌入式系统还包括:

网络协议栈290,用于对普通模式中网络数据进行处理。

本实施例中,大部分数据在数据链路层处理,在数据链路层和串口之间直接转发,不需要再经过TCP/IP两层协议栈的处理;

通过将MAC地址表设置为网络侧MAC地址表和总线侧MAC地址表两份,可以结合相关算法和预定规则,减少ARP报文通过总线中继线路传输的数量,减少报文对带宽的占用;

基于总线侧MAC地址表,可以将属于总线中继线路另一侧的单播等网络数据在链路层直接进行转发,保障数据传输速率。

采用专用的简化过滤方案,小巧灵活,可以在不带操作系统的设备上实施,也可以在freertos等嵌入式操作系统上实施,适用于单片机等低端硬件平台。

实现了网络数据包专用的过滤方案,避免了传统专用芯片无法进行流量过滤的问题。同时,不需要采用专用芯片,在单片机平台上基于二层和三层技术,即可实现在以太网和串口等总线之间进行数据路由的方案,实施成本更低。

在一个实施例中,还提供了基于所述串口服务器嵌入式系统的串口服务器工作原理示意图,如图2所示,包括:

在进行报文转发时:

串口服务器会定时向网络侧发送ARP请求,用户可以设置ARP发送间隔、ARP老化时间、静态ARP表等。对于采用静态IP工业现场的网络而言,采用静态ARP表更合适,或者将ARP老化时间设置的尽可能长一些;在工业现场设备IP地址通常是固定的,为了尽可能减少ARP报文数据量,在第一串口服务器上将左侧参与通信的网络设备的IP和MAC进行静态绑定。同时,配置参与通信的网络设备的IP地址范围。

当第一串口服务器收到一个ARP应答报文时,发现网络侧MAC地址表有变更(包括添加、删除、变更等)时,通过串口中继线路将该ARP报文发送给第二串口服务器,第二串口服务器接收到该ARP报文后,更新其总线侧MAC地址表,同时将该ARP报文通过第二串口服务器的网口发给右侧的所有网络设备。反之亦然。

第一串口服务器收到一个来自主机的ARP请求广播时,当检测发现IP为右侧参与通信设备的IP范围,即该IP在第一串口服务器的总线侧MAC地址表中可以检索到,则第一串口服务器将该对应的MAC和IP构成成一个ARP应答报文,发给对应的网络侧设备。如果该IP在第一串口服务器的总线侧MAC地址表中检索不到,则将该广播报文通过串口中继线路发给第二串口服务器,第二串口服务器收到该报文后,更新第二串口服务器的网络侧MAC地址表,同时将该广播报文广播到右侧所有的网络设备中。右侧网络设备发现查询的是自身IP后,正常回复ARP应答报文,第二串口服务器收到该应答报文后,更新其网络侧MAC地址表,并将数据通过串口中继线路发给第一串口服务器;第一串口服务器更新其总线侧MAC地址表,并通过网口发送数据给指定的主机。反之亦然。

在进行数据过滤时:

用户可以通过web配置对侧参与通信的网络设备的IP地址范围。过滤分发模块查询总线侧MAC地址表,获得IP对应的MAC地址,然后收到链路层数据包,检索目的MAC地址是否在总线侧MAC地址表中,如果在直接将该数据包通过串口中继线路发给第二串口服务器;第二串口服务器收到数据后,经过数据组包模块形成一个以太网数据包,再通过以太网模块原封不动发送出去。

其中,对于广播报文,用户可以配置允许通过串口中继线路转发的广播报文,例如DHCP/ARP等;

ICMP报文大部分是单播报文,可以按单播报文规则进行转发。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和模块的具体工作过程可以参考前述方法实施例中对应的过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于TMC3点云编码器的颜色属性编码方法
  • 一种视频编码方法、解码方法、装置及电子设备
  • 一种点云编码方法、点云解码方法及相关设备
  • 一种点云解码方法、点云编码方法及相关设备
技术分类

06120116547564