CN118092974A - 一种控制电路、电子设备及固件更新方法 - Google Patents
一种控制电路、电子设备及固件更新方法 Download PDFInfo
- Publication number
- CN118092974A CN118092974A CN202410303521.8A CN202410303521A CN118092974A CN 118092974 A CN118092974 A CN 118092974A CN 202410303521 A CN202410303521 A CN 202410303521A CN 118092974 A CN118092974 A CN 118092974A
- Authority
- CN
- China
- Prior art keywords
- cpld
- target
- controller
- signal
- cpld1
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004891 communication Methods 0.000 claims abstract description 67
- 230000008569 process Effects 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011536 re-plating Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种控制电路、电子设备及固件更新方法,控制电路,包括复杂可编程逻辑器件CPLD,设置于一连接器,用于控制连接至连接器的目标部件的工作参数;第一控制器,通过目标通信接口与连接器连接,用于向CPLD发送目标信号,以至少使得CPLD完成固件更新;其中,目标通信接口包括两路信号总线,其中之一的信号总线能够向CPLD传输电平控制信号,以控制CPLD的输出管脚的输出状态。
Description
技术领域
本申请涉及固件升级技术领域,特别涉及一种控制电路、电子设备及固件更新方法。
背景技术
在背板设计中,为节省成本以及空间占用,通常只保留一组I2C信号线。如果可编程逻辑器件实现“无感升级”功能,则需要在主板和背板之间额外增加一个控制信号。目前,通过在背板连接器上增加一个引脚,或者在背板上增加一个元器件来实现增加控制信号的目的,但这会增加背板的成本;而且对于已经量产的背板,如果没有预留出相应的设计,则必须要通过更改硬件设计并重新打板才可以实现上述目的,这导致成本更高。
发明内容
本申请实施例的目的在于提供一种控制电路、电子设备及固件更新方法。
第一方面,本申请实施例提供了一种控制电路,包括:
复杂可编程逻辑器件CPLD,设置于一连接器,用于控制连接至所述连接器的目标部件的工作参数;
第一控制器,通过目标通信接口与所述连接器连接,用于向所述CPLD发送目标信号,以至少使得所述CPLD完成固件更新;
其中,所述目标通信接口包括两路信号总线,其中之一的信号总线能够向所述CPLD传输电平控制信号,以控制所述CPLD的输出管脚的输出状态。
在一种可能的实施方式中,所述的控制电路,还包括:
主板;
所述第一控制器设置于所述主板的第一位置;
所述第一控制器能够通过所述目标通信接口向所述CPLD发出目标指令信号;
或,
所述第一控制器能够在监控到第二控制器发出的针对所述CPLD的目标指令的情况下,向所述CPLD发出目标指令信号,所述第二控制器是设置在所述主板上的第二位置且不同于所述第一控制器的控制器。
在一种可能的实施方式中,其中,所述目标通信接口为集成电路总线接口,所述集成电路总线接口包括串行时钟线和串行数据线;
所述第一控制器为现场可编程门阵列FPGA,所述FPGA通过所述串行时钟线和所述串行数据线分别与所述CPLD的两个输入管脚连接;
其中,在所述CPLD获得重启指令或目标更新指令后,所述FPGA复用所述串行时钟线向所述CPLD输入低电平控制信号,以控制所述CPLD的输出管脚维持在当前的输出状态;
且/或,
在所述FPGA通过所述串行数据线确定CPLD完成固件更新后,所述FPGA和所述CPLD之间恢复基于集成电路总线协议的通信,所述CPLD的输出管脚的输出状态由自身内部的逻辑控制模块进行控制。
在一种可能的实施方式中,其中,所述FPGA在复用所述串行时钟线向所述CPLD输入低电平控制信号的过程中,复用所述串行数据线基于目标单线通信协议获取所述CPLD的状态数据和/或对所述CPLD进行目标配置操作。
第二方面,本申请实施例还提供了一种电子设备,包括如上述任一项所述的控制电路。
第三方面,本申请实施例还提供了一种固件更新方法,包括:
在电子设备的目标连接器的复杂可编程逻辑器件CPLD获得目标指令后,通过与所述目标连接器连接的目标通信接口中的第一信号总线向所述CPLD输入电平控制信号;
基于所述电平控制信号控制所述CPLD的输出管脚的输出状态,以使得所述CPLD完成固件更新操作;
其中,所述第一信号总线在所述CPLD完成固件更新操作之后用于在CPLD和所述电子设备的第一控制器之间传输与所述电平控制信号不同的信号。
在一种可能的实施方式中,其中,获得目标指令,包括以下至少之一:
所述第一控制器通过所述目标通信接口向所述CPLD发出所述目标指令;
通过所述第一控制器监控到第二控制器向所述CPLD发出所述目标指令,所述第二控制器设置在所述电子设备的主板上、且不同于所述第一控制器。
在一种可能的实施方式中,其中,基于所述电平控制信号控制所述CPLD的输出管脚的输出状态,以使得所述CPLD完成固件更新操作,包括:
通过与所述目标连接器连接的集成电路总线接口中的串行时钟线向所述CPLD输入低电平控制信号,以控制所述CPLD的输出管脚维持在当前的输出状态;
通过所述集成电路总线接口中的串行数据线基于目标单线通信协议获取所述CPLD的状态数据和/或对所述CPLD进行目标配置操作。
在一种可能的实施方式中,还包括以下至少之一:
在通过所述串行数据线确定CPLD完成固件更新后,恢复所述目标通信接口的基于集成电路总线协议的通信方式,并使得所述CPLD的输出管脚的输出状态由自身内部的逻辑控制模块进行控制;
在所述CPLD获得所述目标指令之前,通过集成电路总线协议向所述CPLD发送固件更新数据。
在一种可能的实施方式中,其中,对所述CPLD进行目标配置操作,包括:
在所述CPLD接收到低电平控制信号时,通过所述集成电路总线接口中的串行数据线,获取所述CPLD中每个寄存器的目标状态;
在所述CPLD完成固件更新操作之后,将所述CPLD中每个寄存器的状态恢复至对应的目标状态。
本申请实施例的第一控制器通过目标通信接口和连接器,向CPLD发送目标信号,以控制CPLD的输出管脚的输出状态,具体为控制CPLD的输出管脚维持在当前的输出状态,进而使得CPLD在重启或固件更新的过程中,不会影响电子设备的运行,进而不会影响用户的使用体验,并且,该控制电路并未对硬件进行修改,也未增加其他器件,无需更改硬件设计并重新打板,减少生成工艺流程,成本较低。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请所提供的一种控制电路的示意图;
图2示出了本申请所提供的一种CPLD的内部结构示意图;
图3示出了本申请所提供的一种固件更新方法的流程图;
图4示出了本申请所提供的一种固件更新装置的结构示意图。
附图标记:
1-CPLD;2-连接器;3-第一控制器;4-主板。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
为便于对本申请进行理解,首先对本申请提供的一种控制电路进行详细介绍。
图1示出了本申请实施例提供的控制电路的示意图,参照图1可知,该控制电路包括复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),该CPLD1设置于一连接器2,其中,该连接器2可以为扩展板,如硬盘背板或转接板等,只要能够连接CPLD1以及其他部件即可。
可选地,CPLD1能够控制背板或转接板的供电或工作状态切换,基于此,本申请实施例中的CPLD1设置于连接器2,以用于控制连接至连接器2的目标部件的工作参数,如目标部件为硬盘时,CPLD1可以通过连接器2控制硬盘进行复位;目标部件为处理器时,CPLD1可以通过连接器2控制处理器的运行模式等,当然,目标部件还可以为其他的外插器件。
本申请实施例的控制电路还包括第一控制器3,其中,该第一控制器3可以设置为现场可编程逻辑门阵列(Field-Programmable Gate Array,FPGA),当然,还可以设置为中央处理器(Central Process Unit,CPU)、基板管理控制器(Baseboard ManagerController,BMC)、嵌入式控制器(Embedded Controller,EC)、微控制单元(Microcontroller Unit,MCU)等控制器件。考虑到相较于CPU、BMC、EC以及MCU,FPGA能够较为快速地响应指令以执行相应的动作,因此,本申请实施例的第一控制器3优选为FPGA。
进一步地,第一控制器3通过目标通信接口与连接器2连接,并且,第一控制器3用于向CPLD1发送目标信号,以至少使得CPLD1完成固件更新。其中,目标信号包括电平控制信号和数据信号,电平控制信号包括高电平信号和低电平信号,数据信号包括CPLD1的更新数据、目标部件的配置数据(如目标配件的型号、版本等)、目标部件的运行数据(如目标配件是否处于运行状态)等。
本申请实施例中的目标通信接口包括两路信号总线,其中之一的信号总线能够向CPLD1传输电平控制信号,以控制CPLD1的输出管脚的输出状态。可选地,目标通信接口可以设置为集成电路总线(Inter-Integrated Circuit,I2C)的接口,还可以设置为控制器局域网总线(Controller Area Network,CAN)的接口等,也即,本申请实施例的目标通信接口优选为具有两根信号总线的接口即可。
继续参照图1,本申请实施例的控制电路还包括主板4,并且,第一控制器3设置于主板4的第一位置。优选地,该第一位置为主板4上能够与连接器2直接相连的位置,进而确保第一控制器3与CPLD1之间通信的准确性和时效性。相应地,连接器2与主板4连接,可选地,连接器2可以直接插接在主板4上,也可以通过线缆连接至主板4。其中,CPLD1、连接器2、第一控制器3以及主板4属于同一电子设备。
在具体实施中,第一控制器3在确定需要对CPLD1进行固件更新时,第一控制器3将CPLD1的固件更新数据通过目标通信接口传输给CPLD1。之后,第一控制器3通过目标通信接口向CPLD1发出目标指令信号,其中,该目标指令信号为低电平控制信号,以达到拉低CPLD1中一输入管脚的目的,进而控制CPLD1的输出管脚维持在当前的输出状态。其中,CPLD1中存储有一响应机制,该响应机制包括CPLD1的输入管脚接收的电平控制信号为低电平控制信号时,其输出管脚的输出状态便不再产生变化,并且,该响应机制可以为用户预先设置的,也可以是CPLD1出厂时便已经设置好的,基于此,第一控制器3通过目标通信接口向CPLD1发出低电平控制信号时,CPLD1的输出管脚便维持在当前的输出状态,不再产生变化。
在另一实施方式中,CPLD1设置于一连接器2,第一控制器3设置于主板4,主板4与连接器2通过目标通信接口连接,主板上的第二控制器和/或其他控制器与CPLD1进行通信同样需要通过目标通信接口来实现,也即第二控制器和/或其他控制器与CPLD1通过目标通信接口实现信号和数据的传输,因此,第一控制器3能够监控目标通信接口上传输的信号和数据,也即第一控制器3能够监测第二控制器和/或其他控制器通过目标通信接口传输的信号和数据,如在第二控制器通过目标通信接口向CPLD1发送针对CPLD1的目标指令时,第一控制器3便能够检测到该目标指令。基于此,在第一控制器3监控到第二控制器发出的针对CPLD1的目标指令的情况下,其向CPLD1发出目标指令信号,这里,目标指令为针对CPLD1的重启指令或固件更新指令。也就是说,第二控制器也可以控制CPLD1进行重启或固件更新,第二控制器通过目标通信接口向CPLD1发出目标指令,以使CPLD1进行重启或固件更新。同时,第一控制器3在监控到第二控制器发出的针对CPLD1的目标指令的情况下,向CPLD1发出目标指令信号,以达到拉低一输入管脚的目的,进而控制CPLD1的输出管脚维持在当前的输出状态。其中,第二控制器为设置在主板4上的第二位置且不同于第一控制器3的控制器。例如,第一控制器3为FPGA时,第二控制器可以为CPU等。
作为其中一个示例地,目标通信接口为集成电路总线接口,集成电路总线接口包括串行时钟线和串行数据线,第一控制器3为现场可编程门阵列FPGA,FPGA通过串行时钟线和串行数据线分别与CPLD1的两个输入管脚连接。
在具体实施中,需要对CPLD1进行重启或固件更新,以及第一控制器3向CPLD1发出目标指令信号的场景下,在CPLD1获得重启指令或目标更新指令后,FPGA复用串行时钟线向CPLD1输入低电平控制信号,以控制CPLD1的输出管脚维持在当前的输出状态,进而使得CPLD1在重启或固件更新的过程中,不会影响电子设备的运行,进而不会影响用户的使用体验。
作为其中一个示例地,图2示出了CPLD1的内部结构示意图。以图2示出的结构为示例,CPLD1的输入管脚包括第一管脚和第二管脚,串行时钟线连接至第一管脚,串行数据线连接至第二管脚,CPLD1的输出管脚包括多个管脚,以通过多个输出管脚来实现CPLD1控制目标部件的工作参数的目的。CPLD1中设置有芯片升级模块、状态查询模块、逻辑控制模块、状态锁存模块以及逻辑判断模块,其中,芯片升级模块通过第一管脚和串行时钟线与第一控制器3连接,状态查询模块通过第二管脚和串行数据线与第一控制器3连接,芯片升级模块与状态查询模块、逻辑判断模块连接,第一控制器3通过信号通用总线I2C接口的串行时钟线将目标指令信号传输至芯片升级模块和逻辑判断模块。逻辑判断模块在判定接收到目标指令信号之后,控制每个输出管脚返回自身当前的输出状态至状态锁存模块,以使逻辑控制模块对状态锁存模块接收到的每个输出管脚的输出状态进行锁定,也即控制CPLD1的输出管脚维持在当前的输出状态。
CPLD1的输出管脚的输出状态包括CPLD1的每个输出管脚的输出电平,例如,CPLD1设置有5个输出管脚,在CPLD1接收到低电平控制信号时,输出管脚1、输出管脚2以及输出管脚4的输出电平为高电平,输出管脚3和输出管脚5的输出电平为低电平,此时,响应接收到的低电平控制信号,维持输出管脚1、输出管脚2以及输出管脚4输出高电平同时输出管脚3和输出管脚5输出低电平这一状态,进而维持了电子设备向用户输出的状态,在用户无感知的情况下,对CPLD1进行重启或固件更新。
又一示例地,FPGA在复用串行时钟线向CPLD1输入低电平控制信号的过程中,FPGA还可以复用串行数据线基于目标单线通信协议获取CPLD1的状态数据和/或对CPLD1进行目标配置操作。其中,目标单线通信协议为自定义的单线通信协议,如半双工串口通信方式等,遵循该目标单线通信协议的情况下,FPGA能够通过复用的串行数据线获取CPLD1的状态数据和/或对CPLD1进行目标配置操作。
例如,FPGA在复用串行时钟线向CPLD1输入低电平控制信号的第一预设时间段之后,FPGA通过复用的串行数据线获取CPLD1的状态数据,CPLD1的状态数据至少包括版本标识和运行时间之一。FPGA在获取到CPLD1的状态数据之后,确定CPLD1是否完成重启或固件更新。
可选地,在确定CPLD1是否完成重启或固件更新时,可以对比获取到的版本标识与传输给CPLD1的更新数据包中的版本标识是否一致,若一致,则表征CPLD1完成了重启或固件更新;若不一致,则表征CPLD1未完成重启或固件更新,在第二预设时间段之后,FPGA通过复用的串行数据线再次获取CPLD1的状态数据,直至确定CPLD1完成固件更新。其中,第一预设时间段大于第二预设时间段。
在确定CPLD1是否完成重启或固件更新时,还可以对比获取到的运行时间与当前时间之间的时间间隔是否小于阈值,若时间间隔小于阈值,则表征CPLD1完成了重启或固件更新;若时间间隔大于或等于阈值,则表征CPLD1未完成固件更新,之后,FPGA通过复用的串行数据线持续获取CPLD1的状态数据,直至确定CPLD1完成固件更新。
当然,上述仅为本申请提供的两个示例,本申请的技术方案并不限定于此。
再例如,FPGA在复用串行时钟线向CPLD1输入低电平控制信号的过程中,FPGA通过复用的串行数据线对CPLD1进行目标配置操作。其中一个示例地,CPLD1包括多个寄存器,在CPLD1接收到低电平控制信号时,存在CPLD1上具有运行中的程序这一情况,此时,FPGA获取运行中的程序对应的寄存器的第一数据,在对CPLD1进行重启的过程中,按照第一数据对运行中的程序对应的寄存器进行配置,以确保重启之后CPLD1上运行中的程序、每个运行中的程序的运行进度与重启之前CPLD1上运行中的程序、每个运行中的程序的运行进度一致,进一步保证了CPLD1在重启或固件更新的过程中,不会影响电子设备的运行,达到了在用户无感知的情况下,对CPLD1进行重启或固件更新的目的。
需要说明的是,FPGA也可以复用串行数据线向CPLD1输入低电平控制信号,同时,复用串行时钟线基于目标单线通信协议获取CPLD1的状态数据和/或对CPLD1进行目标配置操作,本申请实施例对此不做具体限定。为了避免FPGA在复用串行时钟线获取CPLD1的状态数据和/或对CPLD1进行目标配置操作时通过串行时钟线传输其他时钟信号等,在实际应用中,优先复用串行时钟线向CPLD1输入低电平控制信号,同时,复用串行数据线获取CPLD1的状态数据和/或对CPLD1进行目标配置操作。
在FPGA通过串行数据线确定CPLD1完成固件更新后,FPGA和CPLD1之间恢复基于集成电路总线协议的通信,此时,FPGA停止向CPLD1发送目标信号,也即串行时钟线对应的输入管脚不再被拉低,之后,CPLD1的输出管脚的输出状态由自身内部的逻辑控制模块进行控制,以确保电子设备正常运行。
本申请实施例的第一控制器通过目标通信接口和连接器,向CPLD发送目标信号,以控制CPLD的输出管脚的输出状态,具体为控制CPLD的输出管脚维持在当前的输出状态,进而使得CPLD在重启或固件更新的过程中,不会影响电子设备的运行,达到了在用户无感知的情况下,对CPLD进行重启或固件更新的目的;并且,本申请实施例无需对硬件进行修改以及无需增加其他硬件,成本较低。
本申请实施例还提供了一种电子设备,该电子设备包括上述控制电路。
基于同一发明构思,本申请还提供了一种固件更新方法,由于本申请中的固件更新方法解决问题的原理与本申请上述控制电路解决问题的原理相似,因此固件更新方法的实施可以参见方法的实施,重复之处不再赘述。
图3示出了本申请实施例提供的固件更新方法的流程图,其中,具体步骤包括S301和S302。
S301,在电子设备的目标连接器的复杂可编程逻辑器件CPLD获得目标指令后,通过与目标连接器连接的目标通信接口中的第一信号总线向CPLD输入电平控制信号;
S302,基于电平控制信号控制CPLD的输出管脚的输出状态,以使得CPLD完成固件更新操作。
在具体实施中,电子设备中设置有相互连接的目标连接器和主板,目标连接器和主板通过集成电路总线如I2C、CAN等连接。主板上设置有第一控制器或第二控制器,第一控制器和第二控制器设置于主板的不同位置,目标连接器上设置有CPLD,在确定需要对CPLD进行固件更新时,CPLD能够通过目标连接器获得目标指令,该目标指令指示CPLD进行固件更新并重启。
其中,CPLD在获得目标指令时,包括以下至少之一的方式:
第一方式:第一控制器通过目标通信接口向CPLD发出目标指令,具体地,第一控制器确定需要对CPLD进行固件更新时,便直接生成目标指令,并通过与目标连接器连接的目标通信接口向CPLD发出目标指令,以使CPLD获得重启或更新指令。
第二方式:通过第一控制器监控到第二控制器向CPLD发出目标指令,具体地,第二控制器确定需要对CPLD进行固件更新时,由第二控制器生成目标指令并通过与目标连接器连接的目标通信接口向CPLD发出目标指令,由于第一控制器同样通过目标通信接口和目标连接器与CPLD连接,因此,第一控制器监控目标通信接口上传输的信号和数据。
在CPLD获得目标指令之前,第一控制器如FPGA通过集成电路总线协议如I2C协议向CPLD发送固件更新数据。并且,在CPLD获得重启指令后,将电平控制信号通过目标通信接口中的第一信号总线传输给CPLD。其中,在CPLD获得目标指令之前第一信号总线在CPLD和第一控制器之间传输的信号不同于电平控制信号。
向CPLD输入电平控制信号之后,基于电平控制信号控制CPLD的输出管脚的输出状态。作为其中一个示例地,目标通信接口设置为集成电路总线接口,目标通信接口中的第一信号总线设置为I2C的串行时钟线,也即通过与目标连接器连接的集成电路总线接口中的串行时钟线向CPLD输入低电平控制信号,以控制CPLD的输出管脚维持在当前的输出状态。其中,CPLD中存储有一响应机制,该响应机制包括CPLD的输入管脚接收的电平控制信号为低电平控制信号时,其输出管脚的输出状态便不再产生变化,并且,该响应机制可以为用户预先设置的,也可以是CPLD出厂时便已经设置好的。
在控制CPLD的输出管脚维持在当前的输出状态时,也便维持了电子设备当前向用户输出的数据,不会影响影响电子设备的运行,进而不会影响用户的使用体验,也即,本申请实施例能够同时兼顾固件更新操作以及用户使用体验,并且,该控制电路并未对硬件进行修改,也未增加其他器件,无需更改硬件设计并重新打板,减少生成工艺流程,成本较低。
进一步地,在向CPLD输入低电平控制信号之后,可以对第二信号总线的通信协议进行更改,例如更改集成电路总线接口中的串行数据线基于目标单线通信协议进行数据传输,该目标单线通信协议为用户自定义的,如半双工串口通信方式等。基于此,通过串行数据线基于目标单线通信协议能够获取CPLD的状态数据和/或对CPLD进行目标配置操作。
其中,CPLD的状态数据至少包括版本标识和运行时间之一,在获得CPLD的状态数据之后,可以对CPLD的状态数据进行对比分析,以确定CPLD是否完成固件更新。可选地,对比获得的版本标识与传输给CPLD的更新数据包中的版本标识是否一致,若一致,则表征CPLD完成了固件更新;若不一致,则表征CPLD未完成固件更新,在第二预设时间段之后,通过串行数据线再次获取CPLD的状态数据,直至确定CPLD完成固件更新。其中,第一预设时间段大于第二预设时间段。
在通过串行数据线确定CPLD完成固件更新后,恢复目标通信接口的基于集成电路总线协议的通信方式,本申请实施例中便为恢复目标通信接口的基于I2C通信协议的通信方式,并使得CPLD的输出管脚的输出状态由自身内部的逻辑控制模块进行控制,以恢复电子设备的正常运行。
其中,第一信号总线在CPLD完成固件更新操作之后用于在CPLD和电子设备的第一控制器之间传输与电平控制信号不同的信号,如时钟控制信号。
在通过集成电路总线接口中的串行数据线对CPLD进行目标配置操作时,作为其中一个示例地,通过串行数据线完成如下的两次数据传输:第一次,在CPLD接收到低电平控制信号时,通过集成电路总线接口中的串行数据线,获取CPLD中每个寄存器的目标状态;第二次,在CPLD完成固件更新操作之后,通过集成电路总线接口中的串行数据线,将目标状态传输给CPLD,以使CPLD中的每个寄存器的状态恢复至对应的目标状态。当然,还可以通过串行数据线进行多次数据传输,只要能够将CPLD中每个寄存器的状态恢复至对应的目标状态即可,本申请实施例对此不做具体限定。
其中,寄存器的状态与程序的运行状态对应。通过对CPLD进行上述的目标配置操作,能够确保重启之后CPLD上运行中的程序、每个运行中的程序的运行进度与重启之前CPLD上运行中的程序、每个运行中的程序的运行进度一致,进一步保证了CPLD在重启或固件更新的过程中,不会影响电子设备的运行,达到了在用户无感知的情况下,对CPLD进行重启或固件更新的目的。
本申请实施例提供了一种固件更新装置,该固件更新装置的结构示意图可以如图4所示。参照图4可知,固件更新装置包括:
输入模块401,其配置为在电子设备的目标连接器的复杂可编程逻辑器件CPLD获得目标指令后,通过与目标连接器连接的目标通信接口中的第一信号总线向CPLD输入电平控制信号;
控制模块402,其配置为基于电平控制信号控制CPLD的输出管脚的输出状态,以使得CPLD完成固件更新操作;
其中,第一信号总线在CPLD完成固件更新操作之后用于在CPLD和电子设备的第一控制器之间传输与电平控制信号不同的信号。
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本申请的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本申请。这不应解释为一种不要求保护的公开的特征对于任一权利要求是必要的意图。相反,本申请的主题可以少于特定的公开的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本申请的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
以上对本申请多个实施例进行了详细说明,但本申请不限于这些具体的实施例,本领域技术人员在本申请构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本申请所要求保护的范围之内。
Claims (10)
1.一种控制电路,包括:
复杂可编程逻辑器件CPLD,设置于一连接器,用于控制连接至所述连接器的目标部件的工作参数;
第一控制器,通过目标通信接口与所述连接器连接,用于向所述CPLD发送目标信号,以至少使得所述CPLD完成固件更新;
其中,所述目标通信接口包括两路信号总线,其中之一的信号总线能够向所述CPLD传输电平控制信号,以控制所述CPLD的输出管脚的输出状态。
2.根据权利要求1所述的控制电路,还包括:
主板;
所述第一控制器设置于所述主板的第一位置;
所述第一控制器能够通过所述目标通信接口向所述CPLD发出目标指令信号;
或,
所述第一控制器能够在监控到第二控制器发出的针对所述CPLD的目标指令的情况下,向所述CPLD发出目标指令信号,所述第二控制器是设置在所述主板上的第二位置且不同于所述第一控制器的控制器。
3.根据权利要求1所述的控制电路,其中,所述目标通信接口为集成电路总线接口,所述集成电路总线接口包括串行时钟线和串行数据线;
所述第一控制器为现场可编程门阵列FPGA,所述FPGA通过所述串行时钟线和所述串行数据线分别与所述CPLD的两个输入管脚连接;
其中,在所述CPLD获得重启指令或目标更新指令后,所述FPGA复用所述串行时钟线向所述CPLD输入低电平控制信号,以控制所述CPLD的输出管脚维持在当前的输出状态;
且/或,
在所述FPGA通过所述串行数据线确定CPLD完成固件更新后,所述FPGA和所述CPLD之间恢复基于集成电路总线协议的通信,所述CPLD的输出管脚的输出状态由自身内部的逻辑控制模块进行控制。
4.根据权利要求3所述的控制电路,其中,所述FPGA在复用所述串行时钟线向所述CPLD输入低电平控制信号的过程中,复用所述串行数据线基于目标单线通信协议获取所述CPLD的状态数据和/或对所述CPLD进行目标配置操作。
5.一种电子设备,包括如权利要求1至4任一项所述的控制电路。
6.一种固件更新方法,包括:
在电子设备的目标连接器的复杂可编程逻辑器件CPLD获得目标指令后,通过与所述目标连接器连接的目标通信接口中的第一信号总线向所述CPLD输入电平控制信号;
基于所述电平控制信号控制所述CPLD的输出管脚的输出状态,以使得所述CPLD完成固件更新操作;
其中,所述第一信号总线在所述CPLD完成固件更新操作之后用于在CPLD和所述电子设备的第一控制器之间传输与所述电平控制信号不同的信号。
7.根据权利要求6所述的方法,其中,获得目标指令,包括以下至少之一:
所述第一控制器通过所述目标通信接口向所述CPLD发出所述目标指令;
通过所述第一控制器监控到第二控制器向所述CPLD发出所述目标指令,所述第二控制器设置在所述电子设备的主板上、且不同于所述第一控制器。
8.根据权利要求6所述的方法,其中,基于所述电平控制信号控制所述CPLD的输出管脚的输出状态,以使得所述CPLD完成固件更新操作,包括:
通过与所述目标连接器连接的集成电路总线接口中的串行时钟线向所述CPLD输入低电平控制信号,以控制所述CPLD的输出管脚维持在当前的输出状态;
通过所述集成电路总线接口中的串行数据线基于目标单线通信协议获取所述CPLD的状态数据和/或对所述CPLD进行目标配置操作。
9.根据权利要求8所述的方法,还包括以下至少之一:
在通过所述串行数据线确定CPLD完成固件更新后,恢复所述目标通信接口的基于集成电路总线协议的通信方式,并使得所述CPLD的输出管脚的输出状态由自身内部的逻辑控制模块进行控制;
在所述CPLD获得所述目标指令之前,通过集成电路总线协议向所述CPLD发送固件更新数据。
10.根据权利要求8所述的方法,其中,对所述CPLD进行目标配置操作,包括:
在所述CPLD接收到低电平控制信号时,通过所述集成电路总线接口中的串行数据线,获取所述CPLD中每个寄存器的目标状态;
在所述CPLD完成固件更新操作之后,将所述CPLD中每个寄存器的状态恢复至对应的目标状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410303521.8A CN118092974A (zh) | 2024-03-15 | 2024-03-15 | 一种控制电路、电子设备及固件更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410303521.8A CN118092974A (zh) | 2024-03-15 | 2024-03-15 | 一种控制电路、电子设备及固件更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118092974A true CN118092974A (zh) | 2024-05-28 |
Family
ID=91154718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410303521.8A Pending CN118092974A (zh) | 2024-03-15 | 2024-03-15 | 一种控制电路、电子设备及固件更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118092974A (zh) |
-
2024
- 2024-03-15 CN CN202410303521.8A patent/CN118092974A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110179211A1 (en) | Bios architecture | |
US9819532B2 (en) | Multi-service node management system, device and method | |
CN107807630B (zh) | 一种主备设备的切换控制方法、其切换控制系统及装置 | |
US20130262700A1 (en) | Information processing system and virtual address setting method | |
CN110658758A (zh) | 控制方法和控制系统 | |
US11175715B2 (en) | Method of supplying electric power to a computer system | |
CN111382027A (zh) | 一种bmc ip获取方法、装置和机柜式服务器 | |
CN111782283A (zh) | 一种裸金属服务器的自动化管理方法、装置及介质 | |
CN114623756B (zh) | 插接到位检测装置及电子设备 | |
CN110769051B (zh) | 基于国产处理器的嵌入式服务器远程管理系统及方法 | |
US7039736B2 (en) | Systems and methods for accessing bus-mastered system resources | |
EP3462112A1 (en) | Refrigerator, intelligent detection method thereof, and intelligent detection system | |
CN118092974A (zh) | 一种控制电路、电子设备及固件更新方法 | |
CN103139036A (zh) | 电子设备及其信息处理方法 | |
CN111431668B (zh) | 基于多节点uart通讯的波特率切换方法、空调系统及处理器 | |
TWI704464B (zh) | 資料備援系統 | |
TWM598968U (zh) | 頻外的外接控制設備與系統 | |
CN108848182B (zh) | 一种bmc固件的更新方法、相关设备及系统 | |
TW202215199A (zh) | 主從互換式電源供應裝置及其主機、主從互換式電源供應方法及其電腦可讀取記錄媒體 | |
KR102029371B1 (ko) | 차량용 이더넷 통신을 위한 전원공급 시스템 및 그 방법 | |
CN112346905B (zh) | 数据备援系统 | |
CN109558087B (zh) | 一种多控存储系统的公共设备控制方法及系统 | |
CN111913551A (zh) | 重置基板管理控制器的控制方法 | |
CN117395087B (zh) | 一种基于国产处理器的bmc实现方法及系统 | |
CN112925730B (zh) | 一种PCIe设备链路训练控制方法及系统 |
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 |