CN115202459A - 枚举操作控制方法、装置、计算机设备和可读存储介质 - Google Patents
枚举操作控制方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN115202459A CN115202459A CN202210535578.1A CN202210535578A CN115202459A CN 115202459 A CN115202459 A CN 115202459A CN 202210535578 A CN202210535578 A CN 202210535578A CN 115202459 A CN115202459 A CN 115202459A
- Authority
- CN
- China
- Prior art keywords
- port
- host system
- target
- reset
- enumeration operation
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请涉及枚举操作控制方法、装置、计算机设备和计算机可读存储介质,通过基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在目标端口上的下行端口设备作为目标设备,控制主机系统向目标设备发送复位信号,并与目标设备之间进行枚举操作。本申请通过控制主机系统基于预设的复位顺序向USB HUB各端口发送复位信号,以实现按顺序对各个下行端口设备进行复位,有效实现对USB HUB的下行端口设备的枚举操作进行准确控制。
Description
技术领域
本申请涉及电子技术领域,特别是涉及一种枚举操作控制方法、装置、计算机设备和计算机可读存储介质。
背景技术
自从1995年USB(Universal Serial Bus,通用串行总线)诞生以来,经过多年的发展,版本已经更新到USB4.0。作为一种通用串行总线,越来越受到人们的青睐。主机系统一般需要通过USB HUB来扩展USB接口,使得主机系统可以连接更多的功能设备。因此USB HUB广泛应用在携式计算机、智能电视、家庭娱乐中心、教学一体机等多媒体。在主机系统开机或者重启过程中,或在主机系统切换系统后,通过USB HUB与主机系统连接的各功能设备需要与主机系统之间进行枚举操作,以便主机系统与各功能设备之间进行通信。
现有技术中,在主机系统开机或者重启过程中,或在主机系统切换系统后,与USBHUB的下行端口连接的各个设备会同时向主机系统发送交互信息,以和主机系统进行枚举操作,然而由于主机系统硬件设计限制及USB协议特征,其中一个设备Handshake(握手)时,其余设备需要等待主机系统发起Handshake,有些设备等待时间过长,会进入Recovery/Error模式,在主机系统发起Handshake时,设备可能无法及时有效回复,造成当前设备枚举操作失败,从而主机系统无法识别当前设备以及无法和当前设备进行通信,导致现有技术存在无法对USB HUB的下行端口设备的枚举操作进行准确控制。
发明内容
基于此,有必要针对上述技术问题,提供一种枚举操作控制方法、装置、计算机设备和计算机可读存储介质,以解决相关技术中存在的无法对USB HUB的下行端口设备的枚举操作进行准确控制的问题。
第一个方面,本申请实施例了一种枚举操作控制方法,用于对主机系统和下行端口设备之间的枚举操作进行控制,其中,所述主机系统与USB HUB的上行端口连接,所述下行端口设备与所述USB HUB的下行端口连接;所述方法包括以下步骤:
基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;
在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在所述目标端口上的下行端口设备作为目标设备,控制所述主机系统向所述目标设备发送复位信号,并与所述目标设备之间进行枚举操作。
在其中一些实施例中,在所述基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号之前,所述方法还包括:
基于所述USB HUB的固件信息,获取所述预设的复位顺序。
在其中一些实施例中,所述控制所述主机系统与所述目标设备之间进行枚举操作,包括以下步骤:
控制所述主机系统通过所述目标设备的配置描述符,获取所述目标设备的物理信息,并对所述目标设备的物理信息进行保存;所述物理信息包括厂商信息、功能信息和地址信息。
在其中一些实施例中,在所述控制所述主机系统向所述目标设备发送复位信号之前,所述方法还包括:
在当前所述主机系统保存有与所述目标端口对应的下行端口设备的物理信息的情况下,比对当前所述主机系统保存的与所述目标端口对应的下行端口设备的物理信息与所述USB HUB保存的与所述目标端口对应的下行端口设备的物理信息是否一致;
若一致,则结束当前所述主机系统与当前连接在所述目标端口上的下行端口设备之间的枚举操作。
在其中一些实施例中,在控制所述主机系统向所述目标设备发送复位信号之后,在所述控制所述主机系统与所述目标设备之间进行枚举操作之前,所述方法还包括:
若未获取到所述目标设备对所述复位信号的回复,则结束所述主机系统与所述目标设备之间的枚举操作。
在其中一些实施例中,所述方法还包括:
通过系统管理总线信号或SPI总线信号对所述USB HUB的固件信息进行更新。
在其中一些实施例中,所述方法还包括:
控制主机系统通过GPIO总线接口或者IIC总线接口获取所述目标设备的枚举操作进度。
第二个方面,本申请实施例了一种枚举操作控制装置,用于对主机系统和下行端口设备之间的枚举操作进行控制,其中,所述主机系统与USB HUB的上行端口连接,所述下行端口设备与所述USB HUB的下行端口连接;所述装置包括确定模块、控制模块;
所述确定模块,用于基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;
所述控制模块,用于在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在所述目标端口上的下行端口设备作为目标设备,控制所述主机系统向所述目标设备发送复位信号,并与所述目标设备之间进行枚举操作。
第三个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述方法的步骤。
第四个方面,在本实施例中提供了计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一个方面所述的方法的步骤。
上述枚举操作控制方法、装置、计算机设备和计算机可读存储介质,用于对主机系统和下行端口设备之间的枚举操作进行控制,其中,主机系统与USB HUB的上行端口连接,下行端口设备与USB HUB的下行端口连接;基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在目标端口上的下行端口设备作为目标设备,控制主机系统向目标设备发送复位信号,并与目标设备之间进行枚举操作。本申请通过控制主机系统基于预设的复位顺序向USB HUB各端口发送复位信号,以实现按顺序对各个下行端口设备进行复位,进而精确控制各个下行端口设备按顺序与主机系统之间进行枚举操作,保证所有下行端口设备与主机系统之间的枚举操作都能顺利完成,有效实现对USB HUB的下行端口设备的枚举操作进行准确控制。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的枚举操作控制方法的流程图;
图2是现有的主机系统应用架构示意图;
图3是本申请实施例提供的主机系统应用架构示意图;
图4根据本申请实施例提供的枚举操作控制装置的结构示意图;
图5根据本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
在主机系统开机或者重启过程中,或在主机系统切换系统后,通过USB HUB与主机系统连接的各下行端口设备需要与主机系统之间进行枚举操作,以便主机系统与各下行端口设备之间进行通信。
本实施例提供了一种枚举操作控制方法,用于对主机系统和下行端口设备之间的枚举操作进行控制,其中,主机系统与USB HUB的上行端口连接,下行端口设备与USB HUB的下行端口连接,本申请枚举操作控制方法包括以下步骤:
步骤S210,基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号。
具体地,预设的复位顺序可以根据需求进行调整。通常,USB HUB包含多个下行端口,每个下行端口都可以接入一个下行端口设备。当然,USB HUB也可能存在空闲的下行端口,该空闲的下行端口未接入任何设备,所以预设的复位顺序指定USB HUB的一个或者多个下行端口的复位顺序。例如,USB HUB有四个下行端口,各下行端口对应的编号为1、2、3和4,预设的复位顺序可以与USB HUB的下行端口顺序相同,复位顺序分别为下行端口1-4;又或者,复位顺序与USB HUB的下行端口顺序不同,复位顺序分别为下行端口3、1、4、2。基于预设的复位顺序,即可依次一个个确定当前需要进行复位的下行端口设备的端口号。
步骤S220,在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在目标端口上的下行端口设备作为目标设备,控制主机系统向目标设备发送复位信号,并与目标设备之间进行枚举操作。
如上所述,假设预设的复位顺序是下行端口3、1、4、2,且确定了当前需要进行复位的下行端口设备的端口号为3,那么就将当前需要进行复位的下行端口设备的端口号3对应的第3端口,作为目标端口,以及将连接在第3端口上的下行端口设备作为目标设备,此时就控制主机系统向连接在第3端口上的下行端口设备发送复位信号,以使连接在第3端口上的下行端口设备进入枚举就绪的状态,并控制主机系统与目标设备之间进行枚举操作。在控制主机与连接在第3端口上的下行端口设备之间的枚举操作完成之后,则继续确定当前需要进行复位的下行端口设备的端口号为1,然后继续控制主机系统向连接在第1端口上的下行端口设备发送复位信号,以使连接在第1端口上的下行端口设备进入枚举就绪的状态,并控制主机系统与连接在第1端口上的下行端口设备之间进行枚举操作。同理,基于预设的复位顺序,依次完成主机系统和各下行端口设备之间枚举操作,直至完成主机系统和所有下行端口设备之间枚举操作。
作为其中一种实施方式,在控制主机系统与目标设备之间进行枚举操作的过程中,可以控制主机系统通过GPIO(General Purpose Input/Output Ports,通用I/O端口)总线接口或者IIC(Inter Integrated Circuit,集成电路)总线接口获取目标设备的枚举操作进度,从而了解主机系统与目标设备之间进行枚举操作是否完成,进一步对USB HUB的下行端口设备的枚举操作进行准确控制。
现有技术中,在主机系统开机或者重启过程中,或在主机系统切换系统后,与USBHUB的下行端口连接的各个设备会同时向主机系统发送交互信息,以和主机系统进行枚举操作,然而由于主机系统硬件设计限制及USB协议特征,其中一个设备Handshake(握手)时,其余设备需要等待主机系统发起Handshake,有些设备等待时间过长,会进入Recovery/Error模式,在主机系统发起Handshake时,设备可能无法及时有效回复,造成当前设备枚举操作失败,从而主机系统无法识别当前设备以及无法和当前设备进行通信,导致现有技术存在无法对USB HUB的下行端口设备的枚举操作进行准确控制。
为了解决上述问题,本申请提出一种枚举操作控制方法,基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在目标端口上的下行端口设备作为目标设备,控制主机系统向目标设备发送复位信号,并与目标设备之间进行枚举操作。本申请通过控制主机系统基于预设的复位顺序向USB HUB各端口发送复位信号,以实现按顺序对各个下行端口设备进行复位,进而精确控制各个下行端口设备按顺序与主机系统之间进行枚举操作,保证所有下行端口设备与主机系统之间的枚举操作都能顺利完成,有效实现对USB HUB的下行端口设备的枚举操作进行准确控制。
在其中一个实施例中,在步骤S210基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号之前,枚举操作控制方法还包括:
步骤S200,基于USB HUB的固件信息,获取预设的复位顺序。
具体地,预设的复位顺序可以保存在USB HUB的固件当中,在本实施例中,即可基于USB HUB的固件信息,获取预设的复位顺序。
更进一步地,作为其中一种实施方式,可以通过系统管理总线信号或SPI(SerialPeripheral Interface,串行外设接口)总线信号对USB HUB的固件信息进行更新,进而改变固件保存的预设的复位顺序。此外,还可以通过对固件所在芯片进行烧录,进而对USBHUB的固件信息进行更新。
在其中一个实施例中,上述步骤S220控制主机系统与目标设备之间进行枚举操作,包括以下步骤:
步骤S221,控制主机系统通过目标设备的配置描述符,获取目标设备的物理信息,并对目标设备的物理信息进行保存;物理信息包括厂商信息、功能信息和地址信息。
具体地,在主机系统和下行端口设备之间进行枚举操作,就是为了让主机系统能够识别下行端口设备的物理信息,从而实现主机系统与下行端口设备之间进行通信。所以在控制主机系统与目标设备之间进行枚举操作的过程中,可以控制主机系统通过目标设备的配置描述符,获取目标设备的物理信息,并对目标设备的物理信息进行保存,以便主机系统能够识别目标设备的物理信息。
更进一步地,在其中一个实施例中,在步骤S220控制主机系统向目标设备发送复位信号之前,枚举操作控制方法还包括以下步骤:
在当前主机系统保存有与目标端口对应的下行端口设备的物理信息的情况下,比对当前主机系统保存的与目标端口对应的下行端口设备的物理信息与USB HUB保存的与目标端口对应的下行端口设备的物理信息是否一致;
若一致,则结束当前主机系统与当前连接在目标端口上的下行端口设备之间的枚举操作。
具体地,某些设备存在多个硬件主机系统,例如日常使用的电脑会分别安装windows7系统和windows10系统,虽然多个主机系统对USB HUB及连接在USB HUB的下行端口上的下行端口设备为共用形式,但USB HUB及下行端口设备只能受一个系统控制,系统切换过程就涉及到USB HUB的硬件主控切换。若主机系统为双系统或者多系统,在主机系统切换系统后,就需要在切换后的主机系统和下行端口设备之间进行枚举操作,以便切换后的主机系统能够识别下行端口设备的物理信息,从而实现切换后的主机系统与下行端口设备之间进行通信。
以主机系统为双系统为例,假设双系统分别为CPU1和CPU2,假设主机系统从CPU1切换到CPU2,基于预设的复位顺序,确定当前需要进行复位的下行端口设备的端口号为3,且CPU2保存有与第3端口对应的下行端口设备的物理信息,则说明主机系统在这次切换到CPU2之前曾经也切换到CPU2,且从上次切换到CPU2到这次切换到CPU2,主机系统未断电,这样CPU2才能保存有下行端口设备的物理信息。此外,由于USB HUB保存的下行端口设备的物理信息是实时更新的,即USB HUB只保存最新一次进行枚举操作所获取的下行端口设备的物理信息。那么在CPU2保存的与第3端口对应的下行端口设备的物理信息与USB HUB保存的与第3端口对应的下行端口设备的物理信息一致的情况下,说明从上次切换到CPU2到这次切换到CPU2,第3端口连接的下行端口设备未改变,即可确定CPU2已经保存了第3端口当前连接的下行端口设备的物理信息,CPU2就不需要与第3端口对应的下行端口设备重新进行枚举操作,则可结束CPU2与当前连接在第3端口上的下行端口设备之间的枚举操作,通过此方式,可有效减少不必要的枚举操作,避免重复工作,有效提高枚举操作效率。
作为其中一种实施方式,在上述步骤控制主机系统向目标设备发送复位信号之后,在上述步骤控制主机系统与目标设备之间进行枚举操作之前,枚举操作控制方法还包括以下步骤:
若未获取到目标设备对复位信号的回复,则结束主机系统与目标设备之间的枚举操作。
具体地,若未获取到目标设备对复位信号的回复,则说明目标设备不在位,即当前目标端口连接的设备未上电或者当前目标端口未连接下行端口设备,则可结束主机系统与目标设备之间的枚举操作,有效避免无效枚举操作造成的系统资源浪费。
另外,需要说明的是,现有技术中一般使用MUX(Multiplexer,选通开关)进行主机系统的切换,以主机系统为双系统,双系统分别为CPU1和CPU2为例,图2为现有技术中主机系统应用架构示意图。如图2所示,当主机系统切换后,为实现USB HUB和USB HUB下行端口设备的主控切换,MUX完成USB HUB主控的切换,切换后的主机系统和下行端口设备根据复位顺序逐个进行枚举。作为本申请其中的一种实施方式,可以将MUX集成在USB HUB中,使USB HUB具备数据选通功能,实现在主机系统切换后,USB HUB和USB HUB下行端口设备的主控切换。
图3为本申请实施例提供的主机系统应用架构示意图,带数据选通功能的USB HUB工作在探测模式,用户可以通过显示界面或者手持遥控器进行主机系统的切换。当主机系统切换后,切换后的主机系统可以通过一个数字电平管脚(1,0区分双系统)或者一个通讯接口(包括但不限于UART,I2C等)向USB HUB发送一个侦测信号,当USB HUB探测到此侦测信号,首先USB HUB内部集成的MUX完成USB HUB主控的切换,切换后的主机系统和下行端口设备根据复位顺序逐个进行枚举。
图4是根据本发明实施例中枚举操作控制装置的示意图,如图4所示,提供了一种枚举操作控制装置30,用于对主机系统和下行端口设备之间的枚举操作进行控制,其中,主机系统与USB HUB的上行端口连接,下行端口设备与USB HUB的下行端口连接。枚举操作控制装置30包括:确定模块31和控制模块32。
其中,确定模块31,用于基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;
控制模块32,用于在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在目标端口上的下行端口设备作为目标设备,控制主机系统向目标设备发送复位信号,并与目标设备之间进行枚举操作。
上述枚举操作控制装置30,通过基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在目标端口上的下行端口设备作为目标设备,控制主机系统向目标设备发送复位信号,并与目标设备之间进行枚举操作。本申请通过控制主机系统基于预设的复位顺序向USB HUB各端口发送复位信号,以实现按顺序对各个下行端口设备进行复位,进而精确控制各个下行端口设备按顺序与主机系统之间进行枚举操作,保证所有下行端口设备与主机系统之间的枚举操作都能顺利完成,有效实现对USB HUB的下行端口设备的枚举操作进行准确控制。
在其中一个实施例中,枚举操作控制装置30还包括第一获取模块,在基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号之前,用于基于USB HUB的固件信息,获取预设的复位顺序。
在其中一个实施例中,控制模块32还用于控制主机系统通过目标设备的配置描述符,获取目标设备的物理信息,并对目标设备的物理信息进行保存;物理信息包括厂商信息、功能信息和地址信息。
在其中一个实施例中,枚举操作控制装置30还包括比对模块,在控制主机系统向目标设备发送复位信号之前,用于在当前主机系统保存有与目标端口对应的下行端口设备的物理信息的情况下,比对当前主机系统保存的与目标端口对应的下行端口设备的物理信息与USB HUB保存的与目标端口对应的下行端口设备的物理信息是否一致;若一致,则结束当前主机系统与当前连接在目标端口上的下行端口设备之间的枚举操作。
在其中一个实施例中,枚举操作控制装置30还包括复位确认模块,在控制主机系统向目标设备发送复位信号之后,在控制主机系统与目标设备之间进行枚举操作之前,用于若未获取到目标设备对复位信号的回复,则结束主机系统与目标设备之间的枚举操作。
在其中一个实施例中,枚举操作控制装置30还包括更新模块,用于通过系统管理总线信号或SPI总线信号对USB HUB的固件信息进行更新。
在其中一个实施例中,枚举操作控制装置30还包括第二获取模块,用于控制主机系统通过GPIO总线接口或者IIC总线接口获取目标设备的枚举操作进度。
需要说明地是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件实现,也可以通过硬件来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设配置信息集合。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述枚举操作控制方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种枚举操作控制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;
在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在目标端口上的下行端口设备作为目标设备,控制主机系统向目标设备发送复位信号,并与目标设备之间进行枚举操作。
在一个实施例中,在基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号之前,处理器执行计算机程序时还实现以下步骤:
基于USB HUB的固件信息,获取预设的复位顺序。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
控制主机系统通过目标设备的配置描述符,获取目标设备的物理信息,并对目标设备的物理信息进行保存;物理信息包括厂商信息、功能信息和地址信息。
在一个实施例中,在控制主机系统向目标设备发送复位信号之前,处理器执行计算机程序时还实现以下步骤:
在当前主机系统保存有与目标端口对应的下行端口设备的物理信息的情况下,比对当前主机系统保存的与目标端口对应的下行端口设备的物理信息与USB HUB保存的与目标端口对应的下行端口设备的物理信息是否一致;
若一致,则结束当前主机系统与当前连接在目标端口上的下行端口设备之间的枚举操作。
在一个实施例中,在控制主机系统向目标设备发送复位信号之后,在控制主机系统与目标设备之间进行枚举操作之前,处理器执行计算机程序时还实现以下步骤:
若未获取到目标设备对复位信号的回复,则结束主机系统与目标设备之间的枚举操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过系统管理总线信号或SPI总线信号对USB HUB的固件信息进行更新。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
控制主机系统通过GPIO总线接口或者IIC总线接口获取目标设备的枚举操作进度。
上述存储介质,通过基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在目标端口上的下行端口设备作为目标设备,控制主机系统向目标设备发送复位信号,并与目标设备之间进行枚举操作。本申请通过控制主机系统基于预设的复位顺序向USB HUB各端口发送复位信号,以实现按顺序对各个下行端口设备进行复位,进而精确控制各个下行端口设备按顺序与主机系统之间进行枚举操作,保证所有下行端口设备与主机系统之间的枚举操作都能顺利完成,有效实现对USB HUB的下行端口设备的枚举操作进行准确控制。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种枚举操作控制方法,用于对主机系统和下行端口设备之间的枚举操作进行控制,其中,所述主机系统与USB HUB的上行端口连接,所述下行端口设备与所述USB HUB的下行端口连接;其特征在于,所述方法包括以下步骤:
基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;
在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在所述目标端口上的下行端口设备作为目标设备,控制所述主机系统向所述目标设备发送复位信号,并与所述目标设备之间进行枚举操作。
2.根据权利要求1所述的枚举操作控制方法,其特征在于,在所述基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号之前,所述方法还包括:
基于所述USB HUB的固件信息,获取所述预设的复位顺序。
3.根据权利要求1所述的枚举操作控制方法,其特征在于,所述控制所述主机系统与所述目标设备之间进行枚举操作,包括以下步骤:
控制所述主机系统通过所述目标设备的配置描述符,获取所述目标设备的物理信息,并对所述目标设备的物理信息进行保存;所述物理信息包括厂商信息、功能信息和地址信息。
4.根据权利要求3所述的枚举操作控制方法,其特征在于,在所述控制所述主机系统向所述目标设备发送复位信号之前,所述方法还包括:
在当前所述主机系统保存有与所述目标端口对应的下行端口设备的物理信息的情况下,比对当前所述主机系统保存的与所述目标端口对应的下行端口设备的物理信息与所述USB HUB保存的与所述目标端口对应的下行端口设备的物理信息是否一致;
若一致,则结束当前所述主机系统与当前连接在所述目标端口上的下行端口设备之间的枚举操作。
5.根据权利要求1所述的枚举操作控制方法,其特征在于,在控制所述主机系统向所述目标设备发送复位信号之后,在所述控制所述主机系统与所述目标设备之间进行枚举操作之前,所述方法还包括:
若未获取到所述目标设备对所述复位信号的回复,则结束所述主机系统与所述目标设备之间的枚举操作。
6.根据权利要求2所述的枚举操作控制方法,其特征在于,所述方法还包括:
通过系统管理总线信号或SPI总线信号对所述USB HUB的固件信息进行更新。
7.根据权利要求1所述的枚举操作控制方法,其特征在于,所述方法还包括:
控制主机系统通过GPIO总线接口或者IIC总线接口获取所述目标设备的枚举操作进度。
8.一种枚举操作控制装置,用于对主机系统和下行端口设备之间的枚举操作进行控制,其中,所述主机系统与USB HUB的上行端口连接,所述下行端口设备与所述USB HUB的下行端口连接;其特征在于,所述装置包括确定模块、控制模块;
所述确定模块,用于基于预设的复位顺序,依次确定当前需要进行复位的下行端口设备的端口号;
所述控制模块,用于在确定了当前需要进行复位的下行端口设备的端口号后,将当前需要进行复位的下行端口设备的端口号对应的端口,作为目标端口,以及将连接在所述目标端口上的下行端口设备作为目标设备,控制所述主机系统向所述目标设备发送复位信号,并与所述目标设备之间进行枚举操作。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210535578.1A CN115202459A (zh) | 2022-05-17 | 2022-05-17 | 枚举操作控制方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210535578.1A CN115202459A (zh) | 2022-05-17 | 2022-05-17 | 枚举操作控制方法、装置、计算机设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115202459A true CN115202459A (zh) | 2022-10-18 |
Family
ID=83574382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210535578.1A Pending CN115202459A (zh) | 2022-05-17 | 2022-05-17 | 枚举操作控制方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115202459A (zh) |
-
2022
- 2022-05-17 CN CN202210535578.1A patent/CN115202459A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5065297B2 (ja) | Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス | |
US10126954B1 (en) | Chipset and server system using the same | |
US5797031A (en) | Method and apparatus for peripheral device control by clients in plural memory addressing modes | |
US7975101B2 (en) | Storage medium storing drive configuration setting program | |
US11435985B2 (en) | Electronic device and operation method thereof | |
US7822964B2 (en) | Booting apparatus for booting a computer and method therefor and computer with a booting apparatus | |
WO2016074127A1 (zh) | 计算机设备及计算机设备内存启动的方法 | |
US11693707B2 (en) | Electronic device for executing multiple operating systems and method of controlling same | |
US20130013814A1 (en) | Usb device remote control method and system | |
US20130086372A1 (en) | Information processing apparatus and boot control method | |
US20160378509A1 (en) | Systems and methods for reducing bios reboots | |
CN104040519A (zh) | Hid i2c数据总线的主机侧实施 | |
WO2019182335A1 (ko) | 전자 장치 및 전자 장치의 업데이트 제어 방법 | |
CN112306581B (zh) | 一种基板管理控制器管理bios配置的方法及介质 | |
CN112771489A (zh) | 控制异构操作系统和电子设备的执行的方法及其存储介质 | |
CN113849433A (zh) | 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质 | |
CN116339838A (zh) | 服务器启动方法、装置、电子设备及存储介质 | |
CN114253890A (zh) | 通信模组及其外部接口配置方法、配置装置和存储介质 | |
CN116302141B (zh) | 串口切换方法、芯片及串口切换系统 | |
CN115686877A (zh) | 数据交互方法、装置、存储介质及计算设备 | |
CN110741359B (zh) | 改变共享总线上集成电路的从属标识的系统和方法 | |
CN116627472A (zh) | 高速外围组件设备的固件程序升级方法及服务器 | |
CN115202459A (zh) | 枚举操作控制方法、装置、计算机设备和可读存储介质 | |
US20230325198A1 (en) | Coordinated boot synchronization and startup of information handling system subsystems | |
CN115291951A (zh) | Uefi启动方法、装置、电子设备以及存储介质 |
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 |