CN112100107A - 一种usb数据传输方法、装置及系统 - Google Patents

一种usb数据传输方法、装置及系统 Download PDF

Info

Publication number
CN112100107A
CN112100107A CN201910523149.0A CN201910523149A CN112100107A CN 112100107 A CN112100107 A CN 112100107A CN 201910523149 A CN201910523149 A CN 201910523149A CN 112100107 A CN112100107 A CN 112100107A
Authority
CN
China
Prior art keywords
data
physical address
transmitted
usb
physical
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
CN201910523149.0A
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.)
Guangzhou Huiruisitong Information Technology Co Ltd
Original Assignee
Guangzhou Huiruisitong Information 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 Guangzhou Huiruisitong Information Technology Co Ltd filed Critical Guangzhou Huiruisitong Information Technology Co Ltd
Priority to CN201910523149.0A priority Critical patent/CN112100107A/zh
Publication of CN112100107A publication Critical patent/CN112100107A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

本申请涉及一种USB数据传输方法、装置及系统,该装置包括:应用微处理器和USB控制器,所述应用微处理器用于获取待传输数据的数据标识,根据所述数据标识查询得到所述待传输数据在物理内存中的数据物理地址,并将所述数据物理地址发送至所述USB控制器;所述USB控制器用于根据所述数据物理地址从所述物理内存中查询得到所述待传输数据并进行传送。本申请的技术方案,在物理内存中,无需对待传输数据进行多次拷贝,由于物理地址的数据大小一般要远小于待传输数据的大小,使用本实施例的方法进行数据传输,将大大提高USB数据的实际传输速度。

Description

一种USB数据传输方法、装置及系统
技术领域
本申请涉及USB领域,尤其涉及一种USB数据传输方法、装置及系统。
背景技术
USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。随着USB技术的发展,USB传输速率需求日益提高,目前的USB3.2Gen1的传输速率理论上可达到500M/s,而USB 3.2Gen 2的传输速率理论上可达到1.25GB/s,USB 3.2Gen 2x2的理论传输速率甚至达到了2.5GB/s。
虽然目前USB理论传输速率很高,当实际上仍存在影响USB传输速率的因素,使得实际使用时USB传输速率远小于理论传输速率。例如,现有的嵌入式USB结构中,DSP处理器与ARM处理器之间通过共享内存进行通信,由于DSP处理器使用的是物理内存,需要ARM处理器对这部分内存进行映射,而且不能使用缓存,否则会出现数据不同步的问题。ARM处理器上层应用数据同样的需要拷贝到内核内存,在内核内存再次分配用于DMA传送的物理空间,导致USB的实际传输速率受到影响,目前实测USB3.2Gen1的实际传输速率最大只有65MB/S。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种USB数据传输方法、装置及系统。
第一方面,本申请提供了一种USB数据传输装置,包括:应用微处理器和USB控制器,所述应用微处理器用于获取待传输数据的数据标识,根据所述数据标识查询得到所述待传输数据在物理内存中的数据物理地址,并将所述数据物理地址发送至所述USB控制器;
所述USB控制器用于根据所述数据物理地址从所述物理内存中查询得到所述待传输数据并进行传送。
可选的,所述USB控制器包括DMA控制器,
所述USB控制器用于启动所述DMA控制器,并将所述数据物理地址发送到所述DMA控制器;
所述DMA控制器用于根据所述数据物理地址从所述物理内存中查询得到所述待传输数据并进行传送。
第二方面,本申请提供了一种USB数据传输系统,包括ARM处理器和物理内存,所述ARM处理器包括应用微处理器和USB控制器,
所述应用微处理器用于获取待传输数据的数据标识,根据所述数据标识查询得到所述待传输数据在物理内存中的数据物理地址,并将所述数据物理地址发送至所述USB控制器;
所述USB控制器用于根据所述数据物理地址从所述物理内存中查询得到所述待传输数据并进行传送。
可选的,所述USB控制器包括DMA控制器,
所述USB控制器用于启动所述DMA控制器,并将所述数据物理地址发送到所述DMA控制器;
所述DMA控制器用于根据所述数据物理地址从所述物理内存中查询得到所述待传输数据并进行传送。
可选的,所述系统还包括DSP处理器,
所述应用微处理器用于为待存储数据分配所述数据物理地址,将所述数据物理地址发送到所述DSP处理器,所述待存储数据为所述待传输数据;
所述DSP处理器用于根据所述数据物理地址将所述待存储数据存储到所述物理内存中。
可选的,所述DSP处理器用于为所述数据标识分配标识物理地址,将所述标识物理地址发送至所述应用微处理器;
所述应用微处理器用于根据所述标识物理地址获取所述数据标识,将所述数据物理地址和所述数据标识在物理内存中关联存储。
可选的,所述系统还包括以下至少一种USB接口:USB3.2Gen1、USB 3.2Gen 2或USB3.2Gen 2x2,
所述USB控制器通过所述USB接口传送所述待传输数据。
第三方面,本申请提供了一种USB数据传输方法,所述方法包括:
获取待传输数据的数据标识;
根据所述数据标识查询得到所述待传输数据在物理内存中的数据物理地址;
根据所述数据物理地址从所述物理内存中查询得到所述待传输数据;
传送所述待传输数据。
可选的,所述方法还包括:
为待存储数据分配所述数据物理地址,将所述数据物理地址发送到DSP处理器,所述待存储数据为所述待传输数据,由所述DSP处理器根据所述数据物理地址将所述待存储数据存储到所述物理内存中。
可选的,所述方法还包括:
获取所述DSP处理器为所述数据标识分配的标识物理地址;
根据所述标识物理地址获取所述数据标识,将所述数据物理地址和所述数据标识在物理内存中关联存储。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
应用微处理器和USB控制器之间,通过在物理内存中拷贝待传输数据的物理地址来实现数据传输,这样,在物理内存中,无需对待传输数据进行多次拷贝。由于物理地址的数据大小一般要远小于待传输数据的大小,使用本实施例的方法进行数据传输,将大大提高USB数据的实际传输速度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种USB数据传输装置10的框图;
图2为本申请实施例提供的一种USB数据传输系统的框图;
图3为本申请实施例提供的一种USB数据传输方法的流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为避免在物理内存中对待传输数据多次拷贝而造成USB传输速率受限的问题,本申请的技术方案,利用装置间共用物理内存的特性,基于待传输数据在物理内存中的物理地址进行数据传输,即在物理内存中多次拷贝的仅为该待传输数据的物理地址,而非待传输数据本身,在向外传输时,通过该物理地址进行数据传送。
图1为本申请实施例提供的一种USB数据传输装置10的框图,如图1所示,该装置10包括应用微处理器11和USB控制器12,应用微处理器11用于获取待传输数据的数据标识,根据数据标识查询得到待传输数据在物理内存中的数据物理地址,并将数据物理地址发送至USB控制器12;
USB控制器12用于根据数据物理地址从物理内存中查询得到待传输数据并进行传送。
其中,USB控制器12包括DMA控制器121,
USB控制器12用于启动DMA控制器121,并将数据物理地址发送到DMA控制器121;
DMA控制器121用于根据数据物理地址从物理内存中查询得到待传输数据并进行传送。
本实施例中,应用微处理器和USB控制器之间,通过在物理内存中拷贝待传输数据的物理地址来实现数据传输,这样,在物理内存中,无需对待传输数据进行多次拷贝。由于物理地址的数据大小一般要远小于待传输数据的大小,使用本实施例的方法进行数据传输,将大大提高USB数据的实际传输速度。
本实施例中的USB数据传输装置10可以为ARM处理器。下面以USB数据传输装置10为ARM处理器为例,对包括该装置10的USB数据传输系统进行详细说明。
图2为本申请实施例提供的一种USB数据传输系统的框图,如图2所示,该系统包括:ARM处理器10和物理内存20,其中,ARM处理器10包括应用微处理器11和USB控制器12。
应用微处理器11用于获取待传输数据的数据标识,根据数据标识查询得到待传输数据在物理内存20中的数据物理地址,并将数据物理地址发送至USB控制器12。USB控制器12用于根据数据物理地址从物理内存20中查询得到待传输数据并进行传送。
其中,USB控制器12包括DMA控制器121。USB控制器12用于启动DMA控制器121,并将数据物理地址发送到DMA控制器121。DMA控制器121用于根据数据物理地址从物理内存20中查询得到待传输数据并进行传送。
本实施例的USB数据传输系统,由于物理内存对于该系统中的各个装置来说是共用的,无需在物理内存中多次拷贝待传输数据,仅通过使用数据物理地址定位待传输数据,即DMA控制器根据数据物理地址就可传输数据,有效提高USB数据的实际传输速度。
如图2所示,该系统还包括DSP处理器30。其中,应用微处理器11用于为待存储数据分配数据物理地址,将数据物理地址发送到DSP处理器30,该待存储数据为待传输数据。DSP处理器30用于根据数据物理地址将待存储数据存储到物理内存20中。
本实施例中,在存储阶段,应用微处理器为待存储数据(也即传输阶段的待传输数据)分配物理地址,DSP处理器根据该物理地址将待存储数据存储到物理内存中的相应位置。在数据传输阶段,各装置之间仅传输物理地址,在物理内存中不会对该数据多次拷贝。
进一步地,DSP处理器30用于为数据标识分配标识物理地址,将标识物理地址发送至应用微处理器11。应用微处理器11用于根据标识物理地址获取数据标识,将数据物理地址和数据标识在物理内存20中关联存储。
本实施例中,DSP处理器为数据标识分配标识物理地址,应用微处理器可根据标识物理地址查询到该数据标识,并在物理内存中关联存储该数据标识及数据物理地址。这样,后续应用微处理器在获取待传输数据的数据标识时,可以在物理内存中查询到其对应的数据物理地址。
其中,该设备还包括以下至少一种USB接口:USB3.2Gen1、USB3.2 Gen 2或USB 3.2Gen 2x2。如图2所示,DMA控制器121通过USB3.2Gen1接口40传送待传输数据。
图3为本申请实施例提供的一种USB数据传输方法的流程图,如图3所示,该方法应用于上述USB数据传输装置,如ARM处理器,包括以下步骤:
步骤S31,获取待传输数据的数据标识。
步骤S32,根据数据标识查询得到待传输数据在物理内存中的数据物理地址。
步骤S33,根据数据物理地址从物理内存中查询得到待传输数据。
步骤S34,传送待传输数据。
在另一实施例中,该方法还包括:
为待存储数据分配数据物理地址,将数据物理地址发送到DSP处理器,待存储数据为待传输数据,由DSP处理器根据数据物理地址将待存储数据存储到物理内存中。
在另一实施例中,该方法还包括:
获取DSP处理器为数据标识分配的标识物理地址;
根据标识物理地址获取数据标识,将数据物理地址和数据标识在物理内存中关联存储。
以下以一个具体实例对本申请的技术方案进行详细说明。
该实例包括两个阶段,对数据D1的存储阶段和传输阶段。该数据D1的标识为ID1。
1.存储阶段
1.1应用微处理器11为D1分配物理地址PA1,将PA1发送到DSP处理器30。
1.2 DSP处理器30将D1存储到物理内存20的PA1处。
1.3 DSP处理器30为ID1分配物理地址PA2,将ID1存储到物理内存20的PA2处,并将PA2发送到应用微处理器11。
1.4应用微处理器11根据PA2获取到ID1,并在物理内存20中关联存储ID1和PA1。
2.传输阶段
2.1应用微处理器11获得需要传输数据的ID1,查询到ID1对应的PA1,将PA1发送到USB控制器12。
2.2 USB控制器12启动DMA控制器121,将PA1发给DMA控制器121。
2.3 DMA控制器121从物理内存20中的PA1处查到D1并进行传送。
通过上述实例可见,应用微处理器11和USB控制器12之间,通过在物理内存中拷贝D1的物理地址PA1来实现数据传输,这样,在物理内存中,无需对D1进行多次拷贝。由于PA1的数据大小要远小于D1的大小,使用本实施例的方法进行数据传输,将大大提高USB数据的实际传输速度。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种USB数据传输装置,其特征在于,包括:应用微处理器和USB控制器,所述应用微处理器用于获取待传输数据的数据标识,根据所述数据标识查询得到所述待传输数据在物理内存中的数据物理地址,并将所述数据物理地址发送至所述USB控制器;
所述USB控制器用于根据所述数据物理地址从所述物理内存中查询得到所述待传输数据并进行传送。
2.根据权利要求1所述的装置,其特征在于,所述USB控制器包括DMA控制器,
所述USB控制器用于启动所述DMA控制器,并将所述数据物理地址发送到所述DMA控制器;
所述DMA控制器用于根据所述数据物理地址从所述物理内存中查询得到所述待传输数据并进行传送。
3.一种USB数据传输系统,其特征在于,包括ARM处理器和物理内存,所述ARM处理器包括应用微处理器和USB控制器,
所述应用微处理器用于获取待传输数据的数据标识,根据所述数据标识查询得到所述待传输数据在物理内存中的数据物理地址,并将所述数据物理地址发送至所述USB控制器;
所述USB控制器用于根据所述数据物理地址从所述物理内存中查询得到所述待传输数据并进行传送。
4.根据权利要求3所述的系统,其特征在于,所述USB控制器包括DMA控制器,
所述USB控制器用于启动所述DMA控制器,并将所述数据物理地址发送到所述DMA控制器;
所述DMA控制器用于根据所述数据物理地址从所述物理内存中查询得到所述待传输数据并进行传送。
5.根据权利要求3所述的系统,其特征在于,所述系统还包括DSP处理器,
所述应用微处理器用于为待存储数据分配所述数据物理地址,将所述数据物理地址发送到所述DSP处理器,所述待存储数据为所述待传输数据;
所述DSP处理器用于根据所述数据物理地址将所述待存储数据存储到所述物理内存中。
6.根据权利要求5所述的系统,其特征在于,
所述DSP处理器用于为所述数据标识分配标识物理地址,将所述标识物理地址发送至所述应用微处理器;
所述应用微处理器用于根据所述标识物理地址获取所述数据标识,将所述数据物理地址和所述数据标识在物理内存中关联存储。
7.根据权利要求3所述的系统,其特征在于,所述系统还包括以下至少一种USB接口:USB3.2Gen1、USB3.2 Gen 2或USB3.2 Gen 2x2,
所述USB控制器通过所述USB接口传送所述待传输数据。
8.一种USB数据传输方法,其特征在于,所述方法包括:
获取待传输数据的数据标识;
根据所述数据标识查询得到所述待传输数据在物理内存中的数据物理地址;
根据所述数据物理地址从所述物理内存中查询得到所述待传输数据;
传送所述待传输数据。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
为待存储数据分配所述数据物理地址,将所述数据物理地址发送到DSP处理器,所述待存储数据为所述待传输数据,由所述DSP处理器根据所述数据物理地址将所述待存储数据存储到所述物理内存中。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
获取所述DSP处理器为所述数据标识分配的标识物理地址;
根据所述标识物理地址获取所述数据标识,将所述数据物理地址和所述数据标识在物理内存中关联存储。
CN201910523149.0A 2019-06-17 2019-06-17 一种usb数据传输方法、装置及系统 Pending CN112100107A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910523149.0A CN112100107A (zh) 2019-06-17 2019-06-17 一种usb数据传输方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910523149.0A CN112100107A (zh) 2019-06-17 2019-06-17 一种usb数据传输方法、装置及系统

Publications (1)

Publication Number Publication Date
CN112100107A true CN112100107A (zh) 2020-12-18

Family

ID=73748596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910523149.0A Pending CN112100107A (zh) 2019-06-17 2019-06-17 一种usb数据传输方法、装置及系统

Country Status (1)

Country Link
CN (1) CN112100107A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024017146A1 (zh) * 2022-07-22 2024-01-25 地平线征程(杭州)人工智能科技有限公司 数据拷贝方法、装置、计算机可读存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1882929A (zh) * 2003-05-15 2006-12-20 皇家飞利浦电子股份有限公司 具有dma能力的usb主机控制器
CN103455442A (zh) * 2013-08-30 2013-12-18 华为技术有限公司 多通道先进先出缓存队列控制器及访问方法
CN104809183A (zh) * 2015-04-17 2015-07-29 北京奇艺世纪科技有限公司 一种数据读取及写入的方法和装置
CN106201350A (zh) * 2016-07-07 2016-12-07 华为技术有限公司 存储数据的方法、存储器和计算机系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1882929A (zh) * 2003-05-15 2006-12-20 皇家飞利浦电子股份有限公司 具有dma能力的usb主机控制器
CN103455442A (zh) * 2013-08-30 2013-12-18 华为技术有限公司 多通道先进先出缓存队列控制器及访问方法
CN104809183A (zh) * 2015-04-17 2015-07-29 北京奇艺世纪科技有限公司 一种数据读取及写入的方法和装置
CN106201350A (zh) * 2016-07-07 2016-12-07 华为技术有限公司 存储数据的方法、存储器和计算机系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024017146A1 (zh) * 2022-07-22 2024-01-25 地平线征程(杭州)人工智能科技有限公司 数据拷贝方法、装置、计算机可读存储介质及电子设备

Similar Documents

Publication Publication Date Title
US10083131B2 (en) Generating and/or employing a descriptor associated with a memory translation table
US10635474B2 (en) Systems and methods for virtio based optimization of data packet paths between a virtual machine and a network device for live virtual machine migration
US8806065B2 (en) Server device connecting with USB device and device sharing method
US9229751B2 (en) Apparatus and method for managing virtual memory
CN109766199B (zh) 一种机器人操作系统中的节点通信方法和装置
WO2015180648A1 (zh) 一种资源分配的方法及装置
TWI512483B (zh) 應用於埠倍增器之多階層埠擴充功能
WO2021244155A1 (zh) 一种进程间通信方法以及进程间通信装置
BR9911164A (pt) Sistema de transmissão compreendendo um terminal de usuário, e, processo de transmissão de um cookie em um sistema
WO2018064848A1 (zh) 家用电器的配网方法、系统、家用电器和移动终端
US20180307498A1 (en) Driver Loading Method and Server
KR102571100B1 (ko) 단말 애플리케이션 활성화 방법, 장치 및 시스템
CN109062826B (zh) 数据传输方法及系统
JP2017534989A (ja) ファイルアクセス方法、システム、及びホスト
WO2015109483A1 (zh) 一种存储数据的方法和装置
CN112100107A (zh) 一种usb数据传输方法、装置及系统
CA2735544A1 (en) Requesting a service
US7249241B1 (en) Method and apparatus for direct virtual memory address caching
WO2015055117A1 (zh) 一种内存访问的方法、设备和系统
US8528007B1 (en) Firmware downloading through process file system
CN113590364A (zh) 一种基于分布式共享内存系统的数据处理方法和装置
WO2013152644A1 (zh) 一种无线sd卡型处理装置
KR100653178B1 (ko) 전송제어프로토콜 오프로드 엔진 기반의 전송제어프로토콜전송정보 생성 및 관리 장치 및 그 방법
CN116955219A (zh) 一种数据镜像方法、装置、主机及存储介质
US11675510B2 (en) Systems and methods for scalable shared memory among networked devices comprising IP addressable memory blocks

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 510000 no.2-8, North Street, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: Guangzhou huiruisitong Technology Co.,Ltd.

Address before: 510000 no.2-8, North Street, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant before: GUANGZHOU HUIRUI SITONG INFORMATION TECHNOLOGY Co.,Ltd.

AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20230908