CN117411594A - 基于usb降速桥并应用于usb从机的数据包处理系统、方法、终端及介质 - Google Patents
基于usb降速桥并应用于usb从机的数据包处理系统、方法、终端及介质 Download PDFInfo
- Publication number
- CN117411594A CN117411594A CN202311130041.8A CN202311130041A CN117411594A CN 117411594 A CN117411594 A CN 117411594A CN 202311130041 A CN202311130041 A CN 202311130041A CN 117411594 A CN117411594 A CN 117411594A
- Authority
- CN
- China
- Prior art keywords
- usb
- data
- slave
- data packet
- speed reduction
- 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
Links
- 230000009467 reduction Effects 0.000 title claims abstract description 89
- 238000012545 processing Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000005540 biological transmission Effects 0.000 claims description 72
- 238000012790 confirmation Methods 0.000 claims description 16
- 238000003672 processing method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 6
- 239000012634 fragment Substances 0.000 claims description 3
- 239000000872 buffer Substances 0.000 abstract description 9
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0067—Rate matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/4013—Management of data rate on the 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请提供基于USB降速桥并应用于USB从机的数据包处理系统、方法、终端及介质,包括:USB从机、USB降速桥、USB PHY子卡及USB主机;USB从机电性连接USB降速桥,USB降速桥电性连接USB PHY子卡,USB PHY子卡电性连接USB主机;其中,USB降速桥设有低频pipe接口和高频pipe接口;所述低频pipe接口和与之相连的USB从机位于低频时钟域;所述高频pipe接口和与之相连的USB PHY子卡、与USB PHY子卡通过USB差分线相连的USB主机均位于高频时钟域。本申请可极大降低降速桥中缓存的使用,具有高兼容性,并具有错误上报机制,且在无需修改USB从机控制器参数和驱动软件的情况下依然可以正常工作。
Description
技术领域
本申请涉及USB通信技术领域,特别是涉及基于USB降速桥并应用于USB从机的数据包处理系统、方法、终端及介质。
背景技术
随着电子产品的广泛使用和大量数据传输需求的提升,USB正成为当今应用最广泛的接口之一,因此众多芯片厂商都将USB作为芯片中必不可少的功能之一,而想实现USB功能,必须要使用到USB控制器。当这些芯片厂商在做原型验证时,受制于硬件加速平台的最高工作频率(1~2MHz),必须要使用USB降速桥来适配验证平台极低的工作频率和USB主机的正常工作频率。目前的USB3降速桥屈指可数,即使可以用也只能使用在特定的设备中,并与特定的主机进行连接,只能验证很少一部分基础功能,有很大局限性。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供基于USB降速桥并应用于USB从机的数据包处理系统、方法、终端及介质,用于解决如何适配验证平台极低的工作频率和USB主机正常工作频率的技术问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种基于USB降速桥并应用于USB从机的数据包处理系统,其特征在于,包括:USB从机、USB降速桥、USB PHY子卡及USB主机;USB从机电性连接USB降速桥,USB降速桥电性连接USB PHY子卡,USB PHY子卡电性连接USB主机;其中,USB降速桥设有低频pipe接口和高频pipe接口;所述低频pipe接口和与之相连的USB从机位于低频时钟域;所述高频pipe接口和与之相连的USB PHY子卡、与USBPHY子卡通过USB差分线相连的USB主机均位于高频时钟域;在批量输入模式下:USB主机发出原始的确认事务包以请求USB从机返回数据包;若所述原始的确认事务包中NUMP字段大于或者等于1,则所述USB降速桥在将所述原始的确认事务包中NUMP字段改为1并重新进行循环冗余校验计算后再将更新后的确认事务包转发给USB从机,并根据所述原始的确认事务包拼凑得到端点未就绪事务包发送给USB主机;USB降速桥在收到来自USB从机的响应后发送端点就绪事务包给USB主机。
于本申请的第一方面的一些实施例中,所述系统还包括批量输出模式;在所述批量输出模式下:当USB主机发出数据包时,USB降速桥将数据包转发给USB从机,并根据所述数据包的数据包头字段拼凑得到一个重新发送字段被置上且mump字段为1的确认事务包,重复重新发送该数据包直至收到USB从机的反馈后将该数据包转发给USB从机。
于本申请的第一方面的一些实施例中,所述系统还包括控制传输模式;所述控制传输模式包括Setup阶段、Data阶段和Status阶段;其中:在Setup阶段基于所述批量输出模式进行数据传输;其中,用以表征数据包头的DPH字段中的Setup字段被视为1,且用以表征数据长度的Data Length字段被设为8;在Data阶段和Status阶段,若对于USB主机而言是数据输入,则基于所述批量输入模式进行数据传输;若对于USB主机而言是数据输出,则基于所述批量输出模式进行数据传输。
于本申请的第一方面的一些实施例中,所述系统还包括中断传输模式;所述中断传输模式包括中断输入阶段和中断输出阶段;其中,在所述中断输入阶段基于所述批量输入模式进行数据传输,在所述中断输出阶段基于所述批量输出模式进行数据传输。
于本申请的第一方面的一些实施例中,所述系统还包括等时传输模式;在所述等时传输模式下,当USB降速桥收到USB主机发来的数据包时将其转发给USB从机;而当USB降速桥收到来自USB从机发来的数据包时将其转发给USB主机。
为实现上述目的及其他相关目的,本申请的第二方面提供一种基于USB降速桥并应用于USB从机的数据包处理方法,应用于USB降速桥;所述USB降速桥电性连接USB从机和USB PHY子卡,所述USB PHY子卡电性连接USB主机;USB降速桥设有低频pipe接口和高频pipe接口;所述低频pipe接口和与之相连的USB从机位于低频时钟域;所述高频pipe接口和与之相连的USB PHY子卡、与USB PHY子卡通过USB差分线相连的USB主机均位于高频时钟域;所述方法包括:响应于USB主机发出原始的确认事务包以请求USB从机返回数据包的请求指令,判断原始的确认事务包中NUMP字段的值;若所述原始的确认事务包中NUMP字段大于或者等于1,则在将所述原始的确认事务包中NUMP字段改为1并重新进行循环冗余校验计算后再将更新后的确认事务包转发给USB从机,并根据所述原始的确认事务包拼凑得到端点未就绪事务包发送给USB主机;在收到来自USB从机的响应后发送端点就绪事务包给USB主机。
于本申请的第二方面的一些实施例中,所述方法还包括在批量输出模式下执行如下:当USB主机发出数据包时,将数据包转发给USB从机,并根据所述数据包的数据包头字段拼凑得到一个重新发送字段被置上且mump字段为1的确认事务包,重复重新发送该数据包直至收到USB从机的反馈后将该数据包转发给USB从机。
于本申请的第二方面的一些实施例中,所述方法还包括在控制传输模式下执行如下:在所述控制传输模式的Setup阶段,基于所述批量输出模式进行数据传输;其中,用以表征数据包头的DPH字段中的Setup字段被视为1,且用以表征数据长度的Data Length字段被设为8;在所述控制传输模式的Data阶段和Status阶段,若对于USB主机而言是数据输入,则基于所述批量输入模式进行数据传输;若对于USB主机而言是数据输出,则基于所述批量输出模式进行数据传输。
为实现上述目的及其他相关目的,本申请的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于USB降速桥并应用于USB从机的数据包处理方法。
为实现上述目的及其他相关目的,本申请的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述基于USB降速桥并应用于USB从机的数据包处理方法。
如上所述,本申请的基于USB降速桥并应用于USB从机的数据包处理系统、方法、终端及介质,具有以下有益效果:本申请可极大降低降速桥中缓存的使用,具有高兼容性,并具有错误上报机制,且在无需修改USB从机控制器参数和驱动软件的情况下依然可以正常工作。
附图说明
图1显示为本申请一实施例中的一种基于USB降速桥并应用于USB从机的数据包处理系统的结构示意图。
图2显示为本申请一实施例中的一种基于USB降速桥并应用于USB从机的数据包处理方法的流程示意图。
图3显示为本申请一实施例中电子终端的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”、“固持”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
为解决上述背景技术中的问题,本发明提供一种,旨在基于USB降速桥并应用于USB从机的数据包处理X。与此同时,为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。
在对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释:
<1>事务包(Transaction Packets,TP):在所有的直接连接主机和设备的链路上传送,它们被用于数据包流程控制器、配置设备及集线器等。
<2>数据包(Data Packets,DP):在所有的直接连接主机和设备的链路上传送。数据包有两部分:数据包头(Data Packet Header,DPH)以及数据包负载(Data PacketPayload,DPP)。
<3>NRDY事务包:端点未就绪事务包,表示端点没有准备好接受或者发送数据;在该端点通知主机它已经准备好之前,主机和该端点之间不应该有进一步的活动。这就允许主机和设备之间的链路被设置到低功耗状态,直到端点准备好接受或者发送数据。
<4>ERDY事务包:端点就绪事务包,表示端点准备好接受或者发送数据,在端点准备好接受或者发送数据时,端点异步发送一个通知(ERDY事务包)给主机,告知主机端点已经准备好搬移数据,主机也通过重新调度先前的请求来做出对该通知的响应。
<5>ACK事务包:确认事务包;确认事务包用于两个目的,分别是对于IN端点,由主机发送该事务所包,用来从设备请求数据,以及对主机之前接收到的数据包进行确认;对于OUT端点,由设备发送该事务包,用来对主机之前发送的数据包进行接收确认,以及通知主机在接收到这个包后设备还有多少个数据包缓冲区可用。
<6>NUMP(Number of Packets):该字段用于指示接收方可以接受多少个数据包缓冲区。NUMP字段的值应该小于或等于端点伴侣描述符(Endpoint Companion Descriptor)的Burst size字段所指定的端点所能支持的最大突发大小(maximum burst size)。
<7>突发传输(Burst传输):是指在同一行中相邻的存储单元连续进行数据传输的方式,只要指定起始地址和突发长度,控制器就会依次自动对后面相同数量的存储单元进行读/写操作,而不需要控制器连续提供列地址。
<8>Retry Data Packet(rty)字段:用于告知主机或者设备没有接收到数据包或者接收到的数据包被损坏,并且请求数据发送方重新发送由指定的序列号开始的一个或多个数据包。
本发明实施例提供基于USB降速桥并应用于USB从机的数据包处理方法、基于USB降速桥并应用于USB从机的数据包处理方法的系统、以及存储用于实现基于USB降速桥并应用于USB从机的数据包处理方法的可执行程序的存储介质。就基于USB降速桥并应用于USB从机的数据包处理方法的实施而言,本发明实施例将对基于USB降速桥并应用于USB从机的数据包处理的示例性实施场景进行说明。
如图1所示,展示了本发明实施例中的一种基于USB降速桥并应用于USB从机的数据包处理系统的结构示意图。本实施例中的基于USB降速桥并应用于USB从机的数据包处理系统主要包括如下:USB从机11、USB降速桥12、USB PHY子卡13及USB主机14。
USB从机11电性连接USB降速桥12,USB降速桥12电性连接USB PHY子卡13,USB PHY子卡13电性连接USB主机14;其中,USB降速桥12设有低频pipe接口1和高频pipe接口2;低频pipe接口1和与之相连的USB从机11位于低频时钟域;所述高频pipe接口2和与之相连的USBPHY子卡13、与USB PHY子卡13通过USB差分线相连的USB主机14均位于高频时钟域。
应理解的是,USB设备分为HOST(主设备/主机)和SLAVE(从设备/从机),只有当一台HOST与一台SLAVE连接时才能实现数据的传输。通常而言,还有USB OTG(USB On-The-Go设备)可作为扩展设备,既能充当HOST也能充当SLAVE。其中,USB OTG设备主要用于各种不同的设备或移动设备间的联接进行数据交互,特别是PAD、移动电话、消费类设备等等。
于本发明实施例中,所述系统包括批量输入模式,在批量输入模式下:USB主机发出原始的确认事务包以请求USB从机返回数据包;若所述原始的确认事务包中NUMP字段大于或者等于1,则所述USB降速桥在将所述原始的确认事务包中NUMP字段改为1并重新进行循环冗余校验计算后再将更新后的确认事务包转发给USB从机,并根据所述原始的确认事务包拼凑得到端点未就绪事务包发送给USB主机;USB降速桥在收到来自USB从机的响应后发送端点就绪事务包给USB主机。
具体而言,批量输入模式是指bulk in传输模式,在该模式下:USB主机14发出ACK包以请求USB从机11返回DATA数据包;若ACK包中的NUMP字段大于或者等于1,则所述USB降速桥在将ACK包中的NUMP字段改为1并重新进行循环冗余校验计算后再将更新后的ACK包转发给USB从机,并根据原先的ACK拼凑得到NRDY包发送给USB主机;USB降速桥在收到来自USB从机的响应后发送ERDY包给USB主机。
值得说明的是,这种处理方法的主要目的是为了减少USB降速桥使用过多的缓存(buffer)去存储USB从机返回的数据包,避免因此而消耗过多的资源,因此本发明实施例通过在USB降速桥内部修改NUMP字段的方式,从协议层关闭了USB突发传输的功能。
于本发明实施例中,基于USB降速桥并应用于USB从机的数据包处理系统还包括批量输出模式,在批量输出模式下:当USB主机发出数据包时,USB降速桥将数据包转发给USB从机,并根据所述数据包的数据包头字段拼凑得到一个重新发送字段被置上且mump字段为1的确认事务包,重复重新发送该数据包直至收到USB从机的反馈后将该数据包转发给USB从机。
具体而言,批量输出模式是指bulk out传输模式。由于USB具有突发传输(burst)的特性,当USB主机向外发送数据包时,对同一个端点最多可以连续发送16个1KB的数据包,因此每个端点需要保留16KB的缓存(buffer)用以缓存这些数据包,然而这将会消耗极大的存储资源。而在采用本发明实施例中的批量输出模式后,只需对每个端点只使用1KB的缓存,具体传输过程如下:USB主机发出数据包后,USB降速桥将根据该数据包的DPH字段拼凑出一个RETRY字段被置上且NUMP字段为1的ACK包,重复重新发送该数据包的操作并等待USB从机的反馈;USB降速桥在收到USB从机的反馈后再将数据包转发给USB从机。
于本发明实施例中,基于USB降速桥并应用于USB从机的数据包处理系统还包括控制传输模式。控制传输模式下至少有两个事务阶段,分别是Setup事务阶段和Status事务阶段,控制传输可选地在Setup事务阶段和Status事务阶段之间有一个Data阶段,Data阶段的方向由位于Setup包的第一个字节的bmRequestType字段来指示。
进一步地,在Setup阶段基于所述批量输出模式进行数据传输;其中,用以表征数据包头的DPH字段中的Setup字段被视为1,且用以表征数据长度的Data Length字段被设为8。在Data阶段和Status阶段,若对于USB主机而言是数据输入,则基于所述批量输入模式进行数据传输;若对于USB主机而言是数据输出,则基于所述批量输出模式进行数据传输。
于本发明实施例中,基于USB降速桥并应用于USB从机的数据包处理系统还包括中断传输模式;所述中断传输模式包括中断输入阶段和中断输出阶段;其中,在所述中断输入阶段基于所述批量输入模式进行数据传输,在所述中断输出阶段基于所述批量输出模式进行数据传输;具体过程如下所示:
在中断输入阶段:USB主机14发出ACK包以请求USB从机11返回DATA数据包;若ACK包中的NUMP字段大于或者等于1,则所述USB降速桥在将ACK包中的NUMP字段改为1并重新进行循环冗余校验计算后再将更新后的ACK包转发给USB从机,并根据原先的ACK拼凑得到NRDY包发送给USB主机;USB降速桥在收到来自USB从机的响应后发送ERDY包给USB主机。
在中断输出阶段:当USB主机发出数据包时,USB降速桥将数据包转发给USB从机,并根据所述数据包的数据包头字段拼凑得到一个重新发送字段被置上且mump字段为1的确认事务包,重复重新发送该数据包直至收到USB从机的反馈后将该数据包转发给USB从机。
于本发明实施例中,基于USB降速桥并应用于USB从机的数据包处理系统还包括等时传输模式;在所述等时传输模式下,当USB降速桥收到USB主机发来的数据包时将其转发给USB从机;而当USB降速桥收到来自USB从机发来的数据包时将其转发给USB主机。
需说明的是,由于等时模式(isochronous)传输在协议层面上没有握手机制,无法像bulk传输一样通过修改NUMP字段减少Burst长度,因此该方案所支持的等时模式端点需要具有较大的间隔interval和较小的突发长度burst。
另需说明的是,中断传输模式(Interrupt)和等时模式(Isochronous)都是周期性的数据传输模式,而控制传输模式(Control)和批量传输模式(Bulk)都是非周期性的数据传输模式,这里的周期性是指数据在总线bus上,固定时间内进行数据传输。
需解释的是,一个传输(例如控制传输、批量传输、中断传输、等时传输等)由多个事务组成;一个事务(例如IN、OUT、SETUP等)由一或多个包(Packet)组成;USB数据在主机软件与USB设备特定的端点间被传输;主机软件与USB设备特定的端点之间的关联称为Pipes,一个USB设备可以有多个管道。其中,包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的,数据在USB总线上的传输以包为单位,包只能在帧内传输。高速USB总线的帧周期为125us,全速以及低速USB总线的帧周期为1ms。帧的起始由一个特定的包(SOF包)表示,帧尾为EOF。EOF不是一个包,而是一种电平状态,EOF期间不允许有数据传输。
需要说明的是:上述实施例提供的基于USB降速桥并应用于USB从机的数据包处理系统在进行基于USB降速桥并应用于USB从机的数据包处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。
上文,对本发明实施例中的一种基于USB降速桥并应用于USB从机的数据包处理系统的实施过程及原理做了详尽的解释说明。下文,将针对基于USB降速桥并应用于USB从机的数据包处理方法、终端及介质做进一步的说明。
如图2所示,展示了本发明实施例中的一种基于USB降速桥并应用于USB从机的数据包处理方法的流程示意图。
需说明的是,本发明实施例提供的一种基于USB降速桥并应用于USB从机的数据包处理方法应用于USB降速桥;所述USB降速桥电性连接USB从机和USB PHY子卡,所述USB PHY子卡电性连接USB主机;USB降速桥设有低频pipe接口和高频pipe接口;所述低频pipe接口和与之相连的USB从机位于低频时钟域;所述高频pipe接口和与之相连的USB PHY子卡、与USB PHY子卡通过USB差分线相连的USB主机均位于高频时钟域;所述方法包括。所述方法的执行过程如下所示:
步骤S21:响应于USB主机发出原始的确认事务包以请求USB从机返回数据包的请求指令,判断原始的确认事务包中NUMP字段的值。
步骤S22:若所述原始的确认事务包中NUMP字段大于或者等于1,则在将所述原始的确认事务包中NUMP字段改为1并重新进行循环冗余校验计算后再将更新后的确认事务包转发给USB从机,并根据所述原始的确认事务包拼凑得到端点未就绪事务包发送给USB主机。
步骤S23:在收到来自USB从机的响应后发送端点就绪事务包给USB主机。
在一些示例中,所述方法还包括在批量输出模式下执行如下:当USB主机发出数据包时,将数据包转发给USB从机,并根据所述数据包的数据包头字段拼凑得到一个重新发送字段被置上且mump字段为1的确认事务包,重复重新发送该数据包直至收到USB从机的反馈后将该数据包转发给USB从机。
在一些示例中,所述方法还包括在控制传输模式下执行如下:在所述控制传输模式的Setup阶段,基于所述批量输出模式进行数据传输;其中,用以表征数据包头的DPH字段中的Setup字段被视为1,且用以表征数据长度的Data Length字段被设为8;在所述控制传输模式的Data阶段和Status阶段,若对于USB主机而言是数据输入,则基于所述批量输入模式进行数据传输;若对于USB主机而言是数据输出,则基于所述批量输出模式进行数据传输。
在一些示例中,所述系统还包括中断传输模式;所述中断传输模式包括中断输入阶段和中断输出阶段;其中,在所述中断输入阶段基于所述批量输入模式进行数据传输,在所述中断输出阶段基于所述批量输出模式进行数据传输。
在一些示例中,所述系统还包括等时传输模式;在所述等时传输模式下,当USB降速桥收到USB主机发来的数据包时将其转发给USB从机;而当USB降速桥收到来自USB从机发来的数据包时将其转发给USB主机。
需说明的是,上述实施例提供的基于USB降速桥并应用于USB从机的数据包处理方法与基于USB降速桥并应用于USB从机的数据包处理系统实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例提供的基于USB降速桥并应用于USB从机的数据包处理方法可以采用终端侧或服务器侧实施,就基于USB降速桥并应用于USB从机的数据包处理终端的硬件结构而言,请参阅图3,为本发明实施例提供的电子终端300的一个可选的硬件结构示意图,该终端300可以是移动电话、计算机设备、平板设备、个人数字处理设备、工厂后台处理设备等。电子终端300包括:至少一个处理器301、存储器302、至少一个网络接口304和用户接口306。装置中的各个组件通过总线系统305耦合在一起。可以理解的是,总线系统305用于实现这些组件之间的连接通信。总线系统305除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统。
其中,用户接口306可以包括显示器、键盘、鼠标、轨迹球、点击枪、按键、按钮、触感板或者触摸屏等。
可以理解,存储器302可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,StaticRandom Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous StaticRandomAccess Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类别的存储器。
本发明实施例中的存储器302用于存储各种类别的数据以支持电子终端300的操作。这些数据的示例包括:用于在电子终端300上操作的任何可执行程序,如操作系统3021和应用程序3022;操作系统3021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序3022可以包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例提供的基于USB降速桥并应用于USB从机的数据包处理方法可以包含在应用程序3022中。
上述本发明实施例揭示的方法可以应用于处理器301中,或者由处理器301实现。处理器301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器301可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器301可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器301可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的配件优化方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子终端300可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device),用于执行前述方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
综上所述,本申请提供基于USB降速桥并应用于USB从机的数据包处理系统、方法、终端及介质,本发明,本申请可极大降低降速桥中缓存的使用,具有高兼容性,并具有错误上报机制,且在无需修改USB从机控制器参数和驱动软件的情况下依然可以正常工作。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (10)
1.一种基于USB降速桥并应用于USB从机的数据包处理系统,其特征在于,包括:USB从机、USB降速桥、USB PHY子卡及USB主机;
USB从机电性连接USB降速桥,USB降速桥电性连接USB PHY子卡,USB PHY子卡电性连接USB主机;其中,USB降速桥设有低频pipe接口和高频pipe接口;所述低频pipe接口和与之相连的USB从机位于低频时钟域;所述高频pipe接口和与之相连的USB PHY子卡、与USB PHY子卡通过USB差分线相连的USB主机均位于高频时钟域;
在批量输入模式下:USB主机发出原始的确认事务包以请求USB从机返回数据包;若所述原始的确认事务包中NUMP字段大于或者等于1,则所述USB降速桥在将所述原始的确认事务包中NUMP字段改为1并重新进行循环冗余校验计算后再将更新后的确认事务包转发给USB从机,并根据所述原始的确认事务包拼凑得到端点未就绪事务包发送给USB主机;USB降速桥在收到来自USB从机的响应后发送端点就绪事务包给USB主机。
2.根据权利要求1所述的基于USB降速桥并应用于USB从机的数据包处理系统,其特征在于,所述系统还包括批量输出模式;在所述批量输出模式下:当USB主机发出数据包时,USB降速桥将数据包转发给USB从机,并根据所述数据包的数据包头字段拼凑得到一个重新发送字段被置上且mump字段为1的确认事务包,重复重新发送该数据包直至收到USB从机的反馈后将该数据包转发给USB从机。
3.根据权利要求2所述的基于USB降速桥并应用于USB从机的数据包处理系统,其特征在于,所述系统还包括控制传输模式;所述控制传输模式包括Setup阶段、Data阶段和Status阶段;其中:
在Setup阶段基于所述批量输出模式进行数据传输;其中,用以表征数据包头的DPH字段中的Setup字段被视为1,且用以表征数据长度的Data Length字段被设为8;
在Data阶段和Status阶段,若对于USB主机而言是数据输入,则基于所述批量输入模式进行数据传输;若对于USB主机而言是数据输出,则基于所述批量输出模式进行数据传输。
4.根据权利要求2所述的基于USB降速桥并应用于USB从机的数据包处理系统,其特征在于,所述系统还包括中断传输模式;所述中断传输模式包括中断输入阶段和中断输出阶段;其中,在所述中断输入阶段基于所述批量输入模式进行数据传输,在所述中断输出阶段基于所述批量输出模式进行数据传输。
5.根据权利要求1所述的基于USB降速桥并应用于USB从机的数据包处理系统,其特征在于,所述系统还包括等时传输模式;在所述等时传输模式下,当USB降速桥收到USB主机发来的数据包时将其转发给USB从机;而当USB降速桥收到来自USB从机发来的数据包时将其转发给USB主机。
6.一种基于USB降速桥并应用于USB从机的数据包处理方法,其特征在于,应用于USB降速桥;所述USB降速桥电性连接USB从机和USB PHY子卡,所述USB PHY子卡电性连接USB主机;USB降速桥设有低频pipe接口和高频pipe接口;所述低频pipe接口和与之相连的USB从机位于低频时钟域;所述高频pipe接口和与之相连的USB PHY子卡、与USB PHY子卡通过USB差分线相连的USB主机均位于高频时钟域;所述方法包括:
响应于USB主机发出原始的确认事务包以请求USB从机返回数据包的请求指令,判断原始的确认事务包中NUMP字段的值;
若所述原始的确认事务包中NUMP字段大于或者等于1,则在将所述原始的确认事务包中NUMP字段改为1并重新进行循环冗余校验计算后再将更新后的确认事务包转发给USB从机,并根据所述原始的确认事务包拼凑得到端点未就绪事务包发送给USB主机;
在收到来自USB从机的响应后发送端点就绪事务包给USB主机。
7.根据权利要求6所述的基于USB降速桥并应用于USB从机的数据包处理方法,其特征在于,所述方法还包括在批量输出模式下执行如下:
当USB主机发出数据包时,将数据包转发给USB从机,并根据所述数据包的数据包头字段拼凑得到一个重新发送字段被置上且mump字段为1的确认事务包,重复重新发送该数据包直至收到USB从机的反馈后将该数据包转发给USB从机。
8.根据权利要求7所述的基于USB降速桥并应用于USB从机的数据包处理方法,其特征在于,所述方法还包括在控制传输模式下执行如下:
在所述控制传输模式的Setup阶段,基于所述批量输出模式进行数据传输;其中,用以表征数据包头的DPH字段中的Setup字段被视为1,且用以表征数据长度的Data Length字段被设为8;
在所述控制传输模式的Data阶段和Status阶段,若对于USB主机而言是数据输入,则基于所述批量输入模式进行数据传输;若对于USB主机而言是数据输出,则基于所述批量输出模式进行数据传输。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求6至8中任一项所述基于USB降速桥并应用于USB从机的数据包处理方法。
10.一种电子终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求6至8中任一项所述基于USB降速桥并应用于USB从机的数据包处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311130041.8A CN117411594A (zh) | 2023-09-01 | 2023-09-01 | 基于usb降速桥并应用于usb从机的数据包处理系统、方法、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311130041.8A CN117411594A (zh) | 2023-09-01 | 2023-09-01 | 基于usb降速桥并应用于usb从机的数据包处理系统、方法、终端及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117411594A true CN117411594A (zh) | 2024-01-16 |
Family
ID=89486063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311130041.8A Pending CN117411594A (zh) | 2023-09-01 | 2023-09-01 | 基于usb降速桥并应用于usb从机的数据包处理系统、方法、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117411594A (zh) |
-
2023
- 2023-09-01 CN CN202311130041.8A patent/CN117411594A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6813251B1 (en) | Split Transaction protocol for a bus system | |
US7028109B2 (en) | Data transfer control device including buffer controller with plurality of pipe regions allocated to plurality of endpoints | |
CN102075401B (zh) | 在pcie总线上传输报文的方法、设备和系统 | |
US20080244084A1 (en) | Method for improved network performance using smart maximum segment size | |
CN111414325B (zh) | 一种Avalon总线转Axi4总线的方法 | |
WO2023173718A1 (zh) | 一种通信链路更新方法、装置及相关设备 | |
CN113535425A (zh) | 一种数据发送方法、装置、电子设备及存储介质 | |
US7469304B2 (en) | Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation | |
US20030101308A1 (en) | Bus system and bus interface for connection to a bus | |
JP2010211322A (ja) | ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法 | |
US7428600B2 (en) | Data transfer control device, electronic equipment, and data transfer control method | |
US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
WO2012081085A1 (ja) | 割込み要因管理装置及び割込み処理システム | |
CN117411594A (zh) | 基于usb降速桥并应用于usb从机的数据包处理系统、方法、终端及介质 | |
US20030101298A1 (en) | Bus system and bus interface | |
US7451254B2 (en) | System and method for adaptive buffer allocation in a memory device interface | |
CN117411593A (zh) | Usb3.1主机降速桥的协议层包传输序列处理系统、方法及介质 | |
JP2007018195A (ja) | 情報処理方法および情報処理装置 | |
CN113127399B (zh) | 一种通用串列汇流排装置以及存取方法 | |
CN116489536B (zh) | 基于modbusRTU协议通信的高效点位采集方法及装置 | |
CN110489359B (zh) | 一种数据传输控制方法及系统 | |
KR20070010945A (ko) | 피디에이에서 호스트 씨피유와 주변 기기 간의 에스피아이통신 방법 및 시스템 | |
WO2022178882A1 (zh) | 一种基于usb的通信方法和装置 | |
CN118193430A (zh) | 芯片的控制方法、装置、电子设备和存储介质 | |
JP4127071B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 |
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 |