CN105955911B - 一种热插拔控制电路及其控制方法 - Google Patents
一种热插拔控制电路及其控制方法 Download PDFInfo
- Publication number
- CN105955911B CN105955911B CN201610305219.1A CN201610305219A CN105955911B CN 105955911 B CN105955911 B CN 105955911B CN 201610305219 A CN201610305219 A CN 201610305219A CN 105955911 B CN105955911 B CN 105955911B
- Authority
- CN
- China
- Prior art keywords
- hot
- lpc
- single board
- control
- plug
- 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.)
- Active
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
- G06F13/4081—Live connection to bus, e.g. hot-plugging
-
- 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)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种热插拔控制电路及其控制方法,所述热插拔控制电路具体包括:CPLD和MOS管开关模块,所述CPLD具体包括LPC编解码模块以及热插拔控制模块;其中:所述LPC编解码模块,用于接收来自中央处理器CPU的写命令,并在接收到所述写命令时,从所述写命令中解析出热插拔单板标识和控制类型,并将所述热插拔单板标识和所述控制类型提供给所述热插拔控制模块;所述热插拔控制模块,用于在获得所述热插拔单板标识和所述控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。通过本发明的技术方案,当主控板上部署的热插拔单板越来越多时,只需要部署一个热插拔控制电路即可,简化主控板的硬件逻辑。
Description
技术领域
本发明涉及电路技术领域,尤其涉及一种热插拔控制电路及其控制方法。
背景技术
对于高可用性的网络设备(如服务器、网络交换机、存储设备等)来说,需要在整个使用生命周期内具有接近零的停机率。如果网络设备的某个单板(如HBA(Host BusAdapter,主机总线适配器)卡等)发生故障或者需要升级,则需要在不中断网络设备的其它单板的情况下替换该单板,即发生故障或者需要升级的单板被从网络设备上移除,而新单板被插入到网络设备上,这个过程被称为热插拔过程,而这个单板被称为热插拔单板。
HBA卡通常部署在主控板或者背板上,在热插拔过程中,HBA卡需要与主控板上的CPU(Central Processing Uni,中央处理器)进行数据交互,最终完成热插拔过程。为了在HBA卡与CPU之间进行数据交互,需要在主控板上部署硬件控制电路,由硬件控制电路实现HBA卡与CPU之间的数据交互。
随着网络设备处理能力的提高,在网络设备的主控板上部署的HBA卡越来越多,从而需要在主控板上部署大量的硬件控制电路,硬件逻辑很复杂,而且部署大量硬件控制电路的成本很高,占用了大量主板的面积。
发明内容
本发明提供一种热插拔控制电路,所述热插拔控制电路具体包括:复杂可编程逻辑器件CPLD和金属氧化物半导体MOS管开关模块,所述CPLD具体包括低引脚数LPC编解码模块以及热插拔控制模块;其中:
所述LPC编解码模块,用于接收来自中央处理器CPU的写命令,并在接收到所述写命令时,从所述写命令中解析出热插拔单板标识和控制类型,并将所述热插拔单板标识和所述控制类型提供给所述热插拔控制模块;
所述热插拔控制模块,用于在获得所述热插拔单板标识和所述控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。
所述热插拔控制模块,具体用于在利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制的过程中,在所述控制类型具体为上电类型或者下电类型时,则向所述MOS管开关模块发送上电命令或者下电命令,以使所述MOS管开关模块对所述热插拔单板进行上电处理或者下电处理;或者,在所述控制类型具体为复位类型或者释放复位类型时,则向所述热插拔单板发送复位命令或者释放复位命令,以使所述热插拔单板进行复位处理或者释放复位处理;或者,在所述控制类型具体为点灯类型时,则向所述热插拔单板发送点灯命令,以使所述热插拔单板进行点灯处理。
所述MOS管开关模块,用于在接收到来自所述热插拔控制模块的上电命令时,则开启所述热插拔单板对应的电源,将所述电源提供给所述热插拔单板,以通过所述电源对所述热插拔单板进行上电处理;或者,在接收到来自所述热插拔控制模块的下电命令时,则关闭所述热插拔单板对应的电源,拒绝将所述电源提供给所述热插拔单板,以对所述热插拔单板进行下电处理。
所述LPC编解码模块,还用于接收来自所述CPU的读命令,并在接收到所述读命令时,将热插拔单板标识和控制类型提供给所述CPU,以使所述CPU生成包含所述热插拔单板标识和所述控制类型的写命令。
所述LPC编解码模块,还用于在将热插拔单板标识和控制类型提供给所述CPU之前,在接收到写命令时,则将BTN_DATA寄存器或者HP_DATA寄存器内存储的热插拔单板标识和控制类型写入到LPC数据寄存器;
在将热插拔单板标识和控制类型提供给所述CPU的过程中,在接收到所述读命令时,将所述LPC数据寄存器内存储的热插拔单板标识和控制类型提供给CPU,以使CPU从所述LPC数据寄存器中读取到热插拔单板标识和控制类型。
所述LPC编解码模块,还用于在接收到按键信号时,确定控制类型为下电类型,并利用按键被按下次数确定热插拔单板标识,并将所述控制类型和所述热插拔单板标识存储到所述BTN_DATA寄存器内;或者,在接收到来自热插拔单板的在位信号时,确定控制类型为上电类型,并将所述控制类型和所述热插拔单板的热插拔单板标识存储到所述HP_DATA寄存器内。
所述LPC编解码模块,还用于在从所述写命令中解析出热插拔单板标识和控制类型之后,将所述热插拔单板标识和所述控制类型存储到LPC控制寄存器内;其中,将所述热插拔单板标识存储到所述LPC控制寄存器的第1位至第4位,将所述控制类型存储到所述LPC控制寄存器的第5位至第8位;或者,将所述热插拔单板标识存储到所述LPC控制寄存器的第5位至第8位,将所述控制类型存储到所述LPC控制寄存器的第1位至第4位。
在所述LPC编解码模块中模拟出LPC协议,且所述LPC编解码模块包括LPC复位接口、LPC时钟接口、LPC帧起始位接口、LPC数据接口;所述LPC编解码模块的LPC复位接口与所述CPU的LPC复位接口电性连接,所述LPC编解码模块的LPC时钟接口与所述CPU的LPC时钟接口电性连接,所述LPC编解码模块的LPC帧起始位接口与所述CPU的LPC帧起始位接口电性连接,所述LPC编解码模块的LPC数据接口与所述CPU的LPC数据接口电性连接;
其中,所述LPC编解码模块通过所述LPC编解码模块的LPC数据接口与所述CPU的LPC数据接口进行数据通信,并通过所述LPC编解码模块的LPC数据接口接收来自所述CPU的LPC数据接口的写命令或者读命令。
所述热插拔控制电路和所述CPU应用在主控板上,所述主控板或者背板上还包括M个热插拔单板,所述热插拔控制电路包括一个CPLD和M个MOS管开关模块,其中,每个MOS管开关模块对应一个热插拔单板。
本发明提供一种应用在上述热插拔控制电路中的控制方法,所述热插拔控制电路具体包括:CPLD和MOS管开关模块,所述CPLD具体包括LPC编解码模块以及热插拔控制模块;所述控制方法具体包括:
所述LPC编解码模块接收来自中央处理器CPU的写命令,并在接收到所述写命令时,从所述写命令中解析出热插拔单板标识和控制类型,并将所述热插拔单板标识和所述控制类型提供给所述热插拔控制模块;
所述热插拔控制模块在获得所述热插拔单板标识和所述控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。
基于上述技术方案,本发明实施例中,通过在CPU与热插拔单板之间部署热插拔控制电路,由热插拔控制电路实现热插拔单板与CPU之间的数据交互,完成热插拔单板的热插拔过程,实现多个热插拔单板的热插拔过程。当主控板上部署的热插拔单板越来越多时,不需要在主控板上部署多个热插拔控制电路,只需要部署一个热插拔控制电路即可,从而简化主控板的硬件逻辑,降低成本,节省PCB(Printed Circuit Board,印制电路板)空间。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明一种实施方式中的热插拔控制电路的结构示意图;
图2是本发明另一种实施方式中的热插拔控制电路的结构示意图;
图3是本发明一种实施方式中的LPC状态机的示意图;
图4是本发明一种实施方式中的热插拔控制电路的控制方法的流程图。
具体实施方式
在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对现有技术中存在的问题,本发明实施例中提出了一种热插拔控制电路,如图1所示,所述热插拔控制电路具体可以包括但不限于:CPLD(Complex Programmable LogicDevice,复杂可编程逻辑器件)以及MOS(Metal Oxide Semiconductor,金属氧化物半导体)管开关模块。其中,所述热插拔控制电路可以应用在高可用性的网络设备(如服务器、网络交换机、存储设备等)的主控板上,且所述主控板上还可以包括CPU。在一个例子中,可以将M个热插拔单板部署在主板上,也可以将M个热插拔单板部署在背板上。
与M个热插拔单板相适应的,所述热插拔控制电路可以包括M个MOS管开关模块,且每个MOS管开关模块对应一个热插拔单板,并且M为大于1的正整数。图1中以M为2为例,热插拔单板1对应MOS管开关模块1,热插拔单板2对应MOS管开关模块2,对于M为其它数值的情况不再赘述。
其中,所述热插拔控制电路可以包括一个CPLD,且所述CPLD具体可以包括LPC(LowPin Count,低引脚数)编解码模块和热插拔控制模块。
其中,所述热插拔单板具体可以包括但不限于HBA卡、PCIE(PeripheralComponent Interconnect Express,快速外设部件互连标准)卡、IO卡等。
本发明实施例中,在热插拔单板的热插拔过程中,由热插拔控制电路实现热插拔单板与CPU之间的数据交互,最终完成热插拔单板的热插拔过程。
本发明实施例中,针对CPU向热插拔单板发送写命令的过程,所述LPC编解码模块,用于接收来自CPU的写命令,并在接收到所述写命令时,从所述写命令中解析出热插拔单板标识和控制类型,并将所述热插拔单板标识和所述控制类型提供给热插拔控制模块;所述热插拔控制模块,用于在获得所述热插拔单板标识和所述控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。此外,针对CPU向热插拔单板发送读命令的过程,所述LPC编解码模块,还用于接收来自所述CPU的读命令,并在接收到所述读命令时,将热插拔单板标识和控制类型提供给所述CPU,以使所述CPU生成包含所述热插拔单板标识和所述控制类型的写命令。
其中,热插拔单板标识通常可以包括但不限于:热插拔单板的槽位号。
其中,对热插拔单板的控制可以包括但不限于:对热插拔单板的上电处理、下电处理、复位处理、释放复位处理、点灯处理。因此,控制类型可以包括但不限于:上电类型、下电类型、复位类型、释放复位类型、点灯类型。
本发明实施例中,热插拔控制模块上使能了热插拔控制协议,通过此热插拔控制协议,可以对来自CPU的写命令进行解码,并对热插拔单板标识对应的热插拔单板进行控制,如对热插拔单板进行上电处理、下电处理、复位处理、释放复位处理、点灯处理等,并完成上电,下电,复位,释放复位以及点灯的逻辑功能。基于此,所述热插拔控制模块,具体用于在利用控制类型对热插拔单板标识对应的热插拔单板进行控制的过程中,在所述控制类型具体为上电类型或者下电类型时,则向所述MOS管开关模块发送上电命令或者下电命令,以使所述MOS管开关模块对所述热插拔单板进行上电处理或者下电处理;或者,在所述控制类型具体为复位类型或者释放复位类型时,则向所述热插拔单板发送复位命令或者释放复位命令,以使所述热插拔单板进行复位处理或者释放复位处理;或者,在所述控制类型具体为点灯类型时,则向所述热插拔单板发送点灯命令,以使所述热插拔单板进行点灯处理。
本发明实施例中,MOS管开关模块作为热插拔单板的电源开关,并控制热插拔单板的上电和下电。基于此,MOS管开关模块,用于在接收到来自热插拔控制模块的上电命令时,则开启热插拔单板对应的电源,将所述电源提供给热插拔单板,以通过所述电源对所述热插拔单板进行上电处理;或者,在接收到来自热插拔控制模块的下电命令时,则关闭热插拔单板对应的电源,拒绝将所述电源提供给热插拔单板,以对所述热插拔单板进行下电处理。
本发明实施例中,所述LPC编解码模块,还用于在将热插拔单板标识和控制类型提供给所述CPU之前,在接收到写命令时,则将BTN_DATA(按钮_数据)寄存器或者HP_DATA(在位_数据)寄存器内存储的热插拔单板标识和控制类型写入到LPC数据寄存器;进一步的,所述LPC编解码模块在将热插拔单板标识和控制类型提供给所述CPU的过程中,在接收到所述读命令时,将所述LPC数据寄存器内存储的热插拔单板标识和控制类型提供给CPU,以使所述CPU从所述LPC数据寄存器中读取到所述热插拔单板标识和所述控制类型。
本发明实施例中,LPC编解码模块,还用于在接收到按键信号时,确定控制类型为下电类型,并利用按键被按下次数确定热插拔单板标识,并将控制类型和热插拔单板标识存储到所述BTN_DATA寄存器内;或者,在接收到来自热插拔单板的在位信号时,确定控制类型为上电类型,并将控制类型和所述热插拔单板的热插拔单板标识存储到所述HP_DATA寄存器内。
本发明实施例中,LPC编解码模块,还用于在从写命令中解析出热插拔单板标识和控制类型之后,将所述热插拔单板标识和所述控制类型存储到LPC控制寄存器内;其中,将所述热插拔单板标识存储到所述LPC控制寄存器的第1位至第4位,将所述控制类型存储到所述LPC控制寄存器的第5位至第8位;或者,将所述热插拔单板标识存储到所述LPC控制寄存器的第5位至第8位,将所述控制类型存储到所述LPC控制寄存器的第1位至第4位。
本发明实施例中,在LPC编解码模块中模拟出LPC协议,且LPC编解码模块包括LPC复位接口、LPC时钟接口、LPC帧起始位接口、LPC数据接口;所述LPC编解码模块的LPC复位接口与所述CPU的LPC复位接口电性连接,所述LPC编解码模块的LPC时钟接口与所述CPU的LPC时钟接口电性连接,所述LPC编解码模块的LPC帧起始位接口与所述CPU的LPC帧起始位接口电性连接,所述LPC编解码模块的LPC数据接口与所述CPU的LPC数据接口电性连接;其中,所述LPC编解码模块通过所述LPC编解码模块的LPC数据接口与所述CPU的LPC数据接口进行数据通信,并通过所述LPC编解码模块的LPC数据接口接收来自所述CPU的LPC数据接口的写命令或者读命令。
基于上述技术方案,本发明实施例中,通过在CPU与热插拔单板之间部署热插拔控制电路,由热插拔控制电路实现热插拔单板与CPU之间的数据交互,完成热插拔单板的热插拔过程,从而实现多个热插拔单板的热插拔过程。当主控板上部署的热插拔单板越来越多时,则不需要在主控板上部署多个热插拔控制电路,只需要部署一个热插拔控制电路即可,从而简化主控板的硬件逻辑,降低成本,节省PCB(Printed Circuit Board,印制电路板)空间。
以下结合具体的应用场景,对本发明实施例的上述方案进行详细说明。
如图2所示,在LPC编解码模块中模拟出LPC协议,CPU和LPC编解码模块之间通过LPC协议进行数据通信,且LPC编解码模块采用IO(Input Output,输入输出)读写模式。其中,LPC编解码模块可以包括但不限于LPC复位接口(如LPC_RST接口)、LPC时钟接口(如LPC_CLK接口)、LPC帧起始位接口(如LPC_FRAME接口)、LPC数据接口(如LPC_LAD接口),且LPC数据接口的数量可以为4个,分别为LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口。
如图2所示,LPC编解码模块的LPC复位接口与CPU的LPC复位接口电性连接,并且LPC编解码模块的LPC时钟接口与CPU的LPC时钟接口电性连接,并且LPC编解码模块的LPC帧起始位接口与CPU的LPC帧起始位接口电性连接,并且LPC编解码模块的LPC数据接口与CPU的LPC数据接口电性连接。例如,LPC编解码模块的LPC_LAD0接口与CPU的LPC_LAD0接口电性连接,LPC编解码模块的LPC_LAD1接口与CPU的LPC_LAD1接口电性连接,LPC编解码模块的LPC_LAD2接口与CPU的LPC_LAD2接口电性连接,LPC编解码模块的LPC_LAD3接口与CPU的LPC_LAD3接口电性连接。
其中,LPC编解码模块的LPC复位接口用于接收来自CPU的复位信号,并利用复位信号对LPC编解码模块进行复位处理。LPC编解码模块的LPC时钟接口用于接收来自CPU的时钟信号,并利用时钟信号对LPC编解码模块进行同步处理。
其中,LPC编解码模块的LPC帧起始位接口用于接收来自CPU的帧起始信号,当所述帧起始信号由低到高跳变时,则表示CPU和CPLD通信启动,LPC编解码模块开始从LPC数据接口接收数据或发送数据。
其中,LPC编解码模块的LPC数据接口用于接收来自CPU的数据,如通过LPC编解码模块的LPC数据接口接收来自CPU的写命令或读命令,以通过LPC编解码模块的LPC数据接口与CPU的LPC数据接口进行数据通信。
应用场景1:从主控板上移除热插拔单板。
如图2所示,LPC编解码模块还可以与外部的BUTTON(按钮)连接。当需要移除热插拔单板时,则可以按下BUTTON,且按下BUTTON次数与热插拔单板的热插拔单板标识相对应。例如,当需要移除热插拔单板1时,则按下BUTTON的次数为1次,当需要移除热插拔单板2时,则按下BUTTON的次数为2次,当需要移除热插拔单板3时,按下BUTTON的次数为3次。
基于此,本发明实施例中,LPC编解码模块在接收到BUTTON的按键信号时,则确定控制类型为下电类型,并利用按键被按下次数确定热插拔单板标识,例如,当按键被按下次数为2时,则热插拔单板标识可以为热插拔单板2。
进一步的,为了统计按键被按下次数,则还可以配置按键计数器寄存器,该按键计数器寄存器内存储了按键被按下次数。例如,在预设时间(如5秒)内,每次收到BUTTON的按键信号,则将按键被按下次数加1,这样,就可以统计出预设时间内的按键被按下次数,如2次等。
本发明实施例中,LPC编解码模块还可以维护BTN_DATA寄存器,在确定控制类型(如下电类型)和热插拔单板标识(如可以是按键被按下次数2,此按键被按下次数2用于表征热插拔单板标识2,也可以是热插拔单板标识2)之后,还可将控制类型和热插拔单板标识存储到BTN_DATA寄存器内。
在上述过程的基础上,从主控板上移除热插拔单板的处理流程可以包括:
步骤1、CPU向LPC编解码模块发送写命令,所述写命令用于指示LPC编解码模块将BTN_DATA寄存器内存储的热插拔单板标识和控制类型写入到LPC数据寄存器。LPC编解码模块在接收到写命令后,则将BTN_DATA寄存器内存储的热插拔单板标识和控制类型写入到LPC数据寄存器。
步骤2、CPU向LPC编解码模块发送读命令,LPC编解码模块在接收到所述读命令时,将所述LPC数据寄存器内存储的热插拔单板标识和控制类型提供给CPU,CPU从所述LPC数据寄存器中读取到热插拔单板标识和控制类型。
其中,在LPC编解码模块将所述BTN_DATA寄存器内存储的热插拔单板标识和控制类型写入到所述LPC数据寄存器之后,则CPU可以从所述LPC数据寄存器中读取到所述热插拔单板标识和所述控制类型。因此,CPU向LPC编解码模块发送读命令,LPC编解码模块在接收到读命令时,就可以将热插拔单板标识和控制类型提供给CPU,以使CPU从所述LPC数据寄存器中读取到热插拔单板标识和控制类型,并生成包含热插拔单板标识和控制类型的写命令。
在实际应用中,LPC数据寄存器实际上就是上述的LPC数据接口,由于CPU的LPC数据接口与LPC编解码模块的LPC数据接口电性连接,因此,CPU可以从LPC编解码模块的LPC数据接口上读取到数据,也就可以从所述LPC数据寄存器中读取到所述热插拔单板标识和所述控制类型。
其中,CPU在从LPC数据寄存器中读取到热插拔单板标识和控制类型之后,先处理该热插拔单板标识对应的热插拔单板的全部业务,并保存该热插拔单板的相关数据,并在数据保存完毕后,向LPC编解码模块发送写命令。例如,可以在数据保存完毕20毫秒后,向LPC编解码模块发送写命令。在实际应用中,CPU在数据保存完毕后,先向LPC编解码模块发送控制类型为复位类型的写命令,以使热插拔单板不再处理新数据,之后(如复位类型的写命令发送20毫秒后)向LPC编解码模块发送控制类型为下电类型的写命令,之后(如下电类型的写命令发送20毫秒后)向LPC编解码模块发送控制类型为点灯类型的写命令。
步骤3、在需要进行复位处理时,CPU向LPC编解码模块发送写命令,所述写命令中携带热插拔单板标识(热插拔单板标识1)和控制类型,如复位类型。
步骤4、LPC编解码模块接收到来自CPU的写命令时,从所述写命令中解析出热插拔单板标识(后续以热插拔单板标识1为例)和控制类型(如复位类型),并将所述热插拔单板标识和所述控制类型提供给热插拔控制模块。
本发明实施例中,LPC编解码模块在从写命令中解析出热插拔单板标识和控制类型之后,还可以将热插拔单板标识和控制类型存储到LPC控制寄存器内。例如,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第1位至第4位,并将控制类型存储到LPC控制寄存器的第5位至第8位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第1位至第4位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第5位至第8位中解析出所述控制类型。或者,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第5位至第8位,将控制类型存储到LPC控制寄存器的第1位至第4位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第5位至第8位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第1位至第4位中解析出所述控制类型。
其中,可以在LPC编解码模块与热插拔控制模块之间部署控制接口,且通过该控制接口将热插拔单板标识和控制类型提供给热插拔控制模块。
步骤5、热插拔控制模块在获得热插拔单板标识和控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。
本发明实施例中,热插拔控制模块在利用控制类型对热插拔单板进行控制的过程中,在控制类型为复位类型时,则热插拔控制模块通过RESET接口向所述热插拔单板发送复位命令,以使所述热插拔单板进行复位处理。
其中,热插拔控制模块上部署有RESET接口,且每个热插拔单板对应一个RESET接口。例如,热插拔单板1对应RESET接口1,热插拔单板2对应RESET接口2。基于此,热插拔单板标识对应的热插拔单板为热插拔单板1时,则热插拔控制模块可以通过RESET接口1向热插拔单板1发送复位命令。
本发明实施例中,热插拔控制模块内还可以包含一个复位寄存器,该复位寄存器的位数与热插拔单板的数量M相同,例如,第1位对应热插拔单板1,第2位对应热插拔单板2,以此类推,第M位对应热插拔单板M,该热插拔控制模块可以通过使用该复位寄存器控制热插拔单板的复位处理。基于复位寄存器内各位的数值,热插拔控制模块可以通过相应的RESET接口发送复位命令。例如,当复位寄存器的第1位为0时,则表示需要对热插拔单板1进行复位处理,因此,可以通过RESET接口1向热插拔单板1发送复位命令。
步骤6、在需要进行下电处理时,CPU向LPC编解码模块发送写命令,所述写命令中携带热插拔单板标识(热插拔单板标识1)和控制类型(下电类型)。
其中,CPU在从LPC数据寄存器中读取到热插拔单板标识和控制类型之后,就可以生成包括所述热插拔单板标识和所述控制类型的写命令。该热插拔单板标识1可以直接从LPC数据寄存器中读取到,也可以是在从LPC数据寄存器中读取到按键被按下次数1后,得到的热插拔单板标识1。
步骤7、LPC编解码模块接收到来自CPU的写命令时,从所述写命令中解析出热插拔单板标识(后续以热插拔单板标识1为例)和控制类型(如下电类型),并将所述热插拔单板标识和所述控制类型提供给热插拔控制模块。
本发明实施例中,LPC编解码模块在从写命令中解析出热插拔单板标识和控制类型之后,还可以将热插拔单板标识和控制类型存储到LPC控制寄存器内。例如,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第1位至第4位,并将控制类型存储到LPC控制寄存器的第5位至第8位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第1位至第4位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第5位至第8位中解析出所述控制类型。或者,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第5位至第8位,将控制类型存储到LPC控制寄存器的第1位至第4位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第5位至第8位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第1位至第4位中解析出所述控制类型。
其中,可以在LPC编解码模块与热插拔控制模块之间部署控制接口,且通过该控制接口将热插拔单板标识和控制类型提供给热插拔控制模块。
步骤8、热插拔控制模块在获得热插拔单板标识和控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。
本发明实施例中,热插拔控制模块在利用控制类型对热插拔单板进行控制的过程中,在控制类型为下电类型时,则热插拔控制模块向MOS管开关模块发送下电命令,以使MOS管开关模块对热插拔单板进行下电处理。
步骤9、MOS管开关模块在接收到下电命令时,则关闭热插拔单板对应的电源,拒绝将所述电源提供给热插拔单板,以对热插拔单板进行下电处理。
其中,针对每个热插拔单板,在热插拔控制模块内对应有一个电源接口,且对应有一个MOS管开关模块,且该电源接口与该MOS管开关模块连接。例如,在热插拔控制模块内包含电源接口1和电源接口2,电源接口1与热插拔单板1相对应,且电源接口1与热插拔单板1对应的MOS管开关模块1连接,电源接口2与热插拔单板2相对应,且电源接口2与热插拔单板2对应的MOS管开关模块2连接。基于此,热插拔控制模块在获得热插拔单板标识1后,热插拔控制模块通过电源接口1向MOS管开关模块1发送下电命令,MOS管开关模块1在接收到下电命令时,则关闭热插拔单板1对应的电源。
此外,热插拔控制模块内还可以包含一个电源寄存器,该电源寄存器的位数与热插拔单板的数量M相同,例如,第1位对应热插拔单板1,第2位对应热插拔单板2,以此类推,第M位对应热插拔单板M,该热插拔控制模块通过使用该电源寄存器控制热插拔单板的下电处理或者上电处理。
其中,基于电源寄存器内各位的数值,热插拔控制模块可以通过相应的电源接口发送下电命令,或者不发送下电命令。例如,当电源寄存器的第1位为0时,表示不需要对热插拔单板1进行下电处理,不通过电源接口1向MOS管开关模块1发送下电命令。当电源寄存器的第1位为1时,表示需要对热插拔单板1进行下电处理,通过电源接口1向MOS管开关模块1发送下电命令。
在实际应用中,MOS管开关模块可以对热插拔单板提供三个电源,这三个电源可以分别为12V0、3V3、3V3_AUX,MOS管开关模块用于控制热插拔单板上的电源芯片的使能管脚,使其进行上电处理或者下电处理。
其中,在对热插拔单板进行下电处理时,如热插拔控制模块通过电源接口输出低电平,则MOS管开关模块关闭电源12V0、3V3、3V3_AUX等。在对热插拔单板进行上电处理时,如热插拔控制模块通过电源接口输出高电平,则MOS管开关模块开启电源12V0、3V3、3V3_AUX等。
步骤10、在需要进行点灯处理时,CPU向LPC编解码模块发送写命令,所述写命令中携带热插拔单板标识(热插拔单板标识1)和控制类型(如点灯类型)。
步骤11、LPC编解码模块接收到来自CPU的写命令时,从所述写命令中解析出热插拔单板标识(后续以热插拔单板标识1为例)和控制类型(如点灯类型),并将所述热插拔单板标识和所述控制类型提供给热插拔控制模块。
本发明实施例中,LPC编解码模块在从写命令中解析出热插拔单板标识和控制类型之后,还可以将热插拔单板标识和控制类型存储到LPC控制寄存器内。例如,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第1位至第4位,并将控制类型存储到LPC控制寄存器的第5位至第8位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第1位至第4位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第5位至第8位中解析出所述控制类型。或者,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第5位至第8位,将控制类型存储到LPC控制寄存器的第1位至第4位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第5位至第8位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第1位至第4位中解析出所述控制类型。
其中,可以在LPC编解码模块与热插拔控制模块之间部署控制接口,且通过该控制接口将热插拔单板标识和控制类型提供给热插拔控制模块。
步骤12、热插拔控制模块在获得热插拔单板标识和控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。
本发明实施例中,热插拔控制模块在利用控制类型对热插拔单板进行控制的过程中,在控制类型为点灯类型时,则热插拔控制模块通过LED接口向所述热插拔单板发送点灯命令,以使所述热插拔单板进行点灯处理。
其中,热插拔控制模块上部署有LED接口,且每个热插拔单板对应一个LED接口。例如,热插拔单板1对应LED接口1,热插拔单板2对应LED接口2。基于此,热插拔单板标识对应的热插拔单板为热插拔单板1时,则热插拔控制模块可以通过LED接口1向热插拔单板1发送点灯命令。
本发明实施例中,热插拔控制模块内还可以包含一个点灯寄存器,该点灯寄存器的位数与热插拔单板的数量M相同,第1位对应热插拔单板1,第2位对应热插拔单板2,以此类推,第M位对应热插拔单板M,该热插拔控制模块通过使用该点灯寄存器控制热插拔单板的点灯处理。
其中,基于点灯寄存器内各位的数值,热插拔控制模块可以通过相应的LED接口发送点灯命令,或者不发送点灯命令。例如,当点灯寄存器的第1位为0时,表示不需要对热插拔单板1进行点灯处理,不通过LED接口1向热插拔单板1发送点灯命令。当点灯寄存器的第1位为1时,表示需要对热插拔单板1进行点灯处理,通过LED接口1向热插拔单板1发送点灯命令。
步骤13、热插拔单板结束工作,并成功从主控板上移除该热插拔单板。
应用场景2:在主控板上插入热插拔单板。
如图2所示,LPC编解码模块还可以与每个热插拔单板连接,并使用33M的时钟,采样热插拔单板的在位信号(即PRESENT_N信号)。其中,当热插拔单板被拔出时,则LPC编解码模块无法采样到来自该热插拔单板的在位信号,此时该热插拔单板不在位。当热插拔单板被插入时,则LPC编解码模块可以采样到来自该热插拔单板的在位信号,此时该热插拔单板在位。
基于此,本发明实施例中,LPC编解码模块在接收到来自热插拔单板的在位信号时,则确定控制类型为上电类型,且热插拔单板标识为该热插拔单板的标识,如热插拔单板标识为热插拔单板2。进一步的,LPC编解码模块还可以维护HP_DATA寄存器,在确定控制类型(如上电类型)和热插拔单板标识(如热插拔单板标识1)之后,还可以将控制类型和热插拔单板标识存储到HP_DATA寄存器内。在一个例子中,当热插拔单板的数量为M时,则HP_DATA寄存器可以有M位,第1位对应热插拔单板1,第2位对应热插拔单板2,以此类推,第M位对应热插拔单板M。基于此,当第1位为0时,可以表示热插拔单板1不在位,当第1位为1时,可以表示热插拔单板1在位,以此类推,当第M位为0时,可以表示热插拔单板M不在位,当第M位为1时,可以表示热插拔单板M在位。基于此,在将控制类型和热插拔单板标识存储到HP_DATA寄存器时,假设热插拔单板标识为热插拔单板1,则可以将HP_DATA寄存器的第1位由数值0修改为数值1,以表示其在位。在实际应用中,LPC编解码模块每次可以将8位数据发送给CPU,因此,当HP_DATA寄存器为M位时,则LPC编解码模块可以通过(M/8)次,将HP_DATA寄存器内数据发送给CPU。
在上述过程的基础上,在主控板上插入热插拔单板的处理流程可以包括:
步骤1、CPU向LPC编解码模块发送写命令,所述写命令用于指示LPC编解码模块将HP_DATA寄存器内存储的热插拔单板标识和控制类型写入到LPC数据寄存器。LPC编解码模块在接收到写命令后,则将HP_DATA寄存器内存储的热插拔单板标识和控制类型写入到LPC数据寄存器。
步骤2、CPU向LPC编解码模块发送读命令,LPC编解码模块在接收到所述读命令时,将所述LPC数据寄存器内存储的热插拔单板标识和控制类型提供给CPU,CPU从所述LPC数据寄存器中读取到热插拔单板标识和控制类型。
其中,在LPC编解码模块将所述HP_DATA寄存器内存储的热插拔单板标识和控制类型写入到所述LPC数据寄存器之后,则CPU可以从所述LPC数据寄存器中读取到所述热插拔单板标识和所述控制类型。因此,CPU向LPC编解码模块发送读命令,LPC编解码模块在接收到读命令时,就可以将热插拔单板标识和控制类型提供给CPU,以使CPU从所述LPC数据寄存器中读取到热插拔单板标识和控制类型,并生成包含热插拔单板标识和控制类型的写命令。
在实际应用中,LPC数据寄存器实际上就是上述的LPC数据接口,由于CPU的LPC数据接口与LPC编解码模块的LPC数据接口电性连接,因此,CPU可以从LPC编解码模块的LPC数据接口上读取到数据,也就可以从所述LPC数据寄存器中读取到所述热插拔单板标识和所述控制类型。
在实际应用中,CPU先向LPC编解码模块发送控制类型为上电类型的写命令,之后(如上电类型的写命令发送20毫秒后)向LPC编解码模块发送控制类型为释放复位类型的写命令,使热插拔单板正常工作,之后(如释放复位类型的写命令发送20毫秒后)向LPC编解码模块发送控制类型为点灯类型的写命令。
步骤3、在需要进行上电处理时,CPU向LPC编解码模块发送写命令,所述写命令中携带热插拔单板标识(热插拔单板标识1)和控制类型(如上电类型)。
其中,CPU在从LPC数据寄存器中读取到热插拔单板标识和控制类型之后,就可以生成包括所述热插拔单板标识和所述控制类型的写命令。
步骤4、LPC编解码模块接收到来自CPU的写命令时,从所述写命令中解析出热插拔单板标识(后续以热插拔单板标识1为例)和控制类型(如上电类型),并将所述热插拔单板标识和所述控制类型提供给热插拔控制模块。
本发明实施例中,LPC编解码模块在从写命令中解析出热插拔单板标识和控制类型之后,还可以将热插拔单板标识和控制类型存储到LPC控制寄存器内。例如,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第1位至第4位,并将控制类型存储到LPC控制寄存器的第5位至第8位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第1位至第4位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第5位至第8位中解析出所述控制类型。或者,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第5位至第8位,将控制类型存储到LPC控制寄存器的第1位至第4位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第5位至第8位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第1位至第4位中解析出所述控制类型。
其中,可以在LPC编解码模块与热插拔控制模块之间部署控制接口,且通过该控制接口将热插拔单板标识和控制类型提供给热插拔控制模块。
步骤5、热插拔控制模块在获得热插拔单板标识和控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。
本发明实施例中,热插拔控制模块在利用控制类型对热插拔单板进行控制的过程中,在控制类型为上电类型时,则热插拔控制模块向MOS管开关模块发送上电命令,以使MOS管开关模块对热插拔单板进行上电处理。
步骤6、MOS管开关模块在接收到上电命令时,则开启热插拔单板对应的电源,将所述电源提供给热插拔单板,以对热插拔单板进行上电处理。
其中,针对每个热插拔单板,在热插拔控制模块内对应有一个电源接口,且对应有一个MOS管开关模块,且该电源接口与该MOS管开关模块连接。例如,在热插拔控制模块内包含电源接口1和电源接口2,电源接口1与热插拔单板1相对应,且电源接口1与热插拔单板1对应的MOS管开关模块1连接,电源接口2与热插拔单板2相对应,且电源接口2与热插拔单板2对应的MOS管开关模块2连接。基于此,热插拔控制模块在获得热插拔单板标识1后,热插拔控制模块可以通过电源接口1向MOS管开关模块1发送上电命令,MOS管开关模块1在接收到上电命令时,则开启热插拔单板1对应的电源。
此外,热插拔控制模块内还可以包含一个电源寄存器,该电源寄存器的位数与热插拔单板的数量M相同,第1位对应热插拔单板1,第2位对应热插拔单板2,以此类推,第M位对应热插拔单板M,该热插拔控制模块可以通过使用该电源寄存器控制热插拔单板的下电处理或者上电处理。
其中,基于电源寄存器内各位的数值,热插拔控制模块可以通过相应的电源接口发送上电命令,或者不发送上电命令。例如,当电源寄存器的第1位为0时,表示不需要对热插拔单板1进行上电处理,不通过电源接口1向MOS管开关模块1发送上电命令。当电源寄存器的第1位为1时,表示需要对热插拔单板1进行上电处理,通过电源接口1向MOS管开关模块1发送上电命令。
在实际应用中,MOS管开关模块可以对热插拔单板提供三个电源,这三个电源可以分别为12V0、3V3、3V3_AUX,MOS管开关模块用于控制热插拔单板上的电源芯片的使能管脚,使其进行上电处理或者下电处理。
其中,在对热插拔单板进行下电处理时,如热插拔控制模块通过电源接口输出低电平,则MOS管开关模块关闭电源12V0、3V3、3V3_AUX等。在对热插拔单板进行上电处理时,如热插拔控制模块通过电源接口输出高电平,则MOS管开关模块开启电源12V0、3V3、3V3_AUX等。
步骤7、在需要进行释放复位处理时,CPU向LPC编解码模块发送写命令,写命令中携带热插拔单板标识(热插拔单板标识1)和控制类型(释放复位类型)。
步骤8、LPC编解码模块接收到来自CPU的写命令时,从所述写命令中解析出热插拔单板标识(后续以热插拔单板标识1为例)和控制类型(如释放复位类型),并将所述热插拔单板标识和所述控制类型提供给热插拔控制模块。
本发明实施例中,LPC编解码模块在从写命令中解析出热插拔单板标识和控制类型之后,还可以将热插拔单板标识和控制类型存储到LPC控制寄存器内。例如,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第1位至第4位,并将控制类型存储到LPC控制寄存器的第5位至第8位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第1位至第4位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第5位至第8位中解析出所述控制类型。或者,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第5位至第8位,将控制类型存储到LPC控制寄存器的第1位至第4位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第5位至第8位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第1位至第4位中解析出所述控制类型。
其中,可以在LPC编解码模块与热插拔控制模块之间部署控制接口,且通过该控制接口将热插拔单板标识和控制类型提供给热插拔控制模块。
步骤9、热插拔控制模块在获得热插拔单板标识和控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。
本发明实施例中,热插拔控制模块在利用控制类型对热插拔单板进行控制的过程中,在控制类型为释放复位类型时,则热插拔控制模块通过RESET接口向所述热插拔单板发送释放复位命令,以使所述热插拔单板进行释放复位处理。
其中,热插拔控制模块上部署有RESET接口,且每个热插拔单板对应一个RESET接口。例如,热插拔单板1对应RESET接口1,热插拔单板2对应RESET接口2。基于此,热插拔单板标识对应的热插拔单板为热插拔单板1时,则热插拔控制模块可以通过RESET接口1向热插拔单板1发送释放复位命令。
本发明实施例中,热插拔控制模块内还可以包含一个复位寄存器,该复位寄存器的位数与热插拔单板的数量M相同,例如,第1位对应热插拔单板1,第2位对应热插拔单板2,以此类推,第M位对应热插拔单板M,该热插拔控制模块可以通过使用该复位寄存器控制热插拔单板的释放复位处理。基于复位寄存器内各位的数值,热插拔控制模块可以通过相应的RESET接口发送释放复位命令。例如,当复位寄存器的第1位为1时,表示需要对热插拔单板1进行释放复位处理,因此通过RESET接口1向热插拔单板1发送释放复位命令。
步骤10、在需要进行点灯处理时,CPU向LPC编解码模块发送写命令,所述写命令中携带热插拔单板标识(热插拔单板标识1)和控制类型(如点灯类型)。
步骤11、LPC编解码模块接收到来自CPU的写命令时,从所述写命令中解析出热插拔单板标识(后续以热插拔单板标识1为例)和控制类型(如点灯类型),并将所述热插拔单板标识和所述控制类型提供给热插拔控制模块。
本发明实施例中,LPC编解码模块在从写命令中解析出热插拔单板标识和控制类型之后,还可以将热插拔单板标识和控制类型存储到LPC控制寄存器内。例如,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第1位至第4位,并将控制类型存储到LPC控制寄存器的第5位至第8位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第1位至第4位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第5位至第8位中解析出所述控制类型。或者,LPC编解码模块可以将热插拔单板标识存储到LPC控制寄存器的第5位至第8位,将控制类型存储到LPC控制寄存器的第1位至第4位。基于此,LPC编解码模块在将所述热插拔单板标识和所述控制类型提供给热插拔控制模块的过程中,可以从LPC控制寄存器的第5位至第8位中解析出所述热插拔单板标识,并从所述LPC控制寄存器的第1位至第4位中解析出所述控制类型。
其中,可以在LPC编解码模块与热插拔控制模块之间部署控制接口,且通过该控制接口将热插拔单板标识和控制类型提供给热插拔控制模块。
步骤12、热插拔控制模块在获得热插拔单板标识和控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。
本发明实施例中,热插拔控制模块在利用控制类型对热插拔单板进行控制的过程中,在控制类型为点灯类型时,则热插拔控制模块通过LED接口向所述热插拔单板发送点灯命令,以使所述热插拔单板进行点灯处理。
其中,热插拔控制模块上部署有LED接口,且每个热插拔单板对应一个LED接口。例如,热插拔单板1对应LED接口1,热插拔单板2对应LED接口2。基于此,热插拔单板标识对应的热插拔单板为热插拔单板1时,则热插拔控制模块可以通过LED接口1向热插拔单板1发送点灯命令。
本发明实施例中,热插拔控制模块内还可以包含一个点灯寄存器,该点灯寄存器的位数与热插拔单板的数量M相同,第1位对应热插拔单板1,第2位对应热插拔单板2,以此类推,第M位对应热插拔单板M,该热插拔控制模块通过使用该点灯寄存器控制热插拔单板的点灯处理。
其中,基于点灯寄存器内各位的数值,热插拔控制模块可以通过相应的LED接口发送点灯命令,或者不发送点灯命令。例如,当点灯寄存器的第1位为0时,表示不需要对热插拔单板1进行点灯处理,不通过LED接口1向热插拔单板1发送点灯命令。当点灯寄存器的第1位为1时,表示需要对热插拔单板1进行点灯处理,通过LED接口1向热插拔单板1发送点灯命令。
步骤13、热插拔单板开始工作,至此,成功完成将热插拔单板插入主控板。
针对上述应用场景下的读命令和写命令的处理过程,通过在LPC编解码模块中模拟出LPC协议,可以和CPU进行正常的通信,实现地址校验,接收命令和读取数据。进一步的,LPC编解码模块可以采用图3所示的LPC状态机进行处理,LPC编解码模块在接收完16位的地址后,将16位的地址存入地址寄存器LPC_ADDR。在16位的地址校验正确后,LPC编解码模块才进行数据和指令的读取,即通过LPC数据接口(LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口)进行数据和指令的读取。
图3中,RESET是初始状态,在初始状态下,若在LPC帧起始位接口检测到FRAME由0跳变为1这个上升沿动作,将状态调整为IDLE状态,判断CPU发出读命令还是写命令。针对读命令和写命令,LPC编解码模块从LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口进行数据的读取。
当CPU发出写命令时,如果地址校验正确,则转到DATA0和DATA1等两个数据状态,在这两个数据状态下,将第一次从LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口接收到的数据(即热插拔单板标识)存储到LPC控制寄存器的第1位至第4位,并将第二次从LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口接收到的数据(即控制类型)存储到LPC控制寄存器的第5位至第8位。之后,状态转到TAR1和TAR2等2个等待位,然后状态转到SYNC从机(CPLD)响应状态(即CPU等待CPLD响应状态,在接到CPLD响应的0000时,即往下执行,否则CPU等待)。
在SYNC状态时,如果CPLD在数据线上写入的LAD=0000,则可以转到TAR1和TAR2等2个等待位,并最终到达RESET。在SYNC状态时,如果CPLD在数据线上写入的LAD=0101,则表示需要中断比较短的时间,一直到CPLD在数据线上写入的LAD=0000。在SYNC状态时,如果CPLD在数据线上写入的LAD=0110,则表示需要中断比较长的时间,一直到CPLD在数据线上写入的LAD=0000。在SYNC状态时,如果CPLD在数据线上写入的LAD=1010,则表示出错,需要重新接收数据。
当CPU发出读命令时,如果地址校验正确,则状态转到TAR1和TAR2等2个等待位,然后状态转到SYNC从机(CPLD)响应状态(即CPU等待CPLD响应状态,在接到CPLD响应的0000时,即往下执行,否则CPU等待)。
在SYNC状态时,如果CPLD在数据线上写入的LAD=0000,则转到DATA0和DATA1等两个数据状态,在这两个数据状态下,可以将BTN_DATA寄存器或者HP_DATA寄存器内存储的数据写入到LPC数据寄存器,以供CPU读取,之后可以转到TAR1和TAR2等2个等待位,并最终到达RESET。在SYNC状态时,如果CPLD在数据线上写入的LAD=0101,则表示需要中断比较短的时间,一直到CPLD在数据线上写入的LAD=0000。在SYNC状态时,如果CPLD在数据线上写入的LAD=0110,则表示需要中断比较长的时间,一直到CPLD在数据线上写入的LAD=0000。在SYNC状态时,如果CPLD在数据线上写入的LAD=1010,则表示出错,需要重新接收数据。
在一个例子中,可以认为SYNC是从机的响应位,并认为TAR是交换总线占有权的等待位。例如,CPU可以为主机,而CPLD中的LPC编解码模块可以为从机。首先,CPU占用总线,在经历RESET状态和IDLE状态后,由于主机占用总线,因此CPU可以在LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口上写入数据,并由LPC编解码模块从LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口进行数据的读取。
在之后的TAR1和TAR2等2个等待位,开始交换权利,并在SYNC状态时,由从机占用总线,因此,LPC编解码模块可以在LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口上写入数据,并由CPU从LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口进行数据的读取。
在之后的TAR1和TAR2等2个等待位,开始交换权利,并在RESET状态下,又由主机占用总线,CPU可以在LPC_LAD0接口、LPC_LAD1接口、LPC_LAD2接口、LPC_LAD3接口上写入数据,以此类推。
基于上述技术方案,本发明实施例中,通过在CPU与热插拔单板之间部署热插拔控制电路,由热插拔控制电路实现热插拔单板与CPU之间的数据交互,完成热插拔单板的热插拔过程,从而实现多个热插拔单板的热插拔过程。当主控板上部署的热插拔单板越来越多时,则不需要在主控板上部署多个热插拔控制电路,只需要部署一个热插拔控制电路即可,从而简化主控板的硬件逻辑,降低成本,节省PCB空间。而且,可以使用CPU自带的并行LPC接口下发命令读取数据,避免在主控板上部署新的接口。
基于与上述热插拔控制电路同样的发明构思,本发明实施例中还提供了一种热插拔控制电路中的控制方法,所述热插拔控制电路具体包括:CPLD和MOS管开关模块,所述CPLD具体包括LPC编解码模块以及热插拔控制模块。如图4所示,所述热插拔控制电路中的控制方法具体可以包括:
步骤401,LPC编解码模块接收来自中央处理器CPU的写命令,并在接收到所述写命令时,从所述写命令中解析出热插拔单板标识和控制类型,并将所述热插拔单板标识和所述控制类型提供给所述热插拔控制模块。
步骤402,热插拔控制模块在获得所述热插拔单板标识和所述控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制。
本发明实施例中,所述热插拔控制模块在利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制的过程中,在所述控制类型具体为上电类型或者下电类型时,则向所述MOS管开关模块发送上电命令或者下电命令,以使所述MOS管开关模块对所述热插拔单板进行上电处理或者下电处理;或者,在所述控制类型具体为复位类型或者释放复位类型时,则向所述热插拔单板发送复位命令或者释放复位命令,以使所述热插拔单板进行复位处理或者释放复位处理;或者,在所述控制类型具体为点灯类型时,则向所述热插拔单板发送点灯命令,以使所述热插拔单板进行点灯处理。
所述MOS管开关模块在接收到来自所述热插拔控制模块的上电命令时,则开启所述热插拔单板对应的电源,将所述电源提供给所述热插拔单板,以通过所述电源对所述热插拔单板进行上电处理;或者,在接收到来自所述热插拔控制模块的下电命令时,则关闭所述热插拔单板对应的电源,拒绝将所述电源提供给所述热插拔单板,以对所述热插拔单板进行下电处理。
本发明实施例中,所述LPC编解码模块接收来自所述CPU的读命令,并在接收到所述读命令时,将热插拔单板标识和控制类型提供给所述CPU,以使所述CPU生成包含所述热插拔单板标识和所述控制类型的写命令。
LPC编解码模块在将热插拔单板标识和控制类型提供给所述CPU之前,在接收到写命令时,则将BTN_DATA寄存器或者HP_DATA寄存器内存储的热插拔单板标识和控制类型写入到LPC数据寄存器。进一步的,在将热插拔单板标识和控制类型提供给所述CPU的过程中,所述LPC编解码模块在接收到所述读命令时,将所述LPC数据寄存器内存储的热插拔单板标识和控制类型提供给CPU,以使CPU从所述LPC数据寄存器中读取到热插拔单板标识和控制类型。
所述LPC编解码模块在接收到按键信号时,确定控制类型为下电类型,并利用按键被按下次数确定热插拔单板标识,并将所述控制类型和所述热插拔单板标识存储到所述BTN_DATA寄存器内;或者,在接收到来自热插拔单板的在位信号时,确定控制类型为上电类型,并将所述控制类型和所述热插拔单板的热插拔单板标识存储到所述HP_DATA寄存器内。
本发明实施例中,所述LPC编解码模块在从所述写命令中解析出热插拔单板标识和控制类型之后,将所述热插拔单板标识和所述控制类型存储到LPC控制寄存器内;其中,将所述热插拔单板标识存储到所述LPC控制寄存器的第1位至第4位,将所述控制类型存储到所述LPC控制寄存器的第5位至第8位;或者,将所述热插拔单板标识存储到所述LPC控制寄存器的第5位至第8位,将所述控制类型存储到所述LPC控制寄存器的第1位至第4位。
在所述LPC编解码模块中模拟出LPC协议,且所述LPC编解码模块包括LPC复位接口、LPC时钟接口、LPC帧起始位接口、LPC数据接口;所述LPC编解码模块的LPC复位接口与所述CPU的LPC复位接口电性连接,所述LPC编解码模块的LPC时钟接口与所述CPU的LPC时钟接口电性连接,所述LPC编解码模块的LPC帧起始位接口与所述CPU的LPC帧起始位接口电性连接,所述LPC编解码模块的LPC数据接口与所述CPU的LPC数据接口电性连接;
其中,所述LPC编解码模块通过所述LPC编解码模块的LPC数据接口与所述CPU的LPC数据接口进行数据通信,并通过所述LPC编解码模块的LPC数据接口接收来自所述CPU的LPC数据接口的写命令或者读命令。
本发明实施例中,所述热插拔控制电路和所述CPU应用在主控板上,所述主控板或者背板上还包括M个热插拔单板,所述热插拔控制电路包括一个CPLD和M个MOS管开关模块,其中,每个MOS管开关模块对应一个热插拔单板。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (8)
1.一种热插拔控制电路,其特征在于,所述热插拔控制电路具体包括:复杂可编程逻辑器件CPLD和金属氧化物半导体MOS管开关模块,所述CPLD具体包括低引脚数LPC编解码模块以及热插拔控制模块;其中:
所述LPC编解码模块,用于接收来自直接相连的中央处理器CPU的写命令,并在接收到所述写命令时,从所述写命令中解析出热插拔单板标识和控制类型,并将所述热插拔单板标识和所述控制类型提供给所述热插拔控制模块;
所述热插拔控制模块,用于在获得所述热插拔单板标识和所述控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制;
其中,所述热插拔控制模块内还包括多个电源接口,所述热插拔控制模块具体用于在利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制的过程中,在所述控制类型具体为上电类型或者下电类型时,则通过对应的所述电源接口向所述MOS管开关模块发送上电命令或者下电命令,以使所述MOS管开关模块对所述热插拔单板进行上电处理或者下电处理,其中,所述电源接口与对应的MOS管开关模块连接;或者,在所述控制类型具体为复位类型或者释放复位类型时,则向所述热插拔单板发送复位命令或者释放复位命令,以使所述热插拔单板进行复位处理或者释放复位处理;或者,在所述控制类型具体为点灯类型时,则向所述热插拔单板发送点灯命令,以使所述热插拔单板进行点灯处理;
在所述LPC编解码模块中模拟出LPC协议,且所述LPC编解码模块包括LPC复位接口、LPC时钟接口、LPC帧起始位接口、LPC数据接口;所述LPC编解码模块的LPC复位接口与所述CPU的LPC复位接口直接电性连接,所述LPC编解码模块的LPC时钟接口与所述CPU的LPC时钟接口直接电性连接,所述LPC编解码模块的LPC帧起始位接口与所述CPU的LPC帧起始位接口直接电性连接,所述LPC编解码模块的LPC数据接口与所述CPU的LPC数据接口直接电性连接;
其中,所述LPC编解码模块通过所述LPC编解码模块的LPC数据接口与所述CPU的LPC数据接口进行数据通信,并通过所述LPC编解码模块的LPC数据接口接收来自所述CPU的LPC数据接口的写命令。
2.根据权利要求1所述的热插拔控制电路,其特征在于,
所述MOS管开关模块,用于在接收到来自所述热插拔控制模块的上电命令时,则开启所述热插拔单板对应的电源,将所述电源提供给所述热插拔单板,以通过所述电源对所述热插拔单板进行上电处理;或者,在接收到来自所述热插拔控制模块的下电命令时,则关闭所述热插拔单板对应的电源,拒绝将所述电源提供给所述热插拔单板,以对所述热插拔单板进行下电处理。
3.根据权利要求1所述的热插拔控制电路,其特征在于,
所述LPC编解码模块,还用于接收来自所述CPU的读命令,并在接收到所述读命令时,将热插拔单板标识和控制类型提供给所述CPU,以使所述CPU生成包含所述热插拔单板标识和所述控制类型的写命令。
4.根据权利要求3所述的热插拔控制电路,其特征在于,
所述LPC编解码模块,还用于在将热插拔单板标识和控制类型提供给所述CPU之前,在接收到写命令时,则将BTN_DATA寄存器或者HP_DATA寄存器内存储的热插拔单板标识和控制类型写入到LPC数据寄存器;
在将热插拔单板标识和控制类型提供给所述CPU的过程中,在接收到所述读命令时,将所述LPC数据寄存器内存储的热插拔单板标识和控制类型提供给CPU,以使CPU从所述LPC数据寄存器中读取到热插拔单板标识和控制类型。
5.根据权利要求4所述的热插拔控制电路,其特征在于,
所述LPC编解码模块,还用于在接收到按键信号时,确定控制类型为下电类型,并利用按键被按下次数确定热插拔单板标识,并将所述控制类型和所述热插拔单板标识存储到所述BTN_DATA寄存器内;或者,在接收到来自热插拔单板的在位信号时,确定控制类型为上电类型,并将所述控制类型和所述热插拔单板的热插拔单板标识存储到所述HP_DATA寄存器内。
6.根据权利要求1所述的热插拔控制电路,其特征在于,
所述LPC编解码模块,还用于在从所述写命令中解析出热插拔单板标识和控制类型之后,将所述热插拔单板标识和所述控制类型存储到LPC控制寄存器内;其中,将所述热插拔单板标识存储到所述LPC控制寄存器的第1位至第4位,将所述控制类型存储到所述LPC控制寄存器的第5位至第8位;或者,将所述热插拔单板标识存储到所述LPC控制寄存器的第5位至第8位,将所述控制类型存储到所述LPC控制寄存器的第1位至第4位。
7.根据权利要求1-6任一项所述的热插拔控制电路,其特征在于,
所述热插拔控制电路和所述CPU应用在主控板上,所述主控板或者背板上还包括M个热插拔单板,所述热插拔控制电路包括一个CPLD和M个MOS管开关模块,其中,每个MOS管开关模块对应一个热插拔单板。
8.一种应用在权利要求1-7任一项所述的热插拔控制电路中的控制方法,其特征在于,所述热插拔控制电路具体包括:复杂可编程逻辑器件CPLD和金属氧化物半导体MOS管开关模块,所述CPLD具体包括低引脚数LPC编解码模块以及热插拔控制模块;所述控制方法具体包括:
所述LPC编解码模块接收来自中央处理器CPU的写命令,并在接收到所述写命令时,从所述写命令中解析出热插拔单板标识和控制类型,并将所述热插拔单板标识和所述控制类型提供给所述热插拔控制模块;
所述热插拔控制模块在获得所述热插拔单板标识和所述控制类型后,利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制;
所述热插拔控制模块利用所述控制类型对所述热插拔单板标识对应的热插拔单板进行控制,包括:在所述控制类型具体为上电类型或者下电类型时,则向所述MOS管开关模块发送上电命令或者下电命令,以使所述MOS管开关模块对所述热插拔单板进行上电处理或者下电处理;或者,在所述控制类型具体为复位类型或者释放复位类型时,则向所述热插拔单板发送复位命令或者释放复位命令,以使所述热插拔单板进行复位处理或者释放复位处理;或者,在所述控制类型具体为点灯类型时,则向所述热插拔单板发送点灯命令,以使所述热插拔单板进行点灯处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610305219.1A CN105955911B (zh) | 2016-05-09 | 2016-05-09 | 一种热插拔控制电路及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610305219.1A CN105955911B (zh) | 2016-05-09 | 2016-05-09 | 一种热插拔控制电路及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105955911A CN105955911A (zh) | 2016-09-21 |
CN105955911B true CN105955911B (zh) | 2023-06-02 |
Family
ID=56914173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610305219.1A Active CN105955911B (zh) | 2016-05-09 | 2016-05-09 | 一种热插拔控制电路及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105955911B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228504B (zh) * | 2016-12-21 | 2020-03-10 | 华为技术有限公司 | 一种pcie设备的对接方法及pcie设备 |
CN107577565A (zh) * | 2017-10-23 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种服务器时钟热添加和热移除的方法 |
CN107992443A (zh) * | 2017-12-22 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种利用cpld实现的pcie热插拔系统及方法 |
CN108153697A (zh) * | 2018-01-19 | 2018-06-12 | 环旭电子股份有限公司 | 具有热插入功能的主板的服务器系统 |
CN108255764A (zh) * | 2018-01-24 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种可热插拔时钟板的电路及其控制方法 |
CN110765038B (zh) * | 2018-07-25 | 2021-09-03 | 龙芯中科技术股份有限公司 | 处理器与lpc设备的通信方法、装置和存储介质 |
CN109960201B (zh) * | 2019-03-22 | 2021-12-17 | 湖北三江航天万峰科技发展有限公司 | 一种热插拔式可拓展通用控制器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551770A (zh) * | 2009-05-07 | 2009-10-07 | 福建星网锐捷网络有限公司 | 一种热插拔测试装置和方法 |
CN103914424A (zh) * | 2014-04-14 | 2014-07-09 | 中国人民解放军国防科学技术大学 | 基于gpio接口的lpc外设扩展方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125417A (en) * | 1997-11-14 | 2000-09-26 | International Business Machines Corporation | Hot plug of adapters using optical switches |
CN101026480B (zh) * | 2006-02-20 | 2010-05-12 | 华为技术有限公司 | Ipmi子系统及单板的上电方法 |
CN101169746B (zh) * | 2006-10-26 | 2010-05-12 | 华为技术有限公司 | 实现单板上下电的方法、装置和系统 |
CN101046793B (zh) * | 2007-03-19 | 2010-07-28 | 杭州华三通信技术有限公司 | 总线信号控制方法、系统、接口单板及网络设备内部单板 |
CN101667953B (zh) * | 2009-10-23 | 2012-04-18 | 杭州华三通信技术有限公司 | 一种快速环网物理链路状态的上报方法及装置 |
CN201673497U (zh) * | 2010-05-28 | 2010-12-15 | 深圳华北工控股份有限公司 | 计算机外围设备热插拔保护装置 |
CN102681968B (zh) * | 2012-05-25 | 2015-03-18 | 山西联华伟业科技有限公司 | 可热插拔槽位识别电路 |
CN103793035A (zh) * | 2012-10-30 | 2014-05-14 | 鸿富锦精密工业(深圳)有限公司 | 硬盘控制电路 |
CN103345460B (zh) * | 2013-06-26 | 2016-08-10 | 惠州Tcl移动通信有限公司 | 一种用于实现热插拔的通信模块及终端 |
US9986057B2 (en) * | 2014-10-01 | 2018-05-29 | Sap Portals Israel Ltd. | UI framework support for portal systems |
CN105490817B (zh) * | 2014-10-10 | 2020-03-31 | 中兴通讯股份有限公司 | 接口板热插拔处理方法及装置 |
-
2016
- 2016-05-09 CN CN201610305219.1A patent/CN105955911B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551770A (zh) * | 2009-05-07 | 2009-10-07 | 福建星网锐捷网络有限公司 | 一种热插拔测试装置和方法 |
CN103914424A (zh) * | 2014-04-14 | 2014-07-09 | 中国人民解放军国防科学技术大学 | 基于gpio接口的lpc外设扩展方法及装置 |
Non-Patent Citations (2)
Title |
---|
Pawel Predki 等.Hot-plug based activation and deactivation of ATCA FRU devices. 《2009 MIXDES-16th International Conference Mixed Design of Integrated Circuits & Systems》 .2009,第119-122页 . * |
陈艳峰 等 . CompactPCI 热插拔技术研究现状评述 .《测控技术》.2002,第第21卷卷(第第21卷期),第1-5页. * |
Also Published As
Publication number | Publication date |
---|---|
CN105955911A (zh) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955911B (zh) | 一种热插拔控制电路及其控制方法 | |
US8898358B2 (en) | Multi-protocol communication on an I2C bus | |
CN105354070B (zh) | 一种通过i2c升级设备固件的方法 | |
CN100511148C (zh) | 一种cpu系统的启动方法及系统 | |
CN101923504B (zh) | 读卡器测试治具及读卡器测试方法 | |
CN110502462B (zh) | 一种ocp转接卡和服务器 | |
CA3114121A1 (en) | Memory card, memory card adapter, and terminal device | |
CN101470584A (zh) | 硬盘扩展装置 | |
CN103412836B (zh) | 热插拔处理方法、装置以及系统 | |
US9507744B2 (en) | Handling two SGPIO channels using single SGPIO decoder on a backplane controller | |
CN110619914A (zh) | 一种带PCIe接口量产器用于固态硬盘的量产方法 | |
CN1983204A (zh) | 使用lpc接口且能修复bios功能之除错装置及其除错方法 | |
CN101620580A (zh) | 计算机系统及其控制方法 | |
US8015448B2 (en) | System and method for conducting BIST operations | |
TWI512475B (zh) | 有助於在記憶體模組和中央處理器之間進行通信的方法及相關機器可讀儲存媒體 | |
US9158609B2 (en) | Universal serial bus testing device | |
CN102884515A (zh) | 串口重定向处理方法、设备和系统 | |
CN111447121A (zh) | Pcie控制器的测试方法、装置、设备及存储介质 | |
US7065661B2 (en) | Using request and grant signals to read revision information from an adapter board that interfaces a disk drive | |
US20110289246A1 (en) | Super i/o module, computer system and control method thereof | |
CN110765038B (zh) | 处理器与lpc设备的通信方法、装置和存储介质 | |
CN115905072A (zh) | 计算机系统、基于PCIe设备的控制方法及相关设备 | |
CN101989219B (zh) | 硬件侦错调试码信息输出方法、装置及系统 | |
US20150026377A1 (en) | High-security card slot module | |
TWI416133B (zh) | 讀卡器測試治具及讀卡器測試方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Hangzhou City, Zhejiang Province, Binjiang District West Street 310053 Qianmo Road No. 482 building eleventh layer to the twelfth layer A Applicant after: MACROSAN TECHNOLOGIES Co.,Ltd. Address before: Hangzhou City, Zhejiang Province, Binjiang District West Street 310053 Qianmo Road No. 482 building eleventh layer to the twelfth layer A Applicant before: MACROSAN TECHNOLOGIES CO.,LTD. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |