CN117056259A - 一种数据处理装置及方法 - Google Patents

一种数据处理装置及方法 Download PDF

Info

Publication number
CN117056259A
CN117056259A CN202311002072.5A CN202311002072A CN117056259A CN 117056259 A CN117056259 A CN 117056259A CN 202311002072 A CN202311002072 A CN 202311002072A CN 117056259 A CN117056259 A CN 117056259A
Authority
CN
China
Prior art keywords
data
unit
packet
module
information
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.)
Pending
Application number
CN202311002072.5A
Other languages
English (en)
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.)
Gowin Semiconductor Corp
Original Assignee
Gowin Semiconductor Corp
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 Gowin Semiconductor Corp filed Critical Gowin Semiconductor Corp
Priority to CN202311002072.5A priority Critical patent/CN117056259A/zh
Publication of CN117056259A publication Critical patent/CN117056259A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种数据处理装置及方法,包括控制模块,基于FPGA实现的数据处理模块和USB传输模块;其中,所述USB传输模块用于接收来自上位机的目标数据包,并在判断所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块;所述控制模块用于根据所述属性设置信息设置所述数据处理模块的数据处理属性;所述数据处理模块用于根据设置的数据处理属性对数据进行处理。本申请实施例能够根据实际需要设置数据处理属性,从而极大程度地提高使用灵活性。

Description

一种数据处理装置及方法
技术领域
本文涉及数据处理技术,尤指一种数据处理装置及方法。
背景技术
随着集成电路技术的迅速发展,数据传输技术正以日新月异的新姿展现在当代人的面前。早期的通用串行总线(Universal Serial Bus,USB)1.1通用串行总线接口仅支持全速12Mbps,低速1.5Mbps的传输速率,使其应用上只能局限于低速连接的领域。USB2.0的出现使USB总线的传输速率一下子提高到480Mbps,使得基于USB2.0接口的高速数据传输得到了广泛应用。
现有方案的USB2.0接口采用了USB接口+USB接口芯片组成。
然而,USB接口芯片具有一定的局限性,使用成本高且不灵活。
发明内容
本申请提供了一种数据处理装置及方法,能够根据实际需要设置数据处理属性,从而极大程度地提高使用灵活性。
一方面,本申请提供了一种数据处理装置,包括:控制模块,基于现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)实现的数据处理模块和USB传输模块;
其中,所述USB传输模块用于接收来自上位机的目标数据包,并在判断所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块;
所述控制模块用于根据所述属性设置信息设置所述数据处理模块的数据处理属性;
所述数据处理模块用于根据设置的数据处理属性对数据进行处理。
另一方面,本申请提供了一种数据处理方法,应用于如上任一所述的数据处理装置,所述方法包括:
所述USB传输模块接收来自所述上位机的目标数据包,并在判断得出所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块;
所述控制模块根据所述属性设置信息设置所述数据处理模块的数据处理属性;
所述数据处理模块根据设置的数据处理属性对数据进行处理。
与相关技术相比,本申请包括控制模块、基于FPGA实现数据处理模块和USB传输模块;其中,所述USB传输模块用于接收来自上位机的目标数据包,并在判断所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块;所述控制模块用于根据所述属性设置信息设置所述数据处理模块的数据处理属性;所述数据处理模块用于根据设置的数据处理属性对数据进行处理。本申请实施例能够根据实际需要设置数据处理属性,从而极大程度地提高了使用灵活性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例一种数据处理装置的结构示意图;
图2为相关技术中一种USB设备数据装置的结构示意图;
图3为本申请实施例另一种数据处理装置的结构示意图;
图4为本申请实施例又一种数据处理装置的结构示意图;
图5为本申请实施例又一种数据处理装置的结构示意图;
图6为本申请实施例又一种音频收发装置的结构示意图;
图7为本申请实施例一种音频收发控制示意图;
图8为本申请实施例一种音频收发装置的电路结构示意图;
图9为本申请实施例一种数据处理方法的流程示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本申请实施例提供了一种数据处理装置,如图1所示,包括:控制模块11,基于FPGA实现的数据处理模块12和USB传输模块13;
其中,所述USB传输模块13用于接收来自上位机的目标数据包,并在判断所述目标数据包用于设置所述数据处理模块12的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块11;
所述控制模块11用于根据所述属性设置信息设置所述数据处理模块12的数据处理属性;
所述数据处理模块12用于根据设置的数据处理属性对数据进行处理。
相关技术中,USB接收部分采用了USB接口+ARM处理器+FPGA的模式,相应的FPGA读取USB设备数据装置,如图2所示,该装置包括数据读取模块、控制模块、数据转发模块、接收模块和DDR模块,其中,数据读取模块、控制模块和数据转发模块存储在ARM处理器中,DDR模块与FPGA连接。所述数据读取模块与USB外设连接,用于从USB外设中存储的数据,在用户启动数据读取功能后,数据读取模块根据预定的文件路径,从USB外设打开指定的文件,获取文件大小信息,并按预设置的数据块大小依次读取,直至读完数据并关闭文件。所述控制模块,控制ARM处理器读取并转发USB外设中的数据,在进入数据转发工作后,控制模块将USB外设数据依次读入内存中开辟的第一缓存器和第二缓存器,即监控数据转发模块是否发完第一缓存器的数据,如果未发完,等待数据发完;如果发送完毕,则向第一缓存器读入新的数据,再判断第二缓存器的数据是否发完,依此循环操作。所述数据转发模块,用于将内存中的第一缓存器和第二缓存器的数据转发给FPGA,数据转发模块根据所读取的文件大小信息,判断需要传输的次数,每次按帧数据格式组帧,然后发送给FPGA接收端。所述数据接收模块,用于实现与ARM处理器之间的数据交互;FPGA将接收到的数据暂存于内部开辟的RAM,如果只需处理少量数据,FPGA数据处理单元可以直接处理该部分数据,如果需要处理大量的数据,如大尺寸图像数据,则可将暂存于RAM的数据存入DDR高速缓存芯片以便实时处理。这种FPGA读取USB设备数据装置通过ARM处理器控制USB数据的读取处理与发送,因此设计成本高,且结构复杂。
另外,还有一些方案的USB2.0接口采用了USB接口+USB接口芯片组成,USB接口通过USB接口芯片与FPGA通信。而USB接口芯片具有一定的局限性,使用成本高且不灵活,而且一些芯片仅支持低速通信。选取USB接口芯片后的某种功能后,USB接口芯片的外围电路会被固定,此时USB接口芯片只能实现之前选取的功能,具有一定的局限性。例如:如果在最开始选取了仅支持低速通信的USB接口芯片,则该USB接口只能满足低速通信,无法实现高速USB通信。
本申请实施例提供的数据处理装置,包括控制模块、基于FPGA实现数据处理模块和USB传输模块;其中,所述USB传输模块用于接收来自上位机的目标数据包,并在判断所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块;所述控制模块用于根据所述属性设置信息设置所述数据处理模块的数据处理属性;所述数据处理模块用于根据设置的数据处理属性对数据进行处理。本申请实施例能够根据实际需要设置数据处理属性,从而极大程度地提高了使用灵活性。
在一种示例性实例中,所述目标数据包包括:经过所述上位机编码的数据;如图3所示,所述USB传输模块13包括:USB控制器单元131和USB物理层处理单元132;
其中,所述USB物理层处理单元132,用于接收来自所述上位机的所述目标数据包,对所述目标数据包进行解码,并将经过解码的所述目标数据包发送至所述USB控制器单元131;
所述USB控制器单元131,用于对经过解码的所述目标数据包进行解析,获取其中的数据包标志信息,并在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于设置所述数据处理模块的属性时,从经过解码的所述目标数据包中获取所述属性设置信息,并将所述属性设置信息发送给所述控制模块11。
示例性的,解码的处理过程包括:NRZI解码处理、比特提取处理、数据移位处理。
在一种示例性实例中,如图4所示,所述数据处理模块12包括:数据接收单元121、数据发送单元122和数据缓存单元123;
所述属性设置数据包括:与所述数据缓存单元123对应的缓存容量信息,与所述数据接收单元121对应的第一数据采样频率信息和第一数据位宽信息,与所述数据发送单元122对应的第二数据采样频率信息和第二数据位宽信息;
所述控制模块11用于根据所述属性设置数据设置所述数据处理模块12的数据处理属性,包括:
根据所述缓存容量信息设置所述数据缓存单元123的缓存容量;
根据所述第一采样频率信息设置所述数据接收单元121进行数据接收时的数据采样频率,根据所述第一数据位宽信息设置所述数据接收单元121的进行数据接收时的数据位宽;
根据所述第二采样频率信息设置所述数据发送单元122进行数据发送时的数据采样频率,根据所述第二数据位宽信息设置所述数据发送单元122的进行数据发送时的数据位宽。
在一种示例性实例中,所述USB控制器单元131,还用于在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于获取所述数据处理模块12的属性设置数据时,从经过解码的所述目标数据包中获取属性设置信息获取指令,并将所述属性设置信息获取指令发送至所述控制模块11;
所述控制模块11,还用于根据所述属性设置信息获取指令从所述数据接收单元121,和/或数据发送单元122,和/或数据缓存单元123获取相应的属性设置信息,并将获得的属性设置信息发送至所述USB控制器单元131;
所述USB控制器单元131,还用于将获得的属性设置信息封装成数据包发送至所述USB物理层处理单元132;
所述USB物理层单元132,还用于对来自所述USB控制器单元131的数据包进行编码,并将经过编码的数据包发送至所述上位机。
示例性的,编码的处理过程包括:数据移位处理、比特提取处理、NRZI编码处理。
在一种示例性实例中,所述USB控制器单元131,还用于在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于读取数据时,从经过解码的所述目标数据包中获取数据读取位置信息,根据所述数据读取位置信息从所述数据缓存单元中123读取相应的数据,并将读取的数据封装成数据包发送至所述USB物理层处理单元132;
所述USB物理层单元132,还用于对来自所述USB控制器单元131的数据包进行编码,并将经过编码的数据包发送至所述上位机。
在一种示例性实例中,所述USB控制器单元131,还用于在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于数据写入时,从经过解码的所述目标数据包中获取数据写入位置信息;
所述USB物理层处理单元132,还用于接收来自所述上位机的继所述目标数据包之后的后续数据包,对所述后续数据包进行解码,并将经过解码的所述后续数据包发送至所述USB控制器单元131;
所述USB控制器单元131,还用于对经过解码的所述后续数据包进行解析,获取其中待写入的目标数据,并根据所述数据写入位置信息向所述数据缓存单元123写入所述目标数据。
示例性的,后续数据包是继所述目标数据包之后发送的包含实际待写入数据的数据包,当上位机向USB传输模块发送了用于指示将写入数据的目标数据包后,会继续向USB传输模块发送包含待写入数据的数据包。
USB控制器单元131和USB物理层处理单元132是“双向的”,既可以接收来自上位机的数据包,又可以传输数据包到上位机;当上位机下发数据包,USB物理层处理单元132对数据包进行解码,USB控制器单元131对经过解码的数据包进行解析;当传输数据包到上位机,USB控制器单元131将待传输数据封装成数据包,USB物理层处理单元132对数据包进行编码。
在一种示例性实例中,所述USB控制器单元131,还用于在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于使能所述数据接收单元121和所述数据发送单元122时,从所述目标数据包中获取使能指令,并将获得的使能指令发送至所述控制模块11;
所述控制模块11,还用于根据所述使能指令使能所述数据接收单元121和所述数据发送单元122。
在一种示例性实例中,所述数据发送单元122与第一外设模块相连;
所述数据发送单元122,用于按照自身所设置的采样频率和数据位宽从所述数据缓存单元123中获取第一数据,并发送至所述第一外设模块。
示例性的,第一外设模块可以是具有数模转换功能的模块,例如喇叭。
在一种示例性实例中,所述数据接收单元121与第二外设模块相连;
所述数据接收单元121,用于按照自身所设置的采样频率和数据位宽获取来自所述第二外设模块的第二数据,并将获得的所述第二数据存储至所述数据缓存单元123;
示例性的,第二外设模块可以是具有模数转换功能的模块,例如麦克风。
在一种示例性实例中,所述第一传输数据为音频数据,存储在所述数据缓存单元中123的所述第一数据为预设比特位宽的并行数据;
所述数据发送单元,用于按照自身所设置的采样频率和数据位宽从所述数据缓存单元中获取所述第一数据,并发送至所述第一外设模块,包括:
所述数据发送单元122从所述数据缓存单元123中获取以预设比特位宽且并行形式存储的所述第一数据;
所述数据发送单元122按照自身设置的采样频率和数据位宽对获得的所述第一数据进行字节对齐处理和并串转换处理,并将经过所述字节对齐处理和所述并串转换处理的所述第一数据发送至所述第一外设模块;
在一种示例性实例中,所述第二传输数据为音频数据,来自于所述第二外设模块的所述第二数据为串行数据;
所述数据接收单元,还用于按照自身所设置的采样频率和数据位宽获取来自所述第二外设模块的第二数据,并将获得的所述第二数据存储至所述数据缓存单元,包括:
所述数据接收单元121按照自身设置的采样频率和数据位宽对来自所述第二外设模块的所述第二数据进行串并转换处理和字节对齐处理;
所述数据接收单元121将经过串并转换处理和字节对齐处理的所述第二数据按照所述预设比特位宽存储至所述数据缓存单元123。
示例性的,预设预设比特位宽为8比特位宽。
在一种示例性实例中,所述控制模块11与计数器相连;
所述控制模块11,还用于根据所述第一采样频率信息和所述第一数据位宽信息向所述计数器发送计数速度调整信息,获取由所述计数器基于所述计数速度调整信息调整计数速度后产生的计数信息;
所述USB控制器单元131,还用于从所述控制模块11中获取所述计数信息,并将获得的计数信息封装成数据包发送至所述USB物理层单元132;
所述USB物理层单元132,还用于对还来自所述USB控制器单元131的数据包进行编码,并将经过编码的数据包发送至所述上位机。
示例性的,将获得的所述计数信息发送至所述上位机,以使得所述上位机根据所述计数信息调整写入数据缓存单元123的数据下发速度。
在一种示例性实例中,如图5所示,所述USB传输模块13还包括:设备描述符单元133;
所述设备描述符单元133用于存储所述数据理装置的设备描述符;
所述USB控制器单元131,还用于从所述设备描述符单元133中获取所述设备描述符,并将获得的设备描述符封装成数据包发送至所述USB物理层单元132;
所述USB物理层单元132,还用于对还来自所述USB控制器单元131的数据包进行编码,并将经过编码的数据包发送至所述上位机。
将经过编码的数据包发送至所述上位机,以使得所述上位机根据所述设备描述符获取向所述USB物理层处理单元132发送所述第一传输信息的发送端点信息,以及从所述USB物理层处理单元132接收所述第二传输信息的接收端点信息。
本申请实施例还提供一种高解析度的音频收发装置。该装置通过FPGA芯片的块状静态存储器(Block Static Random Access Memory,BSRAM)与可编程逻辑单元实现音频接收与发送。
本申请实施例提供的音频收发装置可以如图6所示,该装置包括:音频模块21、控制模块22以及USB模块23;
其中,音频模块21包括:音频接收模块211(AUDIO_RX)和音频发送模块212(AUDIO_TX)以及数据缓存模块213(USB_FIFO);USB模块23包括:USB控制器模块231(USB_Controller)和USB_PHY模块232以及音频设备描述符模块233(USB_DESC)。
音频接收模块211对接收到的串行音频数据进行采样,支持16K到768K的采样频率和8Bit、16Bit、32Bit数据位宽,采取到的串行音频数据通过串并转换和字节对齐处理后输出8Bit并行数据,并存储到数据缓存模块213中,其中数据缓存模块213的存储空间为1024Byte。音频发送模块212从数据缓存模块213中读取8Bit并行数据,并进行字节对齐处理以及并串转换后输出串行音频数据。
控制模块22控制音频接收模块211、音频发送模块212、数据缓存模块213以及USB控制器模块231。控制模块22可控制音频接收模块和音频发送模块的采样频率和数据位宽;可控制USB_FIFO数据缓存模块的数据缓存大小;可控制USB控制模块的反馈端点异步时钟时间计数器。
当音频收发装置工作时,控制模块22接收从USB控制器231发出的控制信息,调节采样率与数据位宽,并将信息发送给音频发送模块211,同时调节数据缓存模块213的数据缓存量,然后根据控制信息重新配置异步时钟计数器。
USB控制器模块231位于音频模块21和USB_PHY模块232之间,用来串联音频模块21和USB_PHY模块232。USB_PHY模块232接收到的USB串行音频数据依次经过NRZI解码、bit提取、数据移位处理后输出8Bit并行数据,并经过USB2.0收发器宏单元接口(USB2.0Transceiver Macrocell Interface,UTMI)接口传输到USB控制器模块231。USB控制器模块231输出的8Bit并行数据传输到USB_PHY模块232的UTMI接口,并依次经过数据移位处理、bit提取、NRZI编码后输出USB串行音频数据。
音频设备描述符模块233,与USB控制器模块相连,用来存储音频设备描述符,USB控制器模块231从音频设备描述符模块233获取所述设备描述符,并发送给所述上位机。
该音频收发装置装置支持16K到768K的采样率,支持8Bit、16Bit、32Bit数据位宽,具有配置灵活、可移植等特点。该装置采用FPGA芯片实现,具有高性能、低功耗、使用灵活、瞬时启动、低成本、非易失性、高安全性、方便扩展等特点,适用于高速低成本的应用场合。
本申请实施例提供的音频收发装置对应的音频收发控制示意图可以如图7所示。从音频接收接口输入原始音频,经过音频数据字节对齐处理,对齐后的数据传输到音频接收缓存进行缓存,然后USB PHY模块通过USB控制器模块从音频接收缓存中读取输入的音频数据,USB PHY接收到的音频数据经处理后传输到上位机。上位机发送的音频数据,经USBPHY模块进行数据处理后,通过USB控制器模块传输到音频发送缓存进行缓存,音频发送缓存的数据经过音频数据字节对齐处理后发送到音频发送接口,通过音频发送接口发送出去。
本申请实施例提供的音频收发装置对应的控制电路结构示意图可以如图8所示,USB PHY模块、USB控制器模块、数据缓存模块、音频模块均位于FPGA上。
具体来说,当高速音频输入时,高速音频信号经高速音频输入接口传输到FPGA,高速音频信号传输到FPGA后,通过USB控制器模块对高速音频信号进行处理,处理后的音频信号放置到数据缓存模块缓存,然后根据使用者的需求,USB PHY模块对数据缓存模块中缓存的高速音频信息进行格式编码,并通过USB接口把编码后的音频信号传输出去。
当高速音频输出时,高速音频信号经USB接口传输到FPGA,高速音频信号传输到FPGA后,通过USB控制器模块控制USB PHY模块对高速音频信号进行解码,并对解码后的高速音频信号进行处理,处理后的高速音频信号放置到数据缓存模块进行缓存,最后经USB控制模块把数据缓存模块中的音频信号传输到音频收发模块,由音频收发模块通过高速音频输出接口传输出去。
本发明基于FPGA硬件平台实现硬件电路,通过USB Soft PHY IP实现USB底层收发,且支持高速(480Mbps)、全速(12Mbps)与低速(1.5Mbps)的数据接收与发送。简化了电路结构,且用户可根据需求选择所需通信速度,具有效率高、成本低,灵活性强的优势。
本申请实施例还提供一种数据处理方法,应用于如上任意一种实施例所述的数据处理装置,如图9所示,所述方法包括:
步骤301、所述USB传输模块接收来自上位机的目标数据包,并在判断所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块;
步骤302、所述控制模块根据所述属性设置信息设置所述数据处理模块的数据处理属性;
步骤303、所述数据处理模块根据设置的数据处理属性对数据进行处理。
本申请实施例提供的数据处理方法,所述USB传输模块接收来自上位机的目标数据包,并在判断所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块;所述控制模块根据所述属性设置信息设置所述数据处理模块的数据处理属性;所述数据处理模块根据设置的数据处理属性对数据进行处理。本申请实施例能够根据实际需要设置数据处理属性,从而极大程度地提高了使用灵活性。
在一种示例性实例中,所述目标数据包包括:经过所述上位机编码的数据包;所述USB传输模块包括:USB控制器单元和USB物理层处理单元。
在一种示例性实例中,所述USB传输模块用于接收来自上位机的目标数据包,并在判断所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块,包括:
首先,所述USB物理层处理单元接收来自所述上位机的所述目标数据包,对所述目标数据包进行解码,并将经过解码的所述目标数据包发送至所述USB控制器单元;
其次,所述USB控制器单元对经过解码的所述目标数据包进行解析,获取其中的数据包标志信息,并在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于设置所述数据处理模块的属性时,从经过解码的所述目标数据包中获取所述属性设置信息,并将所述属性设置信息发送给所述控制模块。
在一种示例性实例中,所述数据处理模块包括:数据接收单元、数据发送单元和数据缓存单元;
所述属性设置数据包括:与所述数据缓存单元对应的缓存容量信息,与所述数据接收单元对应的第一数据采样频率信息和第一数据位宽信息,与所述数据发送单元对应的第二数据采样频率信息和第二数据位宽信息。
在一种示例性实例中,所述控制模块根据所述属性设置数据设置所述数据处理模块的数据处理属性,包括:
首先,根据所述缓存容量信息设置所述数据缓存单元的缓存容量;
其次,根据所述第一采样频率信息设置所述数据接收单元进行数据接收时的数据采样频率,根据所述第一数据位宽信息设置所述数据接收单元的进行数据接收时的数据位宽;
最后,根据所述第二采样频率信息设置所述数据发送单元进行数据发送时的数据采样频率,根据所述第二数据位宽信息设置所述数据发送单元的进行数据发送时的数据位宽。
在一种示例性实例中,所述方法还包括:
首先,所述USB控制器单元在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于获取所述数据处理模块的属性设置数据时,从经过解码的所述目标数据包中获取属性设置信息获取指令,并将所述属性设置信息获取指令发送至所述控制模块;
其次,所述控制模块根据所述属性设置信息获取指令从所述数据接收单元,和/或数据发送单元,和/或数据缓存单元获取相应的属性设置信息,并将获得的属性设置信息发送至所述USB控制器单元;
再次,所述USB控制器单元将获得的属性设置信息封装成数据包发送至所述USB物理层处理单元;
最后,所述USB物理层单元对来自所述USB控制器单元的数据包进行编码,并将经过编码的数据包发送至所述上位机。
在一种示例性实例中,所述方法还包括:
首先,所述USB控制器单元在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于读取数据时,从经过解码的所述目标数据包中获取数据读取位置信息,根据所述数据读取位置信息从所述数据缓存单元中读取相应的数据,并将读取的数据封装成数据包发送至所述USB物理层处理单元;
其次,所述USB物理层单元对来自所述USB控制器单元的数据包进行编码,并将经过编码的数据包发送至所述上位机。
在一种示例性实例中,所述方法还包括:
首先,所述USB控制器单元在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于数据写入时,从经过解码的所述目标数据包中获取数据写入位置信息;
其次,所述USB物理层处理单元接收来自所述上位机的继所述目标数据包之后的后续数据包,对所述后续数据包进行解码,并将经过解码的所述后续数据包发送至所述USB控制器单元;
最后,所述USB控制器单元对经过解码的所述后续数据包进行解析,获取其中待写入的目标数据,并根据所述数据写入位置信息向所述数据缓存单元写入所述目标数据。
在一种示例性实例中,所述方法还包括:
首先,所述USB控制器单元在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于使能所述数据接收单元和所述数据发送单元时,从所述目标数据包中获取使能指令,并将获得的使能指令发送至所述控制模块;
其次,所述控制模块根据所述使能指令使能所述数据接收单元和所述数据发送单元。
在一种示例性实例中,所述数据发送单元与第一外设模块相连。
在一种示例性实例中,所述方法还包括:
所述数据发送单元按照自身所设置的采样频率和数据位宽从所述数据缓存单元中获取第一数据,并发送至所述第一外设模块。
在一种示例性实例中,所述数据接收单元与第二外设模块相连。
在一种示例性实例中,所述方法还包括:
所述数据接收单元按照自身所设置的采样频率和数据位宽获取来自所述第二外设模块的第二数据,并将获得的所述第二数据存储至所述数据缓存单元。
在一种示例性实例中,所述第一数据为音频数据,存储在所述数据缓存单元中的所述第一数据为预设比特位宽的并行数据。
在一种示例性实例中,所述数据发送单元按照自身所设置的采样频率和数据位宽从所述数据缓存单元中获取第一数据,并发送至所述第一外设模块,包括:
首先,所述数据发送单元从所述数据缓存单元中获取以预设比特位宽且并行形式存储的所述第一数据;
其次,所述数据发送单元按照自身设置的采样频率和数据位宽对获得的所述第一数据进行字节对齐处理和并串转换处理,并将经过所述字节对齐处理和所述并串转换处理的所述第一数据发送至所述第一外设模块。
在一种示例性实例中,所述第二传输数据为音频数据,来自于所述第二外设模块的所述第二数据为串行数据。
在一种示例性实例中,所述数据接收单元按照自身所设置的采样频率和数据位宽获取来自所述第二外设模块的第二数据,并将获得的所述第二数据存储至所述数据缓存单元,包括:
首先,所述数据接收单元按照自身设置的采样频率和数据位宽对来自所述第二外设模块的所述第二数据进行串并转换处理和字节对齐处理;
其次,所述数据接收单元将经过串并转换处理和字节对齐处理的所述第二数据按照所述预设比特位宽存储至所述数据缓存单元。
在一种示例性实例中,所述控制模块与计数器相连。
在一种示例性实例中,所述方法还包括:
首先,所述控制模块根据所述第一采样频率信息和所述第一数据位宽信息向所述计数器发送计数速度调整信息,获取由所述计数器基于所述计数速度调整信息调整计数速度后产生的计数信息;
其次,所述USB控制器单元从所述控制模块中获取所述计数信息,并将获得的计数信息封装成数据包发送至所述USB物理层单元;
最后,所述USB物理层单元对还来自所述USB控制器单元的数据包进行编码,并将经过编码的数据包发送至所述上位机。
在一种示例性实例中,所述USB传输模块还包括:设备描述符单元。
在一种示例性实例中,所述方法还包括:
首先,所述设备描述符存储所述数据理装置的设备描述符;
其次,所述USB控制器单元从所述设备描述符单元中获取所述设备描述符,并将获得的设备描述符封装成数据包发送至所述USB物理层单元;
最后,所述USB物理层单元对还来自所述USB控制器单元的数据包进行编码,并将经过编码的数据包发送至所述上位机。
将经过编码的数据包发送至所述上位机,以使得所述上位机根据所述设备描述符获取向所述USB物理层处理单元发送所述第一传输信息的发送端点信息,以及从所述USB物理层处理单元接收所述第二传输信息的接收端点信息。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (12)

1.一种数据处理装置,其特征在于,包括:控制模块,基于FPGA实现的数据处理模块和USB传输模块;
其中,所述USB传输模块用于接收来自上位机的目标数据包,并在判断所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块;
所述控制模块用于根据所述属性设置信息设置所述数据处理模块的数据处理属性;
所述数据处理模块用于根据设置的数据处理属性对数据进行处理。
2.根据权利要求1所述的装置,其特征在于,所述目标数据包包括:经过所述上位机编码的数据包;所述USB传输模块包括:USB控制器单元和USB物理层处理单元;
其中,所述USB物理层处理单元,用于接收来自所述上位机的所述目标数据包,对所述目标数据包进行解码,并将经过解码的所述目标数据包发送至所述USB控制器单元;
所述USB控制器单元,用于对经过解码的所述目标数据包进行解析,获取其中的数据包标志信息,并在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于设置所述数据处理模块的属性时,从经过解码的所述目标数据包中获取所述属性设置信息,并将所述属性设置信息发送给所述控制模块。
3.根据权利要求2所述的装置,其特征在于,所述数据处理模块包括:数据接收单元、数据发送单元和数据缓存单元;
所述属性设置信息包括:与所述数据缓存单元对应的缓存容量信息,与所述数据接收单元对应的第一数据采样频率信息和第一数据位宽信息,与所述数据发送单元对应的第二数据采样频率信息和第二数据位宽信息;
所述控制模块用于根据所述属性设置信息设置所述数据处理模块的数据处理属性,包括:
根据所述缓存容量信息设置所述数据缓存单元的缓存容量;
根据所述第一采样频率信息设置所述数据接收单元进行数据接收时的数据采样频率,根据所述第一数据位宽信息设置所述数据接收单元的进行数据接收时的数据位宽;
根据所述第二采样频率信息设置所述数据发送单元进行数据发送时的数据采样频率,根据所述第二数据位宽信息设置所述数据发送单元的进行数据发送时的数据位宽。
4.根据权利要求2所述的装置,其特征在于,所述USB控制器单元,还用于在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于获取所述数据处理模块的属性设置数据时,从经过解码的所述目标数据包中获取属性设置信息获取指令,并将所述属性设置信息获取指令发送至所述控制模块;
所述控制模块,还用于根据所述属性设置信息获取指令从所述数据接收单元,和/或数据发送单元,和/或数据缓存单元获取相应的属性设置信息,并将获得的属性设置信息发送至所述USB控制器单元;
所述USB控制器单元,还用于将获得的属性设置信息封装成数据包发送至所述USB物理层处理单元;
所述USB物理层单元,还用于对来自所述USB控制器单元的数据包进行编码,并将经过编码的数据包发送至所述上位机。
5.根据权利要求2所述的装置,其特征在于,所述USB控制器单元,还用于在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于读取数据时,从经过解码的所述目标数据包中获取数据读取位置信息,根据所述数据读取位置信息从所述数据缓存单元中读取相应的数据,并将读取的数据封装成数据包发送至所述USB物理层处理单元;
所述USB物理层单元,还用于对来自所述USB控制器单元的数据包进行编码,并将经过编码的数据包发送至所述上位机。
6.根据权利要求2所述的装置,其特征在于,所述USB控制器单元,还用于在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于数据写入时,从经过解码的所述目标数据包中获取数据写入位置信息;
所述USB物理层处理单元,还用于接收来自所述上位机的继所述目标数据包之后的后续数据包,对所述后续数据包进行解码,并将经过解码的所述后续数据包发送至所述USB控制器单元;
所述USB控制器单元,还用于对经过解码的所述后续数据包进行解析,获取其中待写入的目标数据,并根据所述数据写入位置信息向所述数据缓存单元写入所述目标数据。
7.根据权利要求2所述的装置,其特征在于,所述USB控制器单元,还用于在根据所述数据包标志信息判断得出经过解码的所述目标数据包用于使能所述数据接收单元和所述数据发送单元时,从所述目标数据包中获取使能指令,并将获得的使能指令发送至所述控制模块;
所述控制模块,还用于根据所述使能指令使能所述数据接收单元和所述数据发送单元。
8.根据权利要求7所述的装置,其特征在于,所述数据发送单元与第一外设外模相连,所述数据发送单元用于按照自身所设置的采样频率和数据位宽从所述数据缓存单元中获取第一数据,并发送至所述第一外设模块;
所述数据接收单元与第二外设模块相连,所述数据接收单元用于按照自身所设置的采样频率和数据位宽获取来自所述第二外设模块的第二数据,并将获得的所述第二数据存储至所述数据缓存单元。
9.根据权利要求8所述的装置,其特征在于,所述第一数据为音频数据,存储在所述数据缓存单元中的所述第一数据为预设比特位宽的并行数据;
所述数据发送单元,用于按照自身所设置的采样频率和数据位宽从所述数据缓存单元中获取第一数据,并发送至所述第一外设模块,包括:
所述数据发送单元从所述数据缓存单元中获取以预设比特位宽且并行形式存储的所述第一数据;
所述数据发送单元按照自身设置的采样频率和数据位宽对获得的所述第一数据进行字节对齐处理和并串转换处理,并将经过所述字节对齐处理和所述并串转换处理的所述第一数据发送至所述第一外设模块;
所述第二传输数据为音频数据,来自于所述第二外设模块的所述第二数据为串行数据;
所述数据接收单元,还用于按照自身所设置的采样频率和数据位宽获取来自所述第二外设模块的第二数据,并将获得的所述第二数据存储至所述数据缓存单元,包括:
所述数据接收单元按照自身设置的采样频率和数据位宽对来自所述第二外设模块的所述第二数据进行串并转换处理和字节对齐处理;
所述数据接收单元将经过串并转换处理和字节对齐处理的所述第二数据按照所述预设比特位宽存储至所述数据缓存单元。
10.根据权利要求3所述的装置,其特征在于,所述控制模块与计数器相连;
所述控制模块,还用于根据所述第一采样频率信息和所述第一数据位宽信息向所述计数器发送计数速度调整信息,获取由所述计数器基于所述计数速度调整信息调整计数速度后产生的计数信息;
所述USB控制器单元,还用于从所述控制模块中获取所述计数信息,并将获得的计数信息封装成数据包发送至所述USB物理层单元;
所述USB物理层单元,还用于对还来自所述USB控制器单元的数据包进行编码,并将经过编码的数据包发送至所述上位机。
11.根据权利要求2所述的装置,其特征在于,所述USB传输模块还包括:设备描述符单元;
所述设备描述符单元用于存储所述数据理装置的设备描述符;
所述USB控制器单元,还用于从所述设备描述符单元中获取所述设备描述符,并将获得的设备描述符封装成数据包发送至所述USB物理层单元;
所述USB物理层单元,还用于对还来自所述USB控制器单元的数据包进行编码,并将经过编码的数据包发送至所述上位机。
12.一种数据处理方法,其特征在于,应用于如权利要求1-11任一项所述的数据处理装置,所述方法包括:
所述USB传输模块接收来自所述上位机的目标数据包,并在判断得出所述目标数据包用于设置所述数据处理模块的属性时,将所述目标数据包中的属性设置信息发送给所述控制模块;
所述控制模块根据所述属性设置信息设置所述数据处理模块的数据处理属性;
所述数据处理模块根据设置的数据处理属性对数据进行处理。
CN202311002072.5A 2023-08-08 2023-08-08 一种数据处理装置及方法 Pending CN117056259A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311002072.5A CN117056259A (zh) 2023-08-08 2023-08-08 一种数据处理装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311002072.5A CN117056259A (zh) 2023-08-08 2023-08-08 一种数据处理装置及方法

Publications (1)

Publication Number Publication Date
CN117056259A true CN117056259A (zh) 2023-11-14

Family

ID=88668559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311002072.5A Pending CN117056259A (zh) 2023-08-08 2023-08-08 一种数据处理装置及方法

Country Status (1)

Country Link
CN (1) CN117056259A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070068017A (ko) * 2005-12-26 2007-06-29 엘지전자 주식회사 Fpga와 usb 간의 인터페이스 장치
CN103838694A (zh) * 2014-02-28 2014-06-04 西安邮电大学 一种fpga高速读取usb接口数据的方法
CN109426644A (zh) * 2017-08-31 2019-03-05 西安中兴新软件有限责任公司 一种usb数据传输的速率调整方法及装置、设备
CN210129219U (zh) * 2019-08-09 2020-03-06 苏州浪潮智能科技有限公司 一种FPGA加速卡的多功能USB Type-C接口电路
CN110941583A (zh) * 2019-12-10 2020-03-31 云南大学 一种基于fpga的usb3.0数据传输系统控制方法
CN111090556A (zh) * 2019-12-18 2020-05-01 广东高云半导体科技股份有限公司 一种片上系统及usb物理层测试方法
CN112084736A (zh) * 2020-08-17 2020-12-15 武汉汇迪森信息技术有限公司 一种基于fpga的usb3.0物理层收发装置
WO2020259523A1 (zh) * 2019-06-28 2020-12-30 深圳市紫光同创电子有限公司 与fpga通信的主机及方法、fpga接口芯片
CN112256616A (zh) * 2020-10-22 2021-01-22 广东高云半导体科技股份有限公司 支持usb和gpio转换的系统级芯片及通信方法
CN114218142A (zh) * 2021-11-23 2022-03-22 浪潮金融信息技术有限公司 一种自助终端用usb自适应通信方法、系统及介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070068017A (ko) * 2005-12-26 2007-06-29 엘지전자 주식회사 Fpga와 usb 간의 인터페이스 장치
CN103838694A (zh) * 2014-02-28 2014-06-04 西安邮电大学 一种fpga高速读取usb接口数据的方法
CN109426644A (zh) * 2017-08-31 2019-03-05 西安中兴新软件有限责任公司 一种usb数据传输的速率调整方法及装置、设备
WO2020259523A1 (zh) * 2019-06-28 2020-12-30 深圳市紫光同创电子有限公司 与fpga通信的主机及方法、fpga接口芯片
CN210129219U (zh) * 2019-08-09 2020-03-06 苏州浪潮智能科技有限公司 一种FPGA加速卡的多功能USB Type-C接口电路
CN110941583A (zh) * 2019-12-10 2020-03-31 云南大学 一种基于fpga的usb3.0数据传输系统控制方法
CN111090556A (zh) * 2019-12-18 2020-05-01 广东高云半导体科技股份有限公司 一种片上系统及usb物理层测试方法
CN112084736A (zh) * 2020-08-17 2020-12-15 武汉汇迪森信息技术有限公司 一种基于fpga的usb3.0物理层收发装置
CN112256616A (zh) * 2020-10-22 2021-01-22 广东高云半导体科技股份有限公司 支持usb和gpio转换的系统级芯片及通信方法
CN114218142A (zh) * 2021-11-23 2022-03-22 浪潮金融信息技术有限公司 一种自助终端用usb自适应通信方法、系统及介质

Similar Documents

Publication Publication Date Title
EP2540135B1 (en) Scalable digrf architecture
KR100981561B1 (ko) 이동통신 시스템의 데이터 처리 방법 및 장치
CN107193769B (zh) 一种基于asi接口的数据收发系统
US20050232197A1 (en) Command queuing for multimedia storage devices
CN101566940A (zh) 实现无线数据终端通用串行总线音频传输的方法及装置
US20080288698A1 (en) Card reader controlling apparatus based on secure digital protocol
US7191262B2 (en) High-throughput UART interfaces
US10467175B1 (en) Secure digital (SD) direct command for improving throughput with a reduced memory footprint
CN111541518A (zh) 一种串行总线的数据传输方法及通信装置
US8032674B2 (en) System and method for controlling buffer memory overflow and underflow conditions in storage controllers
CN113986192B (zh) 一种CoaXPress接口数据和Cameralink接口数据互相转换的方法
CN111427832A (zh) 一种串行总线的数据传输方法及通信装置
CN111526317A (zh) 一种低延时图像采集方法、装置及系统
CN117056259A (zh) 一种数据处理装置及方法
CN116881188B (zh) 一种晶片到晶片接口互联的方法、设备及介质
CN116049054B (zh) 一种spi从设备在跨时钟域中的数据读写方法及系统
JP2001298494A (ja) データ・リンクとのインターフェースを制御するコントローラと方法
CN109213710B (zh) 高速串行接口装置与其数据传输方法
CN113127389B (zh) Sas stp业务加速方法
US8279935B2 (en) Method and apparatus for image quality control in video data
US20100216506A1 (en) System and Methods for Supporting Multiple Communications Protocols on a Mobile Phone Device
CN212003163U (zh) 一种edib编解码模块及电缆式地层测试器
CN112637027B (zh) 基于uart的帧边界界定装置及发送方法和接收方法
CN117234977B (zh) 数据处理方法、系统、设备及计算机可读存储介质
CN113840188B (zh) 一种利用dcc开销传输以太网数据的装置及方法

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