CN115297198A - 数据处理方法、电路、介质和计算设备 - Google Patents

数据处理方法、电路、介质和计算设备 Download PDF

Info

Publication number
CN115297198A
CN115297198A CN202211148192.1A CN202211148192A CN115297198A CN 115297198 A CN115297198 A CN 115297198A CN 202211148192 A CN202211148192 A CN 202211148192A CN 115297198 A CN115297198 A CN 115297198A
Authority
CN
China
Prior art keywords
data
transmitted
load
spliced
width
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.)
Granted
Application number
CN202211148192.1A
Other languages
English (en)
Other versions
CN115297198B (zh
Inventor
郑瀚寻
杨龚轶凡
闯小明
严港
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhonghao Xinying Hangzhou Technology Co ltd
Original Assignee
Zhonghao Xinying Hangzhou Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhonghao Xinying Hangzhou Technology Co ltd filed Critical Zhonghao Xinying Hangzhou Technology Co ltd
Priority to CN202211148192.1A priority Critical patent/CN115297198B/zh
Publication of CN115297198A publication Critical patent/CN115297198A/zh
Application granted granted Critical
Publication of CN115297198B publication Critical patent/CN115297198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明的实施方式提供了一种数据处理方法、电路、介质和计算设备,该方法包括:获取待传输数据;若待传输数据的数据类型为待分解类型,将待传输数据中的第一标头数据和/或第一负载数据存储;并且从下一批待传输数据中确定第一待拼接数据;向PCIE控制设备发送第一标头数据和/或第一负载数据与第一待拼接数据得到的待传输负载数据;若待传输数据的数据类型为待合并类型,则将待传输数据中的第二标头数据和/或第二负载数据存储;并且从第二负载数据中确定第二待拼接数据;向目标应用发送第二标头数据或第二负载数据与第二待拼接数据得到的待传输组合数据。本发明能够使PCIE控制器处理TLP数据包的效率提升,且提升了TLP数据包在传输过程中的安全性。

Description

数据处理方法、电路、介质和计算设备
技术领域
本发明的实施方式涉及数据传输技术领域,更具体地,本发明的实施方式涉及一种数据处理方法、电路、介质和计算设备。
背景技术
在通信系统中,随着传输数据量的增加,为了更加快速地完成数据传输工作,需要对数据的传输速度进行提高。目前,为了提高数据传输的速度,高速传输PCIE(PeripheralComponent Interconnect Express)总线在通信系统中得到了越来越多的应用。PCIE总线与PCIE控制器之间的数据传输采用的是事务层数据包(Transaction Lay Packet,TLP) 的格式,将需要传输的数据封装成至少一个TLP数据包。
目前,通常需要PCIE总线基于总线协议(Advanced eXtensible Interface,AXI)桥向PCIE控制器发送TLP数据包。现有的TLP数据包的发送方式中,总线协议桥只是将TLP数据包整体发送至PCIE控制器,由PCIE控制器对TLP数据包的Header和Payload进行合并或分解处理。然而,在实践中发现,一些PCIE控制器需要对TLP数据包的Header和Payload分开进行处理,也有一些PCIE控制器需要对TLP数据包的Header和Payload合并进行处理;只通过PCIE控制器对TLP数据包进行分解或合并处理,会使得PCIE控制器处理TLP数据包的效率降低。
发明内容
在本上下文中,本发明的实施方式期望提供一种数据处理方法、电路、介质和计算设备。
在本发明实施方式的第一方面中,提供了一种数据处理方法,应用于PCIE总线,包括:
获取待传输数据;其中,所述待传输数据的数据类型为待分解类型或待合并类型;
若所述待传输数据的数据类型为待分解类型,则将从所述待传输数据中识别到的第一标头数据和/或第一负载数据进行存储;并且根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据;以及将所述第一负载数据与所述第一待拼接数据进行拼接,得到待传输负载数据;向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据;
若所述待传输数据的数据类型为待合并类型,则将所述待传输数据中包括的第二标头数据和/或第二负载数据进行存储;并且根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据;以及将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据;向目标应用发送所述待传输组合数据。
在本发明实施方式的第二方面中,提供了一种数据处理电路,应用于PCIE总线,所述电路包括跨时钟域处理电路、数据格式处理电路以及数字逻辑转换电路,其中:
所述跨时钟域处理电路,被配置为获取待传输数据;其中,所述待传输数据的数据类型为待分解类型或待合并类型;
所述数据格式处理电路,被配置为当所述待传输数据的数据类型为待分解类型时,将从所述待传输数据中识别到的第一标头数据和/或第一负载数据进行存储;并且根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据;
所述数字逻辑转换电路,被配置为将所述第一负载数据与所述第一待拼接数据进行拼接,得到待传输负载数据;向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据;
所述数据格式处理电路,还被配置为当所述待传输数据的数据类型为待合并类型时,将所述待传输数据中包括的第二标头数据和/或第二负载数据进行存储;并且根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据;
所述数字逻辑转换电路,还被配置为将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据;向目标应用发送所述待传输组合数据。
在本发明实施方式的第三方面中,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序在被处理器执行时能够实现第一方面中任一项所述的方法。
在本发明实施方式的第四方面中,提供了一种计算设备,所述计算设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行第一方面中任一项所述的方法。
根据本发明实施方式的数据处理方法、电路、介质和计算设备,可以对待传输数据的数据类型进行确定;如果待传输数据的数据类型为待分解类型,可以将当前的待传输数据中的第一标头数据和第一负载数据分别进行传输;且在对第一负载数据进行传输之前,可以根据预设数据宽度从下一批待传输数据中确定第一待拼接数据,将第一待传输数据与第一负载数据进行拼接得到待传输负载数据,以使传输的待传输负载数据可以包括最大的信息量,提升待传输负载数据的传输效率。如果待传输数据的数据类型为待合并类型,可以将待传输数据中的第二标头数据和/第二负载数据分别进行存储,并且可以根据预设数据宽度从第二负载数据中确定第二待拼接数据,进而可以将第二待拼接数据与第二标头数据进行拼接,得到待传输组合数据;由于每批传输数据的数据宽度是有限制的,如果简单的将第二标头数据与第二负载数据拼接,有可能使得到的待传输组合数据的数据宽度超过传输数据的最大宽度,从而导致数据传输失败;因此,可以从第二负载数据中确定出第二待拼接数据,以使根据第二待拼接数据与第二标头数据得到的待传输组合数据的数据宽度可以符合传输数据的数据宽度的要求,保证了数据传输的稳定。因此,通过上述PCIE控制器对TLP数据包进行分解或合并处理,会使得PCIE控制器处理TLP数据包的效率提升,且提升了TLP数据包在传输过程中的安全性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1为本发明一实施例提供的数据处理方法的流程示意图;
图2为本发明一实施例提供的第一待拼接数据的确定方法的流程示意图;
图3为本发明一实施例提供的数据处理电路的结构示意图;
图4为本发明一实施例提供的数据格式处理电路的结构示意图;
图5为本发明另一实施例提供的数据格式处理电路的结构示意图;
图6为本发明一实施例提供的同步FIFO电路的结构示意图;
图7为本发明一实施例提供的异步FIFO电路的结构示意图;
图8为本发明另一实施例提供的数据处理电路的结构示意图;
图9示意性地示出了本发明实施例的一种介质的结构示意图;
图10示意性地示出了本发明实施例的一种计算设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、电路、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种数据处理方法、电路、介质和计算设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
示例性方法
下面参考图1,图1为本发明一实施例提供的数据处理方法的流程示意图。需要注意的是,本发明的实施方式可以应用于适用的任何场景。
图1所示的本发明一实施例提供的数据处理方法的流程,该方法应用于PCIE总线,包括:
步骤S101,获取待传输数据。
本发明实施例中,待传输数据可以为TLP数据包,TLP数据包中可以包括标头数据和/或负载数据。如果TLP数据包中包括标头数据和负载数据,则标头数据和负载数据可以为一个整体的数据,也可以为两个分离的数据。所述待传输数据的数据类型为待分解类型或待合并类型。当待传输数据的标头数据(header)和负载数据(payload)为整体的数据时,若接收待传输数据的设备需要接收分离的标头数据和负载数据,则待传输数据可以认为是待分解类型。当待传输数据的标头数据和负载数据为两个分离的数据时,若接收待传输数据的设备需要接收整体的标头数据和负载数据,则待传输数据可以认为是待合并类型。
举例来说,目标应用可以向PCIE控制设备发送待传输数据,目标应用发送的待传输数据中包括的标头数据和负载数据可以为一个整体的数据,PCIE控制设备接收的待传输数据可以为标头数据和负载数据分离的数据;此时可以在待传输数据传输的过程中将标头数据和负载数据进行分离,因此,当前的待传输数据的数据类型可以为待分解类型。
PCIE控制设备可以向目标应用发送待传输数据,PCIE控制设备发送的待传输数据中包括的标头数据和负载数据可以为两个分离的数据,目标应用接收的待传输数据可以为标头数据和负载数据为一个整体的数据;此时可以在待传输数据传输的过程中将标头数据和负载数据进行合并,因此,前的待传输数据的数据类型可以为待合并类型。
作为一种可选的实施方式,步骤S101之后,还可以执行以下步骤:
将所述待传输数据的当前时钟域调整为与所述PCIE控制设备对应的第一时钟域。
其中,实施这种实施方式,由于PCIE控制设备的第一时钟域与待传输数据的当前时钟域是不同的,如果直接将待传输数据传输至PCIE控制设备,可能会出现PCIE控制设备接收的待传输数据不全面的情况。因此,需要将待传输数据的当前时钟域调整为与PCIE控制设备对应的第一时钟域,以保证PCIE控制设备能够准确的接收到所有待传输数据。
本发明实施例中,可以通过异步FIFO电路将待传输数据的当前时钟域调整为与PCIE控制设备对应的第一时钟域。例如,当前输出待传输数据的目标应用所处的时钟域可以为当前时钟域,当前时钟域的时钟频率可以为1.5Ghz;接收待传输数据的PCIE控制设备所处的时钟域可以为第一时钟域,第一时钟域的时钟频率可以为1Ghz;因此可以将待传输数据输入异步FIFO电路,以使异步FIFO电路基于1Ghz的时钟频率输出待传输数据。
步骤S102,若所述待传输数据的数据类型为待分解类型,则将从所述待传输数据中识别到的第一标头数据和/或第一负载数据进行存储;并且根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据;以及将所述第一负载数据与所述第一待拼接数据进行拼接,得到待传输负载数据;向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据。
本发明实施例中,一个时钟周期传输的待传输数据的数据宽度是有限制的,例如一个时钟周期传输的待传输数据的数据宽度可以为256比特。由于需要传输的所有数据的数据宽度可能大于一个时钟周期限制的数据宽度,因此,如果要将所有数据全部进行传输,则需要将所有数据分为多个批次的待传输数据,进而对每个批次的待传输数据依次进行传输。
本发明实施例中,一个完整的待传输数据中一定包括标头数据,且标头数据全部位于负载数据之前。例如,完整的待传输数据的数据宽度是256比特,该完整的待传输数据的标头数据可以是第0-127比特,该完整的待传输数据的负载数据可以是第128-255比特。以及,标头数据中可以包含完整的待传输数据的数据宽度、数据类型等信息;因此,可以通过读取标头数据得到完整的待传输数据的数据宽度,并且可以根据完整的待传输数据的数据宽度和一个时钟周期限制传输的最大数据宽度,确定出传输所有的待传输数据需要的时钟周期的数量,即将所有的待传输数据进行分批得到的批次数量。
举例来说,一个时钟周期限制传输的最大数据宽度为256比特,完整的待传输数据的数据宽度为800比特,从第一批待传输数据中读取标头数据中包含的完整的待传输数据的数据宽度,可以计算得到完整的待传输数据会分为4个批次的待传输数据进行传输,第一个批次的待传输数据中包括标头数据和负载数据,第二个批次、第三个批次以及第四个批次的待传输数据中仅包括负载数据;且第一个批次、第二个批次以及第三个批次的待传输数据的数据宽度均为256比特,第四个批次的待传输数据的数据宽度为32比特。
本发明另一实施例中,为了提升数据传输的效率,可以确定出第一负载数据的第一负载宽度与预设数据宽度之间的差值的第一绝对值,并且可以从下一批待传输数据中确定数据宽度小于等于第一绝对值的第一待拼接数据;基于第一待拼接数据和第一负载数据得到的待传输负载数据的数据宽度可以小于等于预设数据宽度,从而使得传输的待传输负载数据的数据宽度最大,如图2所示,则上述步骤S102根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据,由以下步骤S201~步骤S204代替:
步骤S201,获取第一负载数据的第一负载宽度。
本发明实施例中,第一负载宽度可以为第一负载数据的数据宽度。
步骤S202,确定预设数据宽度与所述第一负载宽度之间差值的第一绝对值。
本发明实施例中,预设数据宽度可以为一个时钟周期限制传输的最大数据宽度。差值的第一绝对值本质为第一标头数据的数据宽度。一个待传输数据分为第一标头数据和第一负载数据,如果要使负载数据正常传输,则与第一负载数据进行拼接的第一待拼接数据的数据宽度不大于的第一标头数据的数据宽度,即第一待拼接数据的数据宽度不大于差值的第一绝对值。
步骤S203,从获取到的下一批待传输数据中确定第一待拼接数据。
本发明实施例中,所述第一待拼接数据的数据宽度小于等于所述差值的第一绝对值。如果下一批待传输数据中的负载数据的数据宽度大于等于差值的第一绝对值,则确定的第一待拼接数据的数据宽度与差值的第一绝对值相等。如果下一批待传输数据中的负载数据的数据宽度小于差值的第一绝对值,则将全部的待传输数据确定为第一待拼接数据。
步骤S204,将所述下一批待传输数据中除第一待拼接数据之外的第三待拼接数据进行存储。
实施上述的步骤S201~步骤S202,可以确定出第一负载数据的第一负载宽度与预设数据宽度之间的差值的第一绝对值,并且可以从下一批待传输数据中确定数据宽度小于等于第一绝对值的第一待拼接数据;基于第一待拼接数据和第一负载数据得到的待传输负载数据的数据宽度可以小于等于预设数据宽度,从而使得传输的待传输负载数据的数据宽度最大,提升数据传输的效率。
可选的,如果当前的待传输数据中只包括第一负载数据,则可以认为上一批待传输数据中的第三待拼接数据已经进行了存储。此时可以从当前的待传输数据的第一负载数据中确定第四待拼接数据,该第四待拼接数据的数据宽度小于等于差值的第一绝对值。并且可以将三待拼接数据与第四待拼接数据进行拼接,得到待传输负载数据,向PCIE控制设备发送该待传输负载数据。以及将当前的待传输数据中除第四待拼接数据之外数据作为第三待拼接数据进行存储。
作为一种可选的实施方式,向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据的方式具体可以为:
将所述第一标头数据和/或所述待传输负载数据进行暂存;
当接收到发送指令时,向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据。
其中,实施这种实施方式,可以对第一标头数据和/待传输负载数据进行暂存,避免因PCIE控制设备的缓存不足导致第一标头数据和/待传输负载数据丢失的情况,保证了第一标头数据和/待传输负载数据的安全性。
本发明实施例中,发送指令可以为PCIE控制设备发送的。
步骤S103,若所述待传输数据的数据类型为待合并类型,则将所述待传输数据中包括的第二标头数据和/或第二负载数据进行存储;并且根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据;以及将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据;向目标应用发送所述待传输组合数据。
本发明实施例中,待传输数据中可以只包括第二标头数据,也可以只包括第二负载数据,还可以同时包括第二标头数据和第二负载数据。根据待传输数据中包含的数据的不同,可以对待传输数据使用不同的数据传输方式,具体可以为:
(1)若待传输数据中只包括第二标头数据,则表示待传输数据中只有标头数据,没有负载数据;因此可以直接将第二标头数据作为待传输数据发送至目标应用。
(2)若待传输数据中同时包括第二标头数据和第二负载数据:
所述根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据的方式具体可以为:
获取所述第二标头数据的标头数据宽度;
确定预设数据宽度与所述标头数据宽度之间差值的第二绝对值;
从所述第二负载数据中确定第二待拼接数据,所述第二待拼接数据的数据宽度小于等于所述差值的第二绝对值。
其中,实施这种实施方式,可以在待传输数据中同时包括第二标头数据和第二负载数据的情况下,确定出预设数据宽度与第二标头数据的标头数据宽度之间差值的第二绝对值;以及可以从第二负载数据中确定数据宽度小于等于第二绝对值的第二待拼接数据,以使根据第二标头数据和第二待拼接数据得到的待传输组合数据的数据宽度小于等于预设数据宽度,避免出现待传输组合数据的数据宽度过大的情况,保证了数据传输的准确性。
(3)若待传输数据中只包括第二负载数据:
所述根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据的方式具体可以为:
获取存储的上一批待传输数据中第二负载数据的第二负载宽度;
确定所述预设数据宽度与所述第二负载宽度之间差值的第三绝对值;
从所述待传输数据的第二负载数据中确定第二待拼接数据,所述第二待拼接数据的数据宽度小于等于所述差值的第三绝对值。
其中,实施这种实施方式,可以在待传输数据中只包括第二负载数据的情况下,直接获取上一批待传输数据中第二负载数据的第二负载宽度;并且根据第二负载宽度和预设数据宽度之间差值的第三绝对值,从待传输数据的第二负载数据中确定数据宽度与第三绝对值相同的第二待拼接数据,以使根据第二负载数据和第二待拼接数据得到的待传输组合数据的数据宽度小于等于预设数据宽度,避免出现待传输组合数据的数据宽度过大的情况,保证了数据传输的准确性。
作为一种可选的实施方式,所述向目标应用发送所述待传输组合数据的方式具体可以为:
将所述待传输组合数据进行暂存;
当接收到发送指令时,向目标应用发送所述待传输组合数据。
其中,实施这种实施方式,可以对待传输组合数据进行暂存,避免因目标应用的缓存不足导致待传输组合数据丢失的情况,保证了待传输组合数据的安全性。
本发明实施例中,发送指令可以为目标应用发送的。
作为一种可选的实施方式,将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据之后,以及所述向目标应用发送所述待传输组合数据之前,还可以执行以下步骤:
将所述待传输组合数据的当前时钟域调整为与所述目标应用对应的第二时钟域。
其中,实施这种实施方式,由于目标应用的第二时钟域与待传输组合数据的当前时钟域是不同的,如果直接将待传输组合数据传输至目标应用,可能会出现目标应用接收的待传输组合数据不全面的情况。因此,需要将待传输组合数据的当前时钟域调整为与目标应用对应的第二时钟域,以保证目标应用能够准确的接收到所有待传输组合数据。
本发明能够通过上述PCIE控制器对TLP数据包进行分解或合并处理,会使得PCIE控制器处理TLP数据包的效率提升,且提升了TLP数据包在传输过程中的安全性。此外,本发明还可以保证PCIE控制设备能够准确的接收到所有待传输数据。此外,本发明还可以提升数据传输的效率。此外,本发明还可以保证了第一标头数据和/待传输负载数据的安全性。此外,本发明还可以保证了数据传输的准确性。此外,本发明还可以保证了待传输组合数据的安全性。此外,本发明还可以保证目标应用能够准确的接收到所有待传输组合数据。
示例性电路
在介绍了本发明示例性实施方式的方法之后,接下来,参考图3对本发明示例性实施方式的一种数据处理电路进行说明,该电路包括跨时钟域处理电路301、数据格式处理电路302以及数字逻辑转换电路303,其中:
所述跨时钟域处理电路301,被配置为获取待传输数据;其中,所述待传输数据的数据类型为待分解类型或待合并类型;
所述数据格式处理电路302,被配置为当所述待传输数据的数据类型为待分解类型时,将从所述待传输数据中识别到的第一标头数据和/或第一负载数据进行存储;并且根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据;
所述数字逻辑转换电路303,被配置为将所述第一负载数据与所述第一待拼接数据进行拼接,得到待传输负载数据;向PCIE控制设备10发送所述第一标头数据和/或所述待传输负载数据;
所述数据格式处理电路302,还被配置为当所述待传输数据的数据类型为待合并类型时,将所述待传输数据中包括的第二标头数据和/或第二负载数据进行存储;并且根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据;
所述数字逻辑转换电路303,还被配置为将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据;向目标应用20发送所述待传输组合数据。
作为一种可选的实施方式,所述跨时钟域处理电路301还被配置为:
在获取待传输数据之后,将所述待传输数据的当前时钟域调整为与所述PCIE控制设备10对应的第一时钟域。
其中,实施这种实施方式,由于PCIE控制设备的第一时钟域与待传输数据的当前时钟域是不同的,如果直接将待传输数据传输至PCIE控制设备,可能会出现PCIE控制设备接收的待传输数据不全面的情况。因此,需要将待传输数据的当前时钟域调整为与PCIE控制设备对应的第一时钟域,以保证PCIE控制设备能够准确的接收到所有待传输数据。
作为一种可选的实施方式,所述跨时钟域处理电路301还被配置为:
在将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据之后,将所述待传输组合数据的当前时钟域调整为与所述目标应用对应的第二时钟域。
其中,实施这种实施方式,由于目标应用的第二时钟域与待传输组合数据的当前时钟域是不同的,如果直接将待传输组合数据传输至目标应用,可能会出现目标应用接收的待传输组合数据不全面的情况。因此,需要将待传输组合数据的当前时钟域调整为与目标应用对应的第二时钟域,以保证目标应用能够准确的接收到所有待传输组合数据。
作为一种可选的实施方式,根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据的所述数据格式处理电路302具体被配置为:
获取第一负载数据的第一负载宽度;确定预设数据宽度与所述第一负载宽度之间差值的第一绝对值;从获取到的下一批待传输数据中确定第一待拼接数据,所述第一待拼接数据的数据宽度小于等于所述差值的第一绝对值;
以及所述数据格式处理电路302还被配置为:
将所述下一批待传输数据中除第一待拼接数据之外的第三待拼接数据进行存储。
其中,实施这种实施方式,可以确定出第一负载数据的第一负载宽度与预设数据宽度之间的差值的第一绝对值,并且可以从下一批待传输数据中确定数据宽度小于等于第一绝对值的第一待拼接数据;基于第一待拼接数据和第一负载数据得到的待传输负载数据的数据宽度可以小于等于预设数据宽度,从而使得传输的待传输负载数据的数据宽度最大,提升数据传输的效率。
请一并参阅图4,图4为本发明一实施例提供的数据格式处理电路的结构示意图。其中,当前的待传输数据为256比特的数据,且当前的待传输数据可以包括第一标头数据(header)和第一负载数据,第一标头数据和第一负载数据可以先暂存至分解寄存器中。之后可以接收延迟一个周期的待传输数据,延迟一个周期的待传输数据也为256比特的数据,且延迟一个周期的待传输数据中只包括负载数据。可以确定预设数据宽度和第一负载数据的第一负载宽度之间差值的第一绝对值,并且可以从延迟一个周期的待传输数据中确定第一待拼接数据,该第一待拼接数据的数据宽度小于等于第一绝对值。以及可以将第一待拼接数据与第一负载数据进行拼接,得到待传输负载数据(payload),并通过分解寄存器将header和payload分别进行输出。以及可以将延迟一个周期的待传输数据中除第一待拼接数据之外的数据存储至分解寄存器中,从而在下一个周期中对分解寄存器中存储的负载数据进行输出。
作为一种可选的实施方式,向PCIE控制设备10发送所述第一标头数据和/或所述待传输负载数据的所述数字逻辑转换电路303具体被配置为:
将所述第一标头数据和/或所述待传输负载数据进行暂存;当接收到发送指令时,向PCIE控制设备10发送所述第一标头数据和/或所述待传输负载数据。
其中,实施这种实施方式,可以对第一标头数据和/待传输负载数据进行暂存,避免因PCIE控制设备的缓存不足导致第一标头数据和/待传输负载数据丢失的情况,保证了第一标头数据和/待传输负载数据的安全性。
作为一种可选的实施方式,若所述待传输数据中包括第二标头数据和第二负载数据,根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据的所述数据格式处理电路302具体被配置为:
获取所述第二标头数据的标头数据宽度;确定预设数据宽度与所述标头数据宽度之间差值的第二绝对值;从所述第二负载数据中确定第二待拼接数据,所述第二待拼接数据的数据宽度小于等于所述差值的第二绝对值。
其中,实施这种实施方式,可以在待传输数据中同时包括第二标头数据和第二负载数据的情况下,确定出预设数据宽度与第二标头数据的标头数据宽度之间差值的第二绝对值;以及可以从第二负载数据中确定数据宽度小于等于第二绝对值的第二待拼接数据,以使根据第二标头数据和第二待拼接数据得到的待传输组合数据的数据宽度小于等于预设数据宽度,避免出现待传输组合数据的数据宽度过大的情况,保证了数据传输的准确性。
请一并参阅图5,图5为本发明另一实施例提供的数据格式处理电路的结构示意图。其中,当前的待传输数据为256比特的数据,且当前的待传输数据可以包括第二标头数据(header)和第二负载数据,第二标头数据可以先暂存至header寄存器中,第二负载数据可以先暂存至payload寄存器中。可以获取第二标头数据的标头数据宽度;并确定预设数据宽度与标头数据宽度之间差值的第二绝对值;以及从第二负载数据中确定第二待拼接数据(payload),第二待拼接数据的数据宽度小于等于所述差值的第二绝对值,并将header和payload分别进行输出,以使数字逻辑转换电路可以将header和payload进行合并得到待传输组合数据(header+payload)。之后可以将第二负载数据中除第二待拼接数据之外的数据与延迟一个周期的待传输数据中的部分数据进行拼接,并在下一个周期中进行输出。
作为一种可选的实施方式,若所述待传输数据中仅包括第二负载数据,根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据的所述数据格式处理电路302具体被配置为:
获取存储的上一批待传输数据中第二负载数据的第二负载宽度;确定所述预设数据宽度与所述第二负载宽度之间差值的第三绝对值;从所述待传输数据的第二负载数据中确定第二待拼接数据,所述第二待拼接数据的数据宽度小于等于所述差值的第三绝对值。
其中,实施这种实施方式,可以在待传输数据中只包括第二负载数据的情况下,直接获取上一批待传输数据中第二负载数据的第二负载宽度;并且根据第二负载宽度和预设数据宽度之间差值的第三绝对值,从待传输数据的第二负载数据中确定数据宽度与第三绝对值相同的第二待拼接数据,以使根据第二负载数据和第二待拼接数据得到的待传输组合数据的数据宽度小于等于预设数据宽度,避免出现待传输组合数据的数据宽度过大的情况,保证了数据传输的准确性。
作为一种可选的实施方式,向目标应用发送所述待传输组合数据的所述数字逻辑转换电路303具体被配置为:
将所述待传输组合数据进行暂存;当接收到发送指令时,向目标应用发送所述待传输组合数据。
其中,实施这种实施方式,可以对待传输组合数据进行暂存,避免因目标应用的缓存不足导致待传输组合数据丢失的情况,保证了待传输组合数据的安全性。
请一并参阅图6和图7,图6为本发明一实施例提供的同步FIFO电路的结构示意图。其中,分离的header和payload可以暂存在同步FIFO电路中,只有当检测到PCIE控制设备10向同步FIFO电路发送的暂停电信号(halt)为低电平时,可以将同步FIFO电路中暂存的header和payload分别发送至PCIE控制设备10;如果检测到PCIE控制设备10向同步FIFO电路发送的暂停电信号(halt)为高电平,则继续将header和payload暂存至同步FIFO电路中。
图7为本发明一实施例提供的异步FIFO电路的结构示意图。其中,合并的待传输组合数据(header+payload)可以暂存在异步FIFO电路中,只有当检测到目标应用20向异步FIFO电路发送的等待电信号(wait)为低电平时,可以将异步FIFO电路中暂存的待传输组合数据(header+payload)发送至目标应用20;如果检测到目标应用20向异步FIFO电路发送的等待电信号(wait)为高电平,则继续将待传输组合数据(header+payload)暂存至同步FIFO电路中。
请一并参阅图8,图8为本发明另一实施例提供的数据处理电路的结构示意图。图8表示了目标应用20与PCIE控制设备10之间进行数据传输的数据处理电路。其中,从目标应用20向PCIE控制设备10进行数据传输的过程是对待传输数据进行数据分解的过程;从PCIE控制设备10向目标应用20进行数据传输的过程是对待传输数据进行数据合并的过程。具体的:
(1)对待传输数据进行数据分解的过程中:
目标应用20可以通过TLP数据输入控制电路将TLP数据输入至跨时钟域处理电路;在TLP数据输入至跨时钟域处理电路之前,即目标应用20和TLP数据输入控制电路都处于1.5Ghz时钟信号对应的当前时钟域内。通过跨时钟域处理电路可以对TLP数据进行时钟信号调整,以使跨时钟域处理电路输出的TLP数据能够适应1Ghz时钟信号对应的第一时钟域。
跨时钟域处理电路可以向数据格式处理电路输出TLP数据。数据格式处理电路中可以包括多个寄存器,数据格式处理电路中包括的寄存器的数量可以与预设数据宽度匹配,即TLP数据中每个比特对应的数据都有唯一的一个寄存器进行存储。通过数据格式处理电路可以对TLP数据进行分解,得到第一标头数据、第一负载数据以及第一待拼接数据。数据格式处理电路可以向数字逻辑转化电路发送第一标头数据、第一负载数据以及第一待拼接数据。
数字逻辑转化电路可以将第一负载数据和第一待拼接数据进行拼接,得到payload,并将第一标头数据(header)和payload暂存至同步FIFO电路中。
当接收到PCIE控制设备10发送的发送指令时,同步FIFO电路向PCIE控制设备10发送header和payload。
(2)对待传输数据进行数据合并的过程中:
PCIE控制设备10可以通过输入控制电路将header和payload输入至有效数据存储电路;有效数据存储电路可以对接收到的header和payload进行数据有效性检验,如果检验结果表示header或payload无效,则将该header和payload删除;如果检验结果表示header和payload有效,则将该header和payload发送至数据格式处理电路中。
数据格式处理电路中可以包括多个header寄存器和多个payload寄存器,header寄存器的数量可以与header的数据宽度匹配,payload寄存器的数量可以与预设数据宽度匹配,即header和payload中每个比特对应的数据都有唯一的一个寄存器进行存储。通过数据格式处理电路可以对payload进行分解,得到第二待拼接数据。数据格式处理电路可以向数字逻辑转化电路发送header和第二待拼接数据。
数字逻辑转化电路可以将header和第二待拼接数据进行拼接,得到TLP数据(header+payload),并将TLP数据(header+payload)输入至跨时钟域处理电路;在TLP数据(header+payload)输入至跨时钟域处理电路之前,即PCIE控制设备10、输入控制电路、有效数据存储电路、数据格式处理电路以及数字逻辑转化电路都处于1Ghz时钟信号对应的当前时钟域内。通过跨时钟域处理电路可以对TLP数据(header+payload)进行时钟信号调整,以使跨时钟域处理电路输出的TLP数据(header+payload)能够适应1.5Ghz时钟信号对应的第二时钟域。
跨时钟域处理电路将TLP数据(header+payload)暂存至异步FIFO电路中。当接收到目标应用20发送的发送指令时,异步FIFO电路向目标应用20发送TLP数据(header+payload)。
示例性介质
在介绍了本发明示例性实施方式的方法和电路之后,接下来,参考图9对本发明示例性实施方式的计算机可读存储介质进行说明,请参考图9,其示出的计算机可读存储介质为光盘90,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,获取待传输数据;其中,所述待传输数据的数据类型为待分解类型或待合并类型;若所述待传输数据的数据类型为待分解类型,则将从所述待传输数据中识别到的第一标头数据和/或第一负载数据进行存储;并且根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据;以及将所述第一负载数据与所述第一待拼接数据进行拼接,得到待传输负载数据;向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据;若所述待传输数据的数据类型为待合并类型,则将所述待传输数据中包括的第二标头数据和/或第二负载数据进行存储;并且根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据;以及将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据;向目标应用发送所述待传输组合数据;各步骤的具体实现方式在此不再重复说明。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和电路之后,接下来,参考图10对本发明示例性实施方式的用于数据处理的计算设备。
图10示出了适于用来实现本发明实施方式的示例性计算设备100的框图,该计算设备100可以是计算机系统或服务器。图10显示的计算设备100仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算设备100的组件可以包括但不限于:一个或者多个处理器或者处理单元1001,系统存储器1002,连接不同系统组件(包括系统存储器1002和处理单元1001)的总线1003。
计算设备100典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备100访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器1002可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)10021和/或高速缓存存储器10022。计算设备100可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM10023可以用于读写不可移动的、非易失性磁介质(图10中未显示,通常称为“硬盘驱动器”)。尽管未在图10中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1003相连。系统存储器1002中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块10024的程序/实用工具10025,可以存储在例如系统存储器1002中,且这样的程序模块10024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块10024通常执行本发明所描述的实施例中的功能和/或方法。
计算设备100也可以与一个或多个外部设备1004(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口605进行。并且,计算设备100还可以通过网络适配器1006与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1006通过总线1003与计算设备100的其它模块(如处理单元1001等)通信。应当明白,尽管图10中未示出,可以结合计算设备100使用其它硬件和/或软件模块。
处理单元1001通过运行存储在系统存储器1002中的程序,从而执行各种功能应用以及数据处理,例如,获取待传输数据;其中,所述待传输数据的数据类型为待分解类型或待合并类型;若所述待传输数据的数据类型为待分解类型,则将从所述待传输数据中识别到的第一标头数据和/或第一负载数据进行存储;并且根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据;以及将所述第一负载数据与所述第一待拼接数据进行拼接,得到待传输负载数据;向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据;若所述待传输数据的数据类型为待合并类型,则将所述待传输数据中包括的第二标头数据和/或第二负载数据进行存储;并且根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据;以及将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据;向目标应用发送所述待传输组合数据。各步骤的具体实现方式在此不再重复说明。应当注意,尽管在上文详细描述中提及了数据处理电路的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、电路和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、电路和方法,可以通过其它的方式实现。以上所描述的电路实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,电路或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

Claims (18)

1.一种数据处理方法,应用于PCIE总线,包括:
获取待传输数据;其中,所述待传输数据的数据类型为待分解类型或待合并类型;
若所述待传输数据的数据类型为待分解类型,则将从所述待传输数据中识别到的第一标头数据和/或第一负载数据进行存储;并且根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据;以及将所述第一负载数据与所述第一待拼接数据进行拼接,得到待传输负载数据;向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据;
若所述待传输数据的数据类型为待合并类型,则将所述待传输数据中包括的第二标头数据和/或第二负载数据进行存储;并且根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据;以及将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据;向目标应用发送所述待传输组合数据。
2.根据权利要求1所述的数据处理方法,所述获取待传输数据之后,所述方法还包括:
将所述待传输数据的当前时钟域调整为与所述PCIE控制设备对应的第一时钟域。
3.根据权利要求1所述的数据处理方法,所述将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据之后,以及所述向目标应用发送所述待传输组合数据之前,所述方法还包括:
将所述待传输组合数据的当前时钟域调整为与所述目标应用对应的第二时钟域。
4.根据权利要求1~3任一项所述的数据处理方法,所述根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据,包括:
获取第一负载数据的第一负载宽度;
确定预设数据宽度与所述第一负载宽度之间差值的第一绝对值;
从获取到的下一批待传输数据中确定第一待拼接数据,所述第一待拼接数据的数据宽度小于等于所述差值的第一绝对值;
以及,所述从获取到的下一批待传输数据中确定第一待拼接数据之后,所述方法还包括:
将所述下一批待传输数据中除第一待拼接数据之外的第三待拼接数据进行存储。
5.根据权利要求4所述的数据处理方法,所述向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据,包括:
将所述第一标头数据和/或所述待传输负载数据进行暂存;
当接收到发送指令时,向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据。
6.根据权利要求1~3任一项所述的数据处理方法,若所述待传输数据中包括第二标头数据和第二负载数据,所述根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据,包括:
获取所述第二标头数据的标头数据宽度;
确定预设数据宽度与所述标头数据宽度之间差值的第二绝对值;
从所述第二负载数据中确定第二待拼接数据,所述第二待拼接数据的数据宽度小于等于所述差值的第二绝对值。
7.根据权利要求6所述的数据处理方法,若所述待传输数据中仅包括第二负载数据,所述根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据,包括:
获取存储的上一批待传输数据中第二负载数据的第二负载宽度;
确定所述预设数据宽度与所述第二负载宽度之间差值的第三绝对值;
从所述待传输数据的第二负载数据中确定第二待拼接数据,所述第二待拼接数据的数据宽度小于等于所述差值的第三绝对值。
8.根据权利要求6所述的数据处理方法,所述向目标应用发送所述待传输组合数据,包括:
将所述待传输组合数据进行暂存;
当接收到发送指令时,向目标应用发送所述待传输组合数据。
9.一种数据处理电路,应用于PCIE总线,所述电路包括跨时钟域处理电路、数据格式处理电路以及数字逻辑转换电路,其中:
所述跨时钟域处理电路,被配置为获取待传输数据;其中,所述待传输数据的数据类型为待分解类型或待合并类型;
所述数据格式处理电路,被配置为当所述待传输数据的数据类型为待分解类型时,将从所述待传输数据中识别到的第一标头数据和/或第一负载数据进行存储;并且根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据;
所述数字逻辑转换电路,被配置为将所述第一负载数据与所述第一待拼接数据进行拼接,得到待传输负载数据;向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据;
所述数据格式处理电路,还被配置为当所述待传输数据的数据类型为待合并类型时,将所述待传输数据中包括的第二标头数据和/或第二负载数据进行存储;并且根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据;
所述数字逻辑转换电路,还被配置为将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据;向目标应用发送所述待传输组合数据。
10.根据权利要求9所述的数据处理电路,所述跨时钟域处理电路还被配置为:
在获取待传输数据之后,将所述待传输数据的当前时钟域调整为与所述PCIE控制设备对应的第一时钟域。
11.根据权利要求9所述的数据处理电路,所述跨时钟域处理电路还被配置为:
在将所述第二标头数据或所述第二负载数据与所述第二待拼接数据进行拼接,得到待传输组合数据之后,将所述待传输组合数据的当前时钟域调整为与所述目标应用对应的第二时钟域。
12.根据权利要求9~11任一项所述的数据处理电路,根据预设数据宽度,从获取到的下一批待传输数据中确定第一待拼接数据的所述数据格式处理电路具体被配置为:
获取第一负载数据的第一负载宽度;确定预设数据宽度与所述第一负载宽度之间差值的第一绝对值;从获取到的下一批待传输数据中确定第一待拼接数据,所述第一待拼接数据的数据宽度小于等于所述差值的第一绝对值;
以及所述数据格式处理电路还被配置为:
将所述下一批待传输数据中除第一待拼接数据之外的第三待拼接数据进行存储。
13.根据权利要求12所述的数据处理电路,向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据的所述数字逻辑转换电路具体被配置为:
将所述第一标头数据和/或所述待传输负载数据进行暂存;当接收到发送指令时,向PCIE控制设备发送所述第一标头数据和/或所述待传输负载数据。
14.根据权利要求9~11任一项所述的数据处理电路,若所述待传输数据中包括第二标头数据和第二负载数据,根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据的所述数据格式处理电路具体被配置为:
获取所述第二标头数据的标头数据宽度;确定预设数据宽度与所述标头数据宽度之间差值的第二绝对值;从所述第二负载数据中确定第二待拼接数据,所述第二待拼接数据的数据宽度小于等于所述差值的第二绝对值。
15.根据权利要求14所述的数据处理电路,若所述待传输数据中仅包括第二负载数据,根据预设数据宽度,从所述第二负载数据中确定第二待拼接数据的所述数据格式处理电路具体被配置为:
获取存储的上一批待传输数据中第二负载数据的第二负载宽度;确定所述预设数据宽度与所述第二负载宽度之间差值的第三绝对值;从所述待传输数据的第二负载数据中确定第二待拼接数据,所述第二待拼接数据的数据宽度小于等于所述差值的第三绝对值。
16.根据权利要求14所述的数据处理电路,向目标应用发送所述待传输组合数据的所述数字逻辑转换电路具体被配置为:
将所述待传输组合数据进行暂存;当接收到发送指令时,向目标应用发送所述待传输组合数据。
17.一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1~8中的任一项所述的方法。
18.一种计算设备,所述计算设备包括:
至少一个处理器、存储器和输入输出单元;
其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行如权利要求1~8中任一项所述的方法。
CN202211148192.1A 2022-09-21 2022-09-21 数据处理方法、电路、介质和计算设备 Active CN115297198B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211148192.1A CN115297198B (zh) 2022-09-21 2022-09-21 数据处理方法、电路、介质和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211148192.1A CN115297198B (zh) 2022-09-21 2022-09-21 数据处理方法、电路、介质和计算设备

Publications (2)

Publication Number Publication Date
CN115297198A true CN115297198A (zh) 2022-11-04
CN115297198B CN115297198B (zh) 2023-01-13

Family

ID=83833955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211148192.1A Active CN115297198B (zh) 2022-09-21 2022-09-21 数据处理方法、电路、介质和计算设备

Country Status (1)

Country Link
CN (1) CN115297198B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102439942A (zh) * 2009-05-26 2012-05-02 高通股份有限公司 用于支持具有可变帧大小的链路上的较高数据速率的设备和方法
CN106921618A (zh) * 2015-12-25 2017-07-04 瑞昱半导体股份有限公司 接收装置及其封包处理方法
CN107079028A (zh) * 2014-11-04 2017-08-18 三星电子株式会社 发送装置和接收装置及其信号处理方法
CN109151726A (zh) * 2018-07-25 2019-01-04 Oppo广东移动通信有限公司 邻近感知网络nan的数据处理方法及相关产品
CN109565498A (zh) * 2016-06-02 2019-04-02 北京易掌云峰科技有限公司 利用标头的性能的动态传送
WO2021063303A1 (zh) * 2019-09-30 2021-04-08 深圳市中兴微电子技术有限公司 获取数据流的时间戳的方法、装置、存储介质和电子装置
WO2021147050A1 (zh) * 2020-01-22 2021-07-29 华为技术有限公司 一种基于PCIe的数据传输方法及装置
CN113196720A (zh) * 2021-03-22 2021-07-30 华为技术有限公司 数据处理方法及传输设备、数据处理系统
CN113590581A (zh) * 2021-06-28 2021-11-02 中国农业银行股份有限公司 数据传输方法、装置、设备及存储介质
CN114036077A (zh) * 2021-11-17 2022-02-11 海光信息技术股份有限公司 数据处理方法及相关装置
WO2022111326A1 (zh) * 2020-11-30 2022-06-02 中兴通讯股份有限公司 一种数据传输方法、装置、电子设备和存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102439942A (zh) * 2009-05-26 2012-05-02 高通股份有限公司 用于支持具有可变帧大小的链路上的较高数据速率的设备和方法
CN107079028A (zh) * 2014-11-04 2017-08-18 三星电子株式会社 发送装置和接收装置及其信号处理方法
CN106921618A (zh) * 2015-12-25 2017-07-04 瑞昱半导体股份有限公司 接收装置及其封包处理方法
CN109565498A (zh) * 2016-06-02 2019-04-02 北京易掌云峰科技有限公司 利用标头的性能的动态传送
CN109151726A (zh) * 2018-07-25 2019-01-04 Oppo广东移动通信有限公司 邻近感知网络nan的数据处理方法及相关产品
WO2021063303A1 (zh) * 2019-09-30 2021-04-08 深圳市中兴微电子技术有限公司 获取数据流的时间戳的方法、装置、存储介质和电子装置
WO2021147050A1 (zh) * 2020-01-22 2021-07-29 华为技术有限公司 一种基于PCIe的数据传输方法及装置
WO2022111326A1 (zh) * 2020-11-30 2022-06-02 中兴通讯股份有限公司 一种数据传输方法、装置、电子设备和存储介质
CN113196720A (zh) * 2021-03-22 2021-07-30 华为技术有限公司 数据处理方法及传输设备、数据处理系统
CN113590581A (zh) * 2021-06-28 2021-11-02 中国农业银行股份有限公司 数据传输方法、装置、设备及存储介质
CN114036077A (zh) * 2021-11-17 2022-02-11 海光信息技术股份有限公司 数据处理方法及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李江波等: "基于UVC协议的USB3.0视频采集系统设计", 《单片机与嵌入式系统应用》 *

Also Published As

Publication number Publication date
CN115297198B (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
US10942753B2 (en) Data loading system
US9454505B2 (en) Chip select (‘CS’) multiplication in a serial peripheral interface (‘SPI’) system
US8041856B2 (en) Skip based control logic for first in first out buffer
CN114185829A (zh) 用于多种通信业务的共享的资源
CN114051611B (zh) 用于非连续存储器的dma分散和聚集操作
CN115221082B (zh) 一种数据缓存方法、装置及存储介质
CN114826542B (zh) 基于异步串行通信的数据传输方法、装置、设备及介质
US20090010157A1 (en) Flow control in a variable latency system
US11782474B2 (en) Clock control method, apparatus, and device, and storage medium
US20170308487A1 (en) Data transfer control system, data transfer control method, and program storage medium
CN115297198B (zh) 数据处理方法、电路、介质和计算设备
CN115129509B (zh) 一种数据传输方法、装置、介质
US10324777B2 (en) Register-based communications interface
CN112597094B (zh) 一种提高rdma传输效率的装置及方法
JP4257358B2 (ja) バス制御方法および装置
US20220393959A1 (en) Estimation system, addition apparatus, estimation method, addition method, estimation program and addition program
CN115297169B (zh) 数据处理方法、装置、电子设备及介质
CN115617732B (zh) Apb总线结构、片上系统、车辆及访问方法
US11151011B2 (en) Uncore input/output latency analysis
US12039294B2 (en) Device and method for handling programming language function
CN117076169B (zh) 操作系统的中断异常检测方法、装置及电子设备
US20200272587A1 (en) USB device and data transfer method thereof
US20220261311A1 (en) Peripheral component interconnect express interface device and system including the same
CN118784483A (zh) 信号源处理方法、控制器、电子设备、存储介质及程序
CN117236245A (zh) 一种时钟误差确定方法、装置、介质和计算设备

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