CN106407140B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN106407140B CN106407140B CN201610805605.7A CN201610805605A CN106407140B CN 106407140 B CN106407140 B CN 106407140B CN 201610805605 A CN201610805605 A CN 201610805605A CN 106407140 B CN106407140 B CN 106407140B
- Authority
- CN
- China
- Prior art keywords
- data
- bus node
- link bus
- port
- transferred
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据处理方法及装置,属于通信技术领域。本发明包括:接收系统控制器发送的用于指示传输多个端口的数据的时刻的全局脉冲信号和至少用于指示当前传输的数据所属的端口第一指示信号,当检测到该全局脉冲信号的上升沿时,基于该第一指示信号和与多个端口一一对应的多个预设延迟阈值,将该多个端口的数据传输给指定处理器,以使指定处理器基于所接收的数据进行预编码处理,也即是,对于该多个端口传输的同一组数据,在将该组数据中各个端口的数据传输给指定处理器的过程中,控制各个端口的数据传输对齐传输至指定处理器,如此,不需要在指定处理器中增加缓冲存储器,节省了指定处理器中存储资源的开发。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种数据处理方法及装置。
背景技术
随着通信技术的快速发展,高频带数据传输业务得到广泛应用。在高频带数据传输系统中,通常利用多端口进行数据传输,请参考图1A,该图1A示例性地示出了一种通过8个端口进行数据传输的框架示意图,其中,不同端口对应不同的传输线。然而,当不同的传输线之间距离较近时,容易产生串扰,如此,将影响系统的性能。
目前,为了能够解决该串扰问题,在进行多端口数据传输之前,该数据传输系统对所有需要传输的数据进行预编码,并增加反向的串扰因子,也即是,在发送端的数据传输系统中增加了向量处理器(Vector Processor,VP),如图1A或图1B所示,该数据传输系统将该多个端口的数据传输至该VP中,由该VP进行串扰信道模型计算,以评估多条传输线之间对应的抗串扰能力,并根据评估结果,对该多个数据进行预编码,从而减少串扰。在VP对该多个数据进行预编码后,将该多个数据返回至各个数据对应的端口中,再由该各个端口对各个数据分别进行基带调制并传输到对端的各个接收端口。
其中,在将数据传输至VP的过程中,各个端口之间互不影响,即对于各个端口来说,均是每隔指定时长,进行一次数据传输。但是,由于布局、布线等原因,各个端口与VP之间的传输距离可能均不相同,因此,各个端口传输的位于同一组的数据到达该VP的时延可能也不相同,其中,同一组的数据是指各个端口中需要同时传输给对端的数据。然而,在上述减少串扰的实现方式中,需要该多个端口中的每个端口的数据到达该VP保持对齐,也即是,需要该多个端口中位于同一组的数据都到达该VP后,该VP才会进行后续预编码处理。为此,请参见图1B,在现有技术中,利用一些自定义的总线接口,将数据传输到VP的多端口缓冲控制器中,即针对该多个端口,在该VP中设计对应的缓冲存储器,每个缓冲存储器分别用于缓冲各个端口传输的数据,当位于同一组中延迟最大的端口传输的数据到来时,该VP再从该多个缓冲存储器中读取位于该组的数据,以进行后续预编码,并增加反向的串扰因子操作。
然而,上述提供的数据处理方法中,由于有的端口与VP的传输距离较远,导致该端口的数据传输时延很大,也即是,对于同一组数据,可能其它端口传输了该组数据和该组数据之后的多个数据至VP后,该传输距离较远的端口所传输的该组数据才到达该VP中,导致其它端口对应的缓冲存储器中可能存有大量的缓冲数据,如此,需要增大该其它端口对应的缓冲存储器的设计,即增大了VP中存储资源的开发设计。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据处理方法及装置。所述技术方案如下:
第一方面,提供了一种数据处理方法,应用于数据传输链中,所述方法包括:
接收系统控制器发送的全局脉冲信号和第一指示信号,所述全局脉冲信号用于指示传输多个端口的数据的时刻,所述第一指示信号至少用于指示当前传输的数据所属的端口;当检测到所述全局脉冲信号的上升沿时,基于所述第一指示信号和多个预设延迟阈值,将所述多个端口的数据传输给指定处理器,以使所述指定处理器基于所接收的数据进行预编码处理,所述多个预设延迟阈值与所述多个端口一一对应。
其中,该系统控制器用于控制全局,相当于系统的CPU,该系统控制器用于生成全局脉冲信号,并将该全局脉冲信号传输给该多个端口和多级数据链总线节点,其中,对于该多个端口来说,当接收到该全局脉冲信号时,确定传输数据的时刻,并当到达该时刻时,开始向该数据传输链中的多级数据链总线节点传输数据。对于该多级数据链总线节点来说,当接收到该全局脉冲信号,并检测到上升沿时,基于所述第一指示信号和多个预设延迟阈值,将所述多个端口的数据传输给指定处理器。
在本发明实施例中,对于该多个端口传输的同一组数据,在将该组数据中各个端口的数据传输给指定处理器的过程中,根据系统控制器发送的第一指示信号和与多个端口一一对应的多个预设延迟阈值,来控制该多个端口的数据传输至指定处理器中,即使得该多个端口的数据在传输至指定处理器的过程中保持对齐,不需要在指定处理器中增加缓冲存储器,节省指定处理器中存储资源的开发。
在一种可能的实现方式中,所述数据传输链包括依次相连的多级数据链总线节点,所述多级数据链总线节点中与所述指定处理器之间传输距离最远的数据链总线节点与所述系统控制器连接,且所述多级数据链总线节点与所述多个端口一一对应连接;所述基于所述第一指示信号和多个预设延迟阈值,将所述多个端口的数据传输给指定处理器,包括:对于所述多级数据链总线节点中的每级数据链总线节点,通过所述数据链总线节点判断所述系统控制器发送的第一指示信号中是否传输有目标端口号,所述目标端口号为目标端口的端口号,所述目标端口为与所述数据链总线节点对应连接的端口;当所述第一指示信号中传输有所述目标端口号时,判断所述数据链总线节点是否为与所述指定处理器之间传输距离最近的数据链总线节点;当所述数据链总线节点不为与所述指定处理器之间传输距离最近的数据链总线节点且检测到所述数据链总线节点的本地时钟信号的上升沿时,基于所述目标端口的预设延迟阈值,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点;当所述数据链总线节点为与所述指定处理器之间传输距离最近的数据链总线节点且检测到所述数据链总线节点的本地时钟信号的上升沿时,基于所述目标端口的预设延迟阈值,通过所述数据链总线节点将所述目标端口所传输的数据传输给所述指定处理器。
其中,当该第一指示信号中传输有与该数据链总线节点对应连接的端口的目标端口号时,该数据链总线节点可以确定需要对目标端口的数据进行传输处理。另外,在实际实现过程中,由于根据该数据链总线节点所处的位置不同,该数据链总线节点将该目标端口的数据传输给不同的目标,因此,在本发明实施例中,当确定该第一指示信号中传输有该目标端口号后,在进行数据传输之前,该数据传输链需要判断该数据链总线节点是否为与该指定处理器之间传输距离最近的数据链总线节点。
在本发明实施例中,对于多级数据链总线节点中的每级数据链总线节点,根据该第一指示信号和该数据链总线节点所在位置,该数据传输链通过该数据链总线节点对与该数据链总线节点连接的目标端口的数据进行传输处理,使得该多个端口的数据有序地传输至指定处理器中,即保证了数据对齐。
在一种可能的实现方式中,所述通过所述数据链总线节点判断所述系统控制器发送的第一指示信号中是否传输有目标端口号之前,还包括:当所述数据链总线节点不为与所述指定处理器之间传输距离最远的数据链总线节点时,通过所述数据链总线节点接收与所述数据链总线节点连接的上一级数据链总线节点传输的数据;当检测到所述数据链总线节点的本地时钟信号的上升沿时,通过所述数据链总线节点将接收的数据传输给与所述数据链总线节点连接的下一级数据链总线节点。
也即是,对于该多级数据链总线节点中的每级数据链总线节点,当该数据链总线节点不为与该指定处理器之间传输距离最远的数据链总线节点时,该数据链总线节点在接收第一指示信号传输的目标端口号之前,还会接收到上一级数据链总线节点传输的数据,在该种情况下,该数据链总线节点需要将所接收的数据继续向下一级数据链总线节点传输。
在本发明实施例中,当该数据链总线节点不为与该指定处理器之间传输距离最远的数据链总线节点时,该数据链总线节点接收到上一级数据链总线节点传输的数据,并按照自身的本地时钟信号,将所接收的数据传输给下一级数据链总线节点,以保证数据层层传输后,到达指定处理器中。
在一种可能的实现方式中,所述基于所述目标端口的预设延迟阈值,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点,包括:通过所述数据链总线节点判断所述目标端口的预设延迟阈值是否为零;当所述目标端口的预设延迟阈值为零时,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点;当所述目标端口的预设延迟阈值不为零时,基于接收所述目标端口号的次数与所述预设延迟阈值,通过所述数据链总线节点判断所述目标端口所传输的数据是否到达传输给所述指定处理器的传输时机;当所述目标端口所传输的数据到达传输给所述指定处理器的传输时机时,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点。
在本发明实施例中,当目标端口的预设延迟阈值为零时,说明该目标端口没有数据传输延迟,因此,可以直接将该目标端口所传输的数据传输给下一级数据链总线节点,而当该目标端口的预设延迟阈值不为零时,说明需要对该目标端口所传输的数据进行延迟传输,即需要判断目标端口所传输的数据是否到达传输给该指定处理器的传输时机,只有当该目标端口所传输的数据到达传输给该指定处理器的传输时机时,才将该目标端口所传输的数据传输给下一级数据链总线节点,保证了数据传输的准确性。
在一种可能的实现方式中,所述基于接收所述目标端口号的次数与所述预设延迟阈值,通过所述数据链总线节点判断所述目标端口所传输的数据是否到达传输给所述指定处理器的传输时机,包括如下至少一种实现方式:当所述预设延迟阈值是以子帧数量的形式表示时,通过所述数据链总线节点判断所述次数是否等于所述预设延迟阈值,若所述次数等于所述预设延迟阈值,则确定所述目标端口所传输的数据到达传输给所述指定处理器的传输时机;当所述预设延迟阈值是以帧数量的形式表示时,通过所述数据链总线节点将所述预设延迟阈值转换为以子帧数量的形式表示的延时阈值,判断所述次数是否等于转换后所述延迟阈值,若所述次数等于转换后的所述延迟阈值,则确定所述目标端口所传输的数据到达传输给所述指定处理器的传输时机;当所述预设延迟阈值是以子帧数量和帧数量相结合的形式表示时,通过所述数据链总线节点将所述预设延迟阈值转换为以子帧数量的形式表示的延时阈值,判断所述次数是否等于转换后的所述延迟阈值,若所述次数等于转换后的所述延迟阈值,则确定所述目标端口所传输的数据到达传输给所述指定处理器的传输时机。
在本发明实施例中,上述基于该预设延迟阈值的表示形式,通过转换操作,来判断上述接收该目标端口号的次数与转换后的延迟阈值是否相等,并当该次数与该转换后的延迟阈值相等时,确定该目标端口所传输的数据到达传输给该指定处理器的传输时机,增加了判断的方式。
在一种可能的实现方式中,所述将所述多个端口的数据传输给指定处理器之前,还包括:生成多个数据传输信号,所述多个数据传输信号与所述多个端口一一对应,所述多个数据传输信号用于指示所述多个端口开始传输数据;相应地,所述将所述多个端口的数据传输给指定处理器,包括:将所述多个端口的数据和所述多个数据传输信号传输给所述指定处理器,以使所述指定处理器基于所述多个数据传输信号判断所述多个端口的数据是否对齐。
其中,对于该多个端口中的每个端口,当与该端口连接的数据链总线节点确定到达该端口的第一数据的传输时机时,该数据链总线节点生成数据传输信号。
在本发明实施例中,在将多个端口的数据传输给指定处理器之前,还生成多个用于指示多个端口开始传输第一个数据的数据传输信号,并将该多个数据传输信号发送给该指定处理器,从而使得该指定处理器可以基于该多个数据传输信号,判断该多个端口的数据是否对齐,保证了数据传输的准确性。
第二方面,提供了一种数据传输链,所述数据传输链具有实现上述第一方面中数据处理方法行为的功能。该数据传输链包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的数据处理方法。
第三方面,提供了一种数据传输链,所述数据传输链的结构中包括:处理器、网络接口、存储器以及总线,存储器与网络接口分别通过总线与处理器相连;处理器被配置为执行存储器中存储的指令;处理器通过执行指令来实现上述第一方面所提供的数据处理方法。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存为上述数据传输链所用的计算机软件指令,或存储用于执行上述第二方面和第三方面为数据传输链所设计的程序。
上述本发明实施例第二到第四方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本发明实施例提供的技术方案带来的有益效果是:
在本发明实施例中,当检测到全局脉冲信号的上升沿时,说明系统控制器指示准备开始传输多个端口的数据,在该种情况下,基于该系统控制器发送的第一指示信号和与该多个端口一一对应的多个预设延迟阈值,将该多个端口的数据传输给指定处理器,也即是,对于该多个端口传输的同一组数据,在将该组数据中各个端口的数据传输给指定处理器的过程中,根据系统控制器发送的第一指示信号和与多个端口一一对应的多个预设延迟阈值,来控制该多个端口的数据传输至指定处理器中,即使得该多个端口的数据在传输至指定处理器的过程中保持对齐,不需要在指定处理器中增加缓冲存储器,节省指定处理器中存储资源的开发。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是根据一示例性实施例示出的一种数据传输的框架示意图;
图1B是根据一示例性实施例示出的一种数据传输端的框架示意图;
图1C是根据一示例性实施例示出的一种实施环境示意图;
图1D是根据另一示例性实施例示出的一种数据链总线节点的结构示意图;
图2A是根据另一示例性实施例示出的一种数据处理方法流程图;
图2B是图2A实施例所涉及的一种实现效果时序图;
图2C是图2A实施例所涉及的另一种实现效果时序图;
图2D是图2A实施例所涉及的另一种实现效果时序图;
图2E是图2A实施例所涉及的另一种实现效果时序图;
图2F是图2A实施例所涉及的另一种实现效果时序图;
图2G是图2A实施例所涉及的另一种实现效果时序图;
图2H是图2A实施例所涉及的另一种实施环境示意图;
图3A是根据一示例性实施例示出的一种数据传输链的结构示意图;
图3B是根据一示例性实施例示出的一种传输模块320的结构示意图;
图3C是根据另一示例性实施例示出的一种传输模块320的结构示意图;
图3D是根据另一示例性实施例示出的一种数据传输链的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1C是根据一示例性实施例示出的一种实施环境示意图。该实施环境中主要包括多个端口110、数据传输链120、指定处理器130和系统控制器140,指定处理器130可以为诸如VP等之类的处理器,本发明实施例对此不作限定。
其中,该数据传输链120包括依次相连的多级数据链总线节点(Chainbus Node)120a,该多级数据链总线节点120a与该多个端口110一一对应连接。该多级数据链总线节点120a中与指定处理器130之间传输距离最近的数据链总线节点与该指定处理器130连接,该多级数据链总线节点120a中与该指定处理器130之间传输距离最远的数据链总线节点120a与该系统控制器140连接,请参考图1C,即数据链总线节点0与指定处理器130连接,数据链总线节点N-1与系统控制器140连接。另外,该系统控制器140还可以通过有线网络、无线网络或其它逻辑器件分别与该多个端口110连接。
其中,该多级数据链总线节点120a中的每级数据链总线节点120a的硬件组成均相同,接下来,对各级数据链总线节点120a的内部结构进行介绍,请参考图1D,图1D是根据另一示例性实施例示出的一种数据链总线节点120a的结构示意图。该数据链总线节点120a中主要包括两个异步先进先出(First In First Out,FIFO)单元和控制单元120a3,该两个异步先进先出单元分别为第一异步单元120a1和第二异步单元120a2。该第一异步单元120al可以通过通信总线与该控制单元120a3连接,该控制单元120a3也可以通过通信总线与该第二异步单元120a2连接。
另外,在该数据链总线节点120a中还包括多个通信接口,该多个通信接口可以用于与其它设备建立通信。例如,该数据链总线节点120a中可以包括全局脉冲信号接口、第一指示信号接口、第一数据接口、第二指示信号接口和第一时钟信号接口,该数据链总线节点120a的第二异步单元120a2可以分别通过全局脉冲信号接口、第一指示信号接口、第一数据接口、第二指示信号接口和第一时钟信号接口与上一级数据链总线节点120a连接。另外,该数据链总线节点120a中还包括有第二数据接口和第二时钟信号接口,该数据链总线节点120a的第一异步单元120a1通过第二数据接口和第二时钟信号接口与对应的端口110连接。
其中,在一种可能的实现方式中,该第一异步单元120a1和第二异步单元120a2相当于硬件实体中的发射器和接收器,具体地,当该第一异步单元120a1或该第二异步单元120a2用于接收信号或数据时,相当于接收器,而当该第一异步单元120a1和该第二异步单元120a2用于传输数据或信号时,则相当于发射器。其中,该控制单元120a3相当于硬件实体中的处理器。
其中,该系统控制器140用于控制全局,相当于系统的CPU(Central ProcessingUnit,中央处理器),该系统控制器140用于生成全局脉冲信号,并将该全局脉冲信号传输给该多个端口110和多级数据链总线节点120a,该全局脉冲信号用于指示传输该多个端口的数据的时刻。
其中,对于该多个端口110中的每个端口110来说,当该端口110接收到该系统控制器140传输的全局脉冲信号时,该端口110将该全局脉冲信号与该端口110的端口时钟信号进行同步,以确定数据传输时刻。通常情况下,该多个端口110所确定的数据传输时刻要比多级数据链总线节点120a接收到全局脉冲信号的时刻要提前一点。当所确定的数据传输时刻到来时,该多个端口110开始向该数据传输链120的各级数据链总线节点120a传输数据。
相应地,对于该多级数据链总线节点120a中的每级数据链总线节点120a,该数据链总线节点120a通过第一异步单元120a1接收与该数据链总线节点120a连接的端口110所传输的数据,即该第一异步单元120a1按照该端口110的端口时钟信号,开始接收该端口110所传输的数据,并将所接收的数据进行缓存,以便于后续对该端口110所传输的数据进行传输处理。
另外,对于该数据传输链120来说,当接收到该全局脉冲信号时,确定准备对该多个端口110的数据进行处理。具体地,请参考图1C,该系统控制器140将该全局脉冲信号传输给该数据传输链120中的数据链总线节点N-1,该数据链总线节点N-1通过第二异步单元接收该全局脉冲信号,即该第二异步单元按照该系统控制器的时钟信号接收该全局脉冲信号,并将该全局脉冲信号传输给该数据传输链N-1中的控制单元120a3,当该控制单元120a3接收到该全局脉冲信号时,可以确定准备对该端口N-1所传输的数据进行处理。
此外,该控制单元120a3还用于在检测到该数据链总线节点N-1的本地时钟信号的上升沿时,将该全局脉冲信号传输给下一级的数据链总线节点N-2,相应地,数据链总线节点N-2接收该全局脉冲信号,之后,按照数据链总线节点N-1执行类似的操作,即确定准备对该端口N-2所传输的数据进行处理,并将该全局脉冲信号传输给下一级的数据链总线节点N-3。
以此类推,该全局脉冲信号经过该多级数据链总线节点120a后,被传输至该数据链总线节点0中,由该数据链总线节点0将该全局脉冲信号传输给该指定处理器130,该指定处理器130接收到该全局脉冲信号后,确定准备接收数据。
也即是,在该数据传输链120中,该全局脉冲信号的传输方向为:由系统控制器140传输给数据链总线节点N-1后,该数据链总线节点N-1再传输给数据链总线节点N-2,以此类推,最后传输给数据链总线节点0后,该数据链总线节点0将该全局脉冲信号传输给指定处理器130。
另外,该系统控制器140还用于向该数据传输链120传输第一指示信号,该第一指示信号至少用于指示当前传输的数据所属的端口,例如,若该第一指示信号中传输有端口号0,则说明当前所传输的数据为与该数据链总线节点0对应连接的端口0中的数据。也即是,在传输全局脉冲信号后,该系统控制器140向该数据传输链120传输第一指示信号,相应地,各级数据链总线节点120a接收该第一指示信号后,即可基于该第一指示信号,根据各自的本地时钟信号,将各个端口的数据传输给指定处理器130。该第一指示信号的传输方向与上述全局脉冲信号的传输方向类似,这里不再赘述。
其中,该多级数据链总线节点120a的本地时钟信号的脉冲频率相同,且各级数据链总线节点120a的本地时钟信号均可以由各级数据链总线节点120a中的控制单元120a3生成。
对于多级数据链总线节点120a中的每级数据链总线节点120a,当该数据链总线节点120a通过第二异步单元120a2接收到第一指示信号时,该第二异步单元120a2将该第一指示信号传输给控制单元120a3,该控制单元120a3判断与该数据链总线节点120a连接的端口所传输的数据是否到达传输给指定处理器130的时机,并当到达传输给指定处理器130的时机时,该控制单元120a3向该第一异步单元120a1发送控制信号,以使该第一异步单元120a1接收到该控制信号后,将自身所缓存的一个数据传输给下一级数据链总线节点120a或指定处理器130。
请参考图1C,当该数据链总线节点120a为数据链总线节点0时,直接将数据传输给指定处理器130,而当该数据链总线节点120a不为数据链总线节点0时,该数据链总线节点120a是将数据传输给下一级数据链总线节点120a,并且,当该数据链总线节点120a不为数据链总线节点0时,该数据传输方向与上述全局脉冲信号的传输方向类似,这里不再详细描述。
另外,在各级数据链总线节点120a基于第一指示信号,根据各自的本地时钟信号,将数据传输给指定处理器130的过程中,对于该多级数据链总线节点120a中的每级数据链总线节点120a,当该数据链总线节点120a开始传输与该数据链总线节点120a连接的端口110的第一个数据时,该数据链总线节点120a中的控制单元120a会生成数据传输信号,并将该数据传输信号传输给指定处理器130,即该数据传输信号用于指示与该数据链总线节点120a连接的端口110开始传输数据。并且,当该数据链总线节点120a传输与该数据链总线节点120a连接的端口110的最后一个数据时,该数据链总线节点120a中的控制单元120a生成结束输入信号,并将该结束输入信号传输给指定处理器130,该结束输入信号用于指示与该数据链总线节点120a连接的端口110所传输的最后一个数据。
在本发明实施例中,为了便于描述,可以将该数据传输信号和该结束输入信号均称为第二指示信号,该第二指示信号的传输方向与上述数据的传输方向相同。
这里需要说明的是,上述端口的第一个数据实际上是指该端口110所传输的符号的第一个数据,也即是,由于在数据传输系统中,通常是以符号为单位进行数据分段调制与解调,因此,在本发明实施例中,在将多个端口110的数据传输给指定处理器130的过程中,以符号为单位进行分段传输。也即是,在实际实现时,对于该多个端口110中的每个端口110,该端口110在将自身中的符号传输给该指定处理器130的过程中,该端口110将该符号所包含的多个数据分批依次传输,因此,上述第一个数据是指该符号的第一个数据。同理,上文所述的端口的最后一个数据也是指该端口所传输的符号的最后一个数据。
另外,还需要说明的是,在各级数据链总线节点120a将数据和第二指示信号传输给指定处理器130的过程中,请参考图1C,对于该数据链总线节点N-1来说,由于该数据链总线节点N-1与该系统控制器140连接,而不是与数据链总线节点120a连接,因此,该数据链总线节点N-1与该系统控制器140之间没有数据和第二指示信号的传输,从连接关系上来说,该数据链总线节点N-1与该系统控制器140之间实际上可以只存在全局脉冲信号接口和第一指示信号接口的连接,或者,该数据链总线节点N-1与该系统控制器140之间也可以存在第一数据接口和第二指示信号接口的连接,但没有数据和第二指示信号的传输。
图2A是根据另一示例性实施例示出的一种数据处理方法流程图,本实施例以该数据处理方法应用于数据传输链中进行举例说明,该数据处理方法可以包括如下几个步骤:
步骤201:数据传输链接收系统控制器发送的全局脉冲信号和第一指示信号。
如前文所述,在本发明实施例中,以符号为单位进行分段传输。请参考图2B,该图2B示例性示出一个端口中的symbol 0和symbol 1两个连续符号的信号时序图,其中,global_symb_mark为全局脉冲信号。也即是,每当开始传输一个符号symbol包括的数据时,系统控制器会先传输全局脉冲信号给数据传输链,该数据传输链中的各级数据链总线节点接收到该全局脉冲信号后,确定准备对该各个端口的数据进行处理。
另外,如前文所述,该第一指示信号至少用于指示当前传输的数据所属的端口,也即是,为了能够使得该数据传输链中的各级数据链总线节点确定在什么时候对其对应端口的数据进行传输处理,在传输全局脉冲信号后,该系统控制器向该数据传输链传输第一指示信号。具体地,请参考图1C和图1D,该系统控制器向该数据传输链中的数据链总线节点N-1传输该第一指示信号,相应地,该数据链总线节点N-1接收该第一指示信号,当检测到该数据链总线节点N-1的本地时钟信号的上升沿时,该数据链总线节点N-1将该第一指示信号传输给下一级数据链总线节点N-2,以此类推,该第一指示信号依次从该数据链总线节点N-1传输至数据链总线节点0。
其中,在一种可能的实现方式中,该系统控制器通过该第一指示信号,依次传输端口号0至端口号N-1,具体地,请参考图1C,该系统控制器通过该第一指示信号传输端口号0至该数据链总线节点N-1中,该数据链总线节点N-1当检测到该数据链总线节点N-1的本地时钟信号的上升沿时,将该端口号0传输给数据链总线节点N-2,同时,该系统控制器通过该第一指示信号传输端口号1至该数据链总线节点N-1中。该数据链总线节点N-1在检测到数据链总线节点N-1的下一个时钟信号上升沿时,将该端口号1传输给数据链总线节点N-2,同时,该数据链总线节点N-2当检测到该数据链总线节点N-2的本地时钟信号的上升沿时,将该端口号0传输给数据链总线节点N-3,并且,该系统控制器通过该第一指示信号传输端口号2至该数据链总线节点N-1中,以此类推,直到该端口号0传输至该数据链总线节点0中时,该数据链总线节点1中传输有端口号1,该数据链总线节点2中传输有端口号2,以此类推,该数据链总线节点N-1中传输有端口号N-1。相应地,各级数据链总线节点根据该第一指示信号,即可确定需要在什么时候对其对应端口所传输的数据进行传输处理。
例如,当该第一指示信号中传输端口号0,且该端口号0达到该数据链总线节点0中时,该数据链总线节点0即可确定需要对端口P0的数据进行传输处理,以此类推,当该第一指示信号中传输的端口号为1,且该端口号1到达该数据链总线节点1中时,该数据链总线节点1即可确定需要对端口P1的数据进行传输处理。其中,该第一指示信号的发送频率可以由该系统控制器事先根据每个符号包括的数据的个数确定,本发明实施例对此不做限定。
另外,在本发明实施例中,该第一指示信号中除了传输端口号之外,还可能传输有第一预设字符,其中,该第一预设字符可以由用户根据实际需求自定义设置,也可以由该系统控制器默认设置,本发明实施例对此不做限定。在这里,该第一预设字符是在端口号N-1之后传输,当该第一指示信号中传输第一预设字符时,说明已将该多个端口对应的同组数据传输结束。请参考图2C,这里的第一预设字符为“8”和“9”。
步骤202:当检测到所述全局脉冲信号的上升沿时,对于该多级数据链总线节点中的每级数据链总线节点,该数据传输链通过该数据链总线节点判断该系统控制器发送的第一指示信号中是否传输有目标端口号。
其中,该目标端口号为目标端口的端口号,该目标端口为与该数据链总线节点对应连接的端口。
根据前文所述,当该第一指示信号中传输有与该数据链总线节点对应连接的端口的目标端口号时,该数据链总线节点可以确定需要对目标端口的数据进行传输处理。其中,该数据传输链通过该数据链总线节点判断该系统控制器发送的第一指示信号中是否传输有目标端口号包括如下实现过程:
请参考图1D,对于该数据传输链中的每级数据链总线节点,该数据链总线节点中的第二异步单元通过第一指示信号接口,接收与该数据链总线节点连接的上一级数据链总线节点发送的第一指示信号,之后,该第二异步单元将该第一指示信号传输给该控制单元,该控制单元中预先存储有与该第一异步单元连接的端口的端口号,该控制单元接收该第一指示信号后,判断该第一指示信号中传输的端口号与该第一异步单元连接的端口的端口号是否相同,若该第一指示信号中传输的端口号与该第一异步单元连接的端口的端口号相同,则可以确定该第一指示信号中传输有目标端口号。
步骤203:当该第一指示信号中传输有该目标端口号时,该数据传输链判断该数据链总线节点是否为与该指定处理器之间传输距离最近的数据链总线节点。
在实际实现过程中,请参考图1C,由于根据该数据链总线节点所处的位置不同,该数据链总线节点将该目标端口的数据传输给不同的目标,因此,在本发明实施例中,当确定该第一指示信号中传输有该目标端口号后,在进行数据传输之前,该数据传输链需要判断该数据链总线节点是否为与该指定处理器之间传输距离最近的数据链总线节点。
步骤204:当该数据链总线节点不为与该指定处理器之间传输距离最近的数据链总线节点且检测到该数据链总线节点的本地时钟信号的上升沿时,该数据传输链基于该目标端口的预设延迟阈值,通过该数据链总线节点将该目标端口所传输的数据传输给与该数据链总线节点连接的下一级数据链总线节点。
例如,请参考图1C,当该数据链总线节点不是该数据链总线节点0时,在检测到该数据链总线节点的本地时钟信号时,该数据链总线节点基于该目标端口的预设延迟阈值,将该目标端口所传输的数据传输给与该数据链总线节点连接的下一级数据链总线节点。
由此,不难看出,对于该多级数据链总线节点中的每级数据链总线节点,当该数据链总线节点不为与该指定处理器之间传输距离最远的数据链总线节点时,该数据链总线节点在接收第一指示信号传输的目标端口号之前,还会接收到上一级数据链总线节点传输的数据,在该种情况下,该数据链总线节点需要将所接收的数据继续向下一级数据链总线节点传输。
也即是,当该数据链总线节点不为与该指定处理器之间传输距离最远的数据链总线节点时,数据传输链通过该数据链总线节点接收与该数据链总线节点连接的上一级数据链总线节点传输的数据,当检测到该数据链总线节点的本地时钟信号的上升沿时,通过该数据链总线节点将接收的数据传输给与该数据链总线节点连接的下一级数据链总线节点。
按照该种传输方式,通过层层传输,最终即可将该数据链总线节点传输的数据传输至指定处理器中。例如,按照上述第一指示信号的传输规则,数据链总线节点0将数据传输该指定处理器,并且,数据链总线节点0接收数据链总线节点1传输的数据,数据链总线节点1接收数据链总线节点2传输的数据,以此类推,通过层层递传,最终数据会依次传输给指定处理器,得到一组数据。
其中,上述多个预设延迟阈值与该多个端口一一对应,该多个预设延迟阈值均可以由用户根据实际需求自定义设置,也可以由该系统控制器默认设置,本发明实施例对此不做限定。
也即是,在实际实现过程中,由于该指定处理器可能要求该多个端口的数据按照不同的方式对齐,例如,在一种可能的实现方式中,该指定处理器可能需要该多个端口的数据从第一组数据开始保持对齐,即从第一组数据开始,对于同组数据,需要该多个端口所传输的该组数据均达到该指定处理器中后,再传输该多个端口对应的下一组数据。
但是,在另一种可能的实现方式中,从第一组数据开始,对于同一组数据,该指定处理器可能需要该多个端口中某个端口的数据延迟一定时延后到达,例如,从第一组数据开始,可能需要该多个端口中第i个端口的数据延迟一组后到达,即在多个端口中除了该第i个端口之外的其它端口传输下一组时,才将该第i个端口的数据与该下一组数据传输给该指定处理器,在该种情况下,对于该第i个端口,需要对应设置预设延迟阈值。因此,在实际传输时,还需要基于各个端口对应的该预设延迟阈值,对各个端口所传输的数据进行传输处理。
其中,该数据传输链基于该目标端口的预设延迟阈值,通过该数据链总线节点将该目标端口所传输的数据传输给与该数据链总线节点连接的下一级数据链总线节点可以包括如下步骤2041至步骤2043:
步骤2041:通过该数据链总线节点判断该目标端口的预设延迟阈值是否为零。
其中,该预设延迟阈值可以预先存储在该数据链总线节点的控制单元中,具体地,该数据链总线节点的控制单元在确定第一指示信号中传输有目标端口号时,该控制单元判断自身存储的预设延迟阈值是否为零。
步骤2042:当该目标端口的预设延迟阈值为零时,通过该数据链总线节点将该目标端口所传输的数据传输给与该数据链总线节点连接的下一级数据链总线节点。
也即是,当该预设延迟阈值为零时,说明不需要对该目标端口所传输的数据延迟传输,在该种情况下,当该目标端口号到达该数据链总线节点中时,该数据链总线节点即可直接将该目标端口所传输的数据传输给与该数据链总线节点连接的下一级数据链总线节点。也即是,该数据链总线节点中的控制单元向第一异步单元发送控制信号,以使该第一异步单元将自身缓存的目标端口的数据传输给下一级数据链总线节点。
步骤2043:当该目标端口的预设延迟阈值不为零时,基于接收该目标端口号的次数与该预设延迟阈值,通过该数据链总线节点判断该目标端口所传输的数据是否到达传输给该指定处理器的传输时机;当该目标端口所传输的数据到达传输给该指定处理器的传输时机时,通过该数据链总线节点将该目标端口所传输的数据传输给与该数据链总线节点连接的下一级数据链总线节点。
也即是,在本发明实施例中,可以根据指定处理器的实际需求,针对该多个端口中的每个端口,可以在该端口对应的数据链总线节点中设置预设延迟阈值,当该预设延迟阈值不为零时,说明需要对该目标端口所传输的数据进行延迟传输,在该种情况下,该数据链总线节点需要判断该目标端口所传输的数据是否到达传输给指定处理器的传输时机。
其中,根据上文所述不难理解,该数据链总线节点每接收一次目标端口号,该数据传输链即会传输一组数据至该指定处理器中,因此,在本发明实施例中,可以通过统计接收该目标端口号的次数,并基于该预设延迟阈值,来确定该目标端口所传输的数据是否到达传输给该指定处理器的传输时机。
其中,基于接收该目标端口号的次数与该预设延迟阈值,通过该数据链总线节点判断该目标端口所传输的数据是否到达传输给该指定处理器的传输时机包括如下至少一种实现方式:
第一种方式:当该预设延迟阈值是以子帧数量的形式表示时,通过数据链总线节点判断该次数是否等于该预设延迟阈值,若该次数等于该预设延迟阈值,则确定该目标端口所传输的数据到达传输给该指定处理器的传输时机。
请参考图2D,若要将该端口P1和端口P2所传输的数据延迟一个子帧,即该端口P1对应的预设延迟阈值为1个子帧,则对于该数据链总线节点1来说,当接收该端口号1的次数等于1时,则可以确定该端口号1对应端口所传输的数据达到传输给该指定处理器的传输时机。对于该数据链总线节点2同理。另外,若要将该端口P6所传输的数据延迟两个子帧,即该端口P6对应的预设延迟阈值为2个子帧,则数据链总线节点6接收该第一指示信号中传输的端口号6的次数等于2时,可以确定该端口号6对应端口所传输的数据到达传输给指定处理器的传输时机。
第二种方式:当该预设延迟阈值是以帧数量的形式表示时,通过该数据链总线节点将该预设延迟阈值转换为以子帧数量的形式表示的延时阈值,判断该次数是否等于转换后该延迟阈值,若该次数等于转换后的该延迟阈值,则确定该目标端口所传输的数据到达传输给该指定处理器的传输时机。
在该种实现方式中,由于一个帧中包括指定数量的子帧,例如,请参考图2C至图2D,在本发明实施例中,一个帧包括4个子帧,因此,可以将该预设延迟阈值转换成子帧的形式表示的延迟阈值,例如,若该预设延迟阈值为1个帧,则经过转换后,该预设延迟阈值可以表示为4个子帧,在该种情况下,若某数据链总线节点接收对应端口的端口号次数等于4,则确定该端口号对应端口所传输的数据到达传输给该指定处理器的传输时机。其中,该指定数量可以由系统控制器基于每个符号包括的数据个数预先确定,本发明实施例对此不做限定。
第三种方式:当该预设延迟阈值是以子帧数量和帧数量相结合的形式表示时,通过该数据链总线节点将该预设延迟阈值转换为以子帧数量的形式表示的延时阈值,判断该次数是否等于转换后的该延迟阈值,若该次数等于转换后的该延迟阈值,则确定该目标端口所传输的数据到达传输给该指定处理器的传输时机。
在该种实现方式中,与上述第二种实现方式类似,当该预设延迟阈值中包括帧数量时,将该帧数量统一转换成子帧数量的形式表示,这里不再详细描述。例如,请参考图2E,该图2E示出了一种将端口所传输的数据传输延迟一个帧和一个子帧的效果示意图。其中,data_output_en代表控制单元传输给第一异步单元的控制信号,也即是,在该例子中,当传输一个帧和一个子帧后,与该端口连接的数据链总线节点的控制单元才向该第一异步单元发送该控制信号,以使该第一异步单元开始传输自身缓存的第一个数据。
其中,上述次数的统计可以通过计数器来实现,该计数器可以为各个数据链总线节点中的控制单元内部配置的计数器,也可以是与各个数据链总线节点的控制单元具有连接关系的计数器,本发明实施例对此不作限定。
另外,需要说明的是,在上述实现方式中,在判断该目标端口所传输的数据是否到达传输给该指定处理器的传输时机的过程中,仅是以将帧数量转换成子帧数量的形式表示为例进行说明,在另一实施例中,还可以通过其它方式来判断该目标端口所传输的数据是否到达传输给该指定处理器的传输时机,例如,还可以根据该第一指示信号中所传输的字符进行判断。
具体地,请参考图2B至图2F,由于子帧与子帧之间存在第一冗余时隙,如前文所述,该第一冗余时隙可以通过上述第一预设字符表示,例如,该第一预设字符可以用“8”和“9”字符来表示,而帧与帧之间也存在第二冗余时隙,该第二冗余时隙可以通过第二预设字符表示,例如,该第二预设字符可以用“F”字符来表示,也即是,系统控制器还可以在传输指定数量组端口号和第一预设字符后,通过该第一指示信号传输该第二预设字符。在该种情况下,各级数据链总线节点可以通过检测第一预设字符与端口号的转变时机,以及检测第二预设字符与端口号之间的转变时机,来确定子帧的脉冲边界frame_start_local和帧的脉冲边界subframe_start_local,从而可以确定已传输的子帧数量和帧数量。
具体地,对于该多个数据链总线节点中的每个数据链总线节,每当该数据链总线节点接收到该第一指示信号中传输有第一预设字符时,确定已经传输了一组数据,请参考图2C中data[D-1:0]对应的数据,相当于已经传输了一个子帧,而每当该数据链总线节点接收到该第一指示信号中传输有第二预设字符时,确定已经传输了四组数据,相当于已经传输了一个帧,当该数据链路总线节点再次接收到端口号时,该数据链总线节点中的控制单元生成一个帧开始信号frame_start,即该帧开始信号用于表示又一个帧的起始位置。因此,按照该种方式,从每个符号的起点开始累加,根据预先配置的预设延迟阈值,且当该预设延迟阈值中包括帧数量和子帧数量时,可以根据帧的脉冲边界和子帧的脉冲边界,统计已传输的帧数量和子帧数量,从而判断端口所传输的数据是否到达传输给该指定处理器的传输时机。
其中,上述第二预设字符可以由用户根据实际需求自定义设置,也可以由系统控制器默认设置,本发明实施例对此不做限定。
上述通过检测第一预设字符与端口号的转变时机,以及检测第二预设字符与端口号之间的转变时机,来确定子帧的脉冲边界和帧的脉冲边界,不需要在数据链路中增加对应的控制信号线,可以减少互联线路数量。
需要说明的是,在上述实现方式中,当需要对该帧和子帧分别进行统计时,可以在各个数据链总线节点的控制单元中分别设置两个计数器,例如,请参考图2E,该frame_cnt表示对帧数量的统计结果,该subframe_cnt表示对子帧数量的统计结果。
上述通过多种方式判断该端口号对应端口所传输的数据是否到达传输给该指定处理器的传输时机,增加了判断的方式。
步骤205:当该数据链总线节点为与该指定处理器之间传输距离最近的数据链总线节点且检测到该数据链总线节点的本地时钟信号的上升沿时,该数据传输链基于该目标端口的预设延迟阈值,通过该数据链总线节点将该目标端口所传输的数据传输给该指定处理器。
请参考图1C,当该数据链总线节点为数据链总线节点0时,由于与该数据链总线节点0连接的下一级不是数据链总线节点,而是指定处理器,因此,该数据传输链可以直接基于该目标端口的预设延迟阈值,通过该数据链总线节点0将该目标端口所传输的数据传输给该指定处理器。
其中,上述数据传输链基于该目标端口的预设延迟阈值,通过该数据链总线节点将该目标端口所传输的数据传输给该指定处理器的实现过程与上述数据传输链基于该目标端口的预设延迟阈值,通过该数据链总线节点将该目标端口所传输的数据传输给与该数据链总线节点连接的下一级数据链总线节点的实现过程类似,这里不再赘述。
需要说明的是,上述步骤202至步骤205用于实现如下方法,该方法包括:当检测到该全局脉冲信号的上升沿时,基于该第一指示信号和多个预设延迟阈值,将该多个端口的数据传输给指定处理器,以使该指定处理器基于所接收的数据进行预编码处理。
也即是,通过上述步骤202至步骤205,可以将该多级数据链总线节点对应的多个端口的数据依次传输至指定处理器中,即实现了将该多个端口的数据成组传输,也即是,相当于将该多个端口的数据组成了一个子帧,实现效果时序图如图2C中的subframe0所示,其中,portid即为该第一指示信号,clock为该数据传输链的本地时钟信号。
在本发明实施例中,针对该第一指示信号,该系统控制器按照上述规则,循环传输端口号和该第一预设字符,按照该种方式,可以使得该多个端口的数据成组的发送到该指定处理器中,如图2C所示,相当于每四组,也即是,每四个子帧组成了一个帧frame。
另外,在实际实现过程中,为了能够使得该指定处理器在接收到多个端口的数据后,进一步确定该多个端口的数据是否对齐,在本发明实施例中,在传输各个端口的第一个数据时,还为该指定处理器提供该各个端口的第一数据对应的数据传输信号,具体实现过程如下步骤(1)-(2):
(1)生成多个数据传输信号,该多个数据传输信号与多个端口一一对应,该多个数据传输信号用于指示多个端口开始传输数据。
也即是,对于该多个端口中的每个端口,当与该端口连接的数据链总线节点确定到达该端口的第一数据的传输时机时,该数据链总线节点中的控制单元生成数据传输信号。
例如,请参考图2B,对于该多个端口中的每个端口,当与该端口连接的数据链总线节点开始传输该端口的第一个数据D0时,该数据链总线节点中的控制单元生成该数据传输信号symb_start,其中,该数据传输信号symb_start为随路信号。
再如,请参考图2D,若该端口1、端口2和端口6的数据有一定的传输延迟,则当该端口1、端口2和端口6开始传输第一个数据时,该数据链总线节点1、数据链总线节点2和数据链总线节点6中的控制单元才生成该数据传输信号。
(2)将该多个端口的数据和该多个数据传输信号传输给该指定处理器,以使该指定处理器基于该多个数据传输信号判断该多个端口的数据是否对齐。
例如,若该指定处理器要求该多个端口的第一个数据D0需要对齐,则当该指定处理器接收到第一组数据,且接收到了该多个数据对应的多个数据传输信号时,说明该组数据为多个端口传输的第一个数据,因此,可以确定多个端口的数据对齐。否则,若该指定处理器未接收到该端口1对应的数据传输信号,说明在该组数据中,端口P1的数据还未到达,因此,可以确定该多个端口的数据不对齐。
另外,如上文所述,当传输各个端口的最后一个数据时,该数据传输链还可以在发送最后一个数据时,生成结束输入信号,并将该结束输入信号发送给该指定处理器,以通知该指定处理器当前接收该组数据为该多个端口的最后一个数据,实现效果时序图如图2G中的symb_end所示,该图2G示出了一个符号的数据的最后一个帧的时序图,若该符号包括的数据刚好为4的整数倍,则每个端口的最后一个数据为D4N-1,随着该结束输入信号symb_end的生成,表示当前传输的符号的最后一个数据已经传输结束,在下一个数据传输信号symb_start生成之前,后续的帧都不再传输有效数据,及后续的帧均为dummy帧,也可以称之为冗余帧。与数据传输信号symb_start同理,该结束输入信号symb_end也为随路信号。
需要说明的是,本发明实施例还可以在数据通路和带宽满足的基础上,灵活改变有效帧的长度和冗余时隙的设计,即可以满足大吞吐量的数据传输,也可以在低速率时减少数据通路的时延。
另外,需要说明的是,在本发明实施例中,仅是以该数据处理方法应用于一个数据传输链中为例进行说明,在另一实施例中,请参考图2H,还可以对多个数据传输链进行级联,即该数据处理方法可以应用多个级联的数据传输链中,从而实现更多端口的级联,本发明实施例对此不作限定。
此外,还需要说明的是,在本发明实施例中,仅是以该数据处理方法应用在图1C所示实施环境中为例进行说明,在另一实施例中,该数据处理方法还可以应用到其它领域,例如,对于多端口数据需要汇聚到外部独立处理机制的架构,并且要求多个用户设备精准对齐的,均可以采用该数据处理方法实现,本发明实施例对此不作限定。
在本发明实施例中,当检测到全局脉冲信号的上升沿时,说明系统控制器指示准备开始传输多个端口的数据,在该种情况下,基于该系统控制器发送的第一指示信号和与该多个端口一一对应的多个预设延迟阈值,将该多个端口的数据传输给指定处理器,也即是,对于该多个端口传输的同一组数据,在将该组数据中各个端口的数据传输给指定处理器的过程中,根据系统控制器发送的第一指示信号和与多个端口一一对应的多个预设延迟阈值,来控制该多个端口的数据传输至指定处理器中,即使得该多个端口的数据在传输至指定处理器的过程中保持对齐,不需要在指定处理器中增加缓冲存储器,节省指定处理器中存储资源的开发。
图3A是根据一示例性实施例示出的一种数据传输链的结构示意图,该数据传输链可以包括:接收模块310和传输模块320,该接收模块310用于执行图2A实施例中的步骤201,该传输模块320用于执行图2A实施例中的步骤202至步骤205。
可选地,请参考图3B至图3D,该传输模块320包括:判断单元320a和第一传输单元320b;该判断单元320a用于执行上述图2A实施例中的步骤202和步骤203,以及该第一传输单元320b用于执行上述图2A实施例中的步骤204和步骤205。
可选地,该传输模块320还包括接收单元320c和第二传输单元320d,该接收单元320c具有与上述图1D实施例中的第二异步单元120a2相同或相似的功能,该第二传输单元320d具有与上述图1D实施例中的控制单元120a3相同或相似的功能。
可选地,该第一传输单元320b用于执行上述步骤2041至步骤2043。
可选地,该第一传输单元320b用于上述执行步骤204中的第一种方式、第二种方式和第三种方式。
可选地,该数据传输链还包括:
生成模块330,该生成模块330具有与上述图1D实施例中的控制单元120a3相同或相似的功能。该传输模块320还用于:将该多个端口的数据和该多个数据传输信号传输给该指定处理器,以使该指定处理器基于该多个数据传输信号判断该多个端口的数据是否对齐。
在本发明实施例中,当检测到全局脉冲信号的上升沿时,说明系统控制器指示准备开始传输多个端口的数据,在该种情况下,基于该系统控制器发送的第一指示信号和与该多个端口一一对应的多个预设延迟阈值,将该多个端口的数据传输给指定处理器,也即是,对于该多个端口传输的同一组数据,在将该组数据中各个端口的数据传输给指定处理器的过程中,根据系统控制器发送的第一指示信号和与多个端口一一对应的多个预设延迟阈值,来控制该多个端口的数据传输至指定处理器中,即使得该多个端口的数据在传输至指定处理器的过程中保持对齐,不需要在指定处理器中增加缓冲存储器,节省指定处理器中存储资源的开发。
需要说明的是:上述实施例提供的数据传输链在实现数据处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输链和数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种数据处理方法,应用于数据传输链中,其特征在于,所述数据传输链包括依次相连的多级数据链总线节点,所述多级数据链总线节点中与指定处理器之间传输距离最远的数据链总线节点与系统控制器连接,且所述多级数据链总线节点与多个端口一一对应连接,所述方法包括:
接收系统控制器发送的全局脉冲信号和第一指示信号,所述全局脉冲信号用于指示传输多个端口的数据的时刻,所述第一指示信号至少用于指示当前传输的数据所属的端口;
当检测到所述全局脉冲信号的上升沿时,基于所述第一指示信号和多个预设延迟阈值,通过所述多级数据链总线节点中的每个数据链总线节点,将与第一数据链总线节点相对应的端口的数据传输给所述指定处理器,或者将与第二数据链总线节点相对应的端口的数据传输给下一个数据链总线节点,以使所述指定处理器基于所接收的数据进行预编码处理,其中,所述第一数据链总线节点为与所述指定处理器之间传输距离最近的数据链总线节点,所述第二数据链总线节点为所述数据传输链中除所述第一数据链总线节点之外的其他数据链总线节点,所述多个预设延迟阈值与所述多个端口一一对应。
2.如权利要求1所述的方法,其特征在于,所述基于所述第一指示信号和多个预设延迟阈值,通过所述多级数据链总线节点中的每个数据链总线节点,将与第一数据链总线节点相对应的端口的数据传输给所述指定处理器,或者将与第二数据链总线节点相对应的端口的数据传输给下一个数据链总线节点,包括:
对于所述多级数据链总线节点中的每级数据链总线节点,通过所述数据链总线节点判断所述系统控制器发送的第一指示信号中是否传输有目标端口号,所述目标端口号为目标端口的端口号,所述目标端口为与所述数据链总线节点对应连接的端口;
当所述第一指示信号中传输有所述目标端口号时,若所述数据链总线节点为所述第二数据链总线节点且检测到所述数据链总线节点的本地时钟信号的上升沿时,基于所述目标端口的预设延迟阈值,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点;
若所述数据链总线节点为所述第一数据链总线节点且检测到所述数据链总线节点的本地时钟信号的上升沿时,基于所述目标端口的预设延迟阈值,通过所述数据链总线节点将所述目标端口所传输的数据传输给所述指定处理器。
3.如权利要求2所述的方法,其特征在于,所述通过所述数据链总线节点判断所述系统控制器发送的第一指示信号中是否传输有目标端口号之前,还包括:
当所述数据链总线节点不为与所述指定处理器之间传输距离最远的数据链总线节点时,通过所述数据链总线节点接收与所述数据链总线节点连接的上一级数据链总线节点传输的数据;
当检测到所述数据链总线节点的本地时钟信号的上升沿时,通过所述数据链总线节点将接收的数据传输给与所述数据链总线节点连接的下一级数据链总线节点。
4.如权利要求2所述的方法,其特征在于,所述基于所述目标端口的预设延迟阈值,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点,包括:
通过所述数据链总线节点判断所述目标端口的预设延迟阈值是否为零;
当所述目标端口的预设延迟阈值为零时,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点;
当所述目标端口的预设延迟阈值不为零时,基于接收所述目标端口号的次数与所述预设延迟阈值,通过所述数据链总线节点判断所述目标端口所传输的数据是否到达传输给所述指定处理器的传输时机;当所述目标端口所传输的数据到达传输给所述指定处理器的传输时机时,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点。
5.如权利要求4所述的方法,其特征在于,所述基于接收所述目标端口号的次数与所述预设延迟阈值,通过所述数据链总线节点判断所述目标端口所传输的数据是否到达传输给所述指定处理器的传输时机,包括如下至少一种实现方式:
当所述预设延迟阈值是以子帧数量的形式表示时,通过所述数据链总线节点判断所述次数是否等于所述预设延迟阈值,若所述次数等于所述预设延迟阈值,则确定所述目标端口所传输的数据到达传输给所述指定处理器的传输时机;
当所述预设延迟阈值是以帧数量的形式表示时,通过所述数据链总线节点将所述预设延迟阈值转换为以子帧数量的形式表示的延时阈值,判断所述次数是否等于转换后所述延迟阈值,若所述次数等于转换后的所述延迟阈值,则确定所述目标端口所传输的数据到达传输给所述指定处理器的传输时机;
当所述预设延迟阈值是以子帧数量和帧数量相结合的形式表示时,通过所述数据链总线节点将所述预设延迟阈值转换为以子帧数量的形式表示的延时阈值,判断所述次数是否等于转换后的所述延迟阈值,若所述次数等于转换后的所述延迟阈值,则确定所述目标端口所传输的数据到达传输给所述指定处理器的传输时机。
6.如权利要求1所述的方法,其特征在于,所述将与第一数据链总线节点相对应的端口的数据传输给所述指定处理器,或者将与第二数据链总线节点相对应的端口的数据传输给下一个数据链总线节点之前,还包括:
生成多个数据传输信号,所述多个数据传输信号与所述多个端口一一对应,所述多个数据传输信号用于指示所述多个端口开始传输数据;
相应地,所述将与第一数据链总线节点相对应的端口的数据传输给所述指定处理器,或者将与第二数据链总线节点相对应的端口的数据传输给下一个数据链总线节点,包括:
将与第一数据链总线节点相对应的端口的数据和数据传输信号传输给所述指定处理器,或者将与第二数据链总线节点相对应的端口的数据和数据传输信号传输给下一个数据链总线节点,以使所述指定处理器基于所述多个数据传输信号判断所述多个端口的数据是否对齐。
7.一种数据传输链,其特征在于,所述数据传输链包括依次相连的多级数据链总线节点,所述多级数据链总线节点中与指定处理器之间传输距离最远的数据链总线节点与系统控制器连接,且所述多级数据链总线节点与多个端口一一对应连接,所述数据传输链包括:
接收模块,用于接收系统控制器发送的全局脉冲信号和第一指示信号,所述全局脉冲信号用于指示传输多个端口的数据的时刻,所述第一指示信号至少用于指示当前传输的数据所属的端口;
传输模块,用于当检测到所述接收模块接收的所述全局脉冲信号的上升沿时,基于所述第一指示信号和多个预设延迟阈值,通过所述多级数据链总线节点中的每个数据链总线节点,将与第一数据链总线节点相对应的端口的数据传输给所述指定处理器,或者将与第二数据链总线节点相对应的端口的数据传输给下一个数据链总线节点,以使所述指定处理器基于所接收的数据进行预编码处理,其中,所述第一数据链总线节点为与所述指定处理器之间传输距离最近的数据链总线节点,所述第二数据链总线节点为所述数据传输链中除所述第一数据链总线节点之外的其他数据链总线节点,所述多个预设延迟阈值与所述多个端口一一对应。
8.如权利要求7所述的数据传输链,其特征在于,所述传输模块包括:判断单元和第一传输单元;
所述判断单元,用于对于所述多级数据链总线节点中的每级数据链总线节点,通过所述数据链总线节点判断所述系统控制器发送的第一指示信号中是否传输有目标端口号,所述目标端口号为目标端口的端口号,所述目标端口为与所述数据链总线节点对应连接的端口;
所述第一传输单元,用于当所述第一指示信号中传输有所述目标端口号时,
若所述数据链总线节点为所述第二数据链总线节点且检测到所述数据链总线节点的本地时钟信号的上升沿时,基于所述目标端口的预设延迟阈值,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点;
所述第一传输单元,还用于若所述数据链总线节点为所述第一数据链总线节点且检测到所述数据链总线节点的本地时钟信号的上升沿时,基于所述目标端口的预设延迟阈值,通过所述数据链总线节点将所述目标端口所传输的数据传输给所述指定处理器。
9.如权利要求8所述的数据传输链,其特征在于,所述传输模块还包括:
接收单元,用于当所述数据链总线节点不为与所述指定处理器之间传输距离最远的数据链总线节点时,通过所述数据链总线节点接收与所述数据链总线节点连接的上一级数据链总线节点传输的数据;
第二传输单元,用于当检测到所述数据链总线节点的本地时钟信号的上升沿时,通过所述数据链总线节点将接收的数据传输给与所述数据链总线节点连接的下一级数据链总线节点。
10.如权利要求8所述的数据传输链,其特征在于,所述第一传输单元用于:
通过所述数据链总线节点判断所述目标端口的预设延迟阈值是否为零;
当所述目标端口的预设延迟阈值为零时,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点;
当所述目标端口的预设延迟阈值不为零时,基于接收所述目标端口号的次数与所述预设延迟阈值,通过所述数据链总线节点判断所述目标端口所传输的数据是否到达传输给所述指定处理器的传输时机;当所述目标端口所传输的数据到达传输给所述指定处理器的传输时机时,通过所述数据链总线节点将所述目标端口所传输的数据传输给与所述数据链总线节点连接的下一级数据链总线节点。
11.如权利要求10所述的数据传输链,其特征在于,所述第一传输单元用于:
当所述预设延迟阈值是以子帧数量的形式表示时,通过所述数据链总线节点判断所述次数是否等于所述预设延迟阈值,若所述次数等于所述预设延迟阈值,则确定所述目标端口所传输的数据到达传输给所述指定处理器的传输时机;
当所述预设延迟阈值是以帧数量的形式表示时,通过所述数据链总线节点将所述预设延迟阈值转换为以子帧数量的形式表示的延时阈值,判断所述次数是否等于转换后所述延迟阈值,若所述次数等于转换后的所述延迟阈值,则确定所述目标端口所传输的数据到达传输给所述指定处理器的传输时机;
当所述预设延迟阈值是以子帧数量和帧数量相结合的形式表示时,通过所述数据链总线节点将所述预设延迟阈值转换为以子帧数量的形式表示的延时阈值,判断所述次数是否等于转换后的所述延迟阈值,若所述次数等于转换后的所述延迟阈值,则确定所述目标端口所传输的数据到达传输给所述指定处理器的传输时机。
12.如权利要求7所述的数据传输链,其特征在于,所述数据传输链还包括:
生成模块,用于生成多个数据传输信号,所述多个数据传输信号与所述多个端口一一对应,所述多个数据传输信号用于指示所述多个端口开始传输数据;
所述传输模块还用于:
将与第一数据链总线节点相对应的端口的数据和数据传输信号传输给所述指定处理器,或者将与第二数据链总线节点相对应的端口的数据和数据传输信号传输给下一个数据链总线节点,以使所述指定处理器基于所述多个数据传输信号判断所述多个端口的数据是否对齐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805605.7A CN106407140B (zh) | 2016-09-05 | 2016-09-05 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805605.7A CN106407140B (zh) | 2016-09-05 | 2016-09-05 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106407140A CN106407140A (zh) | 2017-02-15 |
CN106407140B true CN106407140B (zh) | 2019-06-11 |
Family
ID=57998485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610805605.7A Active CN106407140B (zh) | 2016-09-05 | 2016-09-05 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106407140B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019213967A1 (zh) * | 2018-05-11 | 2019-11-14 | 华为技术有限公司 | 通信方法、设备及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217240A (zh) * | 2011-05-18 | 2011-10-12 | 华为技术有限公司 | 矢量dsl的方法、系统及一种单板和dslam设备 |
CN103901375A (zh) * | 2014-03-06 | 2014-07-02 | 北京大学 | 一种基于高速互连串行总线的磁共振成像谱仪 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2136477B1 (en) * | 2008-06-16 | 2011-08-03 | Alcatel Lucent | Device and associated method for crosstalk estimation |
-
2016
- 2016-09-05 CN CN201610805605.7A patent/CN106407140B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217240A (zh) * | 2011-05-18 | 2011-10-12 | 华为技术有限公司 | 矢量dsl的方法、系统及一种单板和dslam设备 |
CN103901375A (zh) * | 2014-03-06 | 2014-07-02 | 北京大学 | 一种基于高速互连串行总线的磁共振成像谱仪 |
Also Published As
Publication number | Publication date |
---|---|
CN106407140A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7684326B2 (en) | Methods and structures for improved buffer management and dynamic adaptation of flow control status in high-speed communication networks | |
CN102804714B (zh) | 控制分组传输 | |
US11843529B2 (en) | Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus | |
US7929431B2 (en) | Port rate smoothing in an avionics network | |
US8310934B2 (en) | Method and device for controlling information channel flow | |
US7571271B2 (en) | Lane merging | |
CN101867511A (zh) | 流控帧发送方法、相关设备及系统 | |
CN104104616A (zh) | 数据调度和交换的方法、装置及系统 | |
US10671554B1 (en) | Credit based flow control mechanism for use in multiple link width interconnect systems | |
CN102823206A (zh) | 用于降低分组处理线卡中的能量消耗的方法 | |
US8848526B1 (en) | Network processor with traffic shaping response bus interface | |
CN101188560A (zh) | 实现转发能力动态检测的方法和装置 | |
CN106407140B (zh) | 数据处理方法及装置 | |
CN101202634B (zh) | 提高带宽利用率的单板和数据传输系统以及方法 | |
CA2493506A1 (en) | Methods and apparatus for credit-based flow control | |
US10764198B2 (en) | Method to limit packet fetching with uncertain packet sizes to control line rate | |
CN106372013B (zh) | 远程内存访问方法、装置和系统 | |
US7889658B1 (en) | Method of and system for transferring overhead data over a serial interface | |
CN102130744A (zh) | 计算循环冗余校验码的方法和装置 | |
CN110191069B (zh) | 一种带有多条通道的环形片上网络 | |
CN104750021B (zh) | 数值控制系统 | |
CN105589820B (zh) | 一种数据传输缓冲装置 | |
CN108141431B (zh) | 发射实体以及由其执行以用于向接收实体传送一个或多个数据分组的方法 | |
CN110601996A (zh) | 一种采用令牌保底分布式贪心算法的环网防饥饿流控方法 | |
KR101377066B1 (ko) | 멀티 채널 시리얼 통신 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |