CN113656334B - 一种数据传输处理方法和装置 - Google Patents
一种数据传输处理方法和装置 Download PDFInfo
- Publication number
- CN113656334B CN113656334B CN202010398902.0A CN202010398902A CN113656334B CN 113656334 B CN113656334 B CN 113656334B CN 202010398902 A CN202010398902 A CN 202010398902A CN 113656334 B CN113656334 B CN 113656334B
- Authority
- CN
- China
- Prior art keywords
- data
- usb device
- device controller
- buffer
- character
- 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/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请实施例提供了一种数据传输处理方法和装置,用于综测仪芯片,综测仪芯片包括处理系统PS侧和可编程逻辑PL侧,所述PS侧包括通用串行总线USB设备控制器硬件和字符设备,其中的方法包括:在USB设备控制器硬件接收到来自上位机的写数据请求时,将写数据请求对应的第一数据存入字符设备的缓冲区;基于用户态从缓冲区读取第一数据,以及将第一数据发送至PL侧;在PS侧接收到来自所述PL侧的第二数据时,基于用户态将第二数据存入缓冲区;在USB设备控制器硬件接收到来自上位机的读数据请求时,将缓冲区中的所述第二数据发送至上位机。本申请实施例可以提高综测仪与上位机之间数据交互的速率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输处理方法和装置。
背景技术
无线电综合测试仪(简称为综测仪)是能够精确测量多制式终端射频指标的仪表。综测仪可广泛应用于终端生产中的校准和测试,以及终端、芯片研发设计等领域,同时也可应用于终端射频一致性认证测试中。从提高终端生产及研发测试效率的角度出发,可将测试成本降至最低。
通常,综测仪与上位机之间通过千兆以太网方式进行数据交互。以综测仪使用的芯片为Xilinx(赛灵思)的可扩展处理平台ZYNQ系列,型号为zu15的SOC(System-on-a-Chip,片上系统)芯片为例,zu15芯片内部的千兆以太网控制器可以实现千兆以太网的MAC(Media Access Control,介质访问控制),该MAC与IEEE(Institute of Electrical andElectronics Engineers,电气和电子工程师协会)以太网标准兼容,能够在全双工模式运行。
综测仪与上位机之间数据交互的速率直接关系到测试系统的测试效率,然而,目前通过千兆以太网传输数据的速率较低,难以满足综测仪的业务处理能力,影响综测仪与上位机之间数据交互的速率,进而影响测试效率。
发明内容
本申请实施例提供一种数据传输处理方法和装置,可以提高综测仪与上位机之间数据交互的速率,进而可以提高测试效率。
本申请实施例提供了一种数据传输处理方法,所述方法用于综测仪芯片,所述综测仪芯片包括处理系统PS侧和可编程逻辑PL侧,所述PS侧包括通用串行总线USB设备控制器硬件和字符设备,所述方法包括:
在所述USB设备控制器硬件接收到来自上位机的写数据请求时,将所述写数据请求对应的第一数据存入所述字符设备的缓冲区;
基于用户态从所述缓冲区读取所述第一数据,以及将所述第一数据发送至所述PL侧;
在所述PS侧接收到来自所述PL侧的第二数据时,基于用户态将所述第二数据存入所述缓冲区;
在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,将所述缓冲区中的所述第二数据发送至所述上位机。
本申请实施例提供了一种数据传输处理装置,所述装置用于综测仪芯片,所述综测仪芯片包括处理系统PS侧和可编程逻辑PL侧,所述PS侧包括通用串行总线USB设备控制器硬件和字符设备,所述装置包括:
第一存入模块,用于在所述USB设备控制器硬件接收到来自上位机的写数据请求时,将所述写数据请求对应的第一数据存入所述字符设备的缓冲区;
第一传输模块,用于基于用户态从所述缓冲区读取所述第一数据,以及将所述第一数据发送至所述PL侧;
第二存入模块,用于在所述PS侧接收到来自所述PL侧的第二数据时,基于用户态将所述第二数据存入所述缓冲区;
第二传输模块,用于在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,将所述缓冲区中的所述第二数据发送至所述上位机。
本申请实施例包括以下优点:
本申请实施例的数据传输处理方法用于综测仪芯片与上位机进行数据交互。所述综测仪芯片包括PS侧和PL侧,所述PS侧包括USB设备控制器硬件和字符设备,通过本申请实施例,上位机与PS侧可以使用USB传输方式进行通信,相对于使用千兆以太网的传输方式,可以提高综测仪与上位机之间数据交互的速率,提高综测仪系统的业务处理能力,以及提高测试效率。
此外,本申请实施例未改变综测仪设备内部传输接口,内部传输接口和标准接口一致,不受传输方式改变的影响,具有通用性。例如,所述内部传输接口包括字符设备(TTY设备)驱动接口,字符设备驱动是用户态使用内核驱动的一种标准方式,在用户态使用该接口感知不到内核态的操作,为用户操作带来便利。
再者,本申请实施例的传输介质单一,不受网络条件影响,并且软件处理流程简单、高效,可以提高CPU利用率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请的一种数据传输处理方法实施例的流程图;
图2示出了本申请的一种上位机与PL侧之间的数据流向示意图;
图3示出了本申请的图2中USB设备的驱动总体结构示意图;
图4示出了一种使用字符设备接口的系统结构示意图;
图5示出了本申请的一种数据传输处理装置实施例的结构框图;
图6示出了本申请提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例一
参照图1,示出了本申请的一种数据传输处理方法实施例的流程图,所述方法用于综测仪芯片,所述综测仪芯片包括处理系统PS侧和可编程逻辑PL侧,所述PS侧包括通用串行总线USB设备控制器硬件和字符设备,所述方法具体可以包括:
步骤101、在所述USB设备控制器硬件接收到来自上位机的写数据请求时,将所述写数据请求对应的第一数据存入所述字符设备的缓冲区;
步骤102、基于用户态从所述缓冲区读取所述第一数据,以及将所述第一数据发送至所述PL侧;
步骤103、在所述PS侧接收到来自所述PL侧的第二数据时,基于用户态将所述第二数据存入所述缓冲区;
步骤104、在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,将所述缓冲区中的所述第二数据发送至所述上位机。
本申请实施例针对综测仪与上位机进行数据交互时,千兆以太网速率较低无法满足实际需求的问题,提出一种基于USB(Universal Serial Bus,通用串行总线)的高速串行数据交互实现方案。通过本申请实施例,可以将上位机的第一数据通过综测仪芯片的PS侧传输至PL侧,或者,将PL侧的第二数据通过PS侧传输至上位机。
其中,所述上位机可以为任意终端设备,如PC(Personal Computer,个人计算机),且所述上位机的操作系统不做限制。所述综测仪芯片为综测仪的SOC芯片,可以理解,本申请实施例对综测仪芯片的型号不加以限制。为便于描述,本申请实施例以zu15芯片为例说明。所述综测仪芯片包括PS(Processing System,处理系统)侧和PL(Progarmmable Logic,可编程逻辑)侧,PS侧指与FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)无关的ARM(Advanced RISC Machines)的SOC的部分。PL侧为FPGA部分。
可选地,所述字符设备为TTY(TeleTYpe,电传打字机)设备。TTY设备是一种在用户态使用内核态USB驱动的字符设备,内核态的USB驱动功能通过与TTY设备绑定,从而在用户态可通过使用TTY设备进行USB数据传输。
在本申请实施例中,在所述USB设备控制器硬件通过USB通用串行总线接收到来自上位机的写数据请求时,将所述写数据请求对应的第一数据存入所述字符设备的缓冲区;基于用户态从所述缓冲区读取所述第一数据,以及将所述第一数据发送至所述PL侧。PL侧接收到所述第一数据后,对所述第一数据进行处理,得到第二数据,并且将第二数据写入PL侧的指定地址。PS侧从该指定地址将第二数据读取到PS侧后,基于用户态将所述第二数据存入所述缓冲区;在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,将所述缓冲区中的所述第二数据通过USB通用串行总线发送至所述上位机。
优选地,所述USB通用串行总线可以为USB3.0通用串行总线,USB3.0也称为SuperSpeedUSB,传输速率理论带宽可到达500MB/s,比千兆以太网的传输速率提升5倍。本申请实施例中,上位机与PS侧使用USB3.0方式进行通信,相对于使用千兆以太网的传输方式,可以提高综测仪与上位机之间数据交互的速率,提高综测仪系统的业务处理能力,以及提高测试效率。
在实际应用中,USB系统通常由USB主机、USB HUB(USB集线器)、以及USB设备三个部分组成。在本申请实施例中,所述上位机为USB主机,综测仪芯片为USB设备。为了使得综测仪芯片可以被识别为USB设备,本申请实施例的综测仪芯片需集成有USB设备控制器硬件以及安装有USB设备侧驱动。
在本申请的一种可选实施例中,所述PS侧还包括:USB设备侧驱动,所述USB设备侧驱动包括:Gadget驱动程序、Gadget应用程序接口、以及USB设备控制器驱动程序。
可选地,本申请实施例利用Linux Gadget(小工具)驱动框架实现USB设备侧驱动。具体地,该USB设备侧驱动包括如下3个层次:Gadget驱动程序、Gadget应用程序接口、以及USB设备控制器驱动程序;也即依次为:Gadget Function驱动程序、Gadget Function API、以及UDC(USB Device Controller,USB设备控制器)驱动程序。
其中,UDC驱动程序直接访问硬件,控制USB设备和USB主机之间的底层通信,向上层提供与硬件相关操作的回调函数。Gadget Function API是UDC驱动程序回调函数的简单包装。Gadget Function驱动程序具体控制USB设备功能的实现,使设备表现出“U盘”、“虚拟串口”等特性。
参照图2,示出了本申请的一种上位机与PL侧之间的数据流向示意图。如图2所示,综测仪芯片201包括PS侧2011和PL侧2012,PS侧2011包括Gadget serial和字符设备。Gadget serial为USB设备侧驱动程序,内部程序可以分为如下4个层次:USB设备控制器硬件、UDC驱动程序、Gadget Function API和Gadget Function驱动程序。如图2所示,上位机202与综测仪芯片201的PS侧2011之间的数据流向如(1)所示,可选地,(1)可以为USB3.0传输方式。综测仪芯片201的PS侧2011与PL侧2012之间的数据流向如(2)所示,(2)可以为axi-memcpy(Advanced eXtensible Interface-memcpy,总线协议-内存拷贝函数)传输方式或者axi-zdma(Direct Memory Access,总线协议-直接存储器访问)传输方式等,优选地,(2)采用axi-zdma传输方式。
参照图3,示出了图2中USB设备的驱动总体结构示意图。如图3所示,综测仪芯片包括PS侧301和PL侧302,PS侧301包括Gadget serial3011和字符设备(TTY)缓冲区3012。Gadget serial3011包括:USB设备控制器硬件、UDC驱动程序、Gadget Function API和Gadget Function驱动程序。其中,UDC驱动程序直接访问硬件,控制USB设备和主机间的底层通信,向上层提供与硬件相关操作的回调函数。Gadget Function API是UDC驱动程序回调函数的简单包装。Gadget Function驱动程序具体控制USB设备功能的实现,使设备表现出“Gadget serial(通用串行)”特性,即数据可以按数据流的方式传输,其速率远远高于串口,以满足综测仪的业务处理能力。
在本申请的一种可选实施例中,所述将所述写数据请求对应的第一数据存入字符设备的缓冲区之前,所述方法还包括:
将所述字符设备设置为非规范模式,并取消所述字符设备的回显功能。
在本申请实施例中,可以通过PS侧的TTY设备接收或发送数据,TTY设备是一种在用户态使用内核态USB驱动的字符设备,由于Gadget Functiond具有“generic serial”特性,因此,需要将TTY设备设置为非规范模式,并取消所述字符设备的回显功能。
在具体应用中,TTY设备分为规范模式和非规范模式,一般默认模式为规范模式,在规范模式下,TTY设备接收到的数据后会进行一些后处理,而USB数据传输不需要TTY设备对数据进行后处理,因此本申请实施例将TTY设备设置为非规范模式。此外,TTY设备会对输入的数据按一定规则回显到输出,而USB数据传输不需要TTY设备对数据进行回显,因此本申请实施例取消所述字符设备的回显功能。本申请实施例使用自定义的TTY设备使得综测仪系统可以在用户态实现高速USB3.0数据收发方案。
在本申请的一种可选实施例中,所述在所述USB设备控制器硬件接收到来自上位机的写数据请求时,将所述写数据请求对应的第一数据存入字符设备的缓冲区,具体可以包括:
在所述USB设备控制器硬件接收到来自上位机的写数据请求时,以中断方式通知所述USB设备控制器驱动程序,以使所述USB设备控制器驱动程序识别所述第一数据,以及通过所述Gadget应用程序接口将所述第一数据存入所述字符设备的缓冲区。
具体地,在上位机向PL侧发送数据时,PS侧的USB设备控制器硬件会接收到来自上位机的写数据请求。USB设备控制器接收到上位机的写数据请求后,通过软中断方式通知所述USB设备控制器驱动程序(UDC驱动程序),以使所述UDC驱动程序识别所述第一数据,所述UDC驱动程序识别所述第一数据之后,通过调用Gadget Function API将所述第一数据存入字符设备的缓冲区(TTY缓冲区)。
在本申请的一种可选实施例中,所述基于用户态从所述缓冲区读取所述第一数据,具体可以包括:
通过所述字符设备的用户态读接口调用所述Gadget应用程序接口,对所述缓冲区进行检测;
在检测到所述缓冲区已填满的情况下,从所述缓冲区读取所述第一数据。
字符设备通常需要在驱动层实现open(打开)、close(关闭)、read(读)、write(写)等接口。在上位机向PL侧发送数据时,将来自上位机的第一数据存入TTY缓冲区后,通过TTY设备的用户态读接口以阻塞的方式,读取第一数据。其中,TTY设备的用户态读接口指:在用户态下TTY设备的read接口。
具体地,用户态下,在对USB设备执行读操作时,会通过TTY设备的用户态读接口(read接口)调用Gadget Function API,以执行Gadget Function功能检测缓冲区(TTY缓冲区),在检测到所述缓冲区已填满的情况下,便会从所述缓冲区中取出第一数据并发送到PL侧(FPGA),由此完成一次从上位机到USB设备的FPGA的数据传输过程。
在本申请的一种可选实施例中,所述PS侧和所述PL侧之间通过直接存储器访问的方式传输数据。
在现有的基于以太网传输的方式下,PS侧和PL侧之间通常采用axi-memcpy的方式传输数据。在上位机与PS侧的数据传输速率较高的情况下,axi-memcpy传输方式导致PS侧与PL侧的数据传输速率较低,可能成为上位机与PL侧数据传输速率的瓶颈。
为解决上述问题,本申请实施例在所述PS侧和所述PL侧之间采用直接存储器访问的方式传输数据。具体的,PS侧和PL侧之间采用axi-zdma的方式传输数据。dma在硬件上连接了CCI(Cache Coherent Interconnect,一种硬件缓存一致性加速协处理器),有硬件cache(高速缓冲存储器)一致性功能,并且在传输过程中不占用CPU(Central ProcessingUnit,中央处理器)资源,速率上也远高于memcpy方式;此外,axi_zdma的burst len(突发长度)可达到16bit,相比memcpy提高8倍,理论带宽可到达1.5GB/s,可以满足上位机与PS侧的搞速率传输需求,可以避免上位机与PL侧数据传输速率瓶颈的情况。
在本申请的一种可选实施例中,所述在所述PS侧接收到来自所述PL侧的第二数据时,基于用户态将所述第二数据存入所述缓冲区,具体可以包括:
在所述PS侧接收到来自所述PL侧的第二数据时,通过所述字符设备的用户态写接口调用所述Gadget应用程序接口,将所述第二数据存入所述缓冲区。
PL侧接收到第一数据后,对所述第一数据进行处理,得到第二数据,并且将第二数据写入PL侧的指定地址。当PL侧需要向上位机发送第二数据时,PS侧可以通过axi_zdma从所述指定地址读取到第二数据,通过所述字符设备(TTY设备)的用户态写接口调用所述Gadget应用程序接口,将所述第二数据存入所述缓冲区。其中,TTY设备的用户态写接口指:在用户态下TTY设备的write接口。
具体地,用户态下,在对USB设备执行写操作时,会通过TTY设备的用户态写接口(write接口)调用Gadget Function API,以执行Gadget Function功能将读取的所述第二数据写入所述缓冲区(TTY缓冲区)。
在本申请的一种可选实施例中,所述在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,将所述缓冲区中的所述第二数据发送至所述上位机,具体可以包括:
在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,所述USB设备控制器硬件以中断方式通知所述USB设备控制器驱动程序,以使所述USB设备控制器驱动程序通过Gadget应用程序接口从所述缓冲区中读取所述第二数据;
将读取的所述第二数据发送至所述上位机。
在PS侧将来自PL侧的第二数据写入所述缓冲区之后,等待上位机发送读数据请求。在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,USB设备控制器硬件通过软中断方式通知所述USB设备控制器驱动程序(UDC驱动程序),UDC驱动程序通过Gadget Function API从所述缓冲区中读取所述第二数据,并且通过USB总线将所述第二数据发送至所述上位机,由此完成一次从USB设备的FPGA到上位机的数据传输过程。
需要说明的是,本申请实施例的综测仪设备可以对支持GSM(GlobalSystemofMobile communication,全球移动通讯)、CDMA(Code Division MultipleAccess,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、GPRS(GeneralPacket Radio Service,通用分组无线业务)、LTE(Long TermEvolution,长期演进)、LTEFDD(Frequency Division Duplex,频分双工)、LTE TDD(Time Division Duplex,时分双工)、UMTS(Universal Mobi leTel ecommunication System,通用移动通信系统)、5G(5th-Generation,第五代移动通信技术)或NR(New Radio,新无线)等任意制式的终端进行测试。
在本申请实施例中,Gadget Function驱动程序通过Gadget Function API控制UDC实现USB设备功能。由此,通过Gadget Function API可以把下层的UDC驱动程序和上层的Gadget Function驱动程序隔离开,在用户态建立一个字符设备接口。参照图4,示出了本申请的一种使用字符设备接口的系统结构示意图,如图4所示,通过字符设备接口对字符设备进行读写,使得在Linux系统中编写USB设备侧驱动程序时能够把功能的实现和底层通信分离,在用户态通过字符设备接口对USB设备进行读写操作,可以防止用户态应用程序进行越权操作,可以提高系统的安全性。
综上,本申请实施例的数据传输处理方法用于综测仪芯片与上位机进行数据交互。所述综测仪芯片包括PS侧和PL侧,所述PS侧包括USB设备控制器硬件和字符设备,通过本申请实施例,上位机与PS侧可以使用USB传输方式进行通信,相对于使用千兆以太网的传输方式,可以提高综测仪与上位机之间数据交互的速率,提高综测仪系统的业务处理能力,以及提高测试效率。
此外,本申请实施例未改变综测仪设备内部传输接口,内部传输接口和标准接口一致,不受传输方式改变的影响,具有通用性。例如,所述内部传输接口包括字符设备(TTY设备)驱动接口,字符设备驱动是用户态使用内核驱动的一种标准方式,在用户态使用该接口感知不到内核态的操作,为用户操作带来便利。
再者,本申请实施例的传输介质单一,不受网络条件影响,并且软件处理流程简单、高效,可以提高CPU利用率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
装置实施例
参照图5,示出了本申请的一种数据传输处理装置实施例的结构框图,所述装置用于综测仪芯片,所述综测仪芯片包括处理系统PS侧和可编程逻辑PL侧,所述PS侧包括通用串行总线USB设备控制器硬件和字符设备,所述装置具体可以包括:
第一存入模块501,用于在所述USB设备控制器硬件接收到来自上位机的写数据请求时,将所述写数据请求对应的第一数据存入所述字符设备的缓冲区;
第一传输模块502,用于基于用户态从所述缓冲区读取所述第一数据,以及将所述第一数据发送至所述PL侧;
第二存入模块503,用于在所述PS侧接收到来自所述PL侧的第二数据时,基于用户态将所述第二数据存入所述缓冲区;
第二传输模块504,用于在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,将所述缓冲区中的所述第二数据发送至所述上位机。
可选地,所述PS侧还包括:USB设备侧驱动,所述USB设备侧驱动包括:Gadget驱动程序、Gadget应用程序接口、以及USB设备控制器驱动程序。
可选地,所述第一存入模块501,具体用于在所述USB设备控制器硬件接收到来自上位机的写数据请求时,以中断方式通知所述USB设备控制器驱动程序,以使所述USB设备控制器驱动程序识别所述第一数据,以及通过所述Gadget应用程序接口将所述第一数据存入所述字符设备的缓冲区。
可选地,所述第一传输模块502,包括:
检测子模块,用于通过所述字符设备的用户态读接口调用所述Gadget应用程序接口,对所述缓冲区进行检测;
第一读取子模块,用于在检测到所述缓冲区已填满的情况下,从所述缓冲区读取所述第一数据。
可选地,所述第二存入模块503,具体用于在所述PS侧接收到来自所述PL侧的第二数据时,通过所述字符设备的用户态写接口调用所述Gadget应用程序接口,将所述第二数据存入所述缓冲区。
可选地,所述第二传输模块504,包括:
第二读取子模块,用于在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,所述USB设备控制器硬件以中断方式通知所述USB设备控制器驱动程序,以使所述USB设备控制器驱动程序通过Gadget应用程序接口从所述缓冲区中读取所述第二数据;
数据发送子模块,用于将读取的所述第二数据发送至所述上位机。
可选地,所述PS侧和所述PL侧之间通过直接存储器访问的方式传输数据。
可选地,所述装置还包括:
设置模块,用于将所述字符设备设置为非规范模式,并取消所述字符设备的回显功能。
本申请实施例的数据传输处理装置可用于综测仪芯片与上位机进行数据交互。所述综测仪芯片包括PS侧和PL侧,所述PS侧包括USB设备控制器硬件和字符设备,通过本申请实施例,上位机与PS侧可以使用USB传输方式进行通信,相对于使用千兆以太网的传输方式,可以提高综测仪与上位机之间数据交互的速率,提高综测仪系统的业务处理能力,以及提高测试效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请的实施例还提供了一种电子设备,参见图6,包括:处理器601、存储器602以及存储在所述存储器上并可在所述处理器上运行的计算机程序6021,所述处理器执行所述程序时实现前述实施例的数据传输处理方法。
本申请的实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的数据传输处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的实施例的内容,并且上面对特定语言所做的描述是为了披露本申请的实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的实施例的示例性实施例的描述中,本申请的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的实施例的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本申请的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请的实施例的排序设备中的一些或者全部部件的一些或者全部功能。本申请的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本申请的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请的实施例进行说明而不是对本申请的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本申请的实施例的较佳实施例而已,并不用以限制本申请的实施例,凡在本申请的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的实施例的保护范围之内。
以上所述仅为本申请的实施例的具体实施方式,本申请的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的实施例的保护范围之内。因此,本申请的实施例的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种数据传输处理方法,其特征在于,所述方法用于综测仪芯片,所述综测仪芯片包括处理系统PS侧和可编程逻辑PL侧,所述PS侧包括通用串行总线USB设备控制器硬件和字符设备,所述方法包括:
在所述USB设备控制器硬件接收到来自上位机的写数据请求时,将所述写数据请求对应的第一数据存入所述字符设备的缓冲区;
基于用户态从所述缓冲区读取所述第一数据,以及将所述第一数据发送至所述PL侧;
在所述PS侧接收到来自所述PL侧的第二数据时,基于用户态将所述第二数据存入所述缓冲区;
在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,将所述缓冲区中的所述第二数据发送至所述上位机。
2.根据权利要求1所述的方法,其特征在于,所述PS侧还包括:USB设备侧驱动,所述USB设备侧驱动包括:Gadget驱动程序、Gadget应用程序接口、以及USB设备控制器驱动程序。
3.根据权利要求2所述的方法,其特征在于,所述在所述USB设备控制器硬件接收到来自上位机的写数据请求时,将所述写数据请求对应的第一数据存入字符设备的缓冲区,包括:
在所述USB设备控制器硬件接收到来自上位机的写数据请求时,以中断方式通知所述USB设备控制器驱动程序,以使所述USB设备控制器驱动程序识别所述第一数据,以及通过所述Gadget应用程序接口将所述第一数据存入所述字符设备的缓冲区。
4.根据权利要求2所述的方法,其特征在于,所述基于用户态从所述缓冲区读取所述第一数据,包括:
通过所述字符设备的用户态读接口调用所述Gadget应用程序接口,对所述缓冲区进行检测;
在检测到所述缓冲区已填满的情况下,从所述缓冲区读取所述第一数据。
5.根据权利要求2所述的方法,其特征在于,所述在所述PS侧接收到来自所述PL侧的第二数据时,基于用户态将所述第二数据存入所述缓冲区,包括:
在所述PS侧接收到来自所述PL侧的第二数据时,通过所述字符设备的用户态写接口调用所述Gadget应用程序接口,将所述第二数据存入所述缓冲区。
6.根据权利要求2所述的方法,其特征在于,所述在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,将所述缓冲区中的所述第二数据发送至所述上位机,包括:
在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,所述USB设备控制器硬件以中断方式通知所述USB设备控制器驱动程序,以使所述USB设备控制器驱动程序通过Gadget应用程序接口从所述缓冲区中读取所述第二数据;
将读取的所述第二数据发送至所述上位机。
7.根据权利要求1至6任一所述的方法,其特征在于,所述PS侧和所述PL侧之间通过直接存储器访问的方式传输数据。
8.根据权利要求1至6任一所述的方法,其特征在于,所述将所述写数据请求对应的第一数据存入所述字符设备的缓冲区之前,所述方法还包括:
将所述字符设备设置为非规范模式,并取消所述字符设备的回显功能。
9.一种数据传输处理装置,其特征在于,所述装置用于综测仪芯片,所述综测仪芯片包括处理系统PS侧和可编程逻辑PL侧,所述PS侧包括通用串行总线USB设备控制器硬件和字符设备,所述装置包括:
第一存入模块,用于在所述USB设备控制器硬件接收到来自上位机的写数据请求时,将所述写数据请求对应的第一数据存入所述字符设备的缓冲区;
第一传输模块,用于基于用户态从所述缓冲区读取所述第一数据,以及将所述第一数据发送至所述PL侧;
第二存入模块,用于在所述PS侧接收到来自所述PL侧的第二数据时,基于用户态将所述第二数据存入所述缓冲区;
第二传输模块,用于在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,将所述缓冲区中的所述第二数据发送至所述上位机。
10.根据权利要求9所述的装置,其特征在于,所述PS侧还包括:USB设备侧驱动,所述USB设备侧驱动包括:Gadget驱动程序、Gadget应用程序接口、以及USB设备控制器驱动程序。
11.根据权利要求10所述的装置,其特征在于,所述第一存入模块,具体用于在所述USB设备控制器硬件接收到来自上位机的写数据请求时,以中断方式通知所述USB设备控制器驱动程序,以使所述USB设备控制器驱动程序识别所述第一数据,以及通过所述Gadget应用程序接口将所述第一数据存入所述字符设备的缓冲区。
12.根据权利要求10所述的装置,其特征在于,所述第一传输模块,包括:
检测子模块,用于通过所述字符设备的用户态读接口调用所述Gadget应用程序接口,对所述缓冲区进行检测;
第一读取子模块,用于在检测到所述缓冲区已填满的情况下,从所述缓冲区读取所述第一数据。
13.根据权利要求10所述的装置,其特征在于,所述第二存入模块,具体用于在所述PS侧接收到来自所述PL侧的第二数据时,通过所述字符设备的用户态写接口调用所述Gadget应用程序接口,将所述第二数据存入所述缓冲区。
14.根据权利要求10所述的装置,其特征在于,所述第二传输模块,包括:
第二读取子模块,用于在所述USB设备控制器硬件接收到来自所述上位机的读数据请求时,所述USB设备控制器硬件以中断方式通知所述USB设备控制器驱动程序,以使所述USB设备控制器驱动程序通过Gadget应用程序接口从所述缓冲区中读取所述第二数据;
数据发送子模块,用于将读取的所述第二数据发送至所述上位机。
15.根据权利要求9至14任一所述的装置,其特征在于,所述PS侧和所述PL侧之间通过直接存储器访问的方式传输数据。
16.根据权利要求9至14任一所述的装置,其特征在于,所述装置还包括:
设置模块,用于将所述字符设备设置为非规范模式,并取消所述字符设备的回显功能。
17.一种电子设备,其特征在于,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中一个或多个所述的数据传输处理方法。
18.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-8中一个或多个所述的数据传输处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010398902.0A CN113656334B (zh) | 2020-05-12 | 2020-05-12 | 一种数据传输处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010398902.0A CN113656334B (zh) | 2020-05-12 | 2020-05-12 | 一种数据传输处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656334A CN113656334A (zh) | 2021-11-16 |
CN113656334B true CN113656334B (zh) | 2023-08-08 |
Family
ID=78488807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010398902.0A Active CN113656334B (zh) | 2020-05-12 | 2020-05-12 | 一种数据传输处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656334B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741355A (zh) * | 2022-04-25 | 2022-07-12 | 电子科技大学 | 一种基于Soc的数据封装方法 |
CN114860629A (zh) * | 2022-05-16 | 2022-08-05 | 哈尔滨国铁科技集团股份有限公司 | 基于usb虚拟化的计算机设备读取方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201919055U (zh) * | 2010-12-28 | 2011-08-03 | 惠州Tcl移动通信有限公司 | 一种基于i2c总线的移动终端测试盒 |
CN203204101U (zh) * | 2013-04-15 | 2013-09-18 | 深圳市金溢科技有限公司 | 综合测试仪 |
CN103344863A (zh) * | 2013-07-15 | 2013-10-09 | 惠州Tcl移动通信有限公司 | 移动终端的测试方法及测试系统 |
CN104702347A (zh) * | 2015-02-11 | 2015-06-10 | 为准(北京)电子科技有限公司 | 一种无线通信终端测试设备 |
WO2019033642A1 (zh) * | 2017-08-16 | 2019-02-21 | 深圳市新益技术有限公司 | 测试仪器、天线测量系统及测试方法 |
CN209913826U (zh) * | 2019-07-11 | 2020-01-07 | 延锋伟世通汽车电子有限公司 | 车载通讯模块测试装置 |
-
2020
- 2020-05-12 CN CN202010398902.0A patent/CN113656334B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201919055U (zh) * | 2010-12-28 | 2011-08-03 | 惠州Tcl移动通信有限公司 | 一种基于i2c总线的移动终端测试盒 |
CN203204101U (zh) * | 2013-04-15 | 2013-09-18 | 深圳市金溢科技有限公司 | 综合测试仪 |
CN103344863A (zh) * | 2013-07-15 | 2013-10-09 | 惠州Tcl移动通信有限公司 | 移动终端的测试方法及测试系统 |
CN104702347A (zh) * | 2015-02-11 | 2015-06-10 | 为准(北京)电子科技有限公司 | 一种无线通信终端测试设备 |
WO2019033642A1 (zh) * | 2017-08-16 | 2019-02-21 | 深圳市新益技术有限公司 | 测试仪器、天线测量系统及测试方法 |
CN209913826U (zh) * | 2019-07-11 | 2020-01-07 | 延锋伟世通汽车电子有限公司 | 车载通讯模块测试装置 |
Non-Patent Citations (1)
Title |
---|
多功能综合测试仪4通道数据采集模块设计;刘晓宇;电子科技大学硕士学位论文;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113656334A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11245604B2 (en) | Techniques to support multiple interconnect protocols for a common set of interconnect connectors | |
US11954204B2 (en) | Artificial intelligence AI processing method and AI processing apparatus | |
CN107003955B (zh) | 用于在根复合体中集成设备的方法、装置和系统 | |
CN113656334B (zh) | 一种数据传输处理方法和装置 | |
US9489328B2 (en) | System on chip and method for accessing device on bus | |
KR20130050383A (ko) | 시스템 온 칩 내에 독립 로직 블록의 통합 | |
US9552279B2 (en) | Data bus network interface module and method therefor | |
WO2011003050A2 (en) | Ordering a plurality of write commands associated with a storage device | |
US20240037059A1 (en) | Computer Device, Virtual Acceleration Device, Data Transmission Method, and Storage Medium | |
US10795742B1 (en) | Isolating unresponsive customer logic from a bus | |
CN105786735A (zh) | 一种直接内存存取dma控制器及数据访问方法 | |
CN105786736A (zh) | 一种多芯片级联的方法、芯片和装置 | |
CN103365798B (zh) | 一种串口分时复用的方法及系统 | |
CN110990116A (zh) | 在智能网卡和虚拟机之间传输数据的方法、装置和系统 | |
CN111783165B (zh) | 一种基于硬件隔离调用模式的安全可信系统芯片架构 | |
CN102148754B (zh) | 一种fpga逻辑版本的加载方法和设备 | |
US10970206B2 (en) | Flash data compression decompression method and apparatus | |
CN106610906A (zh) | 一种数据访问方法及总线 | |
US20230325262A1 (en) | Message notification method and apparatus | |
US20220004635A1 (en) | Computing peripheral interface management mechanism | |
WO2014027223A1 (en) | Data bus network interface module and method therefor | |
CN108153703A (zh) | 一种外设访问方法和装置 | |
CN116627640A (zh) | 任务调度单元、晶圆级芯片、计算装置和任务调度方法 | |
CN114510197A (zh) | 一种存储方法、装置及电子设备 | |
CN117909277A (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 |