一种基于逻辑器件实现串口设备接入以太网的方法和装置与流程

文档序号:14179042阅读:287来源:国知局
一种基于逻辑器件实现串口设备接入以太网的方法和装置与流程

本申请涉及网络技术领域,特别涉及一种基于逻辑器件实现串口设备接入以太网的方法和装置。



背景技术:

串口设备是指采用串口作为传输接口的设备,串口设备基于串口协议生成串口数据,通过串口传输串口数据。其中,不同类型的串口设备采用的串口协议不同。

当串口设备接入以太网将串口数据传输至以太网时,由于串口数据采用串口协议,以太网数据采用以太网协议,且传输不同协议数据的设备之间无法连接,因此,如果串口设备需要成功接入以太网,那么在串口设备和以太网设备之间需要增加数据转换模块,该数据转换模块用于将串口数据转换成以太网数据。

在现有技术中,该数据转换模块通常采用串口转换芯片、串口扩展芯片、串口服务器芯片等。请参见图1,图1为现有技术中基于串口转换芯片实现串口设备接入以太网的网络架构图。

由于串口转换芯片等数据转换模块无法兼容各种不同串口协议的串口设备,因此,在选择数据转换模块时,需要先知道串口设备所采用的串口协议,然后再选择与串口设备匹配的数据转换模块,因此串口转换芯片等数据转换模块的灵活性较差。



技术实现要素:

有鉴于此,本申请提供一种基于逻辑器件实现串口设备接入以太网的方法和装置,应用于网络设备,用于提高串口设备接入以太网时的接入灵活性。

具体地,本申请是通过如下技术方案实现的:

一种基于逻辑器件实现串口设备接入以太网的方法,应用于网络设备,逻辑器件通过模拟串口通信协议生成模拟串口,连接于串口设备与网络设备之间,所述方法包括:

当检测到串口设备接入任一模拟串口时,判断所述串口设备的设备类型;

确定对模拟串口进行读写操作的实现方式;其中所述实现方式与所述设备类型相对应;

基于所述实现方式从所述串口设备所接入的模拟串口读取串口数据;

将所述串口数据转换成以太网数据。

一种基于逻辑器件实现串口设备接入以太网的装置,应用于网络设备,逻辑器件通过模拟串口通信协议生成模拟串口,连接于串口设备与网络设备之间,所述装置包括:

判断单元,用于当检测到串口设备接入任一模拟串口时,判断所述串口设备的设备类型;

确定单元,用于确定对模拟串口进行读写操作的实现方式;其中所述实现方式与所述设备类型相对应;

读取单元,用于基于所述实现方式从所述串口设备所接入的模拟串口读取串口数据;

转换单元,用于将所述串口数据转换成以太网数据。

本申请提供的技术方案带来的有益效果;

在本申请中,采用逻辑器件作为串口设备接入以太网时的硬件连接器件,其中,逻辑器件通过模拟串口通信协议生成模拟串口,连接于串口设备与网络设备之间。当串口设备接入逻辑器件生成的任一模拟串口时,网络设备可以判断该串口设备的设备类型,并确定与该设备类型对应的对模拟串口进行读写操作的实现方式,然后基于该实现方式从该模拟串口读取数据,以及将读取到的数据转换成以太网数据并转发。由于网络设备可以自动识别接入逻辑器件的串口设备的设备类型,然后配置与该设备类型对应的相关操作,因此可以提高串口设备接入以太网时的灵活性。

附图说明

图1为现有技术中基于串口转换芯片实现串口设备接入以太网的网络架构图;

图2为本申请实施例一示出的一种基于逻辑器件实现串口设备接入以太网的网络架构图;

图3为本申请实施例一示出的一种基于逻辑器件实现串口设备接入以太网的方法流程图;

图4为本申请实施例一示出的基于逻辑器件生成的模拟串口的结构图;

图5所示,为本申请一种基于逻辑器件实现串口设备接入以太网的装置所在网络设备的一种硬件结构图;

图6为本申请实施例二示出的一种基于逻辑器件实现串口设备接入以太网的装置。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在现有技术中,串口设备、串口转换芯片与网络设备之间的连接关系如图1所示,串口转换芯片连接于串口设备与网络设备之间。当串口设备生成串口数据并发送至串口转换芯片后,串口转换芯片需要将该串口数据转换成以太网数据,然后将以太网数据上传至网络设备,由网络设备进行以太网数据的转发。

其中,由于串口转换芯片无法兼容各种不同设备类型的串口设备,其中,不同设备类型的串口设备所采用的串口协议不同,因此,在选择具体型号的串口转换芯片之前,需要先知道串口设备所采用的串口协议,然后再选择与串口设备匹配的串口转换芯片,因此可以看出串口转换芯片的灵活性较差

另外,串口转换芯片没有串口驱动程序,为了使得串口转换芯片能够成功与串口设备建立通信并对串口数据进行处理,串口转换芯片必须得配置串口驱动程序,现有技术中,串口转换芯片通常采用串口控制器调用网络设备配置的系统中给定的串口驱动注册机制。

然而,当串口转换芯片采用串口控制器调用网络设备配置的系统中给定的串口驱动注册机制时,串口转换芯片将串口数据转换成以太网数据并上传至网络设备后,网络设备的处理器会在应用层对该以太网数据进行一些操作,然后再转发该以太网数据。

对于进行需要转发的以太网数据而言,网络设备的处理器在应用层对以太网数据进行的一些操作就显得多余,这样反而不仅延长了数据通信的软件处理时延,同时也在一定程度上增加了网络设备的处理负担。

实施例一

为了解决现有技术中串口转换芯片的灵活性差,以及串口转换芯片采用串口控制器调用网络设备配置的系统中给定的串口驱动注册机制所带来的不足之处,本申请实施例一示出了一种基于逻辑器件实现串口设备接入以太网的方法,请参见图2,图2为本申请实施例一示出的一种基于逻辑器件实现串口设备接入以太网的网络架构图。

如图2所示,在硬件结构上,与现有技术相比,本实施例中的逻辑器件替代了原来的串口转换芯片,而与串口设备和网络设备之间的连接方式没有改变。其中,逻辑器件可以是cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)、fpga(fieldprogrammablegatearray,现场可编程逻辑门阵列)等。

请参见图3,图3为本申请实施例一示出的一种基于逻辑器件实现串口设备接入以太网的方法流程图。具体执行以下步骤:

步骤301:当检测到串口设备接入任一模拟串口时,判断所述串口设备的设备类型;

步骤302:确定对模拟串口进行读写操作的实现方式;其中所述实现方式与所述设备类型相对应;

步骤303:基于所述实现方式从所述串口设备所接入的模拟串口读取串口数据;

步骤304:将所述串口数据转换成以太网数据。

其中,逻辑器件根据rs标准模拟串口通信协议生成模拟串口,其中,模拟串口包括串口数据的发送模块和接收模块、波特率发生模块、串口数据的发送队列缓冲区和接收队列缓冲区、发送寄存器以及接收寄存器。如图4所示,图4为本申请实施例一示出的基于逻辑器件生成的模拟串口的结构图。

然而,逻辑器件模拟生成的模拟串口只是提供了与串口设备建立连接的一个通道而已,如果逻辑器件要实现与串口设备成功进行通信,那么需要与现有技术串口转换芯片采用网络设备配置的系统中给定的串口驱动注册机制实现与串口设备成功通信一样,逻辑器件也需要采用相应的串口驱动程序。

为了实现逻辑器件能够兼容各种不同设备类型的串口设备,以及提高串口的易操作性的目的,本申请的实施例提出了一种新的串口驱动程序。该串口驱动程序加载于网络设备,具有检测串口设备的类型、配置模拟串口的相关参数、控制模拟串口与串口设备之间数据传输等功能。

在本实施例中,当网络设备检测到串口设备接入逻辑器件时,网络设备可以通过加载的串口驱动程序为该串口设备所接入的模拟串口配置串口初始化的相关参数(串口的波特率、数据位、停止位、奇偶校验位等等),并且为该模拟串口注册读写操作,使该模拟串口具备读写功能。

网络设备为该模拟串口完成串口初始化参数的配置后,可以判断接入该模拟串口的串口设备的类型。其中,目前市场上的串口设备主要可以分为字节流型设备(比如终端显示设备)和异步字节控制型设备(比如键盘)两种串口设备。其中,字节流型设备发送串口数据的特性与异步字节控制型设备发送串口数据的特性不一样。

网络设备为了合理分配资源,通常根据不同设备类型的串口设备发送串口数据的特性选择相应的方式来实现对串口的读写操作。对于字节流型设备,网络设备通常采用轮询的方式实现对串口的读写操作,对于异步字节控制型设备,网络设备通常采用中断的方式实现对串口的读写操作。

因此,当网络设备确定接入逻辑器件的串口设备的设备类型时,网络设备可以查找与该设备类型对应的对模拟串口进行读写操作的实现方式,然后为该串口设备所接入的模拟串口注册对应的串口读写操作的实现方式,即调用与该实现方式对应的程序以及对该串口设备所接入的模拟串口进行读写操作的程序,使得网络设备能够通过该方式实现串口的读写操作。

在现有技术中,将串口数据转换成以太网数据的协议化处理操作由串口转换芯片执行,串口转换芯片作为执行者,只能按照预先加载的程序进行对应的操作,而无法更改加载的程序,因此,在串口设备接入以太网时,需要先知悉串口设备的类型以及所采用的串口协议,然后选择匹配的串口转换芯片。所以,串口转换芯片的灵活性差。

为了满足采用不同串口协议的串口设备的接入,执行将串口数据转换成以太网数据的操作的执行者,需要具备更改或者切换所需要运行的程序的功能。在本实施例中,由网络设备执行将串口数据转换成以太网数据的操作。

为了实现将串口数据转换成以太网数据的功能,在本实施例中,网络设备还会注册对串口设备协议化处理的相关操作,使得网络设备能够实现将串口数据转换成以太网数据。当网络设备从串口读取到串口数据后,通过注册的对串口设备协议化处理的相关操作,对串口数据进行转换操作。

此外,一些网络设备对于串口数据转换成以太网数据的方式具有一定的要求,或者一些网络设备为了满足一些具有特性的串口数据的转换要求,网络设备通常会配置相应的一些特殊协议。

在本实施例中,当网络设备为模拟串口注册对串口设备协议化处理的操作后,通常会判断本端配置的协议中是否存在针对串口数据转以太网数据的特殊协议,如果存在,初始化该特殊协议。

以下结合图4所示的串口结构,对串口数据转换成以太网数据的过程进行示例性地描述。

例如,当串口设备1接入逻辑器件的模拟串口1时,网络设备为模拟串口1配置初始化串口的相关参数,以及注册读写操作。然后网络设备可以检测串口设备1的类型,根据检测结果注册对应的串口读写操作的方式,比如中断的方式,并注册对串口设备协议化处理的相关操作。

当串口设备1与模拟串口1成功实现通信时,模拟串口1中的发送模块可以接收到串口设备1发送的串口数据,然后,发送模块会将接收到的串口数据传输至发送队列缓存区。如果发送寄存器中不存在串口数据或者未达到存储阈值,发送队列缓存区可以将串口数据传输至发送寄存器。

网络设备可以基于注册的串口读写操作的方式从发送寄存器中读取串口数据,然后根据注册的对串口设备协议化处理的相关操作,将串口数据转换成以太网数据,并将以太网数据转发出去。

同样,当网络设备接收到发送至串口设备1的以太网数据时,网络设备根据注册的对串口设备协议化处理的相关操作,将以太网数据转换成串口数据并写入模拟串口1的接收寄存器,接收寄存器可以将串口数据传输至接收队列缓存区,接收模块读取接收队列缓存区中的串口数据并发送给串口设备1。

由于串口设备接收或者发送串口数据至逻辑器件的模拟串口的速率,与网络设备从逻辑器件的模拟串口读取串口数据的速率之间存在速率差,在本实施例中,为了避免逻辑器件的模拟串口的存储资源耗尽导致丢包现象等,网络设备可以通过监测缓存区的状态,以及操控从发送寄存器读取串口数据的速率和将串口数据发送至接收寄存器的速率,实现协调速率差的问题。

综上所述,采用逻辑器件作为串口设备接入以太网时的硬件连接器件,其中,逻辑器件通过模拟串口通信协议生成模拟串口,连接于串口设备与网络设备之间。当串口设备接入逻辑器件生成的任一模拟串口时,网络设备可以判断该串口设备的设备类型,并确定与该设备类型对应的对模拟串口进行读写操作的实现方式,然后基于该实现方式从该模拟串口读取数据,以及将读取到的数据转换成以太网数据并转发。由于网络设备可以自动识别接入逻辑器件的串口设备的设备类型,然后配置与该设备类型对应的相关操作,因此可以提高串口设备接入以太网时的灵活性。

实施例二

与前述一种基于逻辑器件实现串口设备接入以太网的方法的实施例一相对应,本申请还提供了一种基于逻辑器件实现串口设备接入以太网的装置的实施例二。

本申请一种基于逻辑器件实现串口设备接入以太网的装置的实施例二可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请一种基于逻辑器件实现串口设备接入以太网的装置所在网络设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例二中装置所在的网络设备通常根据该基于逻辑器件实现串口设备接入以太网的实际功能,还可以包括其他硬件,对此不再赘述。

请参见图6,图6为本申请实施例二示出的一种基于逻辑器件实现串口设备接入以太网的装置,应用于网络设备,其中,逻辑器件通过模拟串口通信协议生成模拟串口,连接于串口设备与网络设备之间,所述装置包括:判断单元610,确定单元620,读取单元630,转换单元640。

其中,所述判断单元610,用于当检测到串口设备接入任一模拟串口时,判断所述串口设备的设备类型;

所述确定单元620,用于确定对模拟串口进行读写操作的实现方式;其中所述实现方式与所述设备类型相对应;

所述读取单元630,用于基于所述实现方式从所述串口设备所接入的模拟串口读取串口数据;

所述转换单元640,用于将所述串口数据转换成以太网数据。

其中,所述确定单元620具体包括:

查找子单元,用于查找与所述设备类型对应的对模拟串口进行读写操作的实现方式;

调用子单元,用于调用与所述实现方式对应的程序以及对所述串口设备所接入的模拟串口进行读写操作的程序。

在本实施例中,所述装置还包括:

初始化单元,用于当检测到串口设备接入模拟串口时,基于初始化程序对所述串口设备所接入的模拟串口进行初始化。

此外,逻辑器件通过模拟串口通信协议生成的模拟串口包括串口数据的缓冲模块、寄存器,在本实施例中,所述装置还包括:

监控单元,用于监控所述串口数据缓冲模块的状态以及寄存器的状态;

调整单元,用于通过预设的调整机制,调整所述模拟串口的工作状态;其中,所述调整机制与所述串口数据缓冲模块的状态和所述寄存器的状态相关。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1