CN111897756A - 一种hid从设备usb带宽自适应调整方法、装置、设备和介质 - Google Patents
一种hid从设备usb带宽自适应调整方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111897756A CN111897756A CN202010559315.5A CN202010559315A CN111897756A CN 111897756 A CN111897756 A CN 111897756A CN 202010559315 A CN202010559315 A CN 202010559315A CN 111897756 A CN111897756 A CN 111897756A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- configuration
- level
- hid
- occupation level
- 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.)
- Granted
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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供一种HID从设备USB带宽自适应调整方法,所述方法包括:在HID从设备的驱动中分别注册USB1.1协议对应的第一带宽配置,USB2.0协议对应的第二带宽配置和USB3.0协议对应的第三带宽配置;为第二带宽配置设置多个级别的带宽占用等级,为每一级别的带宽占用等级设定一带宽值;HID从设备与上位机按一指定带宽值进行连接;判断HID从设备与上位机的连接情况,当带宽资源被其它从设备抢占导致连接失败时,降低到下一级带宽占用等级或下一级带宽配置,再重新与上位机连接;当HID从设备与上位机的连接成功时,配置结束。本发明实现了自动对HID带宽资源占用调整,有效的减少了上位机连接多台HID外设时候的资源抢占冲突。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种HID从设备USB带宽自适应调整方法、装置、设备和介质。
背景技术
随着终端设备的快速发展以及环保概念的大力普及,越来越多的机构正在大范围普及无纸化办公需求,提高业务效率的同时减少能源消耗。但机构同时需要确保用户数据和企业数据的安全,所以大部分采用免驱USB的方式连接外部终端设备。
各大终端厂商目前采用最有效安全的USB免驱方式,基本都采用HID通讯方式上报终端设备属性给上位机。而HID设备采用的是USB中断通讯方式,这种通讯方式需要上位机主机的USB控制器保留一定的预留带宽给接入设备。这种方式存在明显的缺点:1.不同业务种类传输的数据量大小差异很大,有些视频图形数据传输为了提高传输速度需要占用高带宽,而有些基础业务比如按键评价类业务因为传输数据量极少所以只需要占用最低带宽,所以各大厂商通常为了保证自己设备的传输效率和优势,通常把占用带宽需求申请尽可能大;2.前几年综合类业务终端设备并不多见,但是随着需求的递进和技术的更新,现在越来越多种类的终端设备出现在市面上。目前经常在机构中见到,一台职员的办公用上位机电脑上,连接了多个不同种类功能的业务终端。这种情况下,很容易造成多个终端设备抢占USB带宽资源,而导致设备工作不正常;3.有些机构的办公设备更新缓慢,职员的办公上位机电脑十分古老,系统也非常老旧,可能出现USB控制器对目前新终端的HID高带宽通讯方式不兼容的情况,需要针对这些机构网点发布特需的HID低带宽版本设备。
为了克服厂商终端设备与机构办公用上位机电脑通讯的这些缺点,通常是针对具体问题出具体软件版本做针对性处理。比如:1、与机构协商,采用不免驱的方式让业务终端与机构上位机做数据通讯,比如将HID方式更改为ADB方式或者MassStorage方式通讯,这种情况下,不会通过USB中断传输来收发数据,也就不需要上位机USB控制器预留带宽,不会出现多终端抢占带宽资源的情况;但是,这些方式要么需要在客户的上位机上安装定制化驱动,要么会在客户电脑中生成额外盘符,机构出于安全角度考虑,不容易接收这些非免驱或者可感知的变化;2、针对部分出现问题的机构网点,出特需软件更新业务终端系统,降低HID申请的USB保留带宽。这种方式虽然可以比较满意的解决客户问题,但是需要技术人员针对不同机构的不同上位机电脑调试出不同的软件版本,容易出现版本管控杂乱,开发效率低,以及需要技术人员现场处理造成出差费用昂贵等问题。
发明内容
本发明要解决的技术问题,在于提供一种HID从设备USB带宽自适应调整方法、装置、设备和介质,在业务终端由于上位机设备带宽资源不足而无法成功连接的情况下,自动动态调整带宽占用大小。
第一方面,本发明提供了一种HID从设备USB带宽自适应调整方法,所述方法包括:
步骤10、在HID从设备的驱动中分别注册USB1.1协议对应的第一带宽配置,USB2.0协议对应的第二带宽配置和USB3.0协议对应的第三带宽配置;
步骤20、为第二带宽配置设置多个级别的带宽占用等级,为每一级别的带宽占用等级设定一带宽值;
步骤30、HID从设备与上位机按一指定带宽值进行连接;
步骤40、判断HID从设备与上位机的连接情况,当带宽资源被其它从设备抢占导致连接失败时,进入步骤50;当HID从设备与上位机的连接成功时,配置结束;
步骤50、判断当前带宽配置和当前带宽占用等级,若当前带宽占用等级不是当前带宽配置的最低带宽占用等级,则降低到下一级带宽占用等级,再重新与上位机连接,然后回到步骤40;若当前带宽占用等级为当前带宽配置的最低带宽占用等级,则将当前带宽配置降低为更低级别的带宽配置,再重新与上位机连接,然后回到步骤40;若当前带宽配置为第一带宽配置,且当前带宽占用等级为第一带宽配置的最低带宽占用等级时,连接失败。
进一步的,所述步骤20具体为:
为第二带宽配置的端点描述符设置多个级别的带宽占用等级,所述带宽占用等级包括USB端点内存大小和HID中断传输间隔毫秒。
优选的,所述方法还包括:
步骤60、对上层应用提供控制接口,所述控制接口用于接收更改带宽占用等级的命令,然后根据所述命令,调整HID从设备的带宽占用等级为指定带宽占用等级。
第二方面,本发明提供了一种HID从设备USB带宽自适应调整装置,包括:协议带宽注册模块、带宽占用等级配置模块、默认连接模块、连接判断模块以及自动调整模块;
所述协议带宽注册模块,用于在HID从设备的驱动中分别注册USB1.1协议对应的第一带宽配置,USB2.0协议对应的第二带宽配置和USB3.0协议对应的第三带宽配置;
所述带宽占用等级配置模块,用于为第二带宽配置设置多个级别的带宽占用等级,为每一级别的带宽占用等级设定一带宽值;
所述默认连接模块,用于HID从设备与上位机按一指定带宽值进行连接;
所述连接判断模块,用于判断HID从设备与上位机的连接情况,当带宽资源被其它从设备抢占导致连接失败时,进入步骤50;当HID从设备与上位机的连接成功时,配置结束;
所述自动调整模块,用于判断当前带宽配置和当前带宽占用等级,若当前带宽占用等级不是当前带宽配置的最低带宽占用等级,则降低到下一级带宽占用等级,再重新与上位机连接,然后回到连接判断模块;若当前带宽占用等级为当前带宽配置的最低带宽占用等级,则将当前带宽配置降低为更低级别的带宽配置,再重新与上位机连接,然后回到连接判断模块;若当前带宽配置为第一带宽配置,且当前带宽占用等级为第一带宽配置的最低带宽占用等级时,连接失败。
进一步的,所述所述带宽占用等级配置模块具体用于:为第二带宽配置的端点描述符设置多个级别的带宽占用等级,所述带宽占用等级包括USB端点内存大小和HID中断传输间隔毫秒。
优选的,所述装置还包括:手动调整模块;
所述手动调整模块,用于对上层应用提供控制接口,所述控制接口用于接收更改带宽占用等级的命令,然后根据所述命令,调整HID从设备的带宽占用等级为指定带宽占用等级。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、通过在HID终端从设备的底层驱动中加入带宽等级分级筛选逻辑,实现自动对HID带宽资源占用调整,有效的减少了机构上位机连接多台HID外设时候的资源抢占冲突;无需额外安装定制化驱动,或者针对性开发不同的软件版本,实现方便且成本不高。
2、通过向上层应用提供控制接口,可以实现对HID从设备进行主动调整,进一步满足实际应用需求。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例一中方法的流程图;
图2为本发明实施例二中装置的结构示意图;
图3为本发明实施例三中电子设备的结构示意图;
图4为本发明实施例四中介质的结构示意图。
图5为本发明实施例五中方法的流程示意图。
具体实施方式
实施例一
本实施例提供一种HID从设备USB带宽自适应调整方法,如图1所示,包括;
步骤10、在HID从设备的驱动中分别注册USB1.1协议对应的第一带宽配置,USB2.0协议对应的第二带宽配置和USB3.0协议对应的第三带宽配置;
步骤20、为第二带宽配置设置多个级别的带宽占用等级,为每一级别的带宽占用等级设定一带宽值;
步骤30、HID从设备与上位机按一指定带宽值进行连接;
步骤40、判断HID从设备与上位机的连接情况,当带宽资源被其它从设备抢占导致连接失败时,进入步骤50;当HID从设备与上位机的连接成功时,配置结束;
步骤50、判断当前带宽配置和当前带宽占用等级,若当前带宽占用等级不是当前带宽配置的最低带宽占用等级,则降低到下一级带宽占用等级,再重新与上位机连接,然后回到步骤40;若当前带宽占用等级为当前带宽配置的最低带宽占用等级,则将当前带宽配置降低为更低级别的带宽配置,再重新与上位机连接,然后回到步骤40;若当前带宽配置为第一带宽配置,且当前带宽占用等级为第一带宽配置的最低带宽占用等级时,连接失败。
通过在HID终端从设备的底层驱动中加入带宽等级分级筛选逻辑,判断HID从设备与上位机的连接情况,当带宽资源被其它从设备抢占导致连接失败时,降低到下一级带宽占用等级或下一级带宽配置,再重新与上位机连接;从而实现自动对HID带宽资源占用调整,有效的减少了机构上位机连接多台HID外设时候的资源抢占冲突;无需额外安装定制化驱动,或者针对性开发不同的软件版本,实现方便且成本不高。
所述步骤20可以进一步具体为:
为第二带宽配置的端点描述符设置多个级别的带宽占用等级,所述带宽占用等级包括USB端点内存大小和HID中断传输间隔毫秒。
比如,为第二带宽配置中的端点描述符(endpoint descriptor)设置不同级别的wMaxPacketSize(usb端点内存大小)和bInterval(HID中断传输间隔毫秒)用以申请不同级别的带宽占用等级,具体可以如下:
可以将第二带宽配置设置6个级别的带宽占用等级,具体如下:
等级1:bInterval为1毫秒间隔,wMaxPacketSize大小为512字节大小;
等级2:bInterval为2毫秒间隔,wMaxPacketSize大小为256字节大小;
等级3:bInterval为3毫秒间隔,wMaxPacketSize大小为128字节大小;
等级4:bInterval为4毫秒间隔,wMaxPacketSize大小为64字节大小;
等级5:bInterval为6毫秒间隔,wMaxPacketSize大小为32字节大小;
等级6:bInterval为8毫秒间隔,wMaxPacketSize大小为16字节大小。
在一较佳实施例中,所述方法还包括:
步骤60、对上层应用提供控制接口,所述控制接口用于接收更改带宽占用等级的命令,然后根据所述命令,调整HID从设备的带宽占用等级为指定带宽占用等级。
通过向上层应用提供控制接口,可以实现对HID从设备进行主动调整,进一步满足实际应用需求。比如,当前HID从设备无需较大带宽时,可以通过控制接口降低HID从设备的带宽占用等级,从而节省上位机的带宽资源,为接入其它从设备提供便利。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
在本实施例中提供了一种HID从设备USB带宽自适应调整装置,如图2所示,包括:协议带宽注册模块、带宽占用等级配置模块、默认连接模块、连接判断模块以及自动调整模块;
所述协议带宽注册模块,用于在HID从设备的驱动中分别注册USB1.1协议对应的第一带宽配置,USB2.0协议对应的第二带宽配置和USB3.0协议对应的第三带宽配置;
所述带宽占用等级配置模块,用于为第二带宽配置设置多个级别的带宽占用等级,为每一级别的带宽占用等级设定一带宽值;
所述默认连接模块,用于HID从设备与上位机按一指定带宽值进行连接;
所述连接判断模块,用于判断HID从设备与上位机的连接情况,当带宽资源被其它从设备抢占导致连接失败时,进入步骤50;当HID从设备与上位机的连接成功时,配置结束;
所述自动调整模块,用于判断当前带宽配置和当前带宽占用等级,若当前带宽占用等级不是当前带宽配置的最低带宽占用等级,则降低到下一级带宽占用等级,再重新与上位机连接,然后回到连接判断模块;若当前带宽占用等级为当前带宽配置的最低带宽占用等级,则将当前带宽配置降低为更低级别的带宽配置,再重新与上位机连接,然后回到连接判断模块;若当前带宽配置为第一带宽配置,且当前带宽占用等级为第一带宽配置的最低带宽占用等级时,连接失败。
进一步的,所述所述带宽占用等级配置模块具体用于:为第二带宽配置的端点描述符设置多个级别的带宽占用等级,所述带宽占用等级包括USB端点内存大小和HID中断传输间隔毫秒。
优选的,所述装置还包括:手动调整模块;
所述手动调整模块,用于对上层应用提供控制接口,所述控制接口用于接收更改带宽占用等级的命令,然后根据所述命令,调整HID从设备的带宽占用等级为指定带宽占用等级。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备,如图3所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质,如图4所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
实施例五
请参考图5,在一具体应用场景中,提供一种HID从设备USB带宽自适应调整方法,主要步骤如下:
1、在驱动中划分不同带宽占用等级:
1)首先给HID从设备的驱动配置不同的USB协议,通常情况需要指定FS(FullSpeed)配置(即第一带宽配置)作为USB1.1的配置以及指定HS(HighSpeed)配置(即第二带宽配置)作为USB2.0的配置,还可以指定SS(SuperSpeed)配置(即第三带宽配置)作为USB3.0协议的配置,但是该场景使用非常少,因为HID的中断传输速度在USB2.0协议下就可以完全被满足;
2)分别对HS配置以及SS配置中的端点描述符(endpoint descriptor)设置不同级别的wMaxPacketSize(USB端点内存大小)和bInterval(HID中断传输间隔毫秒)用以申请不同级别的带宽占用等级,比如:
并且在该HID从设备的in usb端点或者out usb端点描述符初始化的时候,暂时不给wMaxPacketSize大小和bInterval中断间隔时间赋值,将这些设置留作后续确定带宽占用等级后,再根据不同等级定义不同级别的值。
hidg_hs_in_ep_desc.wMaxPacketSize=
cpu_to_le16((gHidBandwidthCfg&0x0000ffff)>0?(gHidBandwidthCfg&0x0000ffff):HID_HS_EP_DEF_PACK_SIZE);
hidg_hs_out_ep_desc.wMaxPacketSize=
cpu_to_le16((gHidBandwidthCfg&0x0000ffff)>0?(gHidBandwidthCfg&0x0000ffff):HID_HS_EP_DEF_PACK_SIZE);
为了方便说明,可以将bInterval都设置为间隔1毫秒,bInterval和wMaxPacketSize属性都可以更具实际需求更细致的划分,wMaxPacketSize可以分别等于512/256/128/64/32/16/8个字节的大小。另外需要指出的是,FS配置本身占用带宽就很低,USB1.1的理论带宽只有12M,可以不用进行等级划分,固定一组参数。在usb3.0模式下,理论带宽有5G,远远大于HID的最大允许配置的值所消耗的带宽,所以不需要分等级。
3)根据上述等级划分,对上层应用提供接口,实现人为可干预,调整HID从设备的带宽占用等级:
驱动层可以通过提供sysfs接口、proc接口或者ioctrl命令接口等方式,对上层应用和用户提供控制接口,具体如下:
收到等级1命令:切换bInterval为1毫秒间隔,wMaxPacketSize大小为512字节大小;
收到等级2命令:切换bInterval为2毫秒间隔,wMaxPacketSize大小为256字节大小;
收到等级3命令:切换bInterval为3毫秒间隔,wMaxPacketSize大小为128字节大小;
收到等级4命令:切换bInterval为4毫秒间隔,wMaxPacketSize大小为64字节大小;
收到等级5命令:切换bInterval为6毫秒间隔,wMaxPacketSize大小为32字节大小;
收到等级6命令:切换bInterval为8毫秒间隔,wMaxPacketSize大小为16字节大小;
收到等级7命令:切换bInterval为10毫秒间隔,wMaxPacketSize大小为8字节大小;
以上2)和3)的流程设置过后,都需要重置USB控制器使配置生效,这个过程中HID从设备会被上位机重新枚举。
2.根据实际连接情况动态调整HID带宽申请:
1)HID从设备的驱动需要设置一个默认开启后的带宽申请级别,通常为了传输效率默认为最高带宽占用等级;
2)根据HID从设备实际与上位机的连接情况,看是否需要降低带宽级别,可以分为两种情况:
a.HID从设备(即业务终端)自身无法与上位机连接成功,资源被其他设备抢占;
b.HID从设备(即业务终端)可以与的上位机连接成功,但是其他设备无法连接成功,带宽被业务终端抢占。
针对情况a,可以在业务终端系统中,通过判断USB控制器的连接状态是否为Configed来判定HID从设备是否成功被上位机枚举连接,如果没有,则尝试逐级降低带宽配置等级来继续尝试,直到成功为止。
针对情况b,业务终端可以通过串口或者其他方式,接收更改带宽占用等级的命令,该命令可以由上位机或者其他外设发出,从而达到HID从设备带宽占用等级被动可修改的目的。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:本申请实施例提供的方法、装置、设备及介质,通过在HID终端从设备的底层驱动中加入带宽等级分级筛选逻辑,实现自动对HID带宽资源占用调整,有效的减少了机构上位机连接多台HID外设时候的资源抢占冲突;无需额外安装定制化驱动,或者针对性开发不同的软件版本,实现方便且成本不高;通过向上层应用提供控制接口,可以实现对HID从设备进行主动调整,进一步满足实际应用需求。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (8)
1.一种HID从设备USB带宽自适应调整方法,其特征在于,包括:
步骤10、在HID从设备的驱动中分别注册USB1.1协议对应的第一带宽配置,USB2.0协议对应的第二带宽配置和USB3.0协议对应的第三带宽配置;
步骤20、为第二带宽配置设置多个级别的带宽占用等级,为每一级别的带宽占用等级设定一带宽值;
步骤30、HID从设备与上位机按一指定带宽值进行连接;
步骤40、判断HID从设备与上位机的连接情况,当带宽资源被其它从设备抢占导致连接失败时,进入步骤50;当HID从设备与上位机的连接成功时,配置结束;
步骤50、判断当前带宽配置和当前带宽占用等级,若当前带宽占用等级不是当前带宽配置的最低带宽占用等级,则降低到下一级带宽占用等级,再重新与上位机连接,然后回到步骤40;若当前带宽占用等级为当前带宽配置的最低带宽占用等级,则将当前带宽配置降低为更低级别的带宽配置,再重新与上位机连接,然后回到步骤40;若当前带宽配置为第一带宽配置,且当前带宽占用等级为第一带宽配置的最低带宽占用等级时,连接失败。
2.根据权利要求1所述的方法,其特征在于,所述步骤20具体为:
为第二带宽配置的端点描述符设置多个级别的带宽占用等级,所述带宽占用等级包括USB端点内存大小和HID中断传输间隔毫秒。
3.根据权利要求1所述的方法,其特征在于:所述方法还包括:
步骤60、对上层应用提供控制接口,所述控制接口用于接收更改带宽占用等级的命令,然后根据所述命令,调整HID从设备的带宽占用等级为指定带宽占用等级。
4.一种HID从设备USB带宽自适应调整装置,其特征在于,包括:协议带宽注册模块、带宽占用等级配置模块、默认连接模块、连接判断模块以及自动调整模块;
所述协议带宽注册模块,用于在HID从设备的驱动中分别注册USB1.1协议对应的第一带宽配置,USB2.0协议对应的第二带宽配置和USB3.0协议对应的第三带宽配置;
所述带宽占用等级配置模块,用于为第二带宽配置设置多个级别的带宽占用等级,为每一级别的带宽占用等级设定一带宽值;
所述默认连接模块,用于HID从设备与上位机按一指定带宽值进行连接;
所述连接判断模块,用于判断HID从设备与上位机的连接情况,当带宽资源被其它从设备抢占导致连接失败时,进入步骤50;当HID从设备与上位机的连接成功时,配置结束;
所述自动调整模块,用于判断当前带宽配置和当前带宽占用等级,若当前带宽占用等级不是当前带宽配置的最低带宽占用等级,则降低到下一级带宽占用等级,再重新与上位机连接,然后回到连接判断模块;若当前带宽占用等级为当前带宽配置的最低带宽占用等级,则将当前带宽配置降低为更低级别的带宽配置,再重新与上位机连接,然后回到连接判断模块;若当前带宽配置为第一带宽配置,且当前带宽占用等级为第一带宽配置的最低带宽占用等级时,连接失败。
5.根据权利要求4所述的装置,其特征在于:所述所述带宽占用等级配置模块具体用于:为第二带宽配置的端点描述符设置多个级别的带宽占用等级,所述带宽占用等级包括USB端点内存大小和HID中断传输间隔毫秒。
6.根据权利要求5所述的装置,其特征在于:所述装置还包括:手动调整模块;
所述手动调整模块,用于对上层应用提供控制接口,所述控制接口用于接收更改带宽占用等级的命令,然后根据所述命令,调整HID从设备的带宽占用等级为指定带宽占用等级。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010559315.5A CN111897756B (zh) | 2020-06-18 | 2020-06-18 | 一种hid从设备usb带宽自适应调整方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010559315.5A CN111897756B (zh) | 2020-06-18 | 2020-06-18 | 一种hid从设备usb带宽自适应调整方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111897756A true CN111897756A (zh) | 2020-11-06 |
CN111897756B CN111897756B (zh) | 2022-07-08 |
Family
ID=73206866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010559315.5A Active CN111897756B (zh) | 2020-06-18 | 2020-06-18 | 一种hid从设备usb带宽自适应调整方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897756B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020144033A1 (en) * | 2001-03-28 | 2002-10-03 | Ragland Daniel J. | Method and apparatus to maximize bandwidth availability to USB devices |
US6618776B1 (en) * | 2002-08-15 | 2003-09-09 | Logitech Europe, S.A. | USB bandwidth monitor |
CN1828566A (zh) * | 2006-04-07 | 2006-09-06 | 北京中星微电子有限公司 | 一种usb设备等时传输模式下带宽分配系统及方法 |
CN101676890A (zh) * | 2008-08-15 | 2010-03-24 | 北京北大众志微系统科技有限责任公司 | 一种动态调整带宽分配的总线仲裁方法及仲裁器 |
US20110022769A1 (en) * | 2009-07-26 | 2011-01-27 | Cpo Technologies Corporation | Translation USB Intermediate Device and Data Rate Apportionment USB Intermediate Device |
WO2015131692A1 (zh) * | 2014-09-17 | 2015-09-11 | 中兴通讯股份有限公司 | 一种带宽分配方法及装置 |
-
2020
- 2020-06-18 CN CN202010559315.5A patent/CN111897756B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020144033A1 (en) * | 2001-03-28 | 2002-10-03 | Ragland Daniel J. | Method and apparatus to maximize bandwidth availability to USB devices |
US6618776B1 (en) * | 2002-08-15 | 2003-09-09 | Logitech Europe, S.A. | USB bandwidth monitor |
CN1828566A (zh) * | 2006-04-07 | 2006-09-06 | 北京中星微电子有限公司 | 一种usb设备等时传输模式下带宽分配系统及方法 |
CN101676890A (zh) * | 2008-08-15 | 2010-03-24 | 北京北大众志微系统科技有限责任公司 | 一种动态调整带宽分配的总线仲裁方法及仲裁器 |
US20110022769A1 (en) * | 2009-07-26 | 2011-01-27 | Cpo Technologies Corporation | Translation USB Intermediate Device and Data Rate Apportionment USB Intermediate Device |
WO2015131692A1 (zh) * | 2014-09-17 | 2015-09-11 | 中兴通讯股份有限公司 | 一种带宽分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111897756B (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966500B (zh) | 资源调度方法、装置、电子设备及存储介质 | |
EP0362107A2 (en) | Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network | |
US7904691B2 (en) | Autonomically adjusting one or more computer program configuration settings when resources in a logical partition change | |
EP2863304B1 (en) | Allocation method for central processing unit resources and computation node | |
CN100541600C (zh) | 动态多显示器配置 | |
EP0366581A2 (en) | Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network | |
CN108462760A (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
CN113127194B (zh) | 一种管理芯片资源自适应分配方法、装置及介质 | |
CN112486642B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN112433596B (zh) | 链路宽度调节方法、装置、设备和存储介质 | |
EP1530757B1 (en) | Usb device | |
CN111190719B (zh) | 优化集群资源分配的方法、装置、介质及电子设备 | |
CN111897756B (zh) | 一种hid从设备usb带宽自适应调整方法、装置、设备和介质 | |
US6598105B1 (en) | Interrupt arbiter for a computing system | |
JP2002529850A (ja) | システムにおける要求のスケジューリング | |
CN114816766B (zh) | 一种计算资源分配方法及其相关组件 | |
US20050223383A1 (en) | Methods and apparatus for reserving an execution thread | |
CN110401939A (zh) | 一种低功耗蓝牙控制器链路层装置 | |
CN114911538A (zh) | 一种运行系统的启动方法及计算设备 | |
CN114546908A (zh) | 总线带宽自适应单元、方法及芯片 | |
CN110365839B (zh) | 关机方法、装置、介质及电子设备 | |
CN113805859A (zh) | 一种智慧屏中间件设计的方法、系统及介质 | |
CN110489358B (zh) | 一种交互控制方法及设备系统 | |
CN115277842B (zh) | 一种多分区网管下沉通信方法 | |
CN109982136A (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Mengzhou Inventor after: Wang Maosen Inventor after: Shao Tongxi Inventor after: Deng Jianping Inventor before: Liu Mengzhou Inventor before: Wang Maosen Inventor before: Shao Tongxi Inventor before: Deng Jianping |
|
CB03 | Change of inventor or designer information |