CN111813727B - 一种实时高效的usb数据传输方法 - Google Patents
一种实时高效的usb数据传输方法 Download PDFInfo
- Publication number
- CN111813727B CN111813727B CN202010846088.4A CN202010846088A CN111813727B CN 111813727 B CN111813727 B CN 111813727B CN 202010846088 A CN202010846088 A CN 202010846088A CN 111813727 B CN111813727 B CN 111813727B
- Authority
- CN
- China
- Prior art keywords
- data
- length
- linked list
- usb
- read
- 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
Images
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/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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]
Abstract
本发明公开了一种实时高效的USB数据传输方法,包括数据发送方法和数据接收方法,采用多通道并行化传输机制传输目标数据。本发明可以实现传输数据准确无误;相比较传统的批量传输方式,实时性可以得到保障;相比较传统的中断传输方式,也可以满足传输数据量大的要求,即可以同时满足传输数据量大、实时性高、准确无误的要求,使USB数据传输更加便捷,可应用的场合更多。
Description
技术领域
本发明属于USB技术领域,尤其涉及一种实时高效的USB数据传输方法。
背景技术
目前USB产品已经得到了广泛的应用,给人们生活带来了很大的便利。现有的USB数据传输方法有四种:控制传输:用于在外设初次连接时对设备进行配置,枚举完成后可与设备进行少量的数据交换;批量传输:优点是传输数据量大、传输的数据准确无误,但是传输的实时性得不到保障;同步传输:优点是传输数据量大、实时性高,但是数据完整性得不到保障;中断传输:优点实时性高,传输的数据准确无误,但是传输数据量比较少。然而,现有的一些设备既要求传输数据量大,又要求传输实时性高、传输数据准确无误,目前没有传输方法可以同时满足。
发明内容
发明目的:为了解决现有技术中,USB数据传输无法同时满足传输数据量大、实时性高、准确无误的要求,本发明提供一种实时高效的USB数据传输方法。
本发明的另一目的是提供一种实时高效的USB数据发送方法。
本发明的另一目的是提供一种实时高效的USB数据接收方法。
技术方案:一种实时高效的USB数据发送方法,包括以下步骤:
(a1)设置至少两个USB中断端点;
(a2)定义第一全局变量M并赋初值,定义更新公式S、拆分标记长度和编号数据,所述拆分标记长度用于标记目标数据待拆分的起始位置;
(a3)将目标数据根据拆分标记长度从前往后拆分出一段有效数据,所述有效数据的长度不超过中断端点的长度减编号数据长度的差值;将M填写到编号数据中;
(a4)遍历所有USB中断端点,将数据包传入空闲的中断端点并等待USB主机发送IN请求来读取,所述数据包包含有效数据及编号数据,待中断端点中的数据包被读取后,将中断端点置为空闲状态,根据有效数据的长度更新拆分标记长度,且根据更新公式S更新M,返回执行步骤(a3)至目标数据全部拆分完毕。
进一步地,步骤(a1)还包括:设定USB中断查询的服务间隔为125us。
进一步地,步骤(a1)中,所述USB中断端点的长度为1024个字节。
进一步地,所述拆分标记长度为已拆分数据长度,初始值设为零,步骤(a4)中更新拆分标记长度的方法为:将拆分标记长度加上有效数据长度作为更新后的拆分标记长度;
或者拆分标记长度为待拆分数据长度,初始值设为目标数据的长度,步骤(a4)中更新拆分标记长度的方法为:将拆分标记长度减去有效数据长度作为更新后的拆分标记长度。
进一步地,步骤(a4)中,各数据包的发送无固定顺序,各数据包与各中断端点间无固定关系。
一种实时高效的USB数据接收方法,包括以下步骤:
对USB中断端点发起USB IN请求,所述USB中断端点至少有两个;
各USB中断端点接收数据包,所述数据包包括有效数据及编号数据;每接收到一个数据包后,对接收到数据包的USB中断端点再次发起USB IN请求;
定义存储区,将所有USB中断端点接收到的数据包根据编号数据按序保存在所述存储区中;
应用层按照编号数据的顺序从存储区中读取有效数据;
完成目标数据的接收。
进一步地,所述存储区为缓冲区链表,数据包根据编号数据按序保存在所述缓冲区链表的具体方法为:
(b1)USB中断端点接收到数据包后,分配一个链表结构体,将数据包解包填入链表结构体中,链表结构体包含编号、数据缓冲区、有效数据长度及读取标记长度,读取数据包指定编号数据长度的内容填入链表结构体的编号中,读取数据包除编号数据以外的有效数据的内容填入链表结构体的数据缓冲区,有效数据长度为数据包总长度减去编号数据长度的差值,所述读取标记长度用于标记待读取数据的起始位置;
(b2)将链表结构体按照编号从小到大的顺序插入缓冲区链表中,返回步骤(b1)至所有数据包均接收完成。
进一步地,所述读取标记长度为已读取数据长度,初始值为0;
应用层从缓冲区链表中读取有效数据的具体方法为:
(c1)定义第二全局变量N并赋初值,定义更新公式S;
(c2)若缓冲区链表的第一个链表结构体中的编号等于N,则应用层根据第一个链表结构体中的已读取数据长度读取有效数据,并执行步骤(c3);若不等于N,应用层直接返回;
(c3)比较缓冲区链表中第一个链表结构体的有效数据长度减已读取数据长度的差值与应用层读取数据长度的大小,若应用层读取数据长度小于该差值,则将已读取数据长度加应用层读取数据长度的和作为更新后的已读取数据长度;若应用层读取数据长度等于该差值,应用层将第一个链表结构体中的有效数据读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N;若应用层读取数据长度大于该差值,则把链表中第一个链表结构体中的有效数据全部读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N,将应用层读取数据长度更新为减去第一个链表结构体的有效数据长度;
返回步骤(c2)至缓冲区链表中的数据全部读完。
进一步地,所述读取标记长度为剩余数据长度,初始值为有效数据的长度;
应用层从缓冲区链表中读取有效数据的具体方法为:
(c1)定义第二全局变量N并赋初值,定义更新公式S;
(c2)若缓冲区链表的第一个链表结构体中的编号等于N,则应用层根据第一个链表结构体中的剩余数据长度读取有效数据,并执行步骤(c3);若不等于N,应用层直接返回;
(c3)比较应用层读取数据长度与缓冲区链表中第一个链表结构体的剩余数据长度的大小,若应用层读取数据长度小于缓冲区链表中第一个链表结构体的剩余数据长度,则将剩余数据长度减去应用层读取数据长度作为更新后的剩余数据长度;若两者相等,应用层将第一个链表结构体中的有效数据读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N;若应用层读取数据长度大于缓冲区链表中第一个链表结构体的剩余数据长度,则把链表中第一个链表结构体中的有效数据全部读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N,将应用层读取数据长度更新为减去第一个链表结构体的有效数据长度;
返回步骤(c2)至缓冲区链表中的数据全部读完。
一种实时高效的USB数据传输方法,包括如权利要求1的实时高效的USB数据发送方法及如权利要求6的实时高效的USB数据接收方法。
有益效果:本发明提供一种实时高效的USB数据传输方法,包括数据发送方法和数据接收方法,该方法可以做到数据准确无误传输,此外,相比较传统的批量传输方式,实时性可以得到保障;相比较传统的中断传输方式,也可以满足传输数据量大的要求,即可以同时满足传输数据量大、实时性高、准确无误的要求,使USB数据传输更加便捷,可应用的场合更多。
附图说明
图1为实时高效的USB数据传输方法的示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步解释说明。
实施例一:
如图1所示,一种实时高效的USB数据传输方法,包括实时高效的USB数据发送方法和实时高效的USB数据接收方法。
1、实时高效的USB数据发送方法,包括以下步骤:
(a1)设置四个USB中断端点,也可以根据需要设置成其他个数,但至少有两个;设定USB中断查询的service interval(服务间隔,即设备可以允许的中断查询最小时间间隔)为125us,125us为规范允许的最小值,以此提高数据传输速度;所述USB中断端点的长度为1024个字节,本实施例以USB3.0为例,1024个字节为规范允许的最大值,可使每次发送的数据包尽可能大些,以此进一步提高传输速度;
(a2)定义第一全局变量M并赋初值为0,初值也可以赋为其他值,与接收方协定一致即可;定义更新公式S:M=M+1,也可以采用别的公式更新M,如M=M+2、M=M-1等,只要与接收方协定一致即可;定义拆分标记长度和编号数据,所述拆分标记长度用于标记目标数据待拆分的起始位置;
(a3)将目标数据根据拆分标记长度从前往后拆分出一段有效数据,每段有效数据的长度不超过中断端点的长度减编号数据长度的差值;将M填写到编号数据中;
(a4)遍历所有USB中断端点,将数据包传入空闲的中断端点并等待USB主机(接收方为USB主机)发送IN请求来读取,所述数据包包含有效数据及编号数据(有效数据与编号数据先后顺序无要求,只要发送方与接收方协定一致即可,本实施例中编号数据位于有效数据后),待中断端点中的数据包被读取后,将中断端点置为空闲状态,根据有效数据的长度更新拆分标记长度;且根据更新公式S更新M,即M+1,返回执行步骤(a3)至目标数据全部拆分完毕。
定义拆分标记长度的目的是为了方便每次拆分有效数据时能够找到需要开始拆分的位置,不重拆也不漏拆。所述拆分标记长度可以设定为已读取数据长度,此时步骤(a4)中更新标记长度的方法为:将拆分标记长度加上有效数据长度作为更新后的拆分标记长度;也可以将拆分标记长度设为待读取数据长度,此时步骤(a4)中更新标记长度的方法为:将拆分标记长度减去有效数据长度作为更新后的拆分标记长度。
上述过程中,各数据包的发送无固定顺序,不一定按照编号顺序发送,但是各数据包中的有效数据与编号数据是对应的关系。各数据包与各中断端点间无固定关系,只要查询到空闲的中断端点,就将数据包传入空闲的中断端点发送。在从目标数据上拆分出有效数据时,需要保证有效数据的长度不能超过中断端点的长度减编号数据长度的差值,这样才可以将数据包传入中断端点中。在实际情况下,数据包的长度可以为中断端点的长度,也可以小于中断端点的长度。这个发送过程相当于将一个目标数据分成若干部分,实现向多通道并行化的转换,以此提高中断传输方式中传输数据量小的缺点。
2、实时高效的USB数据接收方法,包括以下步骤:
对USB中断端点发起USB IN请求,所述USB中断端点有四个;
各USB中断端点接收数据包,所述数据包包括有效数据及编号数据;每接收到一个数据包后,对接收到数据包的USB中断端点再次发起USB IN请求;
定义存储区,将所有USB中断端点接收到的数据包根据编号数据按序保存在所述存储区中,因为本实施例发送端在发送数据时,拆分的有效数据对应的编号数据是从小到大排序的,所以保存时也按照从小到大的顺序,以保证在存储区中的第一个数据包为当前存储区内编号数据最小的数据包,方便应用层每次判断是否读取有效数据。需要注意的是,存储区内只要求编号数据按从小到大的顺序,并不要求连续不间断排序。同样,若发送端在发送数据时,有效数据对应的编号数据是从大到小排列的,即M递减,接收端在保存数据包时,就需要按照当前存储区内的数据包从大到小的顺序排列。
应用层按照编号数据的顺序从存储区中读取有效数据;
完成目标数据的接收。
本实施例的存储区采用缓冲区链表,也可以采用环形缓冲区等其他方式保存数据,但是采用缓冲区链表的方法可以更好地节约内存。
其中,数据包根据编号数据按序保存在所述缓冲区链表的具体方法为:
(b1)USB中断端点接收到数据包后,分配一个链表结构体,将数据包解包填入链表结构体中,链表结构体中包含编号、数据缓冲区、有效数据长度及读取标记长度,读取数据包指定编号数据长度的内容填入链表结构体的编号中,读取数据包除编号数据以外的有效数据的内容填入链表结构体的数据缓冲区,有效数据长度为数据包总长度减去编号数据长度的差值,所述读取标记长度用于标记待读取数据的起始位置;
(b2)将链表结构体按照编号从小到大的顺序插入缓冲区链表中,返回步骤(b1)至所有数据包均接收完成。
所述读取标记长度为已读取数据长度,初始值为0。
应用层从缓冲区链表中读取有效数据的具体方法为:
(c1)定义第二全局变量N并赋初值为0,初值也可以赋为其他值,与发送方协定一致即可;定义更新公式S:N=N+1,也可以采用别的公式更新N,如N=N+2、N=N-1,只要与发送方协定一致即可;
(c2)若缓冲区链表的第一个链表结构体中的编号等于N,则应用层根据第一个链表结构体中的已读取数据长度读取有效数据,并执行步骤(c3);若不等于N,应用层直接返回;
(c3)比较缓冲区链表中第一个链表结构体的有效数据长度减已读取数据长度的差值与应用层读取数据长度的大小,若应用层读取数据长度小于该差值,则将已读取数据长度加应用层读取数据长度的和作为更新后的已读取数据长度;若应用层读取数据长度等于该差值,应用层将第一个链表结构体中的有效数据读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N,即N+1;若应用层读取数据长度大于该差值,则把链表中第一个链表结构体中的有效数据全部读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N,即N+1,将应用层读取数据长度更新为减去第一个链表结构体的有效数据长度;
返回步骤(c2)至缓冲区链表中的数据全部读完。
该USB数据接收方法,先将各数据包接收并缓存在缓冲区链表中,应用层再按序读取各段有效数据。数据包通过采用解包填入链表结构体的方式,将信息通过链表结构体插入缓冲区链表中,因为是按照编号从小到大插入,所以可以保证缓冲区链表中的第一个链表结构体为当前缓冲区链表中编号最小的链表结构体,在根据第二全局变量N的辅助下,按照目标数据中各段有效数据的顺序将所有的链表结构体中的有效数据读取出来,完成目标数据的接收。不管发送或接收各数据包的顺序如何,经多通道并行化传输后的数据到达接收端后均会经该处理还原成最初需要传输的目标数据,完成USB数据传输。
实施例二:
实施例二与实施例一的区别在于,实时高效的USB数据接收方法中,所述读取标记长度为剩余数据长度,初始值为有效数据的长度;
应用层从缓冲区链表中读取有效数据的具体方法为:
(c1)定义第二全局变量N并赋初值为0,初值也可以赋为其他值,与发送方协定一致即可;定义更新公式S:N=N+1,也可以采用别的公式更新N,如N=N+2、N=N-1,只要与发送方协定一致即可;
(c2)若缓冲区链表的第一个链表结构体中的编号等于N,则应用层根据第一个链表结构体中的剩余数据长度读取有效数据,并执行步骤(c3);若不等于N,应用层直接返回;
(c3)比较应用层读取数据长度与缓冲区链表中第一个链表结构体的剩余数据长度的大小,若应用层读取数据长度小于缓冲区链表中第一个链表结构体的剩余数据长度,则将剩余数据长度减去应用层读取数据长度作为更新后的剩余数据长度;若两者相等,应用层将第一个链表结构体中的有效数据读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N,即N+1;若应用层读取数据长度大于缓冲区链表中第一个链表结构体的剩余数据长度,则把链表中第一个链表结构体中的有效数据全部读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N,即N+1,将应用层读取数据长度更新为减去第一个链表结构体的有效数据长度;
返回步骤(c2)至缓冲区链表中的数据全部读完。
其他部分的内容与实施例一相同。
Claims (10)
1.一种实时高效的USB数据发送方法,其特征在于,包括以下步骤:
(a1)设置至少两个USB中断端点;
(a2)定义第一全局变量M并赋初值,定义更新公式S、拆分标记长度和编号数据,所述更新公式S为由发送方和接收方协定一致的用于更新M的公式,所述拆分标记长度为已拆分数据长度或待拆分数据长度,所述拆分标记长度用于标记目标数据待拆分的起始位置,所述编号数据为存储M的数据单元;
(a3)将目标数据根据拆分标记长度从前往后拆分出一段有效数据,所述有效数据的长度不超过中断端点的长度减编号数据长度的差值;将M填写到编号数据中;
(a4)遍历所有USB中断端点,将数据包传入空闲的中断端点并等待USB主机发送IN请求来读取,所述数据包包含有效数据及编号数据,待中断端点中的数据包被读取后,将中断端点置为空闲状态,根据有效数据的长度更新拆分标记长度,若拆分标记长度为已拆分数据长度,将拆分标记长度加上有效数据长度作为更新后的拆分标记长度,若拆分标记长度为待拆分数据长度,将拆分标记长度减去有效数据长度作为更新后的拆分标记长度,且根据更新公式S更新M,返回执行步骤(a3)至目标数据全部拆分完毕。
2.根据权利要求1所述的实时高效的USB数据发送方法,其特征在于,步骤(a1)还包括:设定USB中断查询的服务间隔为125us。
3.根据权利要求1所述的实时高效的USB数据发送方法,其特征在于,步骤(a1)中,所述USB中断端点的长度为1024个字节。
4.根据权利要求1至3任一所述的实时高效的USB数据发送方法,其特征在于,所述拆分标记长度为已拆分数据长度,初始值设为零;
或者拆分标记长度为待拆分数据长度,初始值设为目标数据的长度。
5.根据权利要求1至3任一所述的实时高效的USB数据发送方法,其特征在于,步骤(a4)中,各数据包的发送无固定顺序,各数据包与各中断端点间无固定关系。
6.一种实时高效的USB数据接收方法,其特征在于,包括以下步骤:
对USB中断端点发起USB IN请求,所述USB中断端点至少有两个;
各USB中断端点接收数据包,所述数据包包括有效数据及编号数据;每接收到一个数据包后,对接收到数据包的USB中断端点再次发起USB IN请求;
定义存储区,将所有USB中断端点接收到的数据包根据编号数据按序保存在所述存储区中;
应用层按照编号数据的顺序从存储区中读取有效数据;
完成目标数据的接收。
7.根据权利要求6所述的实时高效的USB数据接收方法,其特征在于,所述存储区为缓冲区链表,数据包根据编号数据按序保存在所述缓冲区链表的具体方法为:
(b1)USB中断端点接收到数据包后,分配一个链表结构体,将数据包解包填入链表结构体中,链表结构体包含编号、数据缓冲区、有效数据长度及读取标记长度,读取数据包指定编号数据长度的内容填入链表结构体的编号中,读取数据包除编号数据以外的有效数据的内容填入链表结构体的数据缓冲区,有效数据长度为数据包总长度减去编号数据长度的差值,所述读取标记长度用于标记待读取数据的起始位置;
(b2)将链表结构体按照编号从小到大的顺序插入缓冲区链表中,返回步骤(b1)至所有数据包均接收完成。
8.根据权利要求7所述的实时高效的USB数据接收方法,其特征在于,所述读取标记长度为已读取数据长度,初始值为0;
应用层从缓冲区链表中读取有效数据的具体方法为:
(c1)定义第二全局变量N并赋初值,定义更新公式S,所述更新公式S为由发送方和接收方协定一致的用于更新N的公式;
(c2)若缓冲区链表的第一个链表结构体中的编号等于N,则应用层根据第一个链表结构体中的已读取数据长度读取有效数据,并执行步骤(c3);若不等于N,应用层直接返回;
(c3)比较缓冲区链表中第一个链表结构体的有效数据长度减已读取数据长度的差值与应用层读取数据长度的大小,若应用层读取数据长度小于该差值,则将已读取数据长度加应用层读取数据长度的和作为更新后的已读取数据长度;若应用层读取数据长度等于该差值,应用层将第一个链表结构体中的有效数据读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N;若应用层读取数据长度大于该差值,则把链表中第一个链表结构体中的有效数据全部读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N,将应用层读取数据长度更新为减去第一个链表结构体的有效数据长度;
返回步骤(c2)至缓冲区链表中的数据全部读完。
9.根据权利要求7所述的实时高效的USB数据接收方法,其特征在于,所述读取标记长度为剩余数据长度,初始值为有效数据的长度;
应用层从缓冲区链表中读取有效数据的具体方法为:
(c1)定义第二全局变量N并赋初值,定义更新公式S,所述更新公式S为由发送方和接收方协定一致的用于更新N的公式;
(c2)若缓冲区链表的第一个链表结构体中的编号等于N,则应用层根据第一个链表结构体中的剩余数据长度读取有效数据,并执行步骤(c3);若不等于N,应用层直接返回;
(c3)比较应用层读取数据长度与缓冲区链表中第一个链表结构体的剩余数据长度的大小,若应用层读取数据长度小于缓冲区链表中第一个链表结构体的剩余数据长度,则将剩余数据长度减去应用层读取数据长度作为更新后的剩余数据长度;若两者相等,应用层将第一个链表结构体中的有效数据读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N;若应用层读取数据长度大于缓冲区链表中第一个链表结构体的剩余数据长度,则把链表中第一个链表结构体中的有效数据全部读完,再将第一个链表结构体从链表中删除释放,且根据更新公式S更新N,将应用层读取数据长度更新为减去第一个链表结构体的有效数据长度;
返回步骤(c2)至缓冲区链表中的数据全部读完。
10.一种实时高效的USB数据传输方法,其特征在于,包括如权利要求1的实时高效的USB数据发送方法及如权利要求6的实时高效的USB数据接收方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010846088.4A CN111813727B (zh) | 2020-08-21 | 2020-08-21 | 一种实时高效的usb数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010846088.4A CN111813727B (zh) | 2020-08-21 | 2020-08-21 | 一种实时高效的usb数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813727A CN111813727A (zh) | 2020-10-23 |
CN111813727B true CN111813727B (zh) | 2020-12-08 |
Family
ID=72859579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010846088.4A Active CN111813727B (zh) | 2020-08-21 | 2020-08-21 | 一种实时高效的usb数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813727B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073721A1 (en) * | 2002-10-10 | 2004-04-15 | Koninklijke Philips Electronics N.V. | DMA Controller for USB and like applications |
US7657684B2 (en) * | 2006-04-28 | 2010-02-02 | Qualcomm Incorporated | USB interrupt endpoint sharing |
US9589010B2 (en) * | 2013-03-07 | 2017-03-07 | Microsoft Technology Licensing, Llc | Systems and methods for host detection of USB asynchronous notification capability |
CN104461978B (zh) * | 2014-10-24 | 2021-02-19 | 厦门市美亚柏科信息股份有限公司 | 单向数据传输的方法及装置 |
CN105183675B (zh) * | 2015-09-30 | 2018-03-27 | 华为技术有限公司 | 对usb设备的访问方法、装置、终端、服务器及系统 |
US10339089B2 (en) * | 2015-10-28 | 2019-07-02 | Qualcomm Incorporated | Enhanced communications over a universal serial bus (USB) type-C cable |
-
2020
- 2020-08-21 CN CN202010846088.4A patent/CN111813727B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111813727A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4872952B2 (ja) | Tcpバッファコピー分散並列処理装置、方法及びプログラム | |
CN101237415B (zh) | 一种实现arp协议ip核的方法 | |
US11467764B2 (en) | NVMe-based data read method, apparatus, and system | |
CN109800193B (zh) | 一种ahb总线访问片上sram的桥接装置 | |
TWI247215B (en) | Communication system for raising channel utilization rate and communication method thereof | |
CN104394096A (zh) | 一种基于多核处理器的报文处理方法及多核处理器 | |
CN112698959A (zh) | 一种多核通信方法和装置 | |
CN112181887B (zh) | 数据传输方法及装置 | |
US10489322B2 (en) | Apparatus and method to improve performance in DMA transfer of data | |
CN111813727B (zh) | 一种实时高效的usb数据传输方法 | |
CN111045817B (zh) | 一种PCIe传输管理方法、系统和装置 | |
CN112261117B (zh) | 一种基于多usb中断端点的虚拟传输方法 | |
CN106294225A (zh) | 一种数据读取方法、对端设备及控制器 | |
CN110445580B (zh) | 数据发送方法及装置、存储介质、电子装置 | |
WO2023098050A1 (zh) | 远程数据访问方法及装置 | |
CN107846328B (zh) | 基于并发无锁环形队列的网络速率实时统计方法 | |
CN115658625A (zh) | 数据解压系统、图形处理系统、装置、设备及解压方法 | |
CN101464844A (zh) | 一种ram使用权的控制方法及总线接口 | |
CN113609041A (zh) | 一种数据传输方法及系统 | |
CN114157619A (zh) | 报文缓存管理方法、装置及网络处理器 | |
CN109241362B (zh) | 区块生成方法、装置、设备及存储介质 | |
US7284075B2 (en) | Inbound packet placement in host memory | |
CN112948298A (zh) | 一种报文处理方法及装置 | |
US20010018732A1 (en) | Parallel processor and parallel processing method | |
CN113157610B (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 |