CN114866492B - 一种信号处理方法、系统和相关装置 - Google Patents
一种信号处理方法、系统和相关装置 Download PDFInfo
- Publication number
- CN114866492B CN114866492B CN202210466153.XA CN202210466153A CN114866492B CN 114866492 B CN114866492 B CN 114866492B CN 202210466153 A CN202210466153 A CN 202210466153A CN 114866492 B CN114866492 B CN 114866492B
- Authority
- CN
- China
- Prior art keywords
- frame
- data
- channel
- buffer
- target
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 239000000872 buffer Substances 0.000 claims description 262
- 238000000034 method Methods 0.000 claims description 83
- 238000012545 processing Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 description 15
- 230000015654 memory Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000008054 signal transmission Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 235000001553 Betula platyphylla Nutrition 0.000 description 1
- 241001313086 Betula platyphylla Species 0.000 description 1
- 239000005441 aurora Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 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/50—Queue scheduling
-
- 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/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种信号处理方法、系统和相关装置,逐帧解析每一待转发信号,获取每一待转发信号的数据帧的有效数据、通道标识、以及标志信息,标志信息包括目的地址。依据各个数据帧的通道标识,将各个数据帧的有效数据写入各个数据帧的归属通道中。分别从各个通道获取目标数据和目标数据的目的地址,目标数据由满足第一预设条件的至少一个单帧数据依序组成。第一预设条件包括目的地址相同,所述目标数据的目的地址为组成所述目标数据的单帧数据的目的地址,将目标数据发送至目标数据的目的地址。本申请通过各个通道将不同地址的目标数据发送至目标数据的目的地址,实现对待转发信号的多节点灵活快速转发。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种信号处理方法、系统和相关装置。
背景技术
信号的灵活高速传输是当前测控通信中的重要技术。在信号采集处理系统中,常常会遇到多源信号的采集、解调、传输和处理,如卫星信号处理系统等,通信工况复杂多变,对信号传输的灵活性提出很高的要求。
因此,如何实现多路混合信号向多节点的灵活高速转发是本领域亟待解决的问题。
发明内容
本申请提供了一种信号处理方法、系统和相关装置,如下:
一种信号处理方法,包括:
逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息,所述标志信息包括目的地址;
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,所述数据帧的归属通道为所述数据帧的通道标识指示的通道;
分别从各个通道获取目标数据和所述目标数据的目的地址,所述目标数据由满足第一预设条件的至少一个单帧数据依序组成;所述第一预设条件包括目的地址相同,任意所述单帧数据的目的地址为解析得到所述单帧数据的数据帧的目的地址,所述目标数据的目的地址为组成所述目标数据的单帧数据的目的地址;
将所述目标数据发送至所述目标数据的目的地址。
可选地,目标通道包括通道缓存器、单帧缓存器、以及多帧缓存器,所述目标通道为任意一个通道。
可选地,依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,包括:
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道的通道缓存器中。
可选地,分别从各个通道获取目标数据,包括:并行执行的多个获取流程,所述获取流程包括:
响应于所述目标通道满足预设的单帧写入条件,从所述通道缓存器中读出单帧数据,写入所述单帧缓存器,并将第一预设状态标志为高;所述单帧写入条件包括第一预设状态为低,所述第一预设状态被配置为:当所述单帧缓存器的空标志为高,所述第一预设状态为低;
响应于所述目标通道满足预设的多帧写入条件,从所述单帧缓存器中读出单帧数据,写入所述多帧缓存器;所述多帧写入条件包括所述第一预设状态为高且第二预设状态为低,所述第二预设状态被配置为:当所述多帧缓存器的空标志为高,所述第二预设状态为低;
若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高;所述停止条件包括所述单帧缓存器中的单帧数据的目的地址与所述多帧缓存器中的多帧数据的目的地址不同;
响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据;
基于从所述多帧缓存器读出的多帧数据,获取目标数据。
可选地,标志信息还包括帧长,所述获取流程还包括:
依据每次写入所述多帧缓存器的单帧数据的帧长,获取所述多帧缓存器中的多帧数据的总帧长;
所述停止条件还包括:所述总帧长不大于预设帧长阈值。
可选地,在所述逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息之后,还包括:
将所述待转发信号的数据帧的通道标识、以及标志信息对应写入预设的寄存器中;
所述若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高之前,还包括:
从所述寄存器中获取所述单帧缓存器中的单帧数据的目的地址;
所述响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据之后,还包括:
将所述多帧缓存器中的多帧数据的目的地址对应存入所述寄存器中。
可选地,基于从所述多帧缓存器读出的多帧数据,获取目标数据,包括:并行执行的写入流程和读出流程;
所述写入流程包括:
将通道划分成至少一个通道集合,每一所述通道集合包括至少一个通道;
轮询所述通道集合中的每一通道,将第二预设状态为高的通道作为目标写出通道,轮询所述通道集合对应的异步缓存器,将第三预设状态为低的异步缓存器作为目标写入缓存器,所述异步缓存器的第三预设状态被配置为当所述异步缓存器的空标志为高时,所述第三预设状态为低;
从所述目标写出通道的多帧缓存器中读出多帧数据,写入所述目标写入缓存器,并将所述目标写入缓存器的第三预设状态标记为高;
所述读出流程包括:
轮询所述通道集合对应的异步缓存器,将第三预设状态为高的异步缓存器作为目标读出缓存器;
从所述目标读出缓存器中读出多帧数据,作为目标数据。
可选地,获取所述目标数据的目的地址包括:
从所述寄存器中获取所述目标读出缓存器中读出的多帧数据的目的地址,作为所述目标数据的目的地址。
可选地,将所述目标数据发送至所述目标数据的目的地址,包括:
基于所述目标数据的帧长和目的地址,将所述目标数据转换为万兆网信号;
将所述万兆网信号发送至所述目标数据的目的地址。
一种信号处理装置,包括:
信号解析单元,用于逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息,所述标志信息包括目的地址;
缓存写入单元,用于依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,所述数据帧的归属通道为所述数据帧的通道标识指示的通道;
缓存读出单元,用于分别从各个通道获取目标数据和所述目标数据的目的地址,所述目标数据由满足第一预设条件的至少一个单帧数据依序组成;所述第一预设条件包括目的地址相同,任意所述单帧数据的目的地址为解析得到所述单帧数据的数据帧的目的地址,所述目标数据的目的地址为组成所述目标数据的单帧数据的目的地址;
数据发送单元,用于将所述目标数据发送至所述目标数据的目的地址。
由上述技术方案可以看出,本申请实施例提供的信号处理方法、系统和相关装置,获取每一待转发信号的数据帧的有效数据、通道标识、以及标志信息,其中,标志信息包括目的地址。依据各个数据帧的通道标识,将各个数据帧的有效数据写入各个数据帧的归属通道中。分别从各个通道获取目标数据和目标数据的目的地址,将目标数据发送至目标数据的目的地址。本方法能够实现并行地依据各个数据帧的通道标识,将各个数据帧的有效数据写入各个数据帧的归属通道中,其中,数据帧的归属通道为数据帧的通道标识指示的通道,进一步,本方法分别从各个通道获取的目标数据由满足第一预设条件的至少一个单帧数据依序组成,也即,目标数据由连续且目的地址相同的单帧数据组成,目标数据的目的地址为组成所述目标数据的单帧数据的目的地址,因此,通过各个通道将不同地址的目标数据发送至目标数据的目的地址,实现对待转发信号的多节点灵活快速转发。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种信号处理系统的具体结构示意图;
图2为本申请实施例提供的一种信号处理方法的流程示意图;
图3为本申请实施例提供的又一种信号处理方法的流程示意图;
图4为本申请实施例提供的一种信号处理装置的结构示意图;
图5为本申请实施例提供的一种信号处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前业界常见的各种通信方案可谓百花齐放,在包括FPGA、ARM和DSP等的各类嵌入式系统中,包括以太网和RapidIO等在内的各类技术大展拳脚,广为使用,各种方案各有所长,也各有其相应的局限性。例如现有技术采用的(1)ARM+Linux+网卡;(2)DSP+PHY芯片;(3)ZYNQ+PHY芯片;(4)FPGA芯片。方案(1)和方案(2)最高仅支持千兆网性能,无法达到性能要求。方案(3)中,ZYNQ器件仍为ARM内核,若采用片内处理器实现网络协议栈,则与方案(1)、方案(2)具有同样难以解决的性能问题。
在多通道信号转发方面,实际应用情景往往是多样化的,如各通道信号是并行还是串行,具体是何种形式,通道数量,各通道的带宽,网络接收终端设备的多样化等,对万兆网转发功能的兼容性和稳定性提出高要求,需要设计一个适当的解决方案,它需要具备较为通用的转发协议或转发逻辑架构,将多种形式的多通道混合信号稳定高效地转发到多种不同接收性能的以太网节点。
在此情况下,为了达到万兆网性能以及降低开发成本,本申请采用纯FPGA万兆网高速IP核来实现网络物理层及以上各层的功能,并基于FPGA实现万兆网的各层网络协议栈。
本申请实施例提供的一种信号处理方法应用于但不限于利用基于FPGA(Field-Programmable Gate Array,现场可编程门阵列)的信号处理系统,将混合信号转发至多个节点的场景。其中,信号处理系统包括信号处理装置和至少一个信号发送装置,可选地,信号发送装置为信号发射设备,也即信号源,本实施例以信号处理装置为基于型号为XC7K410TFFG900-2的Xilinx FPGA(为描述方便简称FPGA)的信号转发单元为例。
具体的,FPGA搭载PCIE卡配载两个FMC子卡,每一FMC子卡挂载一个最多支持4通道的QSFP光模块,其中,一个QSFP光模块用于任意一种适用的高速接口,用于接收待转发信号,另一个QSFP光模块用于万兆网输出接口,用于输出基于本方法进行信号处理后的信号。
本系统中的每一信号发送装置用于发送混合信号至信号处理装置,混合信号即为待转发至多个节点(例如以太网节点)的信号。具体地,待转发信号携带待转发信号的数据帧的有效数据、通道标识、以及标志信息,标志信息包括目的地址。
本系统中的信号处理装置用于接收信号源发送的混合信号(也即待转发信号),并输出用于发送至每一节点的信号。可选地,每一节点为终端设备。
如图1所示,系统包括三个信号发送装置(如图1示出的信号源:源1~源3),每一信号源用于发送待转发信号至信号处理装置,信号处理装置的接收端采用125MHz时钟,使用3个6.25Gbps Aurora协议64B/66B编码方式的1X GTX分别接收3路信号源的待转发信号(如图1示出的3路高速信号),信号处理装置的发送端采用156.25MHz时钟,使用2个10.3125Gbps10GBASE-R物理层的1X GTX接入网络交换机组网(也即图1所示的网络交换机),用于向5个终端设备(如图1示出的接收机1~5)发送信号(如图1所示的万兆网信号),图1中的箭头指示数据流的传输方向。
具体地,信号处理装置包括流控模块、解析模块、任务缓存模块、数据缓存模块、异步处理模块、以及万兆网模块。所有模块都用基于FPGA的Verilog HDL逻辑实现。其中,流控模块贯穿于解析模块、数据缓存模块、任务缓存模块、异步处理模块、以及万兆网模块的信号处理逻辑,如图1所示,信号处理逻辑至少包括“核心控制机制逻辑”和“控制网络组帧发送”,本系统中每一结构的具体结构和功能参见下述实施例。
图2示例了本申请实施例提供的一种基于上述信号处理系统的信号处理方法的具体方法,如图2所示,本方法包括:
S201、信号发送装置按照预设协议,发送待转发信号至信号处理装置。
本实施例中,待转发信号为数据流,信号发送装置的发送端和信号处理装置的接收端的用户接口协议也即预设协议预先配置,具体地,信号源和信号处理装置采用64位数据传输,其中,数据流中每一数据帧的低32位为有效载荷数据,高32位为标志位,32位标志位中的16位用于标志该数据帧归属的通道标识及帧的组成部分,其它16位用于标志该数据在数据帧中的序号或该数据帧的帧长。需要说明的是,每帧数据的目的IP地址和目的PORT(端口)由紧随完整一帧帧尾之后的一个64位数据给出。
需要说明的是,信号发送装置发送待转发信号的时机依据实际情况确定,本实施例仅以信号发送装置(如图1所示的3个信号源)同时段发送待转发信号为例。
S202、信号处理装置接收待转发信号后,解析待转发信号,获得数据帧的有效数据、通道标识和标志信息。
具体的,3路待转发信号包括待转发信号X1、待转发信号X2、和待转发信号X3,解析模块的接收端为信号处理装置的接收端,通过解析模块的第一接收端接收源1接入GTX 1X光纤发送的高速信号X1,第二接收端接收源2接入GTX 1X光纤发送的高速信号X2,第三接收端接收源3通过GTX 1X光纤发送的高速信号X3。
本实施例中,任意一个数据帧的通道标识主要用于通道解析,解析出的标志信息包括数据序号/帧长、目的IP、以及目的PORT等。需要说明的是,目的IP和目的PORT唯一指示有效数据的目的地址,也即目的终端设备的地址,本方法还包括:至少依据数据序号/帧长检验数据中解析得到的通道数据是否正确。
具体地,基于上述预先配置的用户接口协议,通过解析模块依据数据帧的高32位的标志位,解析出低32位的有效数据和归属通道,并依据紧随数据帧帧尾之后的64位数据(记为控制帧),获取数据帧的标志信息。需要说明的是,信号处理装置依据本步骤的解析结果执行信号转发流程,如下:
S203、将数据帧的有效数据发送至数据帧的归属通道的通道缓存器中,并将数据帧的标志信息发送至数据帧的归属通道的寄存器中。
本实施例中,将数据帧的控制流信息发送至数据帧的归属通道的寄存器中,其中,控制流信息包括标识信息以及通道标识,归属通道为通道标识指示的预设通道,每一通道预先配置一个数据流缓存单元和一个控制流缓存单元,每一数据流缓存单元包括通道缓存器、单帧缓存器和多帧缓存器,可选地,缓存器均为FIFO(First Input First Output,先进先出存储器)。每一控制流缓存单元包括一组寄存器或一组FIFO,用于接收对应通道的数据帧的控制流信息。
如图1所示的数据缓存模块包括为5个通道预先配置的5个数据流缓存单元,任务缓存模块包括为5个通道预先配置的5个任务流缓存单元(也即图示的5组FIFO或寄存器)。为描述方便,第n通道(n=1、2、3、4、或5)的数据流缓存单元由通道FIFO(如图1所示的通道nFIFO)、单帧FIFO(记为第n单帧FIFO),多帧FIFO(记为第n多帧FIFO)组成。第n通道的任务流缓存单元包括的一组寄存器记为第n寄存器。
如图1所示,3路并行的X1、X2、和X3承载5个通道的数据,本步骤并行地解析3路待转发信号包括:
第1路:依据X1的数据帧F1的高32位的标志位,解析出低32位的有效数据和F1归属通道,例如第一通道。将有效数据存入通道1FIFO,并将F1的标志信息发送至第一寄存器中。其中,标志信息为F1的帧长和目的地址(包括目的IP和目的PORT)。
第2路、依据X2的数据帧F2的高32位的标志位,解析出低32位的有效数据和F2的归属通道,例如第二通道。将有效数据存入通道2FIFO,并将F2的标志信息发送至第二寄存器中。其中,标志信息为F2的帧长和目的地址(包括目的IP和目的PORT)。
第3路、依据X3的数据帧F3的高32位的标志位,解析出低32位的有效数据和F3的归属通道,例如第四通道。将有效数据存入通道4FIFO,并将F3的标志信息发送至第四寄存器中。其中,标志信息为F3的帧长和目的地址(包括目的IP和目的PORT)。
需要说明的是,在图1所示的场景下,X1的数据帧的归属通道预设为第一通道,X2的数据帧的归属通道预设为第二通道或第三通道,X3的数据帧的归属通道预设为第四通道或第五通道。
需要说明的是,第n通道的数据流缓存单元的输入为解析得到的归属通道为第n通道的数据帧的有效数据,输出为经过预设的数据组合处理后的多帧数据。本方法并行执行针对每一通道的数据组合处理,本实施例以第n通道为例,对数据组合处理的流程进行说明如下述S204~S206。
S204、若第n通道满足预设的单帧写入条件,从第n通道的通道FIFO读出单帧数据,写入第n通道的单帧FIFO中。
本实施例中,单帧写入条件包括rd_rdy状态为低,需要说明的是,第n通道的单帧FIFO的空标志为高时,将第n通道的rd_rdy状态标记为低,单帧FIFO的空标志的状态依据单帧FIFO中是否存在数据自动标记。
如图1所示,若第2通道的单帧FIFO的空标志为高时,将第2通道的rd_rdy状态标记为低,并从通道2FIFO中读出完整的单帧数据,写入第二单帧FIFO。
进一步,当第n单帧FIFO存入完整的单帧数据后,将第n通道的rd_rdy状态标记为高。
具体的,从第n通道的通道FIFO中读出完整的单帧数据后,校验该单帧数据的实际帧长是否等于预设帧长,并确保单帧数据的帧头、帧数据、和帧尾完整无缺。
S205、若第n通道满足预设的多帧写入条件,从第n通道的单帧FIFO读出单帧数据,写入第n通道的多帧FIFO中。
本实施例中,多帧写入条件包括rd_rdy状态为高(表示单帧FIFO中已写入完整的单帧数据)且read_rdy状态为低。其中,若第n通道的多帧FIFO的空标志为高,将第n通道的read_rdy状态标记为低。
如图1所示,若第2通道的rd_rdy状态为高,且第2通道的read_rdy状态为低时,从第二单帧FIFO中读出单帧数据,写入第二多帧FIFO中。
S206、判断第n通道是否满足预设的停止条件,若是,将第n通道read_rdy状态标记为高,若否,返回执行S205。
本实施例中,停止条件包括1和2中至少一项,其中,1、多帧FIFO中的多帧数据(由至少一个单帧数据组成)的总帧长大于预设的帧长阈值。2、单帧FIFO中的单帧数据的目的地址与多帧FIFO中的多帧数据的目的地址不同。
需要说明的是,帧长阈值依据以太网协议标准UDP帧的最大帧长MTU(MaximumTransmissionUnit,最大传输单元)、自定义用户协议最大帧长umtu和自定义用户协议低值帧长ustu预设,其中,ustu小于MTU/2。
若umtu不大于MTU,则取帧长阈值=MTU-umtu+1,以MTU=1472字节,umtu=300字节为例,帧长阈值=1472-300+1=1173字节。
若umtu大于MTU,取帧长阈值=MTU-ustu+1,用于处理所有帧长不大于MTU的数据帧;取帧长阈值=MTU,用于处理所有帧长大于MTU的数据帧。需要说明的是,上述数据帧均指的是单帧数据。
可以理解的是,当第n通道满足1,若继续写入第n通道的单帧FIFO中的单帧数据后,第n通道的多帧FIFO中的多帧数据可能大于MTU,也即具有数据溢出风险,若第n通道不满足1,则继续写入第n通道的单帧FIFO中的单帧数据后,第n通道的多帧FIFO中的多帧数据一定不大于MTU。因此,通过判断第n通道是否满足1,避免多帧数据的溢出风险。当第n通道满足2,若继续写入第n通道的单帧FIFO中的单帧数据后,第n通道的多帧FIFO中的多帧数据中的单帧数据的目的地址不一致,导致转发错误。因此,通过判断第n通道是否满足2,提高多帧数据的转发准确性。
需要说明的是,第n通道满足预设的停止条件后,进一步将第n通道的多帧FIFO的标志信息写入第n通道的寄存器中,其中,多帧FIFO的标志信息包括多帧数据的总帧长和目的地址。
综上,五个通道并行执行S204~S206,也即并行执行写入单帧数据、读出单帧数据、组合得到多帧数据的流程。
接下来,并行执行两路数据读出流程,其中第一路数据读出流程用于从第一通道和第二通道的多帧FIFO中串行读出多帧数据,第二路数据读出流程用于从第三通道、第四通道和第五通道的多帧FIFO中串行读出多帧数据。
本实施例中,预先将各个通道划分通道集合,每一通道集合包括至少一个通道,例如图1所示,通道集合1包括第一通道和第二通道,通道集合2包括第三通道、第四通道、和第五通道。异步处理模块包括预先配置的两个异步缓存单元,如图1所示,第一异步缓存单元包括第一乒乓单元和第一数据流缓存器,第一乒乓单元的输入端分别与第一通道和第二通道的输出端相连,输出端与第一数据流缓存器(如图1所示的数据流FIFO)的输入端相连,第一数据流缓存器的输出端与万兆网模块中预先配置的万兆网1的输入端相连(包括物理相连和/或通信相连)。第二异步缓存单元包括第二乒乓单元和第二数据流缓存器,第二异步缓存单元的输入端分别与第三通道、第四通道、和第五通道的输出端相连,输出端与第二数据流缓存器的输入端相连,第二数据流缓存器的输出端与万兆网模块中预先配置的万兆网2相连。
如图1所示,每一乒乓单元(包括第一乒乓单元和第二乒乓单元)包括第一异步缓存器(如图1所示的异步非对称FIFO1,以下简称异步FIFO1)和第二异步缓存器(如图1所示的异步非对称FIFO2,以下简称异步FIFO2)。
可选地,每一异步FIFO写操作及之前的操作都以125MHz时钟运行,写入位宽为32位,读操作及之后的操作都以156.25MHz时钟运行,读出位宽为64位。
以任意一路数据读出流程为例,数据读出流程具体包括:
S207、轮询与第m异步缓存单元相连的通道和第m异步缓存单元的异步FIFO,将read_rdy状态为高的通道作为目标读出通道,将rdin_rdy状态为低的异步FIFO作为目标异步FIFO。
需要说明的是,第m异步缓存单元为任意一个异步缓存单元,且与第m万兆网相连。在目标异步FIFO的空标志为高时,将目标异步FIFO的rdin_rdy状态标记为低。
S208、从目标读出通道的多帧缓存器中读出多帧数据,写入目标异步FIFO后,将目标异步FIFO的rdin_rdy状态标记为高,返回等待执行S207,并行执行S209。
S209、判断是否满足目标异步FIFO的预设的异步读出条件,若是,读出目标异步FIFO中的多帧数据,写入数据流FIFO中。
本实施例中,异步读出条件包括轮询到该目标异步FIFO的rdin_rdy状态为高。
需要说明的是,当全部读出目标异步FIFO中的多帧数据后,目标异步FIFO的空标志状态自动标志为高。
从上述S207~S209看出,一般情况下,当异步缓存单元中的一个异步FIFO写入数据时,另一个异步FIFO读出数据,可见,本方法加入乒乓操作数据流控制方法,将读写操作并行执行以降低读写条件引起的带宽损耗。
S210、将数据流FIFO中的多帧数据和多帧数据的标志信息发送至万兆网m。
本实施例中,将万兆网m接收的多帧数据作为待转换数据(也即目标数据),多帧数据的标志信息作为万兆网控制信号,万兆网m是第m数据流FIFO连接的万兆网,万兆网包括UDP层、IP层、MAC层和PHY层,用于输出由多帧数据转换后的万兆网信号。
需要说明的是,多帧数据的标志信息由任务缓存模块发送,包括目的地址(即组成多帧数据的单帧数据的目的地址)和帧长(即组成多帧数据的单帧数据的帧长之和),具体的,由缓存多帧数据的通道的寄存器发送,每一寄存器对应存储每一通道的单帧数据的标志信息以及多帧数据的标志信息,接入对应的万兆网中,实现万兆网控制信号(如图1所示的万兆网功能性信号)的输入,本方案通过预设各通道对应的寄存器,能够实现任务(具体为控制流数据)的缓存,有助于实现数据的精准转发。具体的万兆网结构和万兆网用于数据转换的过程参见现有技术。
S211、将万兆网m输出的多帧数据的万兆网信号,通过网络交换机发送至多帧数据的目的地址指示的终端设备。
如图1所示,万兆网m输出的多帧数据的万兆网信号,两路通过网络交换机发送至多帧数据的目的地址指示的接收机。
具体的,ARP模块获取目的IP对应的目的MAC,然后将发送数据逐层打包和处理,依次经过万兆网的UDP层、IP层、MAC层和PHY层,输出万兆网信号。其中,当多帧数据的总帧长不超出MTU时,发送多帧数据至万兆网m,否则把多帧数据依序拆分成多个万兆网发送帧,多个万兆网发送帧中第一帧的帧长小于或等于MTU,后续帧的帧长基于临界和超时确定。目的IP和目的PORT直接作为万兆网发送帧的目的地址。
为了保证万兆网转换成千兆网或者向不同处理能力的终端设备都能稳定可靠的转发万兆网数据,选取万兆网发送帧长时做到在较为普适的情况下使其在保证不超出MTU的前提下尽可能的大,并且在从乒乓FIFO读取数据写入数据流FIFO的环节加入基于最小间隔和超时的峰值带宽控制手段,通过计算和调试将5个通道各自的传输带宽控制在合理的范围。需要说明的是,本步骤实现由2个并行的万兆网链路承载5个通道数据,实现5个通道的数据的转发。如果有完全相同的数据转发给多个不同终端设备的情形,则可选择使用组播技术进行发送,目的在于节省发送带宽。
进一步需要说明的是,接收数据的终端设备可能包括装配万兆网卡的服务器或普通计算机、支持万兆网的FPGA等,还可能包括仅支持千兆网的设备,如普通计算机、FPGA、ARM和DSP等,本实施例中,借助支持千兆万兆等多类接口的网络交换机实现多节点接收。
由上述技术方案可以看出,本申请实施例提供的一种信号处理方法包括但不限于以下有益效果:
1、本发明可实现将数据帧中的有效数据通过多个通道缓存,以串行并行结合的方式实现不同目的地址的有效数据的缓存,提高了信号的传输速度。
2、本发明中,通过灵活配置通道数量和通道对应的目的地址,一方面能够通过多通道实现信号的高速传输,同时实现将多个通道各自的传输带宽控制在合理的范围。满足多路多通道共用转发总带宽需求的同时,可控传输峰值带宽以兼顾不同目的终端设备接收性能的差异,可合理规划充分利用硬件资源。
3、通过逐帧将完整的单帧数据读出单帧缓存器并写入多帧缓存器,也即逐帧读取完整单帧数据后再进行多帧数据的组合,实现以完整帧转发,从而大幅降低硬件型误码、网络转换等意外因素引起网络丢帧的丢帧率。
4、转发流程稳定可靠流畅,调试接口充足,调试参数完备,适用的高速接口范围较广,且可由用户灵活自定义接口协议,开发的硬件成本较低,工程的可移植性较高,易于推广到各类应用场景。
5、使用任务缓存模块中的对应于各个通道的任务流缓存单元缓存控制流信息,使用数据缓存模块中的对应于各个通道的数据流缓存单元,缓存数据流信息(包括有效数据、单帧数据和多帧数据,具体参见上述实施例),有助于实现数据的精准转发。综上,本申请提供的一种信号处理的方法和系统,实现多路混合信号向多节点的灵活高速转发。
需要说明的是,图1仅为本申请实施例提供的一种可选的信号处理系统的具体结构示意图,图2仅为一种可选的信号处理方法的具体实现过程,需要说明的是,本申请还包括其他可选的实现方案。例如,信号处理系统中的信号发送装置包括的数据源数量不限于上述实施例中提及的3个,预设的通道的数量不限于上述实施例中提到的5个,实际上,本系统能够接收的待转发信号的最大数量可灵活配置且通道的数量也可灵活配置,例如,通道的数量依据接收节点(终端设备)的数量确定。再例如,并行执行的S204~S206,为一种可选的依据待转发信号的单帧数据,组合得到多帧数据的流程,再例如,S207~S209为一种可选的将组合得到的多帧数据发送至万兆网的具体方法,S210~S211为一种可选的数据转换的具体方法。
综上,将本申请实施例提供的一种信号处理方法总结概括为图3所示的流程,如图3所示,本方法包括:
S301、逐帧解析每一待转发信号,获取每一待转发信号的数据帧的有效数据、通道标识、以及标志信息。
本实施例中,标志信息包括目的地址。其中,每一预设地址唯一标识一个终端设备(信号接收端)。预设地址由ip值和port值构成。
可选地,目的地址为同一预设地址的数据帧的通道标识相同。如图1所示的系统中,可配置终端设备(也即预设地址)与通道一一对应,此时通道数量等于终端设备数量,或者,可配置多个终端设备对应一个通道,此时通道数量小于终端设备数量。
S302、依据各个数据帧的通道标识,将各个数据帧的有效数据写入各个数据帧的归属通道中。
本实施例中,数据帧的归属通道为数据帧的通道标识指示的通道。
可以理解的是,待转发信号的数量大于1,则解析得到的数据帧数量大于1,并行执行:将各个数据帧的有效数据写入对应的归属通道中。
需要说明的是,通道结构包括多种,对应的,本步骤的具体实现方法包括多种,例如,可选的一种目标通道(任意一个通道)包括通道缓存器、单帧缓存器、以及多帧缓存器,本步骤的一种可选的具体实现方法包括:依据各个数据帧的通道标识,将各个数据帧的有效数据写入各个数据帧的归属通道的通道缓存器中。具体可以参见S203,本实施例不做赘述。
S303、分别从各个通道获取目标数据和目标数据的目的地址。
本实施例中,目标数据由满足第一预设条件的至少一个单帧数据依序组成;第一预设条件包括目的地址相同,任意单帧数据的目的地址为解析得到单帧数据的数据帧的目的地址,目标数据的目的地址为组成目标数据的单帧数据的目的地址。例如,上述实施例提及的从数据流FIFO中读出的多帧数据为目标数据。
需要说明的是,本步骤的具体实现方法包括多种,接上例,本步骤的可选的具体实现方法包括:
1、响应于目标通道满足预设的单帧写入条件,从通道缓存器中读出单帧数据,写入单帧缓存器,并将第一预设状态标志为高。
其中,单帧写入条件包括第一预设状态为低,第一预设状态被配置为:当单帧缓存器的空标志为高,第一预设状态为低。具体的,第一预设状态为上述实施例提及的rd_rdy状态。
2、响应于目标通道满足预设的多帧写入条件,从单帧缓存器中读出单帧数据,写入多帧缓存器。
其中,多帧写入条件包括第一预设状态为高且第二预设状态为低,第二预设状态被配置为:当多帧缓存器的空标志为高,第二预设状态为低。具体的,第二预设状态为上述实施例提及的read_rdy状态。
3、若目标通道满足预设的停止条件,将第二预设状态标记为高。
其中,停止条件包括单帧缓存器中的单帧数据的目的地址与多帧缓存器中的多帧数据的目的地址不同。
4、基于从多帧缓存器读出的多帧数据,获取目标数据。
需要说明的是,1~4为一种分别从各个通道获取目标数据的一种可选的具体实现方法,本步骤还包括其他的实现方法,例如,直接将从多帧缓存器读出的多帧数据作为目标数据,或基于从每一通道多帧缓存器读出的多帧数据,并行执行的写入流程和读出流程,得到目标数据,写入流程和读出流程参见上述实施例中的S207~S210。
S304、将目标数据发送至目标数据的目的地址。
本实施例中,将目标数据发送至目标数据的目的地址的具体实现方法包括多种,可选地,将目标数据的万兆网信号发送至目标数据的目的地址,其中,将目标数据转换为万兆网信号的方法包括多种,例如,基于目标数据和目标数据的标志信息(帧长和目的地址),利用包括UDP层、IP层、MAC层和PHY层的转换单元,将目标数据转换成万兆网信号。具体的转换方法参见现有技术。
由上述技术方案可以看出,本申请实施例提供的信号处理方法、系统和相关装置,获取每一待转发信号的数据帧的有效数据、通道标识、以及标志信息,其中,标志信息包括目的地址。依据各个数据帧的通道标识,将各个数据帧的有效数据写入各个数据帧的归属通道中。分别从各个通道获取目标数据和目标数据的目的地址,将目标数据发送至目标数据的目的地址。本方法能够实现并行地依据各个数据帧的通道标识,将各个数据帧的有效数据写入各个数据帧的归属通道中,其中,数据帧的归属通道为数据帧的通道标识指示的通道,进一步,本方法分别从各个通道获取的目标数据由满足第一预设条件的至少一个单帧数据依序组成,也即,目标数据由连续且目的地址相同的单帧数据组成,目标数据的目的地址为组成所述目标数据的单帧数据的目的地址,因此,通过各个通道将不同地址的目标数据发送至目标数据的目的地址,实现对待转发信号的多节点灵活快速转发。
图4示出了本申请实施例提供的一种信号处理装置的结构示意图,如图4所示,该装置可以包括:
信号解析单元401,用于逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息,所述标志信息包括目的地址;
缓存写入单元402,用于依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,所述数据帧的归属通道为所述数据帧的通道标识指示的通道;
缓存读出单元403,用于分别从各个通道获取目标数据和所述目标数据的目的地址,所述目标数据由满足第一预设条件的至少一个单帧数据依序组成;所述第一预设条件包括目的地址相同,任意所述单帧数据的目的地址为解析得到所述单帧数据的数据帧的目的地址,所述目标数据的目的地址为组成所述目标数据的单帧数据的目的地址;
数据发送单元404,用于将所述目标数据发送至所述目标数据的目的地址。
可选地,目标通道包括通道缓存器、单帧缓存器、以及多帧缓存器,所述目标通道为任意一个通道。
可选地,依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,包括:
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道的通道缓存器中。
可选地,缓存写入单元用于分别从各个通道获取目标数据,包括:缓存写入单元具体用于并行执行的多个获取流程,所述获取流程包括:
响应于所述目标通道满足预设的单帧写入条件,从所述通道缓存器中读出单帧数据,写入所述单帧缓存器,并将第一预设状态标志为高;所述单帧写入条件包括第一预设状态为低,所述第一预设状态被配置为:当所述单帧缓存器的空标志为高,所述第一预设状态为低;
响应于所述目标通道满足预设的多帧写入条件,从所述单帧缓存器中读出单帧数据,写入所述多帧缓存器;所述多帧写入条件包括所述第一预设状态为高且第二预设状态为低,所述第二预设状态被配置为:当所述多帧缓存器的空标志为高,所述第二预设状态为低;
若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高;所述停止条件包括所述单帧缓存器中的单帧数据的目的地址与所述多帧缓存器中的多帧数据的目的地址不同;
响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据;
基于从所述多帧缓存器读出的多帧数据,获取目标数据。
可选地,标志信息还包括帧长,所述获取流程还包括:
依据每次写入所述多帧缓存器的单帧数据的帧长,获取所述多帧缓存器中的多帧数据的总帧长;
所述停止条件还包括:所述总帧长不大于预设帧长阈值。
可选地,还包括数据寄存单元用于在所述逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息之后,将所述待转发信号的数据帧的通道标识、以及标志信息对应写入预设的寄存器中;
数据寄存单元还用于在若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高之前,从所述寄存器中获取所述单帧缓存器中的单帧数据的目的地址;
数据寄存单元还用于在响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据之后,将所述多帧缓存器中的多帧数据的目的地址对应存入所述寄存器中。
可选地,缓存读出单元用于基于从所述多帧缓存器读出的多帧数据,获取目标数据,包括:缓存读出单元具体用于并行执行的写入流程和读出流程;
所述写入流程包括:
将通道划分成至少一个通道集合,每一所述通道集合包括至少一个通道;
轮询所述通道集合中的每一通道,将第二预设状态为高的通道作为目标写出通道,轮询所述通道集合对应的异步缓存器,将第三预设状态为低的异步缓存器作为目标写入缓存器,所述异步缓存器的第三预设状态被配置为当所述异步缓存器的空标志为高时,所述第三预设状态为低;
从所述目标写出通道的多帧缓存器中读出多帧数据,写入所述目标写入缓存器,并将所述目标写入缓存器的第三预设状态标记为高;
所述读出流程包括:
轮询所述通道集合对应的异步缓存器,将第三预设状态为高的异步缓存器作为目标读出缓存器;
从所述目标读出缓存器中读出多帧数据,作为目标数据。
可选地,缓存读出单元用于获取所述目标数据的目的地址包括缓存读出单元具体用于:
从所述寄存器中获取所述目标读出缓存器中读出的多帧数据的目的地址,作为所述目标数据的目的地址。
可选地,数据发送单元用于将所述目标数据发送至所述目标数据的目的地址,包括:数据发送单元具体用于:
基于所述目标数据的帧长和目的地址,将所述目标数据转换为万兆网信号;
将所述万兆网信号发送至所述目标数据的目的地址。
图5示出了该信号处理设备的结构示意图,该设备可以包括:至少一个处理器501,至少一个通信接口502,至少一个存储器503和至少一个通信总线504;
在本申请实施例中,处理器501、通信接口502、存储器503、通信总线504的数量为至少一个,且处理器501、通信接口502、存储器503通过通信总线504完成相互间的通信;
处理器501可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器503可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可执行存储器存储的程序,实现本申请实施例提供的一种信号处理方法的各个步骤,如下:
一种信号处理方法,包括:
逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息,所述标志信息包括目的地址;
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,所述数据帧的归属通道为所述数据帧的通道标识指示的通道;
分别从各个通道获取目标数据和所述目标数据的目的地址,所述目标数据由满足第一预设条件的至少一个单帧数据依序组成;所述第一预设条件包括目的地址相同,任意所述单帧数据的目的地址为解析得到所述单帧数据的数据帧的目的地址,所述目标数据的目的地址为组成所述目标数据的单帧数据的目的地址;
将所述目标数据发送至所述目标数据的目的地址。
可选地,目标通道包括通道缓存器、单帧缓存器、以及多帧缓存器,所述目标通道为任意一个通道。
可选地,依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,包括:
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道的通道缓存器中。
可选地,分别从各个通道获取目标数据,包括:并行执行的多个获取流程,所述获取流程包括:
响应于所述目标通道满足预设的单帧写入条件,从所述通道缓存器中读出单帧数据,写入所述单帧缓存器,并将第一预设状态标志为高;所述单帧写入条件包括第一预设状态为低,所述第一预设状态被配置为:当所述单帧缓存器的空标志为高,所述第一预设状态为低;
响应于所述目标通道满足预设的多帧写入条件,从所述单帧缓存器中读出单帧数据,写入所述多帧缓存器;所述多帧写入条件包括所述第一预设状态为高且第二预设状态为低,所述第二预设状态被配置为:当所述多帧缓存器的空标志为高,所述第二预设状态为低;
若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高;所述停止条件包括所述单帧缓存器中的单帧数据的目的地址与所述多帧缓存器中的多帧数据的目的地址不同;
响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据;
基于从所述多帧缓存器读出的多帧数据,获取目标数据。
可选地,标志信息还包括帧长,所述获取流程还包括:
依据每次写入所述多帧缓存器的单帧数据的帧长,获取所述多帧缓存器中的多帧数据的总帧长;
所述停止条件还包括:所述总帧长不大于预设帧长阈值。
可选地,在所述逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息之后,还包括:
将所述待转发信号的数据帧的通道标识、以及标志信息对应写入预设的寄存器中;
所述若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高之前,还包括:
从所述寄存器中获取所述单帧缓存器中的单帧数据的目的地址;
所述响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据之后,还包括:
将所述多帧缓存器中的多帧数据的目的地址对应存入所述寄存器中。
可选地,基于从所述多帧缓存器读出的多帧数据,获取目标数据,包括:并行执行的写入流程和读出流程;
所述写入流程包括:
将通道划分成至少一个通道集合,每一所述通道集合包括至少一个通道;
轮询所述通道集合中的每一通道,将第二预设状态为高的通道作为目标写出通道,轮询所述通道集合对应的异步缓存器,将第三预设状态为低的异步缓存器作为目标写入缓存器,所述异步缓存器的第三预设状态被配置为当所述异步缓存器的空标志为高时,所述第三预设状态为低;
从所述目标写出通道的多帧缓存器中读出多帧数据,写入所述目标写入缓存器,并将所述目标写入缓存器的第三预设状态标记为高;
所述读出流程包括:
轮询所述通道集合对应的异步缓存器,将第三预设状态为高的异步缓存器作为目标读出缓存器;
从所述目标读出缓存器中读出多帧数据,作为目标数据。
可选地,获取所述目标数据的目的地址包括:
从所述寄存器中获取所述目标读出缓存器中读出的多帧数据的目的地址,作为所述目标数据的目的地址。
可选地,将所述目标数据发送至所述目标数据的目的地址,包括:
基于所述目标数据的帧长和目的地址,将所述目标数据转换为万兆网信号;
将所述万兆网信号发送至所述目标数据的目的地址。
本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的计算机程序,计算机程序被处理器执行时,实现本申请实施例提供的一种信号处理方法的各个步骤,如下:
一种信号处理方法,包括:
逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息,所述标志信息包括目的地址;
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,所述数据帧的归属通道为所述数据帧的通道标识指示的通道;
分别从各个通道获取目标数据和所述目标数据的目的地址,所述目标数据由满足第一预设条件的至少一个单帧数据依序组成;所述第一预设条件包括目的地址相同,任意所述单帧数据的目的地址为解析得到所述单帧数据的数据帧的目的地址,所述目标数据的目的地址为组成所述目标数据的单帧数据的目的地址;
将所述目标数据发送至所述目标数据的目的地址。
可选地,目标通道包括通道缓存器、单帧缓存器、以及多帧缓存器,所述目标通道为任意一个通道。
可选地,依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,包括:
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道的通道缓存器中。
可选地,分别从各个通道获取目标数据,包括:并行执行的多个获取流程,所述获取流程包括:
响应于所述目标通道满足预设的单帧写入条件,从所述通道缓存器中读出单帧数据,写入所述单帧缓存器,并将第一预设状态标志为高;所述单帧写入条件包括第一预设状态为低,所述第一预设状态被配置为:当所述单帧缓存器的空标志为高,所述第一预设状态为低;
响应于所述目标通道满足预设的多帧写入条件,从所述单帧缓存器中读出单帧数据,写入所述多帧缓存器;所述多帧写入条件包括所述第一预设状态为高且第二预设状态为低,所述第二预设状态被配置为:当所述多帧缓存器的空标志为高,所述第二预设状态为低;
若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高;所述停止条件包括所述单帧缓存器中的单帧数据的目的地址与所述多帧缓存器中的多帧数据的目的地址不同;
响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据;
基于从所述多帧缓存器读出的多帧数据,获取目标数据。
可选地,标志信息还包括帧长,所述获取流程还包括:
依据每次写入所述多帧缓存器的单帧数据的帧长,获取所述多帧缓存器中的多帧数据的总帧长;
所述停止条件还包括:所述总帧长不大于预设帧长阈值。
可选地,在所述逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息之后,还包括:
将所述待转发信号的数据帧的通道标识、以及标志信息对应写入预设的寄存器中;
所述若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高之前,还包括:
从所述寄存器中获取所述单帧缓存器中的单帧数据的目的地址;
所述响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据之后,还包括:
将所述多帧缓存器中的多帧数据的目的地址对应存入所述寄存器中。
可选地,基于从所述多帧缓存器读出的多帧数据,获取目标数据,包括:并行执行的写入流程和读出流程;
所述写入流程包括:
将通道划分成至少一个通道集合,每一所述通道集合包括至少一个通道;
轮询所述通道集合中的每一通道,将第二预设状态为高的通道作为目标写出通道,轮询所述通道集合对应的异步缓存器,将第三预设状态为低的异步缓存器作为目标写入缓存器,所述异步缓存器的第三预设状态被配置为当所述异步缓存器的空标志为高时,所述第三预设状态为低;
从所述目标写出通道的多帧缓存器中读出多帧数据,写入所述目标写入缓存器,并将所述目标写入缓存器的第三预设状态标记为高;
所述读出流程包括:
轮询所述通道集合对应的异步缓存器,将第三预设状态为高的异步缓存器作为目标读出缓存器;
从所述目标读出缓存器中读出多帧数据,作为目标数据。
可选地,获取所述目标数据的目的地址包括:
从所述寄存器中获取所述目标读出缓存器中读出的多帧数据的目的地址,作为所述目标数据的目的地址。
可选地,将所述目标数据发送至所述目标数据的目的地址,包括:
基于所述目标数据的帧长和目的地址,将所述目标数据转换为万兆网信号;
将所述万兆网信号发送至所述目标数据的目的地址。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种信号处理方法,其特征在于,包括:
逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息,所述标志信息包括目的地址;
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,所述数据帧的归属通道为所述数据帧的通道标识指示的通道;
分别从各个通道获取目标数据和所述目标数据的目的地址,所述目标数据由满足第一预设条件的至少一个单帧数据依序组成;所述第一预设条件包括目的地址相同,任意所述单帧数据的目的地址为解析得到所述单帧数据的数据帧的目的地址,所述目标数据的目的地址为组成所述目标数据的单帧数据的目的地址;
将所述目标数据发送至所述目标数据的目的地址;
其中,目标通道包括通道缓存器、单帧缓存器、以及多帧缓存器,所述目标通道为任意一个通道;
其中,所述依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,包括:
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道的通道缓存器中;
其中,所述分别从各个通道获取目标数据,包括:并行执行的多个获取流程,所述获取流程包括:
响应于所述目标通道满足预设的单帧写入条件,从所述通道缓存器中读出单帧数据,写入所述单帧缓存器,并将第一预设状态标志为高;所述单帧写入条件包括第一预设状态为低,所述第一预设状态被配置为:当所述单帧缓存器的空标志为高,所述第一预设状态为低;
响应于所述目标通道满足预设的多帧写入条件,从所述单帧缓存器中读出单帧数据,写入所述多帧缓存器;所述多帧写入条件包括所述第一预设状态为高且第二预设状态为低,所述第二预设状态被配置为:当所述多帧缓存器的空标志为高,所述第二预设状态为低;
若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高;所述停止条件包括所述单帧缓存器中的单帧数据的目的地址与所述多帧缓存器中的多帧数据的目的地址不同;
响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据;
基于从所述多帧缓存器读出的多帧数据,获取目标数据;
其中,所述标志信息还包括帧长,所述获取流程还包括:
依据每次写入所述多帧缓存器的单帧数据的帧长,获取所述多帧缓存器中的多帧数据的总帧长;
所述停止条件还包括:所述总帧长大于预设帧长阈值;
其中,所述基于从所述多帧缓存器读出的多帧数据,获取目标数据,包括:并行执行的写入流程和读出流程;
所述写入流程包括:
将通道划分成至少一个通道集合,每一所述通道集合包括至少一个通道;
轮询所述通道集合中的每一通道,将第二预设状态为高的通道作为目标写出通道,轮询所述通道集合对应的异步缓存器,将第三预设状态为低的异步缓存器作为目标写入缓存器,所述异步缓存器的第三预设状态被配置为当所述异步缓存器的空标志为高时,所述第三预设状态为低;
从所述目标写出通道的多帧缓存器中读出多帧数据,写入所述目标写入缓存器,并将所述目标写入缓存器的第三预设状态标记为高;
所述读出流程包括:
轮询所述通道集合对应的异步缓存器,将第三预设状态为高的异步缓存器作为目标读出缓存器;
从所述目标读出缓存器中读出多帧数据,作为目标数据。
2.根据权利要求1所述的方法,其特征在于,在所述逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息之后,还包括:
将所述待转发信号的数据帧的通道标识、以及标志信息对应写入预设的寄存器中;
所述若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高之前,还包括:
从所述寄存器中获取所述单帧缓存器中的单帧数据的目的地址;
所述响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据之后,还包括:
将所述多帧缓存器中的多帧数据的目的地址对应存入所述寄存器中。
3.根据权利要求2所述的方法,其特征在于,获取所述目标数据的目的地址包括:
从所述寄存器中获取所述目标读出缓存器中读出的多帧数据的目的地址,作为所述目标数据的目的地址。
4.根据权利要求3所述的方法,其特征在于,所述将所述目标数据发送至所述目标数据的目的地址,包括:
基于所述目标数据的帧长和目的地址,将所述目标数据转换为万兆网信号;
将所述万兆网信号发送至所述目标数据的目的地址。
5.一种信号处理装置,其特征在于,包括:
信号解析单元,用于逐帧解析每一待转发信号,获取每一所述待转发信号的数据帧的有效数据、通道标识、以及标志信息,所述标志信息包括目的地址;
缓存写入单元,用于依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,所述数据帧的归属通道为所述数据帧的通道标识指示的通道;
缓存读出单元,用于分别从各个通道获取目标数据和所述目标数据的目的地址,所述目标数据由满足第一预设条件的至少一个单帧数据依序组成;所述第一预设条件包括目的地址相同,任意所述单帧数据的目的地址为解析得到所述单帧数据的数据帧的目的地址,所述目标数据的目的地址为组成所述目标数据的单帧数据的目的地址;
数据发送单元,用于将所述目标数据发送至所述目标数据的目的地址;
其中,目标通道包括通道缓存器、单帧缓存器、以及多帧缓存器,所述目标通道为任意一个通道;
其中,缓存写入单元,用于依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道中,具体包括:
依据各个所述数据帧的通道标识,将各个所述数据帧的有效数据写入各个所述数据帧的归属通道的通道缓存器中;
其中,缓存读出单元,用于分别从各个通道获取目标数据,具体包括:并行执行的多个获取流程,所述获取流程包括:
响应于所述目标通道满足预设的单帧写入条件,从所述通道缓存器中读出单帧数据,写入所述单帧缓存器,并将第一预设状态标志为高;所述单帧写入条件包括第一预设状态为低,所述第一预设状态被配置为:当所述单帧缓存器的空标志为高,所述第一预设状态为低;
响应于所述目标通道满足预设的多帧写入条件,从所述单帧缓存器中读出单帧数据,写入所述多帧缓存器;所述多帧写入条件包括所述第一预设状态为高且第二预设状态为低,所述第二预设状态被配置为:当所述多帧缓存器的空标志为高,所述第二预设状态为低;
若所述目标通道满足预设的停止条件,将所述第二预设状态标记为高;所述停止条件包括所述单帧缓存器中的单帧数据的目的地址与所述多帧缓存器中的多帧数据的目的地址不同;
响应于所述第二预设状态为高,从所述多帧缓存器读出多帧数据;
基于从所述多帧缓存器读出的多帧数据,获取目标数据;
其中,所述标志信息还包括帧长,所述获取流程还包括:
依据每次写入所述多帧缓存器的单帧数据的帧长,获取所述多帧缓存器中的多帧数据的总帧长;
所述停止条件还包括:所述总帧长大于预设帧长阈值;
其中,所述基于从所述多帧缓存器读出的多帧数据,获取目标数据,包括:并行执行的写入流程和读出流程;
所述写入流程包括:
将通道划分成至少一个通道集合,每一所述通道集合包括至少一个通道;
轮询所述通道集合中的每一通道,将第二预设状态为高的通道作为目标写出通道,轮询所述通道集合对应的异步缓存器,将第三预设状态为低的异步缓存器作为目标写入缓存器,所述异步缓存器的第三预设状态被配置为当所述异步缓存器的空标志为高时,所述第三预设状态为低;
从所述目标写出通道的多帧缓存器中读出多帧数据,写入所述目标写入缓存器,并将所述目标写入缓存器的第三预设状态标记为高;
所述读出流程包括:
轮询所述通道集合对应的异步缓存器,将第三预设状态为高的异步缓存器作为目标读出缓存器;
从所述目标读出缓存器中读出多帧数据,作为目标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210466153.XA CN114866492B (zh) | 2022-04-29 | 2022-04-29 | 一种信号处理方法、系统和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210466153.XA CN114866492B (zh) | 2022-04-29 | 2022-04-29 | 一种信号处理方法、系统和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114866492A CN114866492A (zh) | 2022-08-05 |
CN114866492B true CN114866492B (zh) | 2024-06-04 |
Family
ID=82635064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210466153.XA Active CN114866492B (zh) | 2022-04-29 | 2022-04-29 | 一种信号处理方法、系统和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114866492B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889503A (zh) * | 2006-06-01 | 2007-01-03 | 东南大学 | 多通道高速数据处理器及处理方法 |
CN101335764A (zh) * | 2008-07-15 | 2008-12-31 | 上海华为技术有限公司 | 合成复帧、解析复帧的方法、装置及复帧处理系统 |
CN106385390A (zh) * | 2016-09-27 | 2017-02-08 | 武汉虹信通信技术有限责任公司 | 一种基于fpga实现万兆以太网电口传输的方法及系统 |
CN106445836A (zh) * | 2016-09-20 | 2017-02-22 | 华南理工大学 | 异步数据读写方法、系统及装置 |
CN109068328A (zh) * | 2018-10-11 | 2018-12-21 | 中国农业银行股份有限公司 | 安全网络通信方法、终端及系统 |
CN109905321A (zh) * | 2019-02-13 | 2019-06-18 | 西安微电子技术研究所 | 一种用于自定义高速接口与以太网交互的路由控制系统 |
CN112904429A (zh) * | 2021-02-05 | 2021-06-04 | 中国科学技术大学 | 易于拓展可灵活配置的海洋地震勘探拖缆模拟系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220123901A1 (en) * | 2019-01-14 | 2022-04-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of transmission of a data packet, computer program, and transceiver device |
-
2022
- 2022-04-29 CN CN202210466153.XA patent/CN114866492B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889503A (zh) * | 2006-06-01 | 2007-01-03 | 东南大学 | 多通道高速数据处理器及处理方法 |
CN101335764A (zh) * | 2008-07-15 | 2008-12-31 | 上海华为技术有限公司 | 合成复帧、解析复帧的方法、装置及复帧处理系统 |
CN106445836A (zh) * | 2016-09-20 | 2017-02-22 | 华南理工大学 | 异步数据读写方法、系统及装置 |
CN106385390A (zh) * | 2016-09-27 | 2017-02-08 | 武汉虹信通信技术有限责任公司 | 一种基于fpga实现万兆以太网电口传输的方法及系统 |
CN109068328A (zh) * | 2018-10-11 | 2018-12-21 | 中国农业银行股份有限公司 | 安全网络通信方法、终端及系统 |
CN109905321A (zh) * | 2019-02-13 | 2019-06-18 | 西安微电子技术研究所 | 一种用于自定义高速接口与以太网交互的路由控制系统 |
CN112904429A (zh) * | 2021-02-05 | 2021-06-04 | 中国科学技术大学 | 易于拓展可灵活配置的海洋地震勘探拖缆模拟系统及方法 |
Non-Patent Citations (2)
Title |
---|
万兆协议转换系统关键技术研究;刘毅夫;硕士电子期刊;第26-34页 * |
基于FPGA的万兆网通信协议转换器设计;金冶纯;硕士电子期刊;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114866492A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2788577B2 (ja) | フレーム変換方法及び装置 | |
CN107483370B (zh) | 一种在fc网络上传输ip和can业务的方法 | |
RU2509348C2 (ru) | Способ и устройство для обеспечения потоков на основе идентификатора через шину pci express | |
CN105573922B (zh) | 一种实现数据格式转换的方法和装置 | |
US20140040679A1 (en) | Relay device and recovery method | |
CN111147522A (zh) | 多通道RocketIO协议与FC协议实时转换方法 | |
US10523548B2 (en) | Circuit and a method for attaching a time stamp to a trace message | |
CN117389935B (zh) | 一种协议转换系统及方法 | |
CN108768778B (zh) | 一种网络时延计算方法、装置、设备及存储介质 | |
CN111865838B (zh) | 一种信号的多通道数据传输系统 | |
CN113114590B (zh) | Tte交换机中as6802同步帧透明传输系统及方法 | |
WO2022110387A1 (zh) | 路由装置及片上网络的路由设备 | |
CN114866492B (zh) | 一种信号处理方法、系统和相关装置 | |
EP1508225B1 (en) | Method for data storage in external and on-chip memory in a packet switch | |
US6957309B1 (en) | Method and apparatus for re-accessing a FIFO location | |
US20030193894A1 (en) | Method and apparatus for early zero-credit determination in an infiniband system | |
CN112653638A (zh) | 一种多路中频与基带高速交换路由的装置及其通信方法 | |
CN106789440B (zh) | 一种ip包包头检测方法及装置 | |
US20160315883A1 (en) | Packet control method, transmission apparatus, and storage medium | |
CN113473267B (zh) | 数据传输方法、装置及通信装置 | |
CN109308180B (zh) | 缓存拥塞的处理方法及处理装置 | |
CN113806277A (zh) | 基于srio协议的fpga与dsp的数据传输系统 | |
Cuilian et al. | Design and implementation of spaceborne fast router based on SDRAM | |
Duan et al. | An SRIO Bus-Based Implementation of a High-Speed Interface for Satellite 5G | |
CN110278177B (zh) | 一种ip包包头检测方法及装置 |
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 |