一种多端口USB主机芯片的仲裁调度系统及方法与流程

文档序号:39401928发布日期:2024-09-18 11:34阅读:3来源:国知局
一种多端口USB主机芯片的仲裁调度系统及方法与流程

本发明涉及芯片,特别涉及一种多端口usb主机芯片的仲裁调度系统及方法。


背景技术:

1、usb(universal serial bus)是一种通用的串行总线技术,是设备间数据传输的主要接口之一,目前最广泛应用的是usb3.2 gen1/gen2,最高速率达20gb/s。而多端口的usb主机芯片,每个端口支持usb3.2 gen1/gen2,并向下兼容usb2.0/1.1,可以同时连接多个usb设备,实现高效的数据传输。

2、在多端口的usb主机芯片中,多个设备同时请求数据传输的情况十分常见,但是usb总线是一种共享式总线结构,多个不同的设备通过同一条物理总线与主机进行通信传输。因此,需要一种仲裁机制来管理多个设备之间的数据传输和访问。多端口主机usb芯片的仲裁涉及管理多个usb接口之间的数据传输优先级和访问权利,确保多个设备同时连接时能够有效地共享usb总线资源。

3、usb的数据传输总共有四种方式,不同的usb传输方式对带宽的要求不同,主要取决于其应用场景、数据传输的特性和usb标准的限制。各种传输方式对带宽的要求如下:

4、控制传输对带宽的要求通常较低,因为它主要用于发送设备的管理和控制命令,而不是大量的数据传输。控制传输的数据包大小通常很小,所需的带宽较少。批量传输适合大容量数据的传输,例如大文件的读写操作。虽然批量传输对数据传输的延迟要求不高,但它可以占用较大的带宽以确保高效的数据传输。中断传输用于周期性传输少量数据,例如鼠标、键盘等输入设备的数据传输。虽然传输的数据量不大,但中断传输要求低延迟,因此带宽需求较为灵活,通常不会占用过多带宽。同步传输用于实时数据传输,如音频和视频流。它对传输的时间间隔和带宽要求非常敏感,确保数据能够按时传输,但同步传输不保证数据的可靠性。因此,带宽需求较高,以支持稳定的实时数据传输。

5、当单个设备接入usb主机芯片,进行数据传输时,读写速率基本可以达到usb标准(除去总线损耗),但是在多个设备同时接入并且发起相同的数据传输时,会出现有的端口数据传输速率很慢,甚至会掉速到0;或者,当同时处理多个设备的不同的传输方式的数据时,比如中断传输和批量传输,批量传输需要占据更多的带宽,而中断传输只需要少量的总线带宽资源,但是实际上根据固定优先级或者轮询机制的话,可能发起中断传输的设备会在一段时间内占据很多的总线带宽资源,进行批量传输的设备需要等待中断传输完成,或者只能利用部分总线带宽进行传输,总线带宽的利用率低,从而导致速率较慢,读写性能较差。


技术实现思路

1、针对现有技术中存在的问题,提供了一种多端口usb主机芯片的仲裁调度系统及方法,通过结合传输方式、设备类型、传输长度等因素对传输优先级进行仲裁,合理分配总线带宽资源,来提升总线的带宽利用率,从而提高数据传输的速率,并且可以动态调整不同端口访问的优先级和顺序,来适应不同的场景和需求变化。

2、本发明第一方面提出了一种多端口usb主机芯片的仲裁调度系统,所述多端口usb主机芯片分别与usb主机、多个usb设备互联,所述多端口usb主机芯片包括:

3、主机控制器模块,包括多个端口形成的多条链路,用于负责usb主机与各个usb设备之间的数据传输;

4、仲裁模块,用于根据传输请求携带的信息计算每个端口的当前数据传输优先级;其中,仲裁模块每隔一段时间重新计算各个端口的当前数据传输优先级;

5、总线管理模块,用于根据当前数据传输优先级为各个端口分配总线带宽资源;

6、传输调度模块,用于根据各个端口的当前数据传输优先级以及分配的总线带宽资源,动态调整传输策略,控制主机控制器模块完成数据传输。

7、作为一种优选方案,该仲裁调度系统还包括命令解析单元,用于从主机控制器模块获取传输请求,并解析得到usb设备信息以及传输信息,为仲裁模块提供信息;所述命令解析单元每隔一段时间重新从主机控制器模块获取当前传输信息。

8、作为一种优选方案,该仲裁调度系统还包括缓存模块,用于命令解析单元提供的缓存传输信息和数据,供仲裁模块使用。

9、作为一种优选方案,所述仲裁模块判断是否只有单个端口进行数据传输,若是,默认传输优先级最高;若否,则根据usb设备信息以及传输信息综合计算得到传输优先级。

10、作为一种优选方案,所述仲裁模块中,根据usb设备信息以及传输信息综合计算得到传输优先级的过程包括:

11、所有端口初始优先级默认为一级,根据各个端口的传输方向、设备速率、剩余数据量以及传输方式综合计算各个端口的传输优先级;其中,传输方向为输入方向优先级提升一级,输出方向优先级不变;设备速率为最低速率优先级不变,设备速率每高一级提升一级优先级;剩余数据量超过预设阈值优先级提升一级,否则优先级不变;传输方式为同步传输或批量传输优先级提升一级,中断传输或控制传输优先级不变。

12、作为一种优选方案,若只有单个端口进行数据传输,总线管理模块不工作,默认释放所有总线带宽资源提供给该端口的usb设备使用;否则,总线管理模块按照各个端口的传输优先级比例,实时分配空闲的总线带宽资源给各个端口。

13、作为一种优选方案,所述传输调度模块获取到各个端口的传输优先级及分配的总线带宽资源后,控制主机控制器模块进行数据传输;同时,若当前存在总线带宽资源正在传输数据,根据正在传输数据的端口的传输优先级及传输协议判断是否需要释放总线带宽资源,供总线管理模块再分配。

14、作为一种优选方案,所述传输调度模块中,若端口的传输方式为中断传输,不论传输优先级的高低,需按照协议在固定时间先进行传输;若端口的传输方式为同步传输,不论传输优先级的高低,需要按照协议在固定的时间完成固定长度的数据传输;若各个多端口同时进行中断传输或同步传输,则按传输优先级进行传输。

15、本发明第二方面提出了一种多端口usb主机芯片的仲裁调度方法,所述多端口usb主机芯片与多个usb设备互联,所述仲裁调度方法包括:

16、接收usb设备传输请求,分配总线带宽资源进行数据传输;

17、解析传输请求所包含的usb设备信息与传输信息;

18、每隔一段时间对各个端口的传输优先级进行仲裁,其中,仅单端口传输数据则默认传输优先级最高;

19、根据各个端口的传输优先级将空闲总线带宽资源分配给相应端口;

20、根据各个端口的传输优先级与分配的总线带宽资源调整各个端口的传输策略;其中,若当前存在端口正在传输数据,且其优先级低于待传输数据端口的优先级,则在满足协议的条件下释放部分总线带宽资源,进行再分配。

21、作为一种优选方案,所述对各个端口的传输优先级进行仲裁具体包括:

22、所有端口初始优先级默认为一级,根据各个端口的传输方向、设备速率、剩余数据量以及传输方式综合计算各个端口的传输优先级;其中,传输方向为输入方向优先级提升一级,输出方向优先级不变;设备速率为最低速率优先级不变,设备速率每高一级提升一级优先级;剩余数据量超过预设阈值优先级提升一级,否则优先级不变;传输方式为同步传输或批量传输优先级提升一级,中断传输或控制传输优先级不变。

23、与现有技术相比,采用上述技术方案的有益效果为:

24、1、适用于多端口主机芯片,在多个usb设备同时接入时,结合usb规范的传输方式的特点、设备速率(usb2.0、usb3.2 gen1/gen2等),传输方向,传输长度等多个因素进行仲裁,合理分配总线带宽资源,能够有效提升总线利用率。

25、2、通过本发明的仲裁调度方法和系统,可以避免多个设备同时进行数据交互时,某个端口的设备处于长时间等待导致数据交互效率低下的问题。

26、3、本发明的仲裁调度方法及系统,可以根据当前数据传输情况,动态调整不同端口访问的优先级和顺序,来适应不同的场景和需求变化,更加灵活和全面。

27、4、本发明提出的缓存模块可以缓存传输相关信息和数据用于仲裁,不破坏当前的数据传输过程,避免仲裁计算带来的额外开销导致的总线资源浪费。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1