CN102739555B - 一种数据传输方法及数据接口卡 - Google Patents
一种数据传输方法及数据接口卡 Download PDFInfo
- Publication number
- CN102739555B CN102739555B CN201210256982.1A CN201210256982A CN102739555B CN 102739555 B CN102739555 B CN 102739555B CN 201210256982 A CN201210256982 A CN 201210256982A CN 102739555 B CN102739555 B CN 102739555B
- Authority
- CN
- China
- Prior art keywords
- data
- effective data
- effective
- interface
- format
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据接口卡,包括现场可编程门阵列(FPGA)、专用集成电路和第一随机存储模块和第二随机存储模块;所述FPGA用于接收来自上联接口的第一格式数据,将所述第一格式数据进行串并转换后解封装,提取出有效数据和下联接口的端口号,并生成有效数据对应的存储状态信息;将所述有效数据存储到第一随机存储模块,将所述有效数据对应的存储状态信息和下联接口的端口号存储到第二随机存储模块;以及根据从第二随机存储模块中读取的有效数据的存储状态信息从第一随机存储模块中读取对应的有效数据并恢复为数据包,根据从第二随机存储模块中读取的下联接口的端口号将所述数据包发送至专用集成电路。本申请还公开了一种数据传输方法。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据传输方法及数据接口卡。
背景技术
在数据存储技术领域的实际应用中,会遇到上联接口类型与下联接口类型不同的情况,上联接口和下联接口的最大区别主要表现在数据格式与速率的不同。为了实现不同接口之间的数据传输,一般会用现场可编程门阵列(FPGA,Field ProgrammableGate Array)来实现数据格式的转换,并且用FPGA外部的随机存储器(RAM,RandomAccess Memory)做缓冲实现不同速率的匹配。
下面以上联接口为万兆以太网接口,下联接口为同步数字体系上的分组技术(POS,Pakage Over Synchronous Digital Hierarchy)接口为例来讲述,现有技术是如何通过RAM存储实现数据不同速率的匹配。
图1是现有技术的数据接口卡框图,主要包括FPGA 101、专用集成电路107和随机存储模块108(其中包括4片RAM)。其中,FPGA 101包括:
以太网MAC核心模块(Ethernet MAC Core)102,用于完成串行以太数据到并行数据的转换,然后提取出有效的以太报文发送给第一用户逻辑模块。
第一用户逻辑模块(User Logic(1))103,用于完成以太报文的解封装,提取出专用集成电路(ASIC)107需要的信息,并最终封装成固定的格式,通过RAM控制器104存储到随机存储模块108中。
其中,专用集成电路107需要的信息包含端口号(Port_number)和数据(data)。
RAM控制器(RAM Controller)104,用于对随机存储模块108进行控制管理。
第二用户逻辑模块(User Logic(2))105,用于将数据从随机存储模块108中读出,并把读出的数据转换成下行流接口106使用的接口形式并发送至下行流接口106。
下行流接口(DOWN Stream Interface)106,用于将来自第二用户逻辑模块105的数据以标准的接口形式发送到专用集成电路107,标准的接口包括但不限于如第四层第二阶段系统分组接口(SPI-4.2,System Packet interface Level 4,Phase 2)、POS-PHYLevel 2(POS-PHYlevel 2,Pakage Over Synchronous Digital Hierarchy PHY level 2)接口、POS-PHY Level 3(POS-PHY level 3,Pakage Over Synchronous Digital Hierarchy PHYlevel 3)接口等。
专用集成电路107,用于实现标准的接口到下联的串行物理接口的转换。串行物理端口如光接口。
基于上述的系统结构,随机存储模块108中的数据格式如图2所示。随机存储模块108中包括结构相同的N个并行端口。对于每一个端口,需要在RAM空间中划分出缓冲区描述符表(BDT,Buffer Descriptor Table)和数据存储区两部分,其中缓冲区描述符表用作存放一个循环链表,而数据存储区用于存储数据。以端口0为例,缓冲区描述符表中包括M个结点,其中第i个结点包括(1≤i<M,1≤j):
数据缓冲区指针i,指向该结点对应的数据块在RAM中的首地址;
有效数据字节长度j,用于表明该结点对应的数据块的有效数据字节长度;
下一个结点指针,用于指向第i+1个结点在RAM中的首地址。
第M个结点包括:
数据缓冲区指针M,指向该结点对应的数据块在RAM中的首地址;
有效数据字节长度j,用于表明该结点对应的数据块的有效数据字节长度;
下一个结点指针,用于指向第1个结点在RAM中的首地址。
需要注意的是,不同结点对应的数据块的有效数据字节长度不一定相同。
基于上面的存储方式,FPGA需要维护缓冲区描述符表,下面以结点i(1≤i<M)为例介绍存储过程中FPGA的处理过程:
(1)首先,根据第(i-1)结点的数据缓冲区指针i-1以及第i-1结点对应的数据块的有效数据字节长度,计算出对应的该结点的数据缓冲区指针i。
(2)接着,根据从第一用户逻辑模块103发送过来的数据,计算出第i结点对应
的数据块的有效数据字节长度。
(3)最后,根据第i结点指针和第i结点对应的数据块的有效数据字节长度,计算
出第i+1结点的指针。
从RAM中读取的过程,需要做和存储相反的动作,这里就不再赘述。
现有数据接口卡中的RAM数据存储方式存在以下几个缺点:
1、RAM的容量没有得到充分利用,数据存储的时候需要占用一部分的RAM空间来存放缓冲区描述符表;
2、降低了数据存储的带宽,数据存储的时候需要占用部分带宽来访问缓冲区描述符表对应的RAM空间;
3、FPGA的代码实现相对比较复杂,因为数据存储的时候需要FPGA实现缓冲区描述符表的维护,并且在读取数据的时候需要先获取数据缓冲区的指针,再根据总的数据长度提取数据。
由于上述缺点会造成RAM的存储容量减小和存取速度降低,影响了下联端口的最大数据带宽。
发明内容
本申请提供了一种数据传输方法及数据接口卡,可以有效提高数据接口卡中RAM的存储容量和存取速度,提高下联端口的最大数据带宽。
本发明实施例提供的一种数据接口卡,包括现场可编程门阵列(FPGA)、专用集成电路和第一随机存储模块,所述数据接口卡还包括第二随机存储模块;
所述FPGA用于接收来自上联接口的第一格式数据,将所述第一格式数据进行串并转换后解封装,提取出有效数据和下联接口的端口号;根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存;将所述有效数据存储到第一随机存储模块,将所述有效数据对应的存储状态信息和下联接口的端口号存储到第二随机存储模块;所述有效数据对应的存储状态信息包括数据包起始位置、数据包结束位置、有效数据字节长度;以及从第二随机存储模块中读取有效数据的存储状态信息,根据所读取的数据包起始位置、数据包结束位置确定数据包的开始和结束,根据有效数据字节长度从第一随机存储模块中读取对应的有效数据并恢复为数据包,根据从第二随机存储模块中读取的下联接口的端口号将所述数据包发送至专用集成电路;
专用集成电路用于将接收到的数据包转换为第二格式数据,并将所述第二格式数据发送至下联接口;
其中,根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存的具体实现方法为:根据有效数据的长度和第一随机存储模块的位宽,计算第一随机存储模块每单位位宽可存储的数据包的长度,从而计算第二随机存储模块每单位位宽中所述有效数据对应的存储状态信息中的数据包起始位置、数据包结束位置,有效数据字节长度;按第一随机存储模块和第二随机存储模块的单位位宽之和依次封装所述计算出的数据包起始位置、数据包结束位置,有效数据字节长度和所述下联接口的端口号以及该有效数据字节长度对应的有效数据部分为固定格式并缓存,直至有效数据全部缓存完成。
较佳地,所述第一随机存储模块包括4片随机存储器RAM,总位宽为64位,第二随机存储模块包括1片随机存储器,总位宽为8位。
较佳地,所述第一格式数据为以太数据,第二格式数据为光网络数据。
较佳地,所述FPGA包括:以太网MAC核心模块、第一用户逻辑模块、RAM控制器、第二用户逻辑模块和下行流接口;
所述以太网MAC核心模块用于接收来自上联接口的串行以太数据,将所述串行以太数据转换为并行数据,并提取出有效的以太报文;
第一用户逻辑模块,用于将以太网MAC核心模块输出的有效以太报文进行解封装,提取出有效数据和下联接口的端口号,根据有效数据的长度以及设定的缓存格式,生成有效数据对应的的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存,通过RAM控制器将缓存中的所述有效数据存储到第一随机存储模块中,将缓存中的所述有效数据对应的存储状态信息和下联接口的端口号存储到第二随机存储模块中;
RAM控制器,用于对第一随机存储模块和第二随机存储模块进行存取控制管理;
第二用户逻辑模块,用于通过RAM控制器从第二随机存储模块中读取有效数据对应的存储状态信息,根据所读取的数据包起始位置、数据包结束位置确定数据包的开始和结束,根据有效数据字节长度通过RAM控制器从第一随机存储模块中读取对应的有效数据,将所述有效数据转换成下行流接口使用的接口形式并发送至从第二随机存储模块中读取的下联接口的端口号对应的下行流接口;
下行流接口,用于将来自第二用户逻辑模块的数据以标准的接口形式发送到专用集成电路。
较佳地,所述标准的接口为SPI-4.2接口。
较佳地,所述第一随机存储模块和第二随机存储模块的总位宽小于等于RAM控制器支持的最大位宽。
本发明实施例还提供了一种数据传输方法,所述数据传输通过如上所述数据接口卡实现,包括如下步骤:
A、接收来自上联接口的第一格式数据,将所述第一格式数据进行串并转换后解封装提取出有效数据和下联接口的端口号;根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存;所述有效数据对应的存储状态信息包括数据包起始位置、数据包结束位置和有效数据字节长度;
B、将缓存中的有效数据封装存储到第一随机存储模块,将缓存中的有效数据对应的存储状态信息和下联接口的端口号存储到第二随机存储模块;
C、从第二随机存储模块中读取有效数据对应的存储状态信息,根据所读取的数据包起始位置、数据包结束位置确定数据包的开始和结束,根据有效数据字节长度从第一随机存储模块中读取对应的有效数据并恢复为数据包,根据从第二随机存储模块中读取的下联接口的端口号将所述数据包发送至专用集成电路;
D、专用集成电路将接收到的数据包转换为第二格式数据,并将所述第二格式数据发送至下联接口;
其中,根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存的具体实现方法为:根据有效数据的长度和第一随机存储模块的位宽,计算第一随机存储模块每单位位宽可存储的数据包的长度,从而计算第二随机存储模块每单位位宽中所述有效数据对应的存储状态信息中的数据包起始位置、数据包结束位置,有效数据字节长度;按第一随机存储模块和第二随机存储模块的单位位宽之和依次封装所述计算出的数据包起始位置、数据包结束位置,有效数据字节长度和所述下联接口的端口号以及该有效数据字节长度对应的有效数据部分为固定格式并缓存,直至有效数据全部缓存完成。
较佳地,所述有效数据的位宽为64位,有效数据对应的存储状态信息的位宽为8位。
较佳地,所述第一格式数据为以太数据,第二格式数据为光网络数据。
从以上技术方案可以看出,将有效数据和和对应的存储状态信息分别用不同随机接入存储器进行存储,只需要满足完整报文的先入先出的原则,数据和数据对应的存储状态信息同时获得,充分利用了RAM的读写带宽,使本发明更能满足接口速率比较高的领域。相同报文大小、相同报文数量的条件下,向RAM中存储的总数据量要比现有的技术方案要少,其中数据量减少的部分是缓冲区描述符表。这样也就是扩大了用来存储有效数据的RAM空间,更能满足数据量缓存比较大的应用场景;并且FPGA的代码实现较为简单,不用再去维护缓冲区描述符表,降低了FPGA的设计难度,缩短了产品的开发周期。
附图说明
图1为现有技术的数据接口卡框图;
图2为图1所示的随机存储模块108中的数据格式示意图;
图3为本发明实施例提供的数据接口卡框图;
图4为本发明实施例提供的数据接口卡进行数据传输的流程图;
图5为图3所示的第一用户逻辑模块303中缓存信息的固定格式示意图;
图6为图3所示第一随机存储模块308和第二随机存储模块309中的数据格式示意图;
图7为一个具体应用实例中发送到端口1的66字节的数据缓存在第一用户逻辑模块303中的数据格式示意图。
具体实施方式
本发明的核心思想在于:将有效数据与数据存储状态信息分别使用不同的RAM进行存储,将现有技术中串行获取数据的存储状态信息和数据的流程改为同步并行获取数据的存储状态信息和数据,从而提高数据的存储带宽。
本申请提供的数据传输方法包括如下步骤:
A、接收来自上联接口的第一格式数据,将所述第一格式数据进行串并转换后解封装提取出有效数据和下联接口的端口号;根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存;所述有效数据对应的存储状态信息包括数据包起始位置、数据包结束位置和有效数据字节长度;
B、将缓存中的有效数据封装存储到第一随机存储模块,将缓存中的有效数据对应的存储状态信息和下联接口的端口号存储到第二随机存储模块;
C、从第二随机存储模块中读取有效数据对应的存储状态信息,根据所读取的数据包起始位置、数据包结束位置确定数据包的开始和结束,根据有效数据字节长度从第一随机存储模块中读取对应的有效数据并恢复为数据包,根据从第二随机存储模块中读取的下联接口的端口号将所述数据包发送至专用集成电路;
D、专用集成电路用于将接收到的数据包转换为第二格式数据,并将所述第二格式数据发送至下联接口。
所述步骤A中,根据有效数据的长度以及设定的缓存格式,生成有效数据对应的的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式的具体实现方法为:
根据有效数据的长度和第一随机存储模块的位宽,计算第一随机存储模块每单位位宽可存储的数据包的长度,从而计算第二随机存储模块每单位位宽中所述有效数据对应的存储状态信息中的数据包起始位置、数据包结束位置,有效数据字节长度;按第一随机存储模块和第二随机存储模块的单位位宽之和依次封装所述计算出的数据包起始位置、数据包结束位置,有效数据字节长度和所述下联接口的端口号以及该有效数据字节长度对应的有效数据部分为固定格式并缓存,直至有效数据全部缓存完成。
为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
本发明实施例提供的数据接口卡如图3所示,主要包括FPGA 301、专用集成电路307、第一随机存储模块307(其中包括4片RAM)和第二随机存储模块309(包括一片RAM)。其中,FPGA 301包括:
以太网MAC核心模块(Ethernet MAC Core)302,用于完成来自上联接口的以太数据到FPGA内部用户接口的转换,即完成串行以太数据到并行数据的转换,然后提取出有效的以太报文发送给第一用户逻辑模块。
第一用户逻辑模块(User Logic(1))303,用于将以太网MAC核心模块302输出的有效的以太报文进行解封装,提取出有效数据和下联接口的端口号;根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息;封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存,通过RAM控制器304将有效数据存储到第一随机存储模块308中,将有效数据的存储状态信息和下联接口的端口号存储到第二随机存储模块309。所述有效数据的存储状态信息包括第二随机存储模块309单位位宽存储区内的数据包起始位置、数据包结束位置、有效数据字节长度和下联接口的端口号。
RAM控制器(RAM Controller)304,用于对第一随机存储模块308和第二随机存储模块309进行存取控制管理。
第二用户逻辑模块(User Logic(2))305,用于通过RAM控制器304从第二随机存储模块309中读取有效数据的存储状态信息,根据所读取的数据包起始位置、数据包结束位置确定数据包的开始和结束,根据有效数据字节长度从第一随机存储模块308中读取对应的有效数据,并根据从第二随机存储模块309中读取的下联接口的端口号将所述有效数据转换成下行流接口306使用的接口形式并发送至下行流接口306。
下行流接口(DOWN Stream Interface)306,用于将来自第二用户逻辑模块305的数据以标准的接口形式发送到专用集成电路307,标准的接口包括但不限于如SPI 4.2接口、POS-PHY Level 2接口、POS-PHY Level 3接口、POS level II等。
本发明实施例提供的数据接口卡进行数据传输的流程如图4所示,包括如下步骤:
步骤401:确认第一用户逻辑模块303内缓存的的数据内容和格式。存储的数据除了要包含最基本的信息如端口号(Port_number),有效数据字节长度(Valid_byte_length),有效数据(data)外,还需要额外增加两个比特位——数据包起始位置(SOP,Start of Package),数据包结束位置(EOP,End of Package)。SOP和EOP的作用是用来鉴别一个数据包的开始和结束。
步骤402:FPGA完成与数据存储状态相关的信息生成。第一用户逻辑模块303从上联接口发过来的数据包中提取出有效数据和下联接口的端口号,并根据有效数据的长度以及设定的缓存格式,生成有效数据对应的的存储状态信息SOP,EOP和有效数据字节长度;然后按照如图5所示的缓存格式进行封装并缓存。本发明实施例提供的数据接口卡中第一用户逻辑模块303中缓存的数据的格式如图5所示。其中,原有的RAM1至RAM4存储有效数据(64bit),新增的RAM5(8bit)存储有效数据对应的状态信息,即SOP(1bit)、EOP(1bit)、端口号(3bit)、有效数据字节长度(3bit)。上述存储状态信息的值为对应有效数据在第二随机存储模块309中单位位宽存储区内的数据包起始位置、数据包结束位置、有效数据字节长度和下联接口的端口号的值。
步骤403:RAM控制器304将与数据包的存储状态信息相关的内容SOP,EOP,Port_number,Valid_byte_length存储在第二随机存储模块309(参见图6中的RAM5)中;把有效数据存储在第一随机存储模块308(参见图6中的RAM1~RAM4)中。参见图6中,分别将图5中示意的第一用户逻辑模块303中缓存的有效数据存储在RAM1~RAM4中,并将图5中缓存的存储状态信息部分存储在RAM5中。
步骤404:RAM控制器304从第一随机存储模块308和第二随机存储模块309中读出数据,根据SOP和EOP恢复出完整的数据包发给第二用户逻辑模块305,最后通过下行流接口306将数据包发送给专用集成电路307。
以下通过一个具体应用实例对本发明方案进行说明。对现有的数据接口卡进行改造,在现有数据接口卡的4片RAM的基础上增加第5片RAM,增加的第5片RAM用来存储有效数据的存储状态信息。计算出与数据包存储状态信息相关的位宽,决定增加的第5片RAM的位宽,即设定在第一用户逻辑模块304中缓存数据的格式。其中,
端口号:Port_number,X bit。X根据具体端口数来决定,假如端口数为N,那么要求X取值为大于等于log2N的最小自然数。该应用实例中,端口数=8,则X=3。
有效数据字节长度:Valid_byte_length,Ybit。Y根据用来存储数据的RAM位宽来决定,假如用来存储数据的RAM位宽为M,那么要求Y取值为大于等于log2(M/8)的最小自然数。该应用实例中,位宽M=64(即8个字节),则Y=3,即3bit指示data部分8个字节中有几个字节有效,例如000表示1个字节有效,001表示2个字节有效,依次类推,111表示8个字节有效。
数据包起始位置:SOP,1bit;
数据包结束位置:EOP,1bit。
假设下联端口是8端口,用来存储有效数据的4片RAM的位宽为64bit,这种情况下数据包存储状态信息的位宽:3+3+2=8bit。也就是这种情况下只需要增加一个8bit位宽的RAM就可以完成数据包存储状态信息的存储。同理,如果存储状态信息比较多,就需要增加一个相对比较大的RAM来存储存储状态信息。
FPGA完成与数据存储状态相关的信息生成。FPGA根据从上联接口发过来的数据包中提取出data和Port_number,并生成SOP,EOP,Valid_byte_length。
如图7所示为以发送到通道端口1的66字节的数据为例,来说明实际缓存在第一用户逻辑模块303中的数据格式。图7中SOP=1,表示此报文的开始;EOP=1表示此报文的结束,SOP=EOP=0表示是报文的中间部分;Port_number=001表示此报文发送到通道端口1;Valid_byte_length=001表示数据部分只有2byte是有效的,Valid_byte_length=111表示有效数据部分8byte全有效。
RAM控制器304将上述数据写入到随机存储器中。具体地说,RAM控制器304将第一逻辑模块303的缓存中提取出跟数据包存储状态信息相关的内容SOP,EOP,Port_number,Valid_byte_length,以及有效数据。然后RAM控制器304把跟数据包存储状态信息相关的内容存储在新增加的第5片RAM中;把有效数据存储在原有的4片RAM中。相对现有技术的优势是不用再去计算缓冲区描述符表中的数据缓冲区指针和下一个结点指针。
接下来,RAM控制器304从随机接入存储器中读出数据。具体地说,直接读取5片RAM中的内容,包括存储在第5片RAM中的存储状态信息和存储在第1~4片RAM中的数据。FPGA根据从第5片RAM中读取出来的SOP,EOP鉴定一个数据包的开始和结束;根据Valid_byte_length从第1~4片RAM读取出的数据中还原出有效的数据;第二用户逻辑模块305会根据从第5片RAM中读取出来的Port_number把还原出有效数据放到下行流接口306上发送给专用集成电路307。
本申请提供的数据传输方案具有如下有益效果:
1)存取数据非常的便捷,只需要满足完整报文的先入先出的原则,数据的状态和数据同时获得,充分利用了RAM的读写带宽,使本发明更能满足接口速率比较高的领域。
2)相同报文大小、相同报文数量的条件下,向内存中存储的总数据量要比现有的技术方案要少,其中数据量减少的部分是缓冲区描述符表。这样也就是扩大了用来存储有效数据的RAM空间,更能满足数据量缓存比较大的应用场景。
3)FPGA的代码实现较为简单,不用再去维护缓冲区描述符表,降低了FPGA的设计难度,缩短了产品的开发周期。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (9)
1.一种数据接口卡,包括现场可编程门阵列FPGA、专用集成电路和第一随机存储模块,其特征在于,所述数据接口卡还包括第二随机存储模块;
所述FPGA用于接收来自上联接口的第一格式数据,将所述第一格式数据进行串并转换后解封装,提取出有效数据和下联接口的端口号;根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存;将所述有效数据存储到第一随机存储模块,将所述有效数据对应的存储状态信息和下联接口的端口号存储到第二随机存储模块;所述有效数据对应的存储状态信息包括数据包起始位置、数据包结束位置、有效数据字节长度;以及从第二随机存储模块中读取有效数据的存储状态信息,根据所读取的数据包起始位置、数据包结束位置确定数据包的开始和结束,根据有效数据字节长度从第一随机存储模块中读取对应的有效数据并恢复为数据包,根据从第二随机存储模块中读取的下联接口的端口号将所述数据包发送至专用集成电路;
专用集成电路用于将接收到的数据包转换为第二格式数据,并将所述第二格式数据发送至下联接口;
其中,根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存的具体实现方法为:根据有效数据的长度和第一随机存储模块的位宽,计算第一随机存储模块每单位位宽可存储的数据包的长度,从而计算第二随机存储模块每单位位宽中所述有效数据对应的存储状态信息中的数据包起始位置、数据包结束位置,有效数据字节长度;按第一随机存储模块和第二随机存储模块的单位位宽之和依次封装所述计算出的数据包起始位置、数据包结束位置,有效数据字节长度和所述下联接口的端口号以及该有效数据字节长度对应的有效数据部分为固定格式并缓存,直至有效数据全部缓存完成。
2.根据权利要求1所述的数据接口卡,其特征在于,所述第一随机存储模块包括4片随机存储器RAM,总位宽为64位,第二随机存储模块包括1片随机存储器,总位宽为8位。
3.根据权利要求1所述的数据接口卡,其特征在于,所述第一格式数据为以太数据,第二格式数据为光网络数据。
4.根据权利要求3所述的数据接口卡,其特征在于,所述FPGA包括:以太网MAC核心模块、第一用户逻辑模块、RAM控制器、第二用户逻辑模块和下行流接口;
所述以太网MAC核心模块用于接收来自上联接口的串行以太数据,将所述串行以太数据转换为并行数据,并提取出有效的以太报文;
第一用户逻辑模块,用于将以太网MAC核心模块输出的有效以太报文进行解封装,提取出有效数据和下联接口的端口号,根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存,通过RAM控制器将缓存中的所述有效数据存储到第一随机存储模块中,将缓存中的所述有效数据对应的存储状态信息和下联接口的端口号存储到第二随机存储模块中;
RAM控制器,用于对第一随机存储模块和第二随机存储模块进行存取控制管理;
第二用户逻辑模块,用于通过RAM控制器从第二随机存储模块中读取有效数据对应的存储状态信息,根据所读取的数据包起始位置、数据包结束位置确定数据包的开始和结束,根据有效数据字节长度通过RAM控制器从第一随机存储模块中读取对应的有效数据,将所述有效数据转换成下行流接口使用的接口形式并发送至从第二随机存储模块中读取的下联接口的端口号对应的下行流接口;
下行流接口,用于将来自第二用户逻辑模块的数据以标准的接口形式发送到专用集成电路。
5.根据权利要求4所述的数据接口卡,其特征在于,所述标准的接口为SPI-4.2接口。
6.根据权利要求4所述的数据接口卡,其特征在于,所述第一随机存储模块和第二随机存储模块的总位宽小于等于RAM控制器支持的最大位宽。
7.一种数据传输方法,所述数据传输通过如权利要求1所述数据接口卡实现,其特征在于,包括如下步骤:
A、接收来自上联接口的第一格式数据,将所述第一格式数据进行串并转换后解封装提取出有效数据和下联接口的端口号;根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存;所述有效数据对应的存储状态信息包括数据包起始位置、数据包结束位置和有效数据字节长度;
B、将缓存中的有效数据封装存储到第一随机存储模块,将缓存中的有效数据对应的存储状态信息和下联接口的端口号存储到第二随机存储模块;
C、从第二随机存储模块中读取有效数据对应的存储状态信息,根据所读取的数据包起始位置、数据包结束位置确定数据包的开始和结束,根据有效数据字节长度从第一随机存储模块中读取对应的有效数据并恢复为数据包,根据从第二随机存储模块中读取的下联接口的端口号将所述数据包发送至专用集成电路;
D、专用集成电路将接收到的数据包转换为第二格式数据,并将所述第二格式数据发送至下联接口;
其中,根据有效数据的长度以及设定的缓存格式,生成有效数据对应的存储状态信息,封装所述有效数据、有效数据对应的存储状态信息和下联接口的端口号为固定格式并缓存的具体实现方法为:根据有效数据的长度和第一随机存储模块的位宽,计算第一随机存储模块每单位位宽可存储的数据包的长度,从而计算第二随机存储模块每单位位宽中所述有效数据对应的存储状态信息中的数据包起始位置、数据包结束位置,有效数据字节长度;按第一随机存储模块和第二随机存储模块的单位位宽之和依次封装所述计算出的数据包起始位置、数据包结束位置,有效数据字节长度和所述下联接口的端口号以及该有效数据字节长度对应的有效数据部分为固定格式并缓存,直至有效数据全部缓存完成。
8.根据权利要求7所述的方法,其特征在于,所述有效数据的位宽为64位,有效数据对应的存储状态信息的位宽为8位。
9.根据权利要求7所述的方法,其特征在于,所述第一格式数据为以太数据,第二格式数据为光网络数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210256982.1A CN102739555B (zh) | 2012-07-24 | 2012-07-24 | 一种数据传输方法及数据接口卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210256982.1A CN102739555B (zh) | 2012-07-24 | 2012-07-24 | 一种数据传输方法及数据接口卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102739555A CN102739555A (zh) | 2012-10-17 |
CN102739555B true CN102739555B (zh) | 2015-04-15 |
Family
ID=46994367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210256982.1A Active CN102739555B (zh) | 2012-07-24 | 2012-07-24 | 一种数据传输方法及数据接口卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102739555B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227325B (zh) * | 2015-10-16 | 2019-03-01 | 中国人民解放军国防科学技术大学 | 基于fpga的通用接口子卡 |
CN111783378B (zh) * | 2020-06-30 | 2022-05-17 | 迈普通信技术股份有限公司 | 数据处理方法及fpga |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1946176A (zh) * | 2006-10-11 | 2007-04-11 | 祝万昌 | Dvb数据实时高速接收和传送的装置和方法 |
CN102055549A (zh) * | 2009-11-10 | 2011-05-11 | 中兴通讯股份有限公司 | 一种长期演进系统中的速率匹配装置及方法 |
CN102510322A (zh) * | 2011-09-20 | 2012-06-20 | 北京雷久科技有限责任公司 | Io接口板卡和利用io接口板卡进行数据传输的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949502B2 (en) * | 2010-11-18 | 2015-02-03 | Nimble Storage, Inc. | PCIe NVRAM card based on NVDIMM |
-
2012
- 2012-07-24 CN CN201210256982.1A patent/CN102739555B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1946176A (zh) * | 2006-10-11 | 2007-04-11 | 祝万昌 | Dvb数据实时高速接收和传送的装置和方法 |
CN102055549A (zh) * | 2009-11-10 | 2011-05-11 | 中兴通讯股份有限公司 | 一种长期演进系统中的速率匹配装置及方法 |
CN102510322A (zh) * | 2011-09-20 | 2012-06-20 | 北京雷久科技有限责任公司 | Io接口板卡和利用io接口板卡进行数据传输的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102739555A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240372622A1 (en) | Data transmission method, sending end, receiving end, and storage medium | |
CN101707544B (zh) | E1信道多向网桥透传方法 | |
CN110896431B (zh) | 一种无压缩高清视频传输方法和系统 | |
WO2006102833A1 (fr) | Procede et appareil de partage et de synthese de signaux | |
WO2018001248A1 (zh) | 一种数据传输方法及装置 | |
CN112100119A (zh) | 一种基于fpga的高速以太网帧重构系统 | |
CN108092739A (zh) | 业务的传输方法和装置 | |
WO2021103640A1 (zh) | 数据传输方法、装置、终端设备和存储介质 | |
CN102480408B (zh) | 伪线仿真系统的调度方法及装置 | |
CN105573922B (zh) | 一种实现数据格式转换的方法和装置 | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
CN106254018B (zh) | 高速信号接收与多路解复用的集成系统以及数据处理方法 | |
CA2453738C (en) | Transmission system for efficient transmission of protocol data | |
CN102739555B (zh) | 一种数据传输方法及数据接口卡 | |
CN104158770A (zh) | 一种交换机数据包切分与重组的方法与装置 | |
KR20100072694A (ko) | 프레임 축소 방법 및 장치 | |
CN101527724A (zh) | 用于在高速互联网协议网络中传送数据的数据传输容器 | |
CN101860738A (zh) | 基于以太网的非压缩视频的传输方法和接收方法 | |
CN100591067C (zh) | 一种用逻辑实现sdh和以太网速率适配的方法 | |
CN111181682A (zh) | 一种基于fpga的gfp帧分片传输的实现方法 | |
WO2018068497A1 (zh) | 光通道数据单元帧的映射方法和装置、计算机存储介质 | |
CN103560977A (zh) | 具有输出延迟可精确配置能力的e1成帧控制器及工作方法 | |
CN105630825B (zh) | 一种数据转换方法及装置 | |
WO2006105705A1 (fr) | Procede, systeme et appareil de traitement pour appliquer la transmission transparente des donnees synchrones serie dans un reseau amrt | |
CN1214574C (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 |