CN102624738B - 一种串口服务器、协转芯片及数据传输方法 - Google Patents
一种串口服务器、协转芯片及数据传输方法 Download PDFInfo
- Publication number
- CN102624738B CN102624738B CN201210085810.2A CN201210085810A CN102624738B CN 102624738 B CN102624738 B CN 102624738B CN 201210085810 A CN201210085810 A CN 201210085810A CN 102624738 B CN102624738 B CN 102624738B
- Authority
- CN
- China
- Prior art keywords
- ethernet
- chip
- cpu
- message
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 119
- 230000005540 biological transmission Effects 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004806 packaging method and process Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000001131 transforming effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种串口服务器、协转芯片及数据传输方法,用以实现具有MII数据与串口数据的转换功能的串口服务器。本发明提供的一种串口服务器包括:至少一个第一协转芯片;第一协转芯片包括MII和多个串口,通过MII与CPU相连,用于从CPU接收以太网报文,从以太网报文中解析出媒体接入控制MAC地址,确定该MAC地址对应的串口,从该串口发送该以太网报文中的数据;以及,将从串口接收到的数据打包成以太网报文,其中携带该串口对应的MAC地址,然后将该以太网报文发送给CPU;CPU,从交换芯片接收以太网报文,将该以太网报文发送给第一协转芯片;以及,将从第一协转芯片接收的以太网报文发送给交换芯片。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种串口服务器、协转芯片及数据传输方法。
背景技术
串口服务器是一种工业上常用的协议转换设备,串口设备通过串口服务器可以将串口数据通过以太网传输到远端的主机或其他以太网接口设备,同样的,远端以太网接口设备可以通过串口服务器将以太业务转换成串口业务传输给串口设备,从而实现串口设备与以太网接口设备的数据互传。
目前市场上的大多数串口服务器都是只有一个以太网口和多个串口,只能实现以太网数据与串口数据之间的互转,并且通过以太网口只能同一台主机建立数据通讯。若要串口服务器能够与多主机通讯,还需要增加一台交换机来完成以太数据交换,从而达到多机访问的目的。这无疑会增加设备组网的成本。更重要的是,在工业环境以及电信环境中不止需要以太网传输串口数据业务,还有可能需要其他通信方式传输,例如通过E1方式进行传输,那么就需要再增加一套以太网到E1的协转设备,这样不仅增加了成本,同时给施工、维护方面造成了压力。
并且,现有技术中的串口服务器不具有媒质无关接口(Media IndependentInterface,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 rateSDRAM,双倍速率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)、源地址(sourceaddress,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 CheckSequence,帧校验序列)判断报文的正确性,从而确定正确报文数和错误报文数。
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串口服务器,大大的增加了开发的灵活性。经过严格的测试和广泛的应用,本发明实施例提供的串口服务器的应用更广泛、数据转换效率高、运行稳定可靠,大大降低成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种串口服务器,包括CPU、交换芯片,内存DDR和闪存flash,其特征在于,该串口服务器还包括:至少一个第一协转芯片;
第一协转芯片包括媒质无关接口MII和多个串口,通过MII与CPU相连,用于从CPU接收以太网报文,从以太网报文中解析出媒体接入控制MAC地址,确定该MAC地址对应的串口,从该串口发送该以太网报文中的数据;以及,将从串口接收到的数据打包成以太网报文,其中携带该串口对应的MAC地址,然后将该以太网报文发送给CPU;
所述CPU包括第一以太网口和第二以太网口,CPU通过第一以太网口从交换芯片接收以太网报文并解析,从中获取数据,并重新打包成以太网报文,将该以太网报文通过第二以太网口发送给第一协转芯片;以及,CPU通过第二以太网口接收第一协转芯片发送的以太网报文并解析,从中获取数据,并重新打包成以太网报文后通过第一以太网口发送给交换芯片;
所述交换芯片包括多个以太网口,其中包括用于与多个主机通讯的多个以太网口,以及用于与CPU通讯的以太网口;所述交换芯片根据从主机接收到的以太网报文的目的MAC地址,将从主机接收到的以太网报文发送给CPU,以及,根据来自CPU的以太网报文的目的MAC地址,将来自CPU的以太网报文发送给主机;
其中,
所述第一协转芯片中的MII,包括MII上联口和MII下联口;第一协转芯片通过MII上联口与CPU相连,通过MII下联口与另一第一协转芯片相连;
所述第一协转芯片中的每路串口对应一接收缓冲区,当串口的接收缓冲区内的数据长度达到预先设置的强制发送长度的包长阈值时,所述第一协转芯片将该接收缓冲区内的数据全部打包成以太网报文后通过MII上联口发给CPU。
2.根据权利要求1所述的串口服务器,其特征在于,该串口服务器还包括:至少一个第二协转芯片;
所述交换芯片的多个以太网口还包括:用于与一个或多个第二协转芯片通讯的以太网口;
第二协转芯片通过介质无关接口MII与交换芯片相连,用于从E1接口接收E1接口报文,将E1接口报文转换为以太网报文,将该以太网报文通过MII发送给交换芯片;以及,通过MII从交换芯片接收以太网报文,将以太网报文转换为E1接口报文,将该E1接口报文从E1接口发送出去;
所述交换芯片还用于根据从主机接收到的以太网报文的MAC地址,将从主机接收到的以太网报文发送给第二协转芯片,根据来自第二协转芯片的E1接口报文的目的MAC地址,将来自第二协转芯片的E1接口报文发送给主机;以及,根据从CPU接收到的以太网报文的目的MAC地址,将从CPU接收到的以太网报文发送给第二协转芯片,根据来自第二协转芯片的E1接口报文的目的MAC地址,将来自第二协转芯片的E1接口报文发送给CPU。
3.根据权利要求1所述的串口服务器,其特征在于,所述CPU,从交换芯片接收以太网报文,从中获取串口标识,根据串口标识将该以太网报文发送给该串口标识所对应的第一协转芯片。
4.根据权利要求1所述的串口服务器,其特征在于,所述第一协转芯片中的每路串口还对应一强制发送时间,进一步,当串口在强制发送时间内没有收到数据时,将当前该串口的接收缓冲区内的数据按照实际长度打包并通过MII上联口发给CPU。
5.根据权利要求1所述的串口服务器,其特征在于,所述第一协转芯片从CPU接收到以太网报文时,从中解析出媒体接入控制MAC地址,判断本地是否有该MAC地址对应的串口,如果有,则从该串口发送该以太网报文中的数据,否则,通过MII下联口将该以太网报文发送给另一第一协转芯片。
6.根据权利要求5所述的串口服务器,其特征在于,所述第一协转芯片还通过控制总线与CPU相连,CPU通过控制总线下发为第一协转芯片中的串口配置的MAC地址。
7.根据权利要求6所述的串口服务器,其特征在于,不同串口对应不同的MAC地址。
8.一种协转芯片,其特征在于,该协转芯片包括:介质无关接口MII和多个串口;
该协转芯片还包括:
处理模块,用于通过MII从CPU接收以太网报文,从以太网报文中解析出媒体接入控制MAC地址,确定该MAC地址对应的串口,从该串口发送该以太网报文中的数据;以及,将从串口接收到的数据打包成以太网报文,其中携带该串口对应的MAC地址,然后将该以太网报文发送给CPU;
其中,
所述MII,包括MII上联口和MII下联口;该协转芯片通过MII上联口与CPU相连,通过MII下联口与另一协转芯片相连;
该协转芯片中的每路串口对应一接收缓冲区,当串口的接收缓冲区内的数据长度达到预先设置的强制发送长度的包长阈值时,该协转芯片将该接收缓冲区内的数据全部打包成以太网报文后通过MII上联口发给CPU。
9.根据权利要求8所述的协转芯片,其特征在于,所述处理模块,从CPU接收到以太网报文时,从中解析出媒体接入控制MAC地址,判断本地是否有该MAC地址对应的串口,如果有,则从该串口发送该以太网报文中的数据,否则,通过MII下联口将该以太网报文发送给另一协转芯片。
10.一种数据传输的方法,其特征在于,该方法包括:
第一协转芯片从CPU接收以太网报文,从以太网报文中解析出媒体接入控制MAC地址,确定该MAC地址对应的串口,从该串口发送该以太网报文中的数据;以及,将从串口接收到的数据打包成以太网报文,其中携带该串口对应的MAC地址,然后将该以太网报文发送给CPU;
CPU通过第一以太网口从交换芯片接收以太网报文并解析,从中获取数据,并重新打包成以太网报文,将该以太网报文通过第二以太网口发送给第一协转芯片;以及,CPU通过第二以太网口接收第一协转芯片发送的以太网报文并解析,从中获取数据,并重新打包成以太网报文后通过第一以太网口发送给交换芯片;
交换芯片根据从主机接收到的以太网报文的MAC地址,将从主机接收到的以太网报文发送给CPU,以及,根据来自CPU的以太网报文的MAC地址,将来自CPU的以太网报文发送给主机;
其中,所述第一协转芯片包括媒质无关接口MII,所述MII包括MII上联口和MII下联口;该协转芯片通过MII上联口与CPU相连,通过MII下联口与另一协转芯片相连;
所述第一协转芯片中的每路串口对应一接收缓冲区,当串口的接收缓冲区内的数据长度达到预先设置的强制发送长度的包长阈值时,所述第一协转芯片将该接收缓冲区内的数据全部打包成以太网报文后通过MII上联口发给CPU。
11.根据权利要求10所述的方法,其特征在于,该方法还包括:
第二协转芯片从E1接口接收E1接口报文,将E1接口报文转换为以太网报文,将该以太网报文通过MII发送给交换芯片;以及,通过MII从交换芯片接收以太网报文,将以太网报文转换为E1接口报文,将该E1接口报文从E1接口发送出去;
所述交换芯片根据从主机接收到的以太网报文的MAC地址,将从主机接收到的以太网报文发送给第二协转芯片,根据来自第二协转芯片的E1接口报文的MAC地址,将来自第二协转芯片的E1接口报文发送给主机;以及,根据从CPU接收到的以太网报文的MAC地址,将从CPU接收到的以太网报文发送给第二协转芯片,根据来自第二协转芯片的E1接口报文的MAC地址,将来自第二协转芯片的E1接口报文发送给CPU。
12.根据权利要求10所述的方法,其特征在于,所述第一协转芯片中的每路串口还对应一强制发送时间,进一步,当串口在强制发送时间内没有收到数据时,将当前该串口的接收缓冲区内的数据按照实际长度打包并通过MII上联口发送给CPU。
13.根据权利要求10所述的方法,其特征在于,所述第一协转芯片从CPU接收到以太网报文时,从中解析出媒体接入控制MAC地址,判断本地是否有该MAC地址对应的串口,如果有,则从该串口发送该以太网报文中的数据,否则,通过MII下联口将该以太网报文发送给另一第一协转芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210085810.2A CN102624738B (zh) | 2012-03-28 | 2012-03-28 | 一种串口服务器、协转芯片及数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210085810.2A CN102624738B (zh) | 2012-03-28 | 2012-03-28 | 一种串口服务器、协转芯片及数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102624738A CN102624738A (zh) | 2012-08-01 |
CN102624738B true CN102624738B (zh) | 2014-08-27 |
Family
ID=46564422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210085810.2A Active CN102624738B (zh) | 2012-03-28 | 2012-03-28 | 一种串口服务器、协转芯片及数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102624738B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179054B (zh) * | 2013-03-11 | 2016-01-20 | 鼎点视讯科技有限公司 | 用于光网络单元的控制面板及控制方法 |
CN103746943B (zh) * | 2013-12-23 | 2017-04-19 | 汉柏科技有限公司 | 创建vlan子接口的方法和使用该方法的交换芯片 |
CN104486247A (zh) * | 2014-12-16 | 2015-04-01 | 北京东土科技股份有限公司 | 一种基于串口服务器的数据传输方法及装置 |
CN104811350A (zh) * | 2015-03-27 | 2015-07-29 | 深圳极智联合科技股份有限公司 | 光网络单元的测试系统和测试方法 |
CN105812346B (zh) * | 2015-12-12 | 2019-03-29 | 重庆川仪自动化股份有限公司 | 一种串口设备和以太网设备的数据交互方法 |
CN106528486A (zh) * | 2016-11-09 | 2017-03-22 | 湖南戈人自动化科技有限公司 | 一种串口数据交换的方法 |
CN108271087B (zh) * | 2016-12-30 | 2020-04-24 | 深圳市中兴微电子技术有限公司 | 一种数据交换系统及方法 |
CN106921672B (zh) * | 2017-03-28 | 2023-12-22 | 南京国电南自维美德自动化有限公司 | 一种基于交换芯片的多网口多cpu的规约转换装置 |
CN109842601B (zh) * | 2017-11-29 | 2023-09-19 | 中国科学院沈阳自动化研究所 | 载人潜水器串口数据采集与转发装置 |
CN109936564A (zh) * | 2019-01-24 | 2019-06-25 | 秦皇岛职业技术学院 | 一种基于网络的信息安全服务管理系统及方法 |
CN112181743B (zh) * | 2020-09-24 | 2023-04-11 | 中车青岛四方车辆研究所有限公司 | 一种串口设备的陪测装置 |
CN113518076A (zh) * | 2021-05-23 | 2021-10-19 | 江苏吾吉信息科技有限责任公司 | 基于hdlc的串口以太网协议互转系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141421A (zh) * | 2007-09-27 | 2008-03-12 | 苏州工业园区新大诚科技发展有限公司 | 以太网接口转换器 |
CN101764729A (zh) * | 2009-12-09 | 2010-06-30 | 熊伟 | 一种具有交换功能的串口服务器 |
CN202035013U (zh) * | 2011-05-19 | 2011-11-09 | 厦门福信光电集成有限公司 | 基于gfp的多e1到以太网协议转换器 |
CN202094924U (zh) * | 2010-09-14 | 2011-12-28 | 中国移动通信集团浙江有限公司 | 一种串口服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100204842A1 (en) * | 2009-02-08 | 2010-08-12 | Atomic Energy Council-Institute Of Nuclear Energy Research | Central Monitor and Control Device for High-Concentration Photovoltaic System |
-
2012
- 2012-03-28 CN CN201210085810.2A patent/CN102624738B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141421A (zh) * | 2007-09-27 | 2008-03-12 | 苏州工业园区新大诚科技发展有限公司 | 以太网接口转换器 |
CN101764729A (zh) * | 2009-12-09 | 2010-06-30 | 熊伟 | 一种具有交换功能的串口服务器 |
CN202094924U (zh) * | 2010-09-14 | 2011-12-28 | 中国移动通信集团浙江有限公司 | 一种串口服务器 |
CN202035013U (zh) * | 2011-05-19 | 2011-11-09 | 厦门福信光电集成有限公司 | 基于gfp的多e1到以太网协议转换器 |
Also Published As
Publication number | Publication date |
---|---|
CN102624738A (zh) | 2012-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102624738B (zh) | 一种串口服务器、协转芯片及数据传输方法 | |
US10868767B2 (en) | Data transmission method and apparatus in optoelectronic hybrid network | |
US9967201B2 (en) | Data transmission method, core forwarding device, and endpoint forwarding device | |
CN107426246B (zh) | 基于FPGA的万兆以太网和RapidIO协议间高速数据交换系统 | |
CN202261360U (zh) | 一种测试路由器数据通路鲁棒性的装置 | |
CN113709047B (zh) | 一种汽车域控制器数据转发系统及方法 | |
CN100495985C (zh) | 快速检测以太网交换机环路故障的方法 | |
CN102185833B (zh) | 一种基于fpga的fc i/o并行处理方法 | |
CN110177058B (zh) | 一种基于fpga的以太网交换板卡状态监控收发装置 | |
CN104980988A (zh) | 多链路聚合的无线通信系统及方法 | |
US20170052914A1 (en) | Network controller - sideband interface port controller | |
CN104717150A (zh) | 交换装置及丢包方法 | |
CN102098187B (zh) | 一种测试路由器数据通路鲁棒性的方法和系统 | |
CN103152220A (zh) | 一种利用以太网交换机进行Full Mesh性能测试的方法 | |
CN104869028A (zh) | 网络装置与回路检测方法 | |
CN105577566A (zh) | 报文汇聚传输的方法、装置和系统 | |
US9203895B1 (en) | System and method for lateral connection between interface devices with bypass of external network | |
CN109982384B (zh) | 报文转发方法、装置、网络设备及介质 | |
CN113938443B (zh) | 一种无线物联网协议交换机 | |
CN113765721B (zh) | 一种基于fpga的以太网远程配置装置 | |
CN114124856B (zh) | 一种流量控制的方法、装置及存储介质 | |
CN209805842U (zh) | 一种基于zynq的网络发包机 | |
CN112702313B (zh) | 高速udp数据发送系统及方法 | |
CN108712242B (zh) | 分组设备内提升信令处理能力的系统及方法 | |
CN105282053A (zh) | 避免网络交换芯片输出队头阻塞的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |