本公开涉及计算机技术领域,具体而言,涉及一种电源管理芯片升级电路、方法及网络设备。
背景技术:
随着计算机技术的发展,各种各样网络设备的应用也越来越广泛,例如路由器、服务器等。网络设备的运行离不开电能的支持,因此网络设备中通常都设置有电源管理芯片,从而对该网络设备中的电源系统进行管理。而为了提高对电源系统管理的效果,电源管理芯片的升级也日益受到广泛的关注。
现有技术中,网络设备包括电源管理芯片升级电路,该电路包括主控板和业务板,该主控板和该业务板上均设置有cpu(centralprocessingunit,中央处理器),主控板上的cpu通过总线与业务板上的cpu连接,业务板上的cpu通过总线与该业务板上的电源管理芯片连接。当对电源管理芯片进行升级时,主控板cpu通过总线将电源管理升级程序发送给业务板上的cpu,业务板的上的cpu接收该电源管理升级程序,并将该电源管理升级程序发送给电源管理芯片,之后,电源管理芯片可以基于该电源管理升级程序进行升级。
但由于需要业务板上的cpu参与才能够完成电源管理芯片的升级,而cpu的可靠性很差,当cpu中的程序发生故障时,可能会导致电源管理芯片无法正常升级,即对电源管理芯片进行升级的可靠性较低。
技术实现要素:
本公开的目的在于提供一种电源管理芯片升级电路、方法及网络设备,以提高对电源管理芯片进行升级的可靠性。
为了实现上述目的,本公开采用的技术方案如下:
第一方面,本公开提出一种电源管理芯片升级电路,所述电路包括主控板和业务板;
所述业务板包括第一可编程逻辑器件和电源管理芯片,所述第一可编程逻辑器件分别与所述主控板和所述电源管理芯片通信连接;
所述主控板,用于向所述第一可编程逻辑器件发送电源管理升级程序;
所述第一可编程逻辑器件,用于将接收到的所述电源管理升级程序发送至所述电源管理芯片;
所述电源管理芯片,用于基于所述电源管理升级程序进行升级。
可选地,所述主控板设置有第二可编程逻辑器件和处理器,所述第二可编程逻辑器件分别与所述第一可编程逻辑器件和所述处理器通信连接。
可选地,所述第一可编程逻辑器件通过iic(inter-integratedcircuit,集成电路)总线与所述电源管理芯片通信连接。
可选地,所述第二可编程逻辑器件通过私有协议总线与所述第一可编程逻辑器件通信连接,所述第二可编程逻辑器件与所述处理器通过本地总线通信连接。
可选地,所述第一可编程逻辑器件和所述第二可编程逻辑器件包括cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)。
第二方面,本公开还提出电源管理芯片升级方法,所述方法应用于第一方面所述的电源管理芯片升级电路,所述方法包括:
所述主控板向所述第一可编程逻辑器件发送电源管理升级程序;
所述第一可编程逻辑器件将接收到的所述电源管理升级程序发送至所述电源管理芯片;
所述电源管理芯片基于所述电源管理升级程序进行升级。
可选地,所述主控板包括第二可编程逻辑器件,所述第一可编程逻辑器件通过私有协议总线与所述第二可编程逻辑器件通信连接;所述主控板向所述第一可编程逻辑器件发送电源管理升级程序,包括:
所述主控板通过所述第二可编程逻辑器件,经所述私有协议总线,将所述电源管理升级程序发送至所述第一可编程逻辑器件。
可选地,所述主控板还包括处理器,所述第二可编程逻辑器件与所述处理器通过本地总线通信连接,在所述主控板通过所述第二可编程逻辑器件,经所述私有协议总线,将所述电源管理升级程序发送至所述第一可编程逻辑器件之前,所述方法还包括:
所述主控板通过所述处理器,经所述本地总线,将所述电源管理升级程序发送至所述第二可编程逻辑器件。
可选地,所述第一可编程逻辑器件通过iic总线与所述电源管理芯片通信连接,所述第一可编程逻辑器件将接收到的所述电源管理升级程序发送至所述电源管理芯片,包括:
所述第一可编程逻辑器件通过所述iic总线,将所述电源管理升级程序发送至所述电源管理芯片。
第三方面,本公开还提出一种网络设备,所述网络设备包括如第一方面所述的电源管理芯片升级电路。
在本公开实施例中,由于电源管理芯片升级电路中的业务板设置有与电源管理芯片通信连接的第一可编程逻辑器件,且该第一可编程逻辑器件还与主控板通信连接,因此,主控板可以将电源管理升级程序发送至第一可编程逻辑器件,相应的,第一可编程逻辑器件可以接收主控板发送的电源管理升级程序,并将该电源管理升级程序发送至电源管理芯片,当电源管理芯片获取到该电源管理升级程序时,即可基于该电源管理升级程序进行升级。由于可编程逻辑器件能够通过硬件电路实现相应的功能,可靠性高,因此,通过可编程逻辑器件即能够有效提高对电源管理芯片进行升级的可靠性。
本公开的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开所提供的一种电源管理芯片升级电路的结构示意图;
图2示出了本公开所提供的另一种电源管理芯片升级电路的结构示意图;
图3示出了本公开所提供的又一种电源管理芯片升级电路的结构示意图;
图4示出了本公开所提供的一种电源管理芯片升级方法的流程示意图;
图5示出了本公开所提供的一种主控板向第一可编程逻辑器件发送电源管理升级程序的方法的流程示意图。
标号:100-电源管理芯片升级电路;101-主控板;102-业务板;1011-第二可编程逻辑器件;1012-处理器;1021-第一可编程逻辑器件;1022-电源管理芯片;10211-iic控制器模块;10212-私有协议总线模块。
具体实施方式
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在对本公开进行说明之前,先对本公开的应用场景予以介绍。
当前的网络设备(比如路由器、交换机以及服务器等)都包括电源管理芯片升级电路,该电路包括主控板和至少一个的业务板,其中,主控板可以用于对该至少一个的业务板进行配置以及管理,各业务板可以用于实现不同的功能。当对业务板上的电源管理芯片进行升级时,可以通过主控板的cpu以及业务板的cpu获取电源管理升级程序,并将该电源管理升级程序写入该电源管理芯片内部的存储介质,比如eeprom(electricallyerasableprogrammablereadonlymemory,带电可擦可编程只读存储器)。之后,可以通过业务板的cpu控制该电源管理芯片进行一次上下电,从而完成升级。
但在采用上述电源管理芯片升级电路对电源管理芯片升级时,需要极度依赖业务板的上的cpu,而由于cpu通常是通过软件程序来实现相应的功能,一方面可能会出现程序故障的问题,另一方面,cpu所处理的任务之间也可能会出现互相干扰的问题,从而可能导致难以及时可靠地对电源管理芯片进行升级,例如cpu收到多个任务后,可能会将升级任务延后。为解决这一问题,本公开提供了一种电源管理芯片升级电路、方法及网络设备,可以通过可靠性较高的可编程逻辑器件,实现对网络设备中的电源管理芯片进行升级,而不再依赖业务板上的cpu,提高对电源管理芯片进行升级的可靠性。
电源管理芯片设置在业务板中,该电源管理芯片设置有如eeprom等存储介质,该存储介质可以存储电源管理芯片实现电源管理所需的程序或指令(比如电源管理程序、电源管理升级程序),因而该电源管理芯片能够执行该程序或指令,针对所在的业务板进行电源管理。
电源管理芯片为针对业务板进行电源管理的芯片,该电源管理芯片上设置有电源管理程序。
电源管理升级程序为对电源管理芯片中的电源管理程序进行升级的程序。
其中,电源管理升级程序可以由主控板事先获取得到,比如,通过所在网络设备设置的数据接口,与其它设备进行通信得到,或者根据程序员指令得到等。当然,在实际应用中,电源管理升级程序可以由主控板通过其它方式得到,本公开实施例不作限制。
可编程逻辑器件为可以在出厂后由用户自行定义其中数字电路的器件。例如,可编程逻辑器件可以包括cpld、fpga(field-programmablegatearray,现场可编程门阵列)或pal(programmablearraylogic,可编程阵列逻辑)等。
其中,cpld主要由可编程逻辑宏单元围绕中心的可编程互连矩阵单元组成,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强等优点。
fpga采用了逻辑单元阵列,其内部包括可配置逻辑模块、输入输出模块和内部连线三个部分。
pal采用熔丝编程方式,由可编程的与阵列和固定的或阵列组成,采用双极性工艺制造,器件的工作速度很高,设计很灵活,输出结构种类很多。
另外,需要说明的是,对电源管理芯片的升级,可以包括对电源管理芯片在功能和/或性能上的改变,比如增加或减少至少一种功能,和/或,提升或降低至少一项性能。
以下将对本公开提供的电源管理芯片升级电路、方法及网络设备进行详细的解释说明。
请参照图1,为本公开所提供的一种电源管理芯片升级电路100的结构示意图,如图1所示,该电源管理芯片升级电路100包括主控板101和业务板102,业务板102包括第一可编程逻辑器件1021和电源管理芯片1022,第一可编程逻辑器件1021分别与主控板101和电源管理芯片1022通信连接,其中,主控板101用于向第一可编程逻辑器件1021发送电源管理升级程序,第一可编程逻辑器件1021用于将接收到的电源管理升级程序发送至电源管理芯片1022,电源管理芯片1022用于基于该电源管理升级程序进行升级。
第一可编程逻辑器件1021设置在业务板102中,可以用于与业务板102与主控板101之间的通信,并对业务板102中的其它器件进行控制,比如控制电源管理芯片1022的上电或下电等。
当然,如图1所示,业务板102的数量可以为1个或多个,各业务板102还可以与其它的业务板102通信连接,从而与其它的业务板102进行通信。
第一可编程逻辑器件1021,可以通过有线或无线的方式,分别与主控板101和电源管理芯片1022通信连接,比如,第一可编程逻辑器件1021可以通过符合预设通信标准的总线来分别与主控板101和电源管理芯片1022通信连接,且其中分别用于与主控板101和电源管理芯片1022通信连接的总线类型可以不同。
当电源管理芯片1022获取到电源管理升级程序时,可以通过该电源管理芯片1022所在的业务板102中的第一可编程逻辑器件1021,控制该电源管理芯片1022进行一次下电和上电操作,电源管理芯片1022在重新上电之后,基于该电源管理升级程序,对该电源管理芯片1022中的电源管理程序等与电源管理相关的程序和指令进行升级,从而完成升级。
在本公开实施例中,由于电源管理芯片升级电路100中的业务板102设置有与电源管理芯片1022通信连接的第一可编程逻辑器件1021,且该第一可编程逻辑器件1021还与主控板101通信连接,因此,主控板101可以将电源管理升级程序发送至第一可编程逻辑器件1021,相应的,第一可编程逻辑器件1021可以接收主控板101发送的电源管理升级程序,并将该电源管理升级程序发送至电源管理芯片1022,当电源管理芯片1022获取到该电源管理升级程序时,即可基于该电源管理升级程序进行升级。由于可编程逻辑器件能够通过硬件电路实现相应的功能,可靠性高,因此,通过可编程逻辑器件即能够有效提高对电源管理芯片1022进行升级的可靠性。
需要说明的是,在图1中示出的电源管理芯片升级电路100中,该电路包括一个主控板101以及多个业务板102,且各业务板102分别包括1个第一可编程逻辑器件1021以及电源管理芯片1022,但在实际应用中,也可以包括更多的主控板101,和/或,可以包括更少的业务板102,和/或,业务板102可以包括更多的电源管理芯片1022。
可选地,第一可编程逻辑器件1021通过iic总线与电源管理芯片1022通信连接。
其中,iic总线是一种双向、二线制、同步串行总线。
可选地,请参照图2或3,主控板101设置有第二可编程逻辑器件1011和处理器1012,第二可编程逻辑器件1011分别与第一可编程逻辑器件1021和处理器1012通信连接。
第二可编程逻辑器件1011可以用于主控板101与各业务板102之间的通信。
例如,可以通过处理器1012将电源管理升级程序以及业务板标识信息发送给第二可编程逻辑器件1011,第二可编程逻辑器件1011基于该业务板标识信息,将该电源管理升级程序发送至对应的与该业务板标识信息对应的业务板102。
其中,业务板标识信息为对业务板102进行标识的信息,比如,该业务板标识信息可以包括业务板编号或者业务板名称。
处理器1012可以包括前述中的cpu,或者可以包括mpu(microprocessorunit,微处理器)、mcu(microcontrolunit,微控制器)或soc(systemonchip,片上系统)。
需要说明的是,第二可编程逻辑器件1011的类型可以与第一可编程逻辑器件1021的类型相同。
还需要说明的是,第二可编程逻辑器件1011,可以通过有线或无线的方式,分别与第一可编程逻辑器件1021和处理器1012通信连接,比如,第二可编程逻辑器件1011可以通过符合预设通信标准的总线来与第一可编程逻辑器件1021和处理器1012通信连接,且其中分别用于与第一可编程逻辑器件1021和处理器1012通信连接的总线类型可以不同。
可选地,第二可编程逻辑器件1011通过私有协议总线与第一可编程逻辑器件1021通信连接,第二可编程逻辑器件1011与处理器1012通过本地总线(localbus)通信连接。
私有协议用于可编程逻辑器件之间的通信。
私有协议总线和本地总线可以是事先设置的、符合预设通信标准的总线,本申请不对具体协议内容进行限定。
请参照图3,第一可编程逻辑器件1021中可以包括iic控制器模块10211,该iic控制模块与电源管理芯片1022通信连接,从而能够对第一可编程逻辑器件1021与电源管理芯片1022的通信过程进行控制。
由于iic总线占用的信号线较少,并具有自动寻址、多时钟同步和仲裁等功能,因此,使用该iic总线能够使业务板102以及电源管理芯片升级电路100方便灵活、体积小,也能可靠地实现第一可编程逻辑器件1021与电源管理芯片1022之间的通信。
当然,在实际应用中,第一可编程逻辑器件1021也可以通过其它类型的总线与电源管理芯片1022通信连接,比如spi(serialperipheralinterface,串行外设接口)或者其它类型的低速总线等。
请参照图3,第一可编程逻辑器件1021中可以包括私有协议总线模块10212,该私有协议总线模块10212与前述中的iic控制器模块10211通信连接,且该私有协议总线模块10212还与第二可编程逻辑器件1011通信连接,从而能够控制业务板102与主控板101之间的通信。
例如,可以通过私有协议总线模块10212,接收来自主控板101的电源管理升级程序,并通过私有协议总线模块10212与iic控制器模块10211之间的内部总线,将该电源管理升级程序发送给iic控制器模块10211。
由于在对业务板102的电源管理芯片1022进行升级时,通过主控板101的处理器1012将电源管理升级程序发送给可编程逻辑器件即可,极大地减少了对cpu等处理器1012的依赖,进一步提高了对电源管理芯片1022升级的可靠性。
需要说明的是,在实际应用中,第一可编程逻辑器件1021还可以包括其它模块,在此不作限制。
可选地,第一可编程逻辑器件1021和第二可编程逻辑器件1011包括cpld。
需要说明的是,cpld比cpu等处理器的可靠性高,因此,可以通过分别在主控板101和业务板102设置可编程逻辑器件,从而通过可编程逻辑器件实现对业务板102中的电源管理芯片1022进行升级,减少对处理器1012的依赖,提高升级的可靠性。
另外,在本公开的另一可选地实施例中,业务板102还可以包括用于执行其它与电源管理芯片1022升级不相关功能的处理器。
请参照图4,为本公开所提供的一种电源管理芯片升级方法的流程示意图。该方法应用于图1-3任一所示的电源管理芯片升级电路100中。需要说明的是,本公开所述的电源管理芯片升级方法并不以图4以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开所述的电源管理芯片升级方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图4所示的流程进行详细阐述。
步骤401,主控板101向第一可编程逻辑器件1021发送电源管理升级程序。
其中,电源管理芯片升级电路100可以包括主控板101和业务板102,业务板102包括第一可编程逻辑器件1021和电源管理芯片1022,第一可编程逻辑器件1021与主控板101通信连接。因此,主控板101可以通过与主控板101之间的通信连接将电源管理升级程序发送至第一可编程逻辑器件1021。
步骤402,第一可编程逻辑器件1021将接收到的电源管理升级程序发送至电源管理芯片1022。
由前述可知,第一可编程逻辑器件1021与电源管理芯片1022通信连接,因此第一可编程逻辑器件1021可以通过与电源管理芯片1022之间的通信连接,将该电源管理升级程序发送给电源管理芯片1022。
步骤403,电源管理芯片1022基于电源管理升级程序进行升级。
其中,电源管理芯片1022基于电源管理升级程序进行升级的方式,可以参见前述中的相关描述,此处不再一一赘述。
在本公开实施例中,由于电源管理芯片升级电路100中的业务板102设置有与电源管理芯片1022通信连接的第一可编程逻辑器件1021,且该第一可编程逻辑器件1021还与主控板101通信连接,因此,主控板101可以将电源管理升级程序发送至第一可编程逻辑器件1021,相应的,第一可编程逻辑器件1021可以接收主控板101发送的电源管理升级程序,并将该电源管理升级程序发送至电源管理芯片1022,当电源管理芯片1022获取到该电源管理升级程序时,即可基于该电源管理升级程序进行升级。由于可编程逻辑器件能够通过硬件电路实现相应的功能,可靠性高,因此,通过可编程逻辑器件即能够有效提高对电源管理芯片1022进行升级的可靠性。
可选地,请参照图5,主控板101可以通过如下步骤,向第二可编程逻辑器件1011发送的电源管理升级程序:
步骤501,主控板101通过处理器1012,经本地总线,将电源管理升级程序发送至第二可编程逻辑器件1011。
由前述可知,主控板101还包括处理器1012,第二可编程逻辑器件1011与处理器1012通过本地总线连接,因此,为了主控板101中的第二可编程逻辑器件1011确保能够可靠地获取得到电源管理升级程序,并在后续通过第二可编程逻辑器件1011将电源管理升级程序发送给业务板102,从而减少电源管理升级过程中对处理器1012的依赖,进一步提高对电源管理芯片1022进行升级的可靠性,主控板101可以通过处理器1012,经本地总线将电源管理升级程序发送至第二可编程逻辑器件1011。
可选地,处理器1012还可以将业务板标识信息发送给第二可编程逻辑器件1011。
由于电源管理芯片升级电路100中可能包括一个以上的业务板102,因此,处理器1012可以向第二可编程逻辑器件1011发送业务板标识信息,从而便于第二可编程逻辑器件1011确定接收电源管理升级程序的第一可编程逻辑器件1021,进而确保能够准确可靠地对待升级的第一可编程逻辑器件1021进行升级。
步骤502,主控板101通过第二可编程逻辑器件1011,经私有协议总线,将电源管理升级程序发送至第一可编程逻辑器件1021。
由前述可知,主控板101包括第二可编程逻辑器件1011,第一可编程逻辑器件1021通过私有协议总线与第二可编程逻辑器件1011通信连接,因此,为了进一步减少电源管理升级过程中对处理器1012的依赖,并向业务板102中第一可编程逻辑器件1021发送电源管理升级程序的可靠性,可以通过第一可编程逻辑器件1021与第二可编程逻辑器件1011之间的私有协议总线,传输电源管理升级程序。
需要说明的是,在实际应用中,主控板101也可能并未设置有处理器1012,或者即使在设置有处理器1012的情况下,第二可编程逻辑器件1011也可以通过其它方式获取(比如从外部设备或者外部存储介质获取)得到电源管理升级程序,因此,在本公开的另一可选实施例中,步骤501为可选地步骤。
可选地,第一可编程逻辑器件1021可以通过iic总线,将电源管理升级程序发送至电源管理芯片1022。
由前述可知,第一可编程逻辑器件1021通过iic总线与电源管理芯片1022通信连接,该iic总线能可靠地实现第一可编程逻辑器件1021与电源管理芯片1022之间的通信,进而提高向电源管理芯片1022发送电源管理升级程序的可靠性。
本公开还提供了一种网络设备,该网络设备包括如前述以及图1-3任一所示的电源管理芯片升级电路,从而能够通过前述中的电源管理芯片升级方法,对电源管理芯片1022进行升级。
在本公开实施例中,由于网络设备中包括电源管理芯片升级电路100,电源管理芯片升级电路100中的业务板102设置有与电源管理芯片1022通信连接的第一可编程逻辑器件1021,且该第一可编程逻辑器件1021还与主控板101通信连接,因此,主控板101可以将电源管理升级程序发送至第一可编程逻辑器件1021,相应的,第一可编程逻辑器件1021可以接收主控板101发送的电源管理升级程序,并将该电源管理升级程序发送至电源管理芯片1022,当电源管理芯片1022获取到该电源管理升级程序时,即可基于该电源管理升级程序进行升级。由于可编程逻辑器件能够通过硬件电路实现相应的功能,可靠性高,因此,通过可编程逻辑器件即能够有效提高对电源管理芯片1022进行升级的可靠性。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。