一种串口服务器、协转芯片及数据传输方法技术领域
本发明涉及网络技术领域,尤其涉及一种串口服务器、协转芯片及数据传
输方法。
背景技术
串口服务器是一种工业上常用的协议转换设备,串口设备通过串口服务器
可以将串口数据通过以太网传输到远端的主机或其他以太网接口设备,同样
的,远端以太网接口设备可以通过串口服务器将以太业务转换成串口业务传输
给串口设备,从而实现串口设备与以太网接口设备的数据互传。
目前市场上的大多数串口服务器都是只有一个以太网口和多个串口,只能
实现以太网数据与串口数据之间的互转,并且通过以太网口只能同一台主机建
立数据通讯。若要串口服务器能够与多主机通讯,还需要增加一台交换机来完
成以太数据交换,从而达到多机访问的目的。这无疑会增加设备组网的成本。
更重要的是,在工业环境以及电信环境中不止需要以太网传输串口数据业务,
还有可能需要其他通信方式传输,例如通过E1方式进行传输,那么就需要再
增加一套以太网到E1的协转设备,这样不仅增加了成本,同时给施工、维护
方面造成了压力。
并且,现有技术中的串口服务器不具有媒质无关接口(Media Independent
Interface,MII)数据与串口数据的转换功能。
发明内容
本发明实施例提供了一种串口服务器、协转芯片及数据传输方法,用以实
现具有MII数据与串口数据的转换功能的串口服务器。
本发明实施例提供的一种串口服务器包括:包括CPU、交换芯片,内存
DDR和闪存(flash),该串口服务器还包括:至少一个第一协转芯片;
第一协转芯片包括媒质无关接口MII和多个串口,通过MII与CPU相连,
用于从CPU接收以太网报文,从以太网报文中解析出媒体接入控制MAC地址,
确定该MAC地址对应的串口,从该串口发送该以太网报文中的数据;以及,
将从串口接收到的数据打包成以太网报文,其中携带该串口对应的MAC地址,
然后将该以太网报文发送给CPU;
所述CPU包括第一以太网口和第二以太网口,通过第一以太网口从交换
芯片接收以太网报文并解析,从中获取数据,并重新打包成以太网报文,将该
以太网报文通过第二以太网口发送给第一协转芯片;以及,CPU通过第二以太
网口接收第一协转芯片发送的以太网报文并解析,从中获取数据,并重新打包
成以太网报文后通过第一以太网口发送给交换芯片;
所述交换芯片包括多个以太网口,其中包括用于与多个主机通讯的多个以
太网口,以及用于与CPU通讯的以太网口;所述交换芯片根据从主机接收到
的以太网报文的MAC地址,将从主机接收到的以太网报文发送给CPU,以及,
根据来自CPU的以太网报文的MAC地址,将来自CPU的以太网报文发送给
主机。
本发明实施例提供的一种协转芯片,包括:介质无关接口MII和多个串口;
该协转芯片还包括:
处理模块,用于通过MII从CPU接收以太网报文,从以太网报文中解析
出媒体接入控制MAC地址,确定该MAC地址对应的串口,从该串口发送该
以太网报文中的数据;以及,将从串口接收到的数据打包成以太网报文,其中
携带该串口对应的MAC地址,然后将该以太网报文发送给CPU。
本发明实施例提供的一种数据传输的方法,包括:
第一协转芯片从CPU接收以太网报文,从以太网报文中解析出媒体接入
控制MAC地址,确定该MAC地址对应的串口,从该串口发送该以太网报文
中的数据;以及,将从串口接收到的数据打包成以太网报文,其中携带该串口
对应的MAC地址,然后将该以太网报文发送给CPU;
CPU通过第一以太网口从交换芯片接收以太网报文并解析,从中获取数
据,并重新打包成以太网报文,将该以太网报文通过第二以太网口发送给第一
协转芯片;以及,CPU通过第二以太网口接收第一协转芯片发送的以太网报文
并解析,从中获取数据,并重新打包成以太网报文后通过第一以太网口发送给
交换芯片;
交换芯片根据从主机接收到的以太网报文的MAC地址,将从主机接收到
的以太网报文发送给CPU,以及,根据来自CPU的以太网报文的MAC地址,
将来自CPU的以太网报文发送给主机。
本发明实施例提供的一种数据传输方法包括:
通过介质无关接口MII从CPU接收以太网报文,从以太网报文中解析出
媒体接入控制MAC地址,确定该MAC地址对应的串口,从该串口发送该以
太网报文中的数据;
将从串口接收到的数据打包成以太网报文,其中携带该串口对应的MAC
地址,然后将该以太网报文发送给CPU。
本发明实施例提供的串口服务器,包括CPU、交换芯片,内存和闪存
(flash),该串口服务器还包括:至少一个第一协转芯片;第一协转芯片包括
MII和多个串口,通过MII与CPU相连,用于从CPU接收以太网报文,从以
太网报文中解析出媒体接入控制MAC地址,确定该MAC地址对应的串口,
从该串口发送该以太网报文中的数据;以及,将从串口接收到的数据打包成以
太网报文,其中携带该串口对应的MAC地址,然后将该以太网报文发送给
CPU;CPU,从交换芯片接收以太网报文,将该以太网报文发送给第一协转芯
片;以及,将从第一协转芯片接收的以太网报文发送给交换芯片,从而实现了
一种具有MII数据与串口数据的转换功能的串口服务器。
附图说明
图1为本发明实施例提供的串口服务器的总体结构示意图;
图2为本发明实施例提供的第一协转芯片的结构示意图;
图3为本发明实施例提供的第一协转芯片的多芯片级联结构示意图;
图4为本发明实施例提供的以太网与串口的数据交互过程示意图;
图5为本发明实施例提供的E1接口与串口的数据交互过程示意图;
图6为本发明实施例提供的以太网与E1接口的数据交互示意图。
具体实施方式
本发明实施例提供了一种串口服务器、协转芯片及数据传输方法,用以实
现一种具有多以太网口、多E1接口、多串口的串口服务器,多以太网口间可
进行数据交换,通过任何一个以太网口都可以访问串口数据。多E1接口间可
以进行数据交换,通过E1接口同样可以访问串口数据。以太网口和E1接口之
间也可以进行数据交换,使本发明实施例兼具了E1接口与以太网口的协议转
换(简称协转)功能。并且,还可以实现MII数据与串口数据的转换。
本发明实施例提供的串口服务器,如图1所示,包括CPU、交换芯片,
DDR和flash,以及,至少一个第一协转芯片;
第一协转芯片包括MII和多个串口,通过MII与CPU相连,用于从CPU
接收以太网报文,从以太网报文中解析出媒体接入控制MAC地址,确定该
MAC地址对应的串口,从该串口发送该以太网报文中的数据;以及,将从串
口接收到的数据打包成以太网报文,其中携带该串口对应的MAC地址,然后
将该以太网报文发送给CPU;
所述CPU包括第一以太网口和第二以太网口,CPU通过第一以太网口与
交换芯片通讯,CPU通过第二以太网口与第一协转芯片通讯;CPU通过第一
以太网口从交换芯片接收以太网报文并解析,从中获取数据,并重新打包成以
太网报文,将该以太网报文通过第二以太网口发送给第一协转芯片;以及,CPU
通过第二以太网口接收第一协转芯片发送的以太网报文并解析,从中获取数
据,并重新打包成以太网报文后通过第一以太网口发送给交换芯片;
所述交换芯片包括多个以太网口,使得串口服务器可以与多台主机建立数
据通讯。其中包括用于与多个主机通讯的多个以太网口,以及用于与CPU通
讯的以太网口;所述交换芯片根据以太报文中的目的MAC地址,将包含与CPU
相同MAC地址的以太网报文发送给CPU,同样的,根据CPU发出的以太网
报文中的目的MAC地址,将报文转发给具有相同MAC地址的主机。
通过第一协转芯片,从而实现了串口服务器的MII数据与串口数据的转换
功能。
较佳地,该串口服务器还包括:至少一个第二协转芯片;
所述交换芯片的多个以太网口还包括:用于与一个或多个第二协转芯片通
讯的以太网口;
第二协转芯片通过介质无关接口MII与交换芯片相连,用于从E1接口接
收E1接口报文,将E1接口报文转换为以太网报文,将该以太网报文通过MII
发送给交换芯片;以及,通过MII从交换芯片接收以太网报文,将以太网报文
转换为E1接口报文,将该E1接口报文从E1接口发送出去。
所述交换芯片还用于根据从主机接收到的以太网报文的MAC地址,将从
主机接收到的以太网报文发送给第二协转芯片,根据来自第二协转芯片的E1
接口报文的目的MAC地址,将来自第二协转芯片的E1接口报文发送给主机;
以及,根据从CPU接收到的以太网报文的目的MAC地址,将从CPU接收到
的以太网报文发送给第二协转芯片,根据来自第二协转芯片的E1接口报文的
目的MAC地址,将来自第二协转芯片的E1接口报文发送给CPU。
通过第二协转芯片,进一步使得串口服务器可以通过E1方式进行数据传
输。
较佳地,所述CPU,从交换芯片接收以太网报文,从中获取串口标识,根
据串口标识将该以太网报文发送给该串口标识所对应的第一协转芯片。
较佳地,所述第一协转芯片中的MII,包括MII上联口和MII下联口;第
一协转芯片通过MII上联口与CPU相连,通过MII下联口与另一第一协转芯
片相连,从而使得多个第一协转芯片可以级联,串口服务器的串口数量也随之
增多。
较佳地,所述第一协转芯片中的每路串口对应一接收缓冲区,当串口的接
收缓冲区内的数据长度达到预先设置的强制发送长度的包长阈值时,所述第一
协转芯片将该接收缓冲区内的数据全部打包成以太网报文后通过MII上联口发
给CPU。
较佳地,所述第一协转芯片中的每路串口还对应一强制发送时间,进一步,
当串口在强制发送时间内没有收到数据时,将当前该串口的接收缓冲区内的数
据按照实际长度打包并通过MII上联口发给CPU。
较佳地,所述第一协转芯片从CPU接收到以太网报文时,从中解析出媒
体接入控制MAC地址,判断本地是否有该MAC地址对应的串口,如果有,
则从该串口发送该以太网报文中的数据,否则,通过MII下联口将该以太网报
文发送给另一第一协转芯片。
较佳地,所述第一协转芯片还通过控制总线与CPU相连,CPU通过控制
总线下发为第一协转芯片中的串口配置的MAC地址,使得第一协转芯片的串
口相关参数的配置更加灵活。
较佳地,不同串口对应不同的MAC地址。
丰富的接口和灵活的访问方式,使本发明实施例具有较好前景。
下面本发明实施例以双以太网口、双E1接口的串口服务器为例,进行举
例说明。
CPU选用freescale生产的具有双以太网口的MPC8314,第一个以太网接
口用于与交换芯片通讯,CPU通过交换芯片与外网互联;第二个以太网接口与
第一协转芯片(用于实现MII与串口数据的互转)通讯。
CPU的功能包括:从交换芯片侧接收以太网报文并解析,若以太网报文内
容符合约定,即包含指定串口ID、数据及数据长度,则将其中的数据从报文中
剥离出来,确定该串口ID对应的第一协转芯片,并重新打包成以太网报文,
通过第二个以太网接口发送给该第一协转芯片,第一协转芯片会根据报文内容
将数据转发至相应的串口;同样的,第一协转芯片将从串口收到的数据打包成
以太网报文,经MII发送给CPU,CPU解析收到的以太网报文,将报文中的
SA(源MAC地址)转换成相应的串口号,将以太网报文中的数据解析出来,
串口号、数据等信息再重新封装成以太网报文后,通过交换芯片发送给对端主
机。
本发明实施例选用的内存为两片64MB DDR SDRAM(dual date rate
SDRAM,双倍速率SDRAM)的内存组成128MB,闪存采用的是一片8MB flash,
保证系统快速高效的运行。
本发明实施例使用的与CPU互通的交换芯片是由Micrel Semiconductor生
产的具有5个以太口的交换芯片KS8995M,交换芯片对外提供两个以太网口,
这样就可以实现多机访问。使用另外两个MII与两片第二协转芯片(用于实现
E1接口数据与MII数据的互转,可采用现有芯片)互通,第5个MII与CPU
互通;
增加E1接口,即增加了第二协转芯片,是本发明实施例的一个创新点,
不仅增加了串口业务传输的方式,同时由于交换芯片的存在,使本发明实施例
提供的串口服务器可以作为E1接口数据与以太网数据的协转设备,应用于一
些特殊的应用环境,从而增加了产品的实用性;
本发明实施例提供的第一协转芯片,用于实现MII数据与串口数据的互转,
是本发明实施例的另一个创新点,MII分为MII上联口和MII下联口,该芯片
提供一个MII上联口,一个MII下联口,4路串口,每路串口被分配了一个唯
一的MAC地址,完成串口数据到MII上联接口之间的数据转换和传输,同时,
MII下联口的数据可以通过本芯片传输到MII上联口。MII分组数据格式,为
标准以太MAC格式,由目的地址(destination address,DA)、源地址(source
address,SA)、协议类型(type,TP)、净荷(PAYLOAD)和帧检查顺序
(FrameCheckSequence,FCS)字段组成。MII下联口提供转换芯片的级联功
能,当系统需要多个串口接入时,可以通过MII下联口向下连接多个第一协转
芯片来完成。
下面针对第一协转芯片进行详细说明。
该芯片是利用现场可编程门阵列(Field-Programmable Gate Array,即
FPGA)开发的一款协转芯片,提供一个MII上联口,一个MII下联口,4路
串口,完成串口数据到MII上联口之间的数据转换和传输,同时MII下联口的
数据可以通过本芯片传输到MII上联口。MII分组数据格式为标准以太MAC
格式,由DA/SA/TP/PAYLOAD/FCS字段组成。每路串口都被分配了一个唯一
的MAC地址,不同串口的MAC地址不同,该MAC地址可以通过控制总线
由CPU进行任意配置,第一协转芯片通过解析从MII上联口收到的以太网报
文中的MAC地址,将报文中的数据转发到片内具有相同MAC地址的串口,
如果解析出来的MAC地址在本芯片内不存在,则报文会被转发至MII下联口。
同样的,第一协转芯片将从串口接收到数据打包成标准的以太包格式,并将串
口已分配的MAC地址填入SA段,然后发送到MII上联口。MII下联口提供
协转芯片的级联功能,当系统需要多个串口接入时,可以通过下联口向下连接
多个第一协转芯片来完成。为了提高数据传输的可靠性,在MII上联口接收侧
提供报文接收状态查询指示,解决串口与MII之间由于数据突发可能造成的数
据丢失,满足数据可靠传输的要求。
第一协转芯片的结构如图2所示,各模块功能描述如下:
控制模块:CPU对协转芯片的控制是通过控制模块实现的。CPU与协转
芯片的控制模块之间采用8位宽地址数据复用总线连接,通过控制模块,CPU
可以设置并查询各串口的MAC地址、波特率、缓冲区阈值、强制发送时间、
强制发送长度等信息,并可以查询其他模块的统计信息等内容;
串口处理模块:该模块主要实现对协转芯片串口数据收发的控制,它包含
了3个子模块:第二统计模块和buffer,主要用于统计协转芯片发送字节数、
接受字节数等信息以及buffer使用情况和数据溢出情况,便于流量控制和故障
诊断;收发模块(包括TX和RX),主要是将从上位机收到的串口数据分发到
指定的串口缓冲区,并将从各串口收到的数据按照强制发送时间和强制发送长
度(见下文)等规则转发至调度模块准备封装成以太网报文;
第一统计模块:该模块主要用于统计CPU与协转芯片之间收发数据的字
节数、正确报文数、错误报文数,便于流量控制和故障诊断;
其中,所述正确报文数和错误报文数,可以通过检测FCS(Frame Check
Sequence,帧校验序列)判断报文的正确性,从而确定正确报文数和错误报文数。
MII数据处理模块:该模块主要实现MII数据的分发及统计工作,主要包
括3个子模块:第三统计模块,该模块主要用于统计协转芯片与下联协转芯片
之间收发字节数、正确报文数、错误报文数等信息,便于故障诊断;收发模块
(包括TX和RX),该子模块主要是对从上联MII收到的以太报文进行预处理,
决定报文属于本芯片还是转发至下联口,并将本芯片组织的和下联口发来的以
太报文发送至上联口;
报文处理模块:包括报文解析模块和报文封装模块,其中,报文解析模块
主要是解析以太报文,根据报文中的目的MAC地址,将净荷数据发送至下一
处理单元;报文封装模用于将从串口收到的数据重新封装成以太网报文,并将
该串口对应的MAC地址填入报文中源MAC地址的位置,然后发送至MII数
据处理模块;
该协转芯片功能如下:
提供8位数据、地址独立的并行总线供CPU访问;
每路串口具有一个收发数据统计模块,用于统计串口数据收发字节数,接
收校验错字节数。CPU可以通过控制总线获取该统计信息,用于收发数据计数
以及故障诊断,增强该协转芯片的易用性;
MII具有收发数据统计模块:MII上联口接收数据包数和发送数据包数,
本地收发数据包数,本地接收错误包数,级联口收发数据包数。这些统计信息
可以作为调试手段,从而提高了该协转芯片的易维护性;
芯片为每路串口提供了一个1024字节的接收缓冲区,即每路串口对应一
接收缓冲区,并进一步提供为从每路串口接收到的数据向MII侧发包的包长设
置,即上述强制发送长度的设置,每一接收缓冲区对应一强制发送长度,每一
接收缓冲区对应的强制发送长度可以相同,也可以不同。若没有此设置,串口
接收一个字节就会向MII上联口发送一个以太包,当串口满速接收数据时,就
会产生大量的以太包,而每个以太包只包含一个字节的有效数据,这样一来,
虽然降低了串口数据转发到MII侧的时延,但是造成了以太包利用率低下,而
且使CPU收到大量的以太包,明显增加了CPU的负荷。有了这一设置,只有
当串口的接收缓冲区内数据长度达到设置的强制发送长度的包长阈值时,芯片
才会将缓冲区内的数据全部打包成以太网报文发到MII上联口,这样就能够明
显提高以太包的利用率,减少以太包数量,降低CPU的负荷。包长阈值采用8
位寄存器设置,整个缓冲区为1024字节,因此最小设置单位为4字节,例如
设置包长阈值为16时,当缓冲区内数据达到4x16=64字节后,就会触发向MII
侧转发数据包的动作。
芯片提供每路串口接收数据向MII上联口侧的强制发送时间设置,即每一
串口对应一强制发送时间,每一串口对应的强制发送时间可以相同,也可以不
同。例如,可以采用一个8位寄存器对该时间进行设置,单位可以是100us,
最大可设置255x100us=25.5ms。强制发送时间,是指当一定时间内串口没有收
到数据后,需要将当前该串口的接收缓冲区内的数据按照实际长度打包并发送
到MII上联口。所述包长设置,可以提高以太包利用率并减少以太包数量,但
同时带来的问题是,如果接收缓冲区内接收的数据没有达到阈值,并且串口不
再有数据进来,那么就不会触发MII发送数据,这就造成了缓冲区内的部分数
据无法被及时转发到MII,因此设计了强制发送时间设置;
MII支持双向1024字节数据传输,数据采用标准MAC格式进行封装,源
MAC、目的MAC地址、类型(TYPE)域的值均由CPU配置,TYPE域默认
值为0x8810;
提供MII的级联功能,用于多块芯片的扩展;
提供MII上联口/下联口数据活动指示灯接口;
每路串口有一个独立的发送缓冲区,大小为1024字节,该缓冲区的使用
情况可以通过控制总线被CPU实时查询,用8位寄存器表示,即查询精度为
整个缓冲区的1/256,例如查询结果为100,说明当前缓冲区有100x1024÷
256=400字节数据,该查询功能可以用于防止缓冲区溢出造成数据丢失:由于
串口的发送速度远远低于MII的数据传输速度,因此CPU每次向指定串口发
送数据时,都要先查询一下该串口的发送缓冲区数据量是否达到一定阈值,例
如200(说明缓冲区有200x1024÷256=800字节数据),若达到阈值,则取消
本次发送,若缓冲区内数据量低于这一阈值,则可以向该串口发送数据;
提供串口数据活动指示灯,有数据时,以1秒频率闪烁,无数据时灭;
提供接收数据错误指示灯,有错误时,以1秒频率闪烁,无错误时灭。
综上,第一协转芯片具有良好的可扩展性,多个芯片级联可以实现4xN路
串口,级联结构如图3所示,理论上只要所有级联芯片的串口的MAC地址不
冲突就可以继续增加级联。当然,当多个芯片级联时,串口数量的随之增多,
对CPU的处理能力就会有更高要求。
并且,由此可见,本发明实施例提供的一种数据传输的方法,包括:
通过介质无关接口MII从CPU接收以太网报文,从以太网报文中解析出
媒体接入控制MAC地址,确定该MAC地址对应的串口,从该串口发送该以
太网报文中的数据;
将从串口接收到的数据打包成以太网报文,其中携带该串口对应的MAC
地址,然后将该以太网报文发送给CPU。
下面介绍一下本发明实施例的几种典型用法的数据流转过程。
一、以太网与串口的数据交互过程。
这是串口服务器的一种经典用法,如图4中虚线所示,数据报文通过以太
网接口进入串口服务器后,首先由交换芯片转发给CPU,CPU解析报文中的
串口端口号等信息,然后提取数据并重新打包成标准的以太包,将解析出来的
串口端口号转换成相应串口的MAC地址,并填入以太包中的目的地址DA段,
通过CPU与第一协转芯片的MII(MII_1接口)发送给第一协转芯片;同样的,
第一协转芯片串口接收到数据后,将串口数据组成标准的以太包,通过MII上
联口发送给CPU,CPU报文中源地址SA段转换成对应的串口端口号,重组报
文并通过CPU与交换芯片的MII(MII_0接口)发送到以太网。
二、E1与串口的数据交互过程。
E1与串口的数据交互过程,如图5中虚线所示,数据报文通过E1接口进
入串口服务器后,由第二协转芯片转换成以太网报文并发送至交换芯片,再由
交换芯片转发给CPU,CPU解析报文中的串口端口号等信息,然后提取数据
并重新打包成标准的以太包,将解析出来的串口端口号转换成相应串口的
MAC地址,并填入以太包的DA段,通过MII_1接口发送给第一协转芯片;
同样的,第一协转芯片串口接收到数据后,将串口数据组成标准的以太包通过
上联口发送给CPU,CPU将以太网包中源地址SA段转换成串口端口号,重组
报文并通过MII_0接口发送到交换芯片,交换芯片将报文转发给第二协转芯片,
第二协转芯片将以太网报文封装成E1格式的报文并发送出去。
三、以太网与E1接口的数据交互过程。
除了串口服务器的基本功能,本发明实施例还实现了以太网到E1接口的
协议转换功能,以太网与E1接口的数据交互过程,如图6中虚线所示,第二
协转芯片是一款比较常见的协转芯片,可以将以太网报文封装成E1
格式的报文,同样可以把E1格式的报文封装成以太网报文。因此,如图6中
虚线所示,收到的E1数据被第二协转芯片转换成以太网报文并转发给交换芯
片,交换芯片可以将该报文转发到相应的以太口,反之亦然。这种设计无疑会
增加串口服务器使用的灵活性。
相应地,在串口服务器侧,本发明实施例提供的一种数据传输的方法,包
括:
第一协转芯片从CPU接收以太网报文,从以太网报文中解析出媒体接入
控制MAC地址,确定该MAC地址对应的串口,从该串口发送该以太网报文
中的数据;以及,将从串口接收到的数据打包成以太网报文,其中携带该串口
对应的MAC地址,然后将该以太网报文发送给CPU;
CPU通过第一以太网口从交换芯片接收以太网报文并解析,从中获取数
据,并重新打包成以太网报文,将该以太网报文通过第二以太网口发送给第一
协转芯片;以及,CPU通过第二以太网口接收第一协转芯片发送的以太网报文
并解析,从中获取数据,并重新打包成以太网报文后通过第一以太网口发送给
交换芯片;
交换芯片根据从主机接收到的以太网报文的MAC地址,将从主机接收到
的以太网报文发送给CPU,以及,根据来自CPU的以太网报文的MAC地址,
将来自CPU的以太网报文发送给主机。
较佳地,该方法还包括:
第二协转芯片从E1接口接收E1接口报文,将E1接口报文转换为以太网
报文,将该以太网报文通过MII发送给交换芯片;以及,通过MII从交换芯片
接收以太网报文,将以太网报文转换为E1接口报文,将该E1接口报文从E1
接口发送出去;
所述交换芯片根据从主机接收到的以太网报文的MAC地址,将从主机接
收到的以太网报文发送给第二协转芯片,根据来自第二协转芯片的E1接口报
文的MAC地址,将来自第二协转芯片的E1接口报文发送给主机;以及,根
据从CPU接收到的以太网报文的MAC地址,将从CPU接收到的以太网报文
发送给第二协转芯片,根据来自第二协转芯片的E1接口报文的MAC地址,
将来自第二协转芯片的E1接口报文发送给CPU。
较佳地,所述第一协转芯片中的每路串口对应一接收缓冲区,当串口的接
收缓冲区内的数据长度达到预先设置的强制发送长度的包长阈值时,所述第一
协转芯片将该接收缓冲区内的数据全部打包成以太网报文后通过MII上联口发
给CPU。
较佳地,所述第一协转芯片中的每路串口还对应一强制发送时间,进一步,
当串口在强制发送时间内没有收到数据时,将当前该串口的接收缓冲区内的数
据按照实际长度打包并通过MII上联口发送给CPU。
较佳地,所述第一协转芯片从CPU接收到以太网报文时,从中解析出媒
体接入控制MAC地址,判断本地是否有该MAC地址对应的串口,如果有,
则从该串口发送该以太网报文中的数据,否则,通过MII下联口将该以太网报
文发送给另一第一协转芯片。
在第一协转芯片侧,本发明实施例提供的一种数据传输的方法,包括:
通过介质无关接口MII从CPU接收以太网报文,从以太网报文中解析出
媒体接入控制MAC地址,确定该MAC地址对应的串口,从该串口发送该以
太网报文中的数据;
将从串口接收到的数据打包成以太网报文,其中携带该串口对应的MAC
地址,然后将该以太网报文发送给CPU。
综上所述,本发明实施例中设计的串口服务器包括多以太口、多E1接口,
有效的解决了多机访问、E1链路传输等问题,并能够提供E1接口与以太网的
协转功能,使本发明实施例能够适应多种应用环境,并降低了成本。并且,第
一协转芯片,创新的实现了MII与串口数据的转换功能,并允许多芯片级联实
现4xN串口服务器,大大的增加了开发的灵活性。经过严格的测试和广泛的应
用,本发明实施例提供的串口服务器的应用更广泛、数据转换效率高、运行稳
定可靠,大大降低成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计
算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结
合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包
含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和
光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产
品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和
/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/
或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入
式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算
机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一
个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设
备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中
的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个
流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使
得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处
理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个
流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及
其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。