通过BIOS控制总线设备切换的方法和装置与流程

文档序号:12733549阅读:340来源:国知局
通过BIOS控制总线设备切换的方法和装置与流程

本发明涉及电子控制领域,具体而言,涉及一种通过BIOS控制总线设备切换的方法和装置。



背景技术:

目前市场上所售大部分笔记本电脑一般被划分成CPU(Central Processing Unit,中央处理器)和EC(Embeded Controller,嵌入式控制器)两大控制部分,CPU提供在开机后的操作系统模式下的用户访问,EC则提供在待机模式下的自身供电、时钟、复位、GPIO(General Purpose Input Output,通用输入/输出)、I2C(Inter-Integrated Circuit,内部集成电路)等控制和在开机模式的键盘、充电、风扇等控制。CPU和EC一般都各有一个I2C Master控制器(主控制器),分别连接到各自I2C总线并控制各自总线上的设备,因此,挂在各自总线上的I2C设备不能既被CPU控制又被EC控制。而在现实的系统中,往往需要用EC作为主要的控制,而CPU需要在将来的某个时间节点选择性的访问EC所控制的设备。

针对上述现有技术中总线设备不能既被中央处理器控制又被嵌入式控制器控制的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种通过BIOS控制总线设备切换的方法和装置,以至少解决现有技术中总线设备不能既被中央处理器控制又被嵌入式控制器控制的技术问题。

根据本发明实施例的一个方面,提供了一种通过BIOS控制总线设备切换的方法,该方法应用于BIOS,总线设备连接多路复用器,多路复用器分别与中央处理器和嵌入式控制器连接,方法包括:接收操作系统下达的对总线设备的控制权的切换信息;根据切换信息,控制多路复用器连通总线设备和中央处理器,或控制多路复用器连通总线设备和嵌入式控制器。

进一步的,切换信息包括低电平信号和高电平信号,根据切换信息,控制多路复用器连通总线设备和中央处理器,或控制多路复用器连通总线设备和嵌入式控制器,包括:根据高电平信号,控制多路复用器连通总线设备和嵌入式控制器;根据低电平信号,控制多路复用器连通总线设备和中央处理器。

进一步的,接收操作系统下达的对总线设备的控制权的切换信息之前,方法包括:初始化多路复用器,控制多路复用器连通总线设备和嵌入式控制器。

进一步的,控制多路复用器连通总线设备和中央处理器,包括:中央处理器通过调用BIOS的高级配置和电源管理接口与总线设备连通。

进一步的,总线设备为I2C设备,多路复用器为IO多路复用器。

根据本发明实施例的另一方面,还提供了一种通过BIOS控制总线设备切换的装置,装置包括BIOS、总线设备、多路复用器、中央处理器和嵌入式控制器,总线设备连接多路复用器,多路复用器分别与中央处理器和嵌入式控制器连接,BIOS包括:接收模块,用于接收操作系统下达的对总线设备的控制权的切换信息;控制模块,用于根据切换信息,控制多路复用器连通总线设备和中央处理器,或控制多路复用器连通总线设备和嵌入式控制器。

进一步的,切换信息包括低电平信号和高电平信号,控制模块包括:第一控制模块,用于根据高电平信号,控制多路复用器连通总线设备和嵌入式控制器;第二控制模块,用于根据低电平信号,控制多路复用器连通总线设备和中央处理器。

进一步的,装置还包括:初始化模块,用于在接收模块接收操作系统下达的对总线设备的控制权的切换信息之前,初始化多路复用器,控制多路复用器连通总线设备和嵌入式控制器。

进一步的,中央处理器通过调用BIOS的高级配置和电源管理接口与总线设备连通。

进一步的,总线设备为I2C设备,多路复用器为IO多路复用器。

在本发明实施例中,采用BIOS控制的方式,其中,总线设备连接多路复用器,多路复用器分别与中央处理器和嵌入式控制器连接,BIOS通过接收操作系统下达的对总线设备的控制权的切换信息,根据切换信息,控制多路复用器连通总线设备和中央处理器,或控制多路复用器连通总线设备和嵌入式控制器,达到了总线设备可以既被中央处理器控制又被嵌入式控制器控制的目的,高效、实用、兼容性强,进而解决了现有技术中总线设备不能既被中央处理器控制又被嵌入式控制器控制的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例1的一种通过BIOS控制总线设备切换的方法的流程图;

图2是根据本发明实施例1中的硬件电路示意图;

图3是根据本发明实施例2的一种通过BIOS控制总线设备切换的装置的结构图;

图4是根据本发明实施例2的一种可选的通过BIOS控制总线设备切换的装置的结构图;以及

图5是根据本发明实施例2的一种可选的通过BIOS控制总线设备切换的装置的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种通过BIOS控制总线设备切换的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的通过BIOS控制总线设备切换的方法,该方法应用于BIOS,如图1所示,该方法包括如下步骤:

步骤S102,接收操作系统下达的对总线设备的控制权的切换信息。

具体的,本发明中总线设备连接多路复用器,多路复用器分别与中央处理器和嵌入式控制器,本发明中的BIOS为“Bas ic Input Output System”的缩略词,指的是基本输入输出系统。

具体的,本发明将多路复用器的控制层面移动到BIOS里面,把请求控制权的逻辑放在操作系统中的驱动实现,由BISO接收操作系统下达的对总线设备的控制权的切换信息,可选的,对总线设备的控制权的切换信息可以由操作系统Driver下达。

步骤S104,根据切换信息,控制多路复用器连通总线设备和中央处理器,或控制多路复用器连通总线设备和嵌入式控制器。

具体的,如果总线设备被嵌入式控制器控制,在需要转换为由中央处理器控制的情况下,可以由操作系统下达将对总线设备的控制权切换为中央处理器的切换信息,BIOS接收到该切换信息后,根据该切换信息,即可控制多路复用器连通总线设备和中央处理器;同理,如果总线设备被中央处理器控制,在需要转换为由嵌入式控制器控制的情况下,可以由操作系统下达将对总线设备的控制权切换为嵌入式控制器的切换信息,BIOS接收到该切换信息后,根据该切换信息,即可控制多路复用器连通总线设备和嵌入式控制器。

通过上述步骤S104,可以实现BIOS对多路复用器的控制,用户可以通过运行在中央处理器上的操作系统驱动程序来通过BIOS选择多路复用器连通的路径。

在本发明实施例中,采用BIOS控制的方式,其中,总线设备连接多路复用器,多路复用器分别与中央处理器和嵌入式控制器连接,BIOS通过接收操作系统下达的对总线设备的控制权的切换信息,根据切换信息,控制多路复用器连通总线设备和中央处理器,或控制多路复用器连通总线设备和嵌入式控制器,达到了总线设备可以既被中央处理器控制又被嵌入式控制器控制的目的,高效、实用、兼容性强,进而解决了现有技术中总线设备不能既被中央处理器控制又被嵌入式控制器控制的技术问题。

此处需要说明的是,本发明适用于移动终端,其中移动终端包括笔记本电脑,适用于笔记本电脑中中央处理器想要在某一时刻控制总线设备,但在下一时刻需要把对总线设备的访问权归还给嵌入式控制器的情况。

在一种可选的实施例中,切换信息包括低电平信号和高电平信号,步骤S104包括:

步骤S202,根据高电平信号,控制多路复用器连通总线设备和嵌入式控制器。

步骤S204,根据低电平信号,控制多路复用器连通总线设备和中央处理器。

具体的,本发明实施例的硬件电路如图2所示,多路复用器(MUX)的输入端连接到I2C Slave设备(从设备),多路复用器的输出端连接到中央处理器(CPU)和嵌入式控制器(EC),多路复用器的控制端连接到中央处理器,具体通过中央处理器的BIOS控制,当BIOS控制端输出低电平时,多路复用器选择接通I2C Slave设备和嵌入式控制器,实现嵌入式控制器的访问控制;当BIOS控制端输出高电平时,多路复用器选择接通I2C Slave设备和中央处理器,从而实现中央处理器的访问控制。

在一种可选的实施例中,步骤S102之前,方法包括:步骤S302,初始化多路复用器,控制多路复用器连通总线设备和嵌入式控制器。

具体的,在应用于笔记本电脑时,当笔记本电脑复位后,BIOS初始化多路复用器,把默认的总线设备控制权交给嵌入式控制器,也就是连通总线设备和嵌入式控制器,并且BIOS同时也初始化ACPI(高级配置和电源管理接口)表中的Method(方法),等待操作系统下达对总线设备的控制权的切换信息。

在一种可选的实施例中,BIOS ACPI Method可以通过以下代码实现:

以上可以被定义在ACPI SSDT表中,通过ASL.EXE程序编译并导入到BIOS中,重启Windows系统后方可生效。

在一种可选的实施例中,控制多路复用器连通总线设备和中央处理器,包括:中央处理器通过调用BIOS的高级配置和电源管理接口与总线设备连通。

具体的,总线设备和中央处理器的连通是通过中央处理器调用BIOS ACPI中的方法实现的,从而达到对总线设备访问控制的目的,通过BIOS ACPI调用的方式可以解决操作系统对于底层操作的保护性,以及操作系统内部各驱动的消息传递的复杂性、兼容性问题。

此处需要说明的是,中央处理器通过调用BIOS的高级配置和电源管理接口与总线设备连通可以应用于步骤S104以及步骤S204中。

在一种可选的实施例中,总线设备为I2C设备,多路复用器为IO多路复用器。

具体的,本发明中的总线设备可以包括但不限于I2C设备,任何挂在不同总线(分别连接CPU和EC)上的设备均可实现在笔记本中动态访问(被CPU或EC控制)。

在一种可选的实施例中,本发明可以应用于Award BIOS、Windows 10Enterprise上,其中,应用于Windows 10时,可以通过以下代码驱动实现:

实施例2

根据本发明实施例,提供了一种通过BIOS控制总线设备切换的装置的产品实施例,图3是根据本发明实施例的通过BIOS控制总线设备切换的装置,该装置包括BIOS、总线设备、多路复用器、中央处理器和嵌入式控制器,如图3所示,BIOS包括接收模块101和控制模块103,其中,接收模块101,用于接收操作系统下达的的对总线设备的控制权的切换信息;控制模块103,用于根据切换信息,控制多路复用器连通总线设备和中央处理器,或控制多路复用器连通总线设备和嵌入式控制器。

具体的,本发明中总线设备连接多路复用器,多路复用器分别与中央处理器和嵌入式控制器连接。

在本发明实施例中,采用BIOS控制的方式,其中,总线设备连接多路复用器,多路复用器分别与中央处理器和嵌入式控制器连接,通过BIOS的接收模块101接收操作系统下达的对总线设备的控制权的切换信息,控制模块103根据切换信息,控制多路复用器连通总线设备和中央处理器,或控制多路复用器连通总线设备和嵌入式控制器,达到了总线设备可以既被中央处理器控制又被嵌入式控制器控制的目的,高效、实用、兼容性强,进而解决了现有技术中总线设备不能既被中央处理器控制又被嵌入式控制器控制的技术问题。

此处需要说明的是,本发明适用于移动终端,其中移动终端包括笔记本电脑,适用于笔记本电脑中中央处理器想要在某一时刻控制总线设备,但在下一时刻需要把对总线设备的访问权归还给嵌入式控制器的情况。

此处需要说明的是,上述接收模块101和控制模块103对应于实施例1中的步骤S102至步骤S104,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。

在一种可选的实施例中,切换信息包括低电平信号和高电平信号,如图4所示,控制模块103包括第一控制模块201和第二控制模块203。其中,第一控制模块201,用于根据高电平信号,控制多路复用器连通总线设备和嵌入式控制器;第二控制模块203,用于根据低电平信号,控制多路复用器连通总线设备和中央处理器。

此处需要说明的是,上述第一控制模块201和第二控制模块203对应于实施例1中的步骤S202至步骤S204,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。

在一种可选的实施例中,如图5所示,装置还包括:初始化模块301,用于在接收模块101接收操作系统下达的对总线设备控制权的切换信息之前,初始化多路复用器,控制多路复用器连通总线设备和嵌入式控制器。

此处需要说明的是,上述初始化模块301对应于实施例1中的步骤S302至步骤S110,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。

在一种可选的实施例中,中央处理器通过调用BIOS的高级配置和电源管理接口与总线设备连通。

在一种可选的实施例中,总线设备为I2C设备,多路复用器为IO多路复用器。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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