CN106656852B - 一种实现报文二选一的电路结构 - Google Patents
一种实现报文二选一的电路结构 Download PDFInfo
- Publication number
- CN106656852B CN106656852B CN201611255009.2A CN201611255009A CN106656852B CN 106656852 B CN106656852 B CN 106656852B CN 201611255009 A CN201611255009 A CN 201611255009A CN 106656852 B CN106656852 B CN 106656852B
- Authority
- CN
- China
- Prior art keywords
- message
- seq
- alternative
- module
- decision logic
- 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
- 238000012545 processing Methods 0.000 claims description 14
- 102100034032 Cytohesin-3 Human genes 0.000 claims description 5
- 101710160297 Cytohesin-3 Proteins 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种实现报文二选一的电路结构,包括二选一判决逻辑模块,与二选一判决逻辑模块相连的等待判决缓存模块、当前SEQID缓存模块,以及与等待判决缓存模块相连的扫描逻辑模块,所述二选一判决逻辑模块的入口与2个选收通道相连,2个选收通道的报文来自同一个源设备的双发报文。本发明所述的实现报文二选一的电路结构,采用独立的二选一判决逻辑模块和等待判决缓存模块,使得各自模块的功能相对单一,便于逻辑电路实现;此外,等待判决缓存模块采用RAM复用的形式管理,节省了大量的等待判决缓存模块控制资源,使得二选一电路的报文组号可以支持到1K(1024),甚至更多。
Description
技术领域
本发明属于智能电网技术领域,具体涉及一种实现报文二选一的电路结构。
背景技术
在一些报文处理带宽很小的情况下,采用软件编程来完成报文的二选一是一种比较简单的方式,如图1所示:采用FPGA芯片提供4个以太网端口,其中两个作为选收通道入口,一个作为FPGA芯片与CPU之间的互联通道,另一个作为选收结果的输出通道。从选收通道收到报文后,FPGA采用封装外层VLAN的方式对报文添加通道标志,修改后的报文从内部互联口转发给CPU,CPU的上层软件可以从底层提取选收报文并识别选收通道,上层软件还要从报文的特定位置提取GROUPID和SEQENCEID,从而进行二选一的逻辑判断。由于软件执行指令比较慢,通常的做法是对报文进行选收和丢弃的处理,而不做缓存等待的工作。成功选收的报文最终又从内部互联口通过FPGA转发到选收输出通道。
采用上述软件编程的方式实现报文二选一主要存在以下2个问题:
1、大带宽情况下,软件无法线速处理;
2、可靠性低。
有鉴于此,本发明人对此进行研究,专门开发出一种实现报文二选一的电路结构,本案由此产生。
发明内容
本发明的目的是提供一种实现报文二选一的电路结构。
为了实现以上目的,本发明所采用的技术方案是:
一种实现报文二选一的电路结构,包括二选一判决逻辑模块,与二选一判决逻辑模块相连的等待判决缓存模块、当前SEQID缓存模块,以及与等待判决缓存模块相连的扫描逻辑模块,所述二选一判决逻辑模块的入口与2个选收通道相连,2个选收通道的报文来自同一个源设备的双发报文,其中
所述二选一判决逻辑模块:根据进入二选一判决逻辑模块内的报文的组号,从当前SEQID缓存模块中读取预期要接收的报文流号(SEQID),如果两者报文流号相等,则判决接收;如果不等,则根据该报文流号与预期流号的差值来判决:如果报文流号减去预期流号为正数,那么该报文进入等待判决缓存模块中;如果报文流号减去预期流号为零或者负数,说明该报文已在另外一个选收通道接收了,丢弃处理;
所述等待判决缓存模块:用于缓存流号比预期接收流号大的报文;
所述当前SEQID缓存模块:用于缓存报文流号;
所述扫描逻辑模块:用于扫描等待判决缓存模块中的报文。
作为优选,所述当前SEQID缓存模块采用双端口块RAM(SDP BLOCK RAM),第一端口供报文组号读取预期报文流号,第二端口用于二选一判决逻辑更新预期报文流号。
作为优选,所述二选一判决逻辑模块采用FPGA或者ASIC。
作为优选,所述等待判决缓存模块包括多个双端口块RAM(SDP BLOCK RAM),分别用于写地址管理、读地址管理和数据缓存。
作为优选,所述等待判决缓存模块进一步与外挂缓存模块相连,所述外挂缓存模块用于增加等待判决缓存模块的缓存深度。
本发明所述的实现报文二选一的电路结构,采用独立的二选一判决逻辑模块和等待判决缓存模块,使得各自模块的功能相对单一,便于逻辑电路实现;此外,等待判决缓存模块采用RAM复用的形式管理,节省了大量的等待判决缓存模块控制资源,使得二选一电路的报文组号可以支持到1K(1024),甚至更多。
以下结合附图及具体实施例对本发明做进一步详细描述。
附图说明
图1为现有技术中采用软件实现二选一处理示意图;
图2为本实施例的双发选收通道示意图;
图3为本实施例的实现报文二选一的电路结构示意图;
图4为本实施例的当前SEQID缓存模块电路结构图;
图5为本实施例的等待判决缓存模块电路结构图;
图6为本实施例的扫描逻辑模块连接原理图。
具体实施方式
术语解释:
FPGA:Field-Programmable Gate Array,现场可编程门阵列;
ASIC:Application Specific Integrated Circuit,专用集成电路;
DDR3 SDRAM:Double data rate type three SDRAM,DDR3缓存芯片;
RAM:Random Access Memory,随机存取存储器;
FIFO:First Fn First Out,先进先出存储单元。
为了实现报文的二选一处理,报文必须携带组号(GROUPID)和流号(SEQUENCEID,简称SEQID)信息。组号GROUPID是指进行二选一处理的报文组数,不同组号之间的报文互相独立;流号SEQID是指同一个组内进行二选一处理的报文序列号,它是进行二选一判决逻辑的主要条件。
如图2-3所示,一种实现报文二选一的电路结构,包括二选一判决逻辑模块,与二选一判决逻辑模块相连的等待判决缓存模块、当前SEQID缓存模块,以及与二选一判决逻辑模块相连的扫描逻辑模块,所述二选一判决逻辑模块的入口与2个选收通道相连,2个选收通道的报文来自同一个源设备的双发报文。在本实施例中,所述二选一判决逻辑模块采用FPGA,所述等待判决缓存模块采用多个SDP BLOCK RAM 组成的FIFO,所述当前SEQID缓存模块采用SDP BLOCK RAM。
来自选收通道的报文进入二选一判决逻辑模块后,所述二选一判决逻辑模块根据该报文的组号GROUPID从当前SEQID缓存模块中读取预期要接收的流号SEQID,如果当前进入的报文SEQID和预期要接收的SEQID相等,则判决接收;如果不等,则根据报文SEQID与预期SEQID的差值来判决:如果报文SEQID减去预期SEQID为正数,那么该报文进入等待判决缓存模块中;如果报文SEQID减去预期SEQID为零或者负数,说明该报文已在另外一个选收通道接收了,丢弃处理。
所述等待判决缓存模块用于缓存SEQID比预期接收SEQID大的报文;例如当前预期SEQID等于100,从选收通道1进来一个报文SEQID为101的报文,那么说明选收通道1本身SEQID等于100的报文在中间网络传输过程中丢失了。将SEQID等于101的报文放入等待判决缓存模块中,是为了等待从选收通道2中选收SEQID为100的报文。当从选收通道2中接收到SEQID为100的报文后,预期SEQID更新为101,那么缓存在等待判决缓存模块中的SEQID为101的报文应重新进入二选一判决逻辑模块,并接收下来,重新置预期SEQID为102。假如从选收通道1进来的SEQID为101的报文不进等待判决缓存模块,而直接丢弃。那么,当选收通道2的SEQID为101的报文在中间网络发生丢失,则最终的选收输出会缺失SEQID为101的报文。
所述当前SEQID缓存模块:用于缓存报文流号。
所述等待判决缓存模块的FIFO个数等于报文组号乘以2。如果用单独的FIFO来做,那么FPGA的资源是无法承受的,因此,等待判决缓存模块采用时分复用的方式来管理,FIFO的读写地址分别按GROUPID存在不同的SDP BLOCK RAM中。每个FIFO的缓存空间存放在SDPBLOCK RAM的不同地址片中,如图5所示。此外,为了支持更大的缓存深度,可以把FIFO的大部分缓存放到外挂DDR3缓存中。
所述扫描逻辑模块使用SCANID(遍历GROUPID)获取得到以下信息:1)当前组的预期SEQID,2)选收通道1对应的等待判决缓存模块首报文的SEQID,3)选收通道2对应的等待判决缓存模块首报文的SEQID。根据上述3个信息,决定等待判决缓存模块中报文是否出队重新进入二选一判决逻辑模块,从而决定选收或者丢弃。扫描逻辑模块的扫描周期决定了已进入等待判决缓存模块中的报文出队的快慢,理论上,在125兆时钟频率线速处理下,对于64字节的报文,假如GROUPID的数量为1K(1024)个,那么每一个GROUPID的最大处理带宽大约为84Mbps。如果采用多套并行处理的扫描电路,那么每个GROUPID的处理带宽可以成倍地增加。扫描逻辑与二选一判决逻辑不同,如图6所示,扫描逻辑模块处理过程如下:
1、超时请求直接出队给二选一判决逻辑模块;
2、SEQ-GRP0< SEQ- GRP1,不管CUR_SEQ:SEQ-GRP0出队给二选一判决逻辑模块;
3、SEQ- GRP0> SEQ- GRP1,不管CUR_SEQ:SEQ-GRP1出队给二选一判决逻辑模块;
4、SEQ-GRP0= SEQ-GRP1,不管CUR_SEQ:SEQ-GRP0/1全出队给二选一判决逻辑模块;
5、SEQ-GRP1空,SEQ-GRP0=CUR_SEQ: SEQ-GRP0出队给二选一判决逻辑模块;
6、SEQ-GRP0空,SEQ-GRP1=CUR_SEQ: SEQ-GRP1出队给二选一判决逻辑模块;
7、所有丢弃或选中动作都有二选一判决逻辑模块实施。
本实施例所述的实现报文二选一的电路结构,采用独立的二选一判决逻辑模块和等待判决缓存模块,使得各自模块的功能相对单一,便于逻辑电路实现;此外,等待判决缓存模块采用RAM复用的形式管理,节省了大量的等待判决缓存模块控制资源,使得二选一电路的报文组号可以支持到1K(1024),甚至更多。
上述实施例和图式并非限定本发明的产品形态和式样,任何所属技术领域的普通技术人员对其所做的适当变化或修饰,皆应视为不脱离本发明的专利范畴。
Claims (5)
1.一种实现报文二选一的电路结构,其特征在于:包括二选一判决逻辑模块,与二选一判决逻辑模块相连的等待判决缓存模块、当前SEQID缓存模块,以及与等待判决缓存模块相连的扫描逻辑模块;所述二选一判决逻辑模块的入口与2个选收通道相连,2个选收通道的报文为来自同一个源设备的双发报文,其中
所述二选一判决逻辑模块:根据进入二选一判决逻辑模块内的报文的组号,从当前SEQID缓存模块中读取预期报文流号,如果两者报文流号相等,则判决接收;如果不等,则根据该报文流号与预期报文流号的差值来判决:如果报文流号减去预期报文流号为正数,那么该报文进入等待判决缓存模块中;如果报文流号减去预期报文流号为负数,丢弃处理;
所述等待判决缓存模块:用于缓存流号比预期报文流号大的报文;
所述当前SEQID缓存模块:用于缓存预期报文流号;
所述扫描逻辑模块:用于扫描等待判决缓存模块中的报文;所述扫描逻辑模块处理过程如下:
1)超时请求直接出队给二选一判决逻辑模块;
2)SEQ-GRP0< SEQ- GRP1,不管CUR_SEQ:SEQ-GRP0出队给二选一判决逻辑模块;
3)SEQ- GRP0> SEQ- GRP1,不管CUR_SEQ:SEQ-GRP1出队给二选一判决逻辑模块;
4)SEQ-GRP0= SEQ-GRP1,不管CUR_SEQ:SEQ-GRP0/1全出队给二选一判决逻辑模块;
5)SEQ-GRP1空,SEQ-GRP0=CUR_SEQ: SEQ-GRP0出队给二选一判决逻辑模块;
6)SEQ-GRP0空,SEQ-GRP1=CUR_SEQ: SEQ-GRP1出队给二选一判决逻辑模块;
7)所有丢弃或选收动作都由二选一判决逻辑模块实施;
其中,SEQ- GRP0为选收通道1首报文中携带的报文流号,SEQ- GRP1为选收通道2首 报文中携带的报文流号,CUR_SEQ为预期报文流号。
2.如权利要求1所述的一种实现报文二选一的电路结构,其特征在于:所述当前SEQID缓存模块采用双端口块RAM,第一端口供报文组号读取预期报文流号,第二端口用于二选一判决逻辑模块更新预期报文流号。
3.如权利要求1所述的一种实现报文二选一的电路结构,其特征在于:所述二选一判决逻辑模块采用FPGA或者ASIC。
4.如权利要求1所述的一种实现报文二选一的电路结构,其特征在于:所述等待判决缓存模块包括多个双端口块RAM,分别用于写地址管理、读地址管理和数据缓存。
5.如权利要求1所述的一种实现报文二选一的电路结构,其特征在于:所述等待判决缓存模块进一步与外挂缓存模块相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611255009.2A CN106656852B (zh) | 2016-12-30 | 2016-12-30 | 一种实现报文二选一的电路结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611255009.2A CN106656852B (zh) | 2016-12-30 | 2016-12-30 | 一种实现报文二选一的电路结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106656852A CN106656852A (zh) | 2017-05-10 |
CN106656852B true CN106656852B (zh) | 2019-02-15 |
Family
ID=58837282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611255009.2A Active CN106656852B (zh) | 2016-12-30 | 2016-12-30 | 一种实现报文二选一的电路结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106656852B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612650B (zh) * | 2017-08-10 | 2019-04-09 | 国家电网公司 | 报文处理方法及系统 |
CN109412968B (zh) * | 2018-10-08 | 2023-04-07 | 西安微电子技术研究所 | 一种时间触发以太网端节点的冗余通信接收管理系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2935643Y (zh) * | 2006-08-09 | 2007-08-15 | 华为技术有限公司 | 一种光模块双发选收装置 |
CN103098428A (zh) * | 2012-10-27 | 2013-05-08 | 华为技术有限公司 | 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质 |
CN104954248A (zh) * | 2014-03-27 | 2015-09-30 | 华为技术有限公司 | 报文传送保护倒换方法、设备及系统 |
CN105933232A (zh) * | 2016-03-29 | 2016-09-07 | 东北大学 | 支持多业务数据传输需求的多径传输控制终端及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5742137B2 (ja) * | 2010-08-30 | 2015-07-01 | 日本電気株式会社 | パケット伝送システム、障害回復方法及びプログラム |
-
2016
- 2016-12-30 CN CN201611255009.2A patent/CN106656852B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2935643Y (zh) * | 2006-08-09 | 2007-08-15 | 华为技术有限公司 | 一种光模块双发选收装置 |
CN103098428A (zh) * | 2012-10-27 | 2013-05-08 | 华为技术有限公司 | 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质 |
CN104954248A (zh) * | 2014-03-27 | 2015-09-30 | 华为技术有限公司 | 报文传送保护倒换方法、设备及系统 |
CN105933232A (zh) * | 2016-03-29 | 2016-09-07 | 东北大学 | 支持多业务数据传输需求的多径传输控制终端及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106656852A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107615690B (zh) | 混合光子电子交换的系统及方法 | |
CN1073316C (zh) | 信元交换设备和为信元寻找路由的方法 | |
CN108111930B (zh) | 基于高密度存储器的多裸片高阶光交换结构 | |
CN106525231B (zh) | 一种基于可编程逻辑器件的多光子符合计数器 | |
CN107454003B (zh) | 一种可动态切换工作模式的片上网络路由器及方法 | |
CN103914341B (zh) | 数据队列出队管控方法和装置 | |
CN102959907B (zh) | 提供用于多维网格拓扑的无缓冲器传输方法 | |
CN103179037A (zh) | 基于内容的数据中心网络的数据传输方法 | |
CN104133784B (zh) | 一种报文缓存管理方法与装置 | |
CN106656852B (zh) | 一种实现报文二选一的电路结构 | |
US11425057B2 (en) | Packet processing | |
CN109302357A (zh) | 一种面向深度学习可重构处理器的片上互联结构 | |
CN108228498A (zh) | 一种dma控制装置和图像处理器 | |
CN103294836A (zh) | 基于pcie的雷达数据采集显控系统及其方法 | |
CN105306382B (zh) | 一种无缓存noc数据处理方法及noc电子元件 | |
CN104065588A (zh) | 一种数据包调度和缓存的装置及方法 | |
CN104407992B (zh) | 一种基于双端口寄存器阵列的四端口存储器 | |
US7206857B1 (en) | Method and apparatus for a network processor having an architecture that supports burst writes and/or reads | |
CN106792831B (zh) | 无线节点级和无线链路级的拥塞避免模块及其方法 | |
CN103634229B (zh) | 一种片间通讯方法及控制装置 | |
CN105245313A (zh) | 无人机多载荷数据动态复接方法 | |
EP3758316A1 (en) | Output queueing with scalability for segmented traffic in a high-radix switch | |
CN110233805B (zh) | 可变信元的交换装置、系统及方法 | |
CN101895470B (zh) | 流控信息传递方法和装置 | |
CN105912273B (zh) | 一种报文共享储存管理的fpga实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |