一种数据通信的方法及装置的制造方法

文档序号:10654524阅读:369来源:国知局
一种数据通信的方法及装置的制造方法
【专利摘要】本发明公开了一种数据通信的方法及装置,该方法包括:FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号;所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU。该方法在实现多路以太网与单个CPU双向通信的同时,能够提高带宽利用率,稳定地将多路百兆以太网信号采集,并且在上传数据时不会产生大量的中断,从而降低了对CPU资源的占用,在整体上提高系统性能。
【专利说明】
_种数据通信的方法及装置
技术领域
[0001]本发明实施例涉及通信的技术领域,尤其涉及一种数据通信的方法及装置。
【背景技术】
[0002]随着以太网的普及以及与之相关的器件成本降低,以太网通信已成为了进行长距离稳定通信的首选实现方法,所以大多数终端设备都留有至少一个以太网接口,以便完成数据的上报和下发。目前,市场上存在很多基于以太网的数据采集卡。其设计架构大多数是以交换芯片为数据处理核心,数据采集端为挂接在交换芯片上的多个物理层(PhysicalLayer,PHY)芯片。
[0003]数据上传端为挂接在交换芯片上的一个PHY芯片。在上报以太网数据时,多路数据通过交换芯片外挂的多个PHY芯片进入交换芯片,然后由交换芯片进行存储转发,最后通过PHY芯片上传到中央处理器(Central Processing Unit,CPU)。在下发数据时,所述CI3U将数据包通过PHY传输到交换芯片,交换芯片通过解封数据包,再确定需要转发到采集端的哪一个PHY。通过这种方式可以完成多路以太网接口与单个CPU之间的双向通信。
[0004]由于采集卡在上报数据给CPU时,会通过中断方式通知CPU。当数据需要频繁上报时,CPU需要耗费大量的资源和时间来响应中断,从而降低系统性能。另外,由于以太包的发送存在长度至少为96bits的帧间隙和长度为SBytes的引导码。当上报的以太包长度较短时,这会造成上报数据中存在大量的无效数据,从而降低带宽的利用率。

【发明内容】

[0005]本发明实施例的目的在于提出一种数据通信的方法及装置,旨在解决如何减少占用CPU宝贵的资源、提高带宽利用率的问题。
[0006]为达此目的,本发明实施例采用以下技术方案:
[0007]第一方面,一种数据通信的方法,所述方法包括:
[0008]FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号;
[0009]所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU。
[0010]优选地,所述FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号,包括:
[0011]所述以太网信号进入光电转换器件SFPl,经过光电转换后变为电信号,以SerDes串行信号格式传输到所述物理层芯片,所述物理层芯片对SerDes串行信号格式的电信号进行解串,且将解串后的电信号变为并行信号,并通过MII总线传输到所述FPGA芯片。
[0012]优选地,所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU,包括:
[0013]所述FPGA芯片轮流对至少一个上行通道的并行信号的数据包进行缓存,并记录对应的时间戳和通道号,对所有的数据包根据预设格式进行组包;
[0014]组包后,经过MAC核进行以太包封包,封包后通过GMII总线传输到SGMII核,所述SGMII核再将封包后的数据包传输到SerDes核,所述SerDes核将数据包串行化后上报给所述 CPU。
[0015]优选地,所述方法还包括:
[0016]所述CPU将需要下发给各个通道的数据包以预设格式封包、串行化,通过SerDes串行通道传输到所述FPGA芯片;
[0017]所述FPGA芯片对下发的数据包进行解包,查找下发到各个通道对应的数据包,再通过MII总线传输到对应的物理层芯片中,经所述物理层芯片进行串行化后传输到所述光电转换器件SFPl,经行光电转换后发送到以太网。
[0018]优选地,所述FPGA芯片为Lattice ECP3-17 FPGA芯片。
[0019 ]第二方面,一种数据通信的装置,所述装置包括:
[0020]第一接收模块,用于物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号;
[0021 ]第一处理模块,用于提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU。
[0022]优选地,所述第一接收模块,用于:
[0023]所述以太网信号进入光电转换器件SFPl,经过光电转换后变为电信号,以SerDes串行信号格式传输到所述物理层芯片,所述物理层芯片对SerDes串行信号格式的电信号进行解串,且将解串后的电信号变为并行信号,并通过MII总线传输到所述FPGA芯片。
[0024]优选地,所述第一处理模块,用于:
[0025]轮流对至少一个上行通道的并行信号的数据包进行缓存,并记录对应的时间戳和通道号,对所有的数据包根据预设格式进行组包;
[0026]组包后,经过MAC核进行以太包封包,封包后通过GMII总线传输到SGMII核,所述SGMII核再将封包后的数据包传输到SerDes核,所述SerDes核将数据包串行化后上报给所述 CPU。
[0027]优选地,所述装置还包括:
[0028]第二接收模块,用于接收所述CPU通过SerDes串行通道发送给各个通道的以预设格式封包、串行化的数据包;
[0029]第二处理模块,用于对下发的数据包进行解包,查找下发到各个通道对应的数据包,再通过MII总线传输到对应的物理层芯片中,经所述物理层芯片进行串行化后传输到所述光电转换器件SFPl,经行光电转换后发送到以太网。
[0030]优选地,所述FPGA芯片为Lattice ECP3-17 FPGA芯片。
[0031]本发明实施例提供一种数据通信的方法及装置,FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号;所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU,在实现多路以太网与单个CPU双向通信的同时,能够少占用CPU宝贵的资源,提高带宽利用率,稳定地将多路百兆以太网信号采集的同时,在上传数据是不会产生大量的中断,从而降低了对CPU资源的占用,在整体上提高系统性能。
【附图说明】
[0032]图1是本发明实施例提供的一种数据通信的方法的流程示意图;
[0033]图2是本发明实施例提供的另一种数据通信的方法的流程示意图;
[0034]图3是本发明实施例提供的另一种数据通信的方法的流程示意图;
[0035]图4是本发明实施例提供的一种数据通信的装置的功能模块示意图。
【具体实施方式】
[0036]下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
[0037]参考图1,图1是本发明实施例提供的一种数据通信的方法的流程示意图。
[0038]在图1中,所述数据通信的方法包括:
[0039]步骤101,FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号;
[0040]具体的,如图2所示,图2可以实现8路百兆以太网接口与单个CPU的高效通信。
[0041]优选地,所述FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号,包括:
[0042]所述以太网信号进入光电转换器件SFPl,经过光电转换后变为电信号,以SerDes串行信号格式传输到所述物理层芯片,所述物理层芯片对SerDes串行信号格式的电信号进行解串,且将解串后的电信号变为并行信号,并通过MII总线传输到所述FPGA芯片。
[0043]步骤102,所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU。
[0044]优选地,所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU,包括:
[0045]所述FPGA芯片轮流对至少一个上行通道的并行信号的数据包进行缓存,并记录对应的时间戳和通道号,对所有的数据包根据预设格式进行组包;
[0046]组包后,经过MAC核进行以太包封包,封包后通过GMII总线传输到SGMII核,所述SGMII核再将封包后的数据包传输到SerDes核,所述SerDes核将数据包串行化后上报给所述 CPU。
[0047]具体的,在上行通道中,以其中一路为例,其他通路工作原理一样。以太网信号从rl进入光/电转换器件SFPl经过光/电转换后变为电信号通过srl以SerDes串行信号格式传输到PHYl,物理层芯片PHYl对SerDes信号进行解串将其变为并行信号,并通过MII总线传输至IJFPGA芯片,FPGA芯片将几路上行通道中数据包进行解包,提取有用信息,标记时间戳以及相应数据包相应的来源通道,然后将这些包按照自定义格式重新组织,并进行串行化,最后通过SerDes串行通道sr9上传到CPU作处理分析。
[0048]其中4142 43 4445 46 47 48:系统的以太网输出,下行信号;
[0049]rl,r2,r3,r4,r5,r6,r7,r8:系统的以太网输入,上行信号;
[0050]SFPl,SFP2,SFP3,SFP4,SFP5,SFP6,SFP7,SFP8:SFP(Smal I Form-factorPluggable transceiver,小封装可插拔收发器)光电转换模块;
[0051 ] sr l_sr8:光电输出模块的serdes信号输入,属于上行信号;
[0052]stl_st8:光电输出模块的serdes信号输出,下行信号;
[0053 ] PHYl -PHY8:物理层芯片,完成SerDer信号和MII总线信号的相互转换;
[0054]ml-m8:MII总线,双向信号,FPGA芯片通过MII接口与PHY芯片通信;
[0055]FPGA:FPGA(Field—ProgrammabIe Gate Array,即现场可编程门阵列)芯片,在此系统中完成以太网包的解/封包,以太网包的时间戳标记,按自定义包格式解/封包,数据包上报/下发控制等功能;
[0056]CPU:作为系统的管理单元,对上报数据进行处理分析以及往各采集端下发应答和控制命令;
[0057]elk:时钟模块,为整个系统工作提供时钟。
[0058]优选地,所述方法还包括:
[0059]所述CPU将需要下发给各个通道的数据包以预设格式封包、串行化,通过SerDes串行通道传输到所述FPGA芯片;
[0060]所述FPGA芯片对下发的数据包进行解包,查找下发到各个通道对应的数据包,再通过MII总线传输到对应的物理层芯片中,经所述物理层芯片进行串行化后传输到所述光电转换器件SFPl,经行光电转换后发送到以太网。
[0061]其中,所述FPGA芯片为LatticeECP3-17 FPGA芯片。
[0062]具体的,如图2所示,在下行通道中,以其中一路为例,其他通路工作原理一样。CPU将需要下发给各个通道的数据以自定义格式封包作串行化,然后通过SerDes串行通道st9传输到FPGA芯片,FPGA芯片对下发包进行解包,找出下发到各个通道对应的数据内容,然后通过MII总线传输到对应的PHYl芯片中,数据经PHY芯片进行串行化之后被传输到光电转换器件SFPl,经行光电转换后经tl发送到以太网。
[0063]另参考图3,在实际使用时,数据上行的操作是这样的,百兆以太网信号经过光/电转换模块转换为电信号,然后经串行SerDes通道进入百兆以太网物理层芯片进行解串和时钟恢复,紧接着通过MII总线传输到Lattice ECP3-17 FPGA芯片(FPGA芯片内部为用户自己编写的解/封包逻辑模块,上行/下行通道选择模块,数据缓存模块,Lattice厂商提供的MAC,SGMII ,SerDes等IP核),FPGA芯片轮流对8个上行通道的数据包进行缓存,同时记录数据包的时间戳和通道号。然后对所有数据包按照用户自定义的格式组包。组包完毕后,经过MAC核进行以太包封包,封包完毕后通过GMII总线传输到SGMII核,SGMII核再将器传输到SerDes核,SerDes核将数据包串行化后上报给T1040。
[0064]而数据下行的操作则如下,T1040按用户自定义的格式将要下发的数据和控制命令组包,再进行以太包封包。封包完毕后经过SerDe s通道传输至FPGA,FPGA将数据包解包,然后通过选择器分别将数据包送到对应的通道,然后经过百兆以太网PHY串行化和光/电转换模块转换为光信号后发送到以太网。
[0065]本发明实施例提供一种数据通信的方法,FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号;所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU,在实现多路以太网与单个CPU双向通信的同时,能够少占用CPU宝贵的资源,提高带宽利用率,稳定地将多路百兆以太网信号采集的同时,在上传数据时不会产生大量的中断,从而降低了对CPU资源的占用,在整体上提尚系统性能。
[0066]参考图4,图4是本发明实施例提供的一种数据通信的装置的功能模块示意图。
[0067]在图4中,所述数据通信的装置包括:
[0068]第一接收模块401,用于物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号;
[0069]优选地,所述第一接收模块401,用于:
[0070]所述以太网信号进入光电转换器件SFPl,经过光电转换后变为电信号,以SerDes串行信号格式传输到所述物理层芯片,所述物理层芯片对SerDes串行信号格式的电信号进行解串,且将解串后的电信号变为并行信号,并通过MII总线传输到所述FPGA芯片。
[0071 ]第一处理模块402,用于提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU。
[0072]优选地,所述第一处理模块402,用于:
[0073]轮流对至少一个上行通道的并行信号的数据包进行缓存,并记录对应的时间戳和通道号,对所有的数据包根据预设格式进行组包;
[0074]组包后,经过MAC核进行以太包封包,封包后通过GMII总线传输到SGMII核,所述SGMII核再将封包后的数据包传输到SerDes核,所述SerDes核将数据包串行化后上报给所述 CPU。
[0075]优选地,所述装置还包括:
[0076]第二接收模块,用于接收所述CPU通过SerDes串行通道发送给各个通道的以预设格式封包、串行化的数据包;
[0077]第二处理模块,用于对下发的数据包进行解包,查找下发到各个通道对应的数据包,再通过MII总线传输到对应的物理层芯片中,经所述物理层芯片进行串行化后传输到所述光电转换器件SFPl,经行光电转换后发送到以太网。
[0078]其中,所述FPGA芯片为LatticeECP3-17 FPGA芯片。
[0079]本发明实施例提供一种数据通信的装置,FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号;所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU,在实现多路以太网与单个CPU双向通信的同时,能够少占用CPU宝贵的资源,提高带宽利用率,稳定地将多路百兆以太网信号采集的同时,在上传数据是不会产生大量的中断,从而降低了对CPU资源的占用,在整体上提尚系统性能。
[0080]以上结合具体实施例描述了本发明实施例的技术原理。这些描述只是为了解释本发明实施例的原理,而不能以任何方式解释为对本发明实施例保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明实施例的其它【具体实施方式】,这些方式都将落入本发明实施例的保护范围之内。
【主权项】
1.一种数据通信的方法,其特征在于,所述方法包括: FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号; 所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU。2.根据权利要求1所述的方法,其特征在于,所述FPGA芯片接收物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号,包括: 所述以太网信号进入光电转换器件SFPl,经过光电转换后变为电信号,以SerDes串行信号格式传输到所述物理层芯片,所述物理层芯片对SerDes串行信号格式的电信号进行解串,且将解串后的电信号变为并行信号,并通过MII总线传输到所述FPGA芯片。3.根据权利要求1所述的方法,其特征在于,所述FPGA芯片提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU,包括: 所述FPGA芯片轮流对至少一个上行通道的并行信号的数据包进行缓存,并记录对应的时间戳和通道号,对所有的数据包根据预设格式进行组包; 组包后,经过MAC核进行以太包封包,封包后通过GMII总线传输到SGMII核,所述SGMII核再将封包后的数据包传输到SerDes核,所述SerDes核将数据包串行化后上报给所述CPU。4.根据权利要求1至3任意一项所述的方法,其特征在于,所述方法还包括: 所述CPU将需要下发给各个通道的数据包以预设格式封包、串行化,通过SerDes串行通道传输到所述FPGA芯片; 所述FPGA芯片对下发的数据包进行解包,查找下发到各个通道对应的数据包,再通过MII总线传输到对应的物理层芯片中,经所述物理层芯片进行串行化后传输到所述光电转换器件SFPl,经行光电转换后发送到以太网。5.根据权利要求4所述的方法,其特征在于,所述FPGA芯片为LatticeECP3-17FPGA芯片。6.一种数据通信的装置,其特征在于,所述装置包括: 第一接收模块,用于物理层芯片发送的并行信号,所述并行信号为以太网信号经过光电转换变为电信号后,以预设串行信号的格式传输到所述物理层芯片进行串并转换后的信号; 第一处理模块,用于提取所述并行信号中的数据包,并将所述数据包根据预设格式进行处理后,发送给CPU。7.根据权利要求6所述的装置,其特征在于,所述第一接收模块,用于: 所述以太网信号进入光电转换器件SFPl,经过光电转换后变为电信号,以SerDes串行信号格式传输到所述物理层芯片,所述物理层芯片对SerDes串行信号格式的电信号进行解串,且将解串后的电信号变为并行信号,并通过MII总线传输到所述FPGA芯片。8.根据权利要求6所述的装置,其特征在于,所述第一处理模块,用于: 轮流对至少一个上行通道的并行信号的数据包进行缓存,并记录对应的时间戳和通道号,对所有的数据包根据预设格式进行组包; 组包后,经过MAC核进行以太包封包,封包后通过GMII总线传输到SGMII核,所述SGMII核再将封包后的数据包传输到SerDes核,所述SerDes核将数据包串行化后上报给所述CPU。9.根据权利要求6至8任意一项所述的装置,其特征在于,所述装置还包括: 第二接收模块,用于接收所述CPU通过SerDes串行通道发送给各个通道的以预设格式封包、串行化的数据包; 第二处理模块,用于对下发的数据包进行解包,查找下发到各个通道对应的数据包,再通过MII总线传输到对应的物理层芯片中,经所述物理层芯片进行串行化后传输到所述光电转换器件SFPl,经行光电转换后发送到以太网。10.根据权利要求9所述的装置,其特征在于,所述FPGA芯片为LatticeECP3-17FPGA芯片。
【文档编号】G06F15/78GK106021172SQ201610377147
【公开日】2016年10月12日
【申请日】2016年5月31日
【发明人】梁猷强
【申请人】积成电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1