CN108376027A - 一种防止bmc频繁复位的参数模块化实现方法及系统 - Google Patents
一种防止bmc频繁复位的参数模块化实现方法及系统 Download PDFInfo
- Publication number
- CN108376027A CN108376027A CN201810059029.5A CN201810059029A CN108376027A CN 108376027 A CN108376027 A CN 108376027A CN 201810059029 A CN201810059029 A CN 201810059029A CN 108376027 A CN108376027 A CN 108376027A
- Authority
- CN
- China
- Prior art keywords
- bmc
- reset
- cpld
- fpga
- signal
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明提供一种防止BMC频繁复位的参数模块化实现方法及系统,属于服务器BMC复位按键应用领域,本发明基于CPLD‑FPGA实现BMC按键复位控制模块的设计,通过逻辑控制输出有效时长的BMC复位信号,且通过逻辑控制避免BMC的频繁复位导致的挂死,提高了服务器的可靠性设计。模块化与参数化设计提高了BMC按键复位控制模块的灵活性与移植能力。
Description
技术领域
本发明涉及服务器BMC复位按键应用技术,尤其涉及一种防止BMC频繁复位的参数模块化实现方法及系统。
背景技术
在服务器系统中,通常通过CPLD-FPGA芯片控制整个服务器的上、下电时序控制、LED指示控制、通信控制、按键检测判断、掉电检测及风扇控制等。通过BMC实现本地和远程诊断、控制台支持及配置管理控制等功能。两者都是服务器系统的重要组成部分。
当第一次上电后或外部通过按键(BMC_RSTBTN#)请求BMC复位时,会复位整个BMC芯片功能,包括PCIe通信及VGA显示等。第一次上电实现的复位功能是由芯片逻辑生成,通过按键请求实现BMC复位,在传统控制方案中,将按键信号作为CPLD-FPGA的输入信号,对这一信号经过CPLD-FPGA去抖后输出到BMC的SRST#输入端,处理后的信号作为BMC的复位信号实现BMC的复位逻辑。这一实现方式可以实现正常测试环境下实现BMC逻辑复位功能,但在极端测试环境下,如 BMC_RSTBTN#频繁复位,会导致BMC由于频繁响应复位逻辑而挂死,从而不能复活的现象,从而导致服务器不能正常工作。这就严重降低了服务器的可靠性设计。
CPLD/FPGA是一款半定制的专用集成电路,具有可编程、可擦除、易于验证、集成度高及硬件资源丰富等系列优点,在前期开发验证及应用控制领域得到越来越广泛的应用。基于上述优点,通过CPLD/FPGA实现底层电路设计进而实现逻辑控制得到越来越广泛应用。
发明内容
为了解决以上技术问题,本发明提出了一种防止BMC频繁复位的参数模块化实现方法。基于CPLD-FPGA实现BMC按键复位控制模块的设计,通过逻辑控制输出有效时长的BMC复位信号,且通过逻辑控制避免BMC的频繁复位导致的挂死,提高了服务器的可靠性设计。模块化与参数化设计提高了BMC按键复位控制模块的灵活性与移植能力。
本发明的技术方案是
一种防止BMC频繁复位的参数模块化实现方法,
通过CPLD-FPGA首先对BMC复位键信号进行去抖操作,为提高响应的适合性,这一去抖信号并行输出到BMC的SRST#输入端进行BMC的复位操作。
在输出BMC复位信号的同时,会并行触发计时器进行计时,其中,计时器是通过累加器实现的;当未达到规定的计时时间时,此时CPLD-FPGA不再响应由按键进行的BMC复位操作。只有在达到计时时间后,CPLD-FPGA才重新监视复位操作,从而进行BMC的复位请求。
本发明还提出了一种防止BMC频繁复位的参数模块化实现系统,包括
“RST_BTN#”是按键输入信号,对应服务器中的BMC复位请求按键,将该信号通过布线作为CPLD-FPGA的输入信号;
“CPLD-FPGA”是服务器中的逻辑控制芯片,“BMC按键复位控制模块”就是在该芯片中通过Verilog硬件描述语言编程实现的;
“SRST#”是服务器上的复位输入信号,通过布线连接CPLD-FPGA输出端,实现BMC的复位请求。
具体工作流程是:
首先通过高速时钟实时监测“RST_BTN#”复位信号的下降沿;当CPLD-FPGA检测到“RST_BTN#”复位请求时,CPLD-FPGA首先对该信号进行去抖操作,这一操作一方面是防止按键操作误触发,另一方面保证信号稳定性,保证信号稳定后才触发下一个动作;经过去抖操作的BMC复位信号会输入“BMC按键复位控制模块”,“BMC按键复位控制模块”是在CPLD-FPGA中通过Verilog硬件描述语言编程实现的。下面会并行进行两个操作,
1)基于参数化的BMC复位信号有效时长信号输出设定时长的BMC复位信号至BMC的“SRST#”引脚引起BMC的复位操作,信号有效时长是由BMC决定的;
2)同时并行的通过计时器进行计时操作,当未达到规定的计时时间时,此时CPLD-FPGA不再响应由按键进行的BMC复位操作,两次复位按键时间间隔也是通过参数化实现的,保证在规定时间内BMC不再响应复位请求操作。
在BMC按键复位控制模块结构中,
“i_CLK”与“i_RST”分别是时钟输入信号与复位信号,作为BMC按键复位模块内部的时钟驱动源与复位驱动源,与CPLD-FPGA顶层的时钟信号与复位信号相连接;
“i_Debounce_BMC_RESET”是去抖后的 BMC复位信号,连接顶层经过去抖模块处理的BMC复位信号,同时作为BMC复位控制模块中边沿检测模块的输入信号;当边沿检测模块检测到有BMC复位请求信号时,会使能“Out_flag”与“Period_flag”,这两个信号会分别并行触发输出有效时长控制模块与两次按键时间间隔控制模块;
输出控制模块参考“HOLD_PULSE”输出有效时长的BMC复位信号,即“o_BMC_RESET”信号;
两次按键时间间隔控制模块参考“PRESS_PERIOD”反馈“Period_feedback”至边沿检测模块,控制两次BMC复位按键的时间间隔。
本发明基于CPLD-FPGA编程控制,通过对BMC复位按键有效的时间间隔进行控制,有效地防止了由于频繁按键引起的BMC挂死的现象,有效地提高了服务器的可靠性设计;为增加代码移植性,方便该控制模块在不同项目中的应用,本发明采用模块化的设计方法,将整个功能集成到一个模块中;同时,为适应不同平台下对两次复位按键时间间隔与CPLD-FPGA输出BMC复位信号有效时长的控制,本发明采用参数化设计方法。
本发明的有益效果是
通过基于CPLD-FPGA实现BMC按键复位控制模块的设计,通过逻辑控制输出有效时长的BMC复位信号,且通过逻辑控制避免BMC的频繁复位导致的挂死,提高了服务器的可靠性设计。通过可编程芯片CPLD-FPGA使控制更加灵活;模块化、参数化设计增加了模块的移植性,使应用更加灵活,可以满足不同领域的要求。
附图说明
图1是基于CPLD-FPGA对BMC复位按键实现控制的结构示意图;
图2是BMC按键复位控制模块结构示意图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
图1是基于CPLD-FPGA对BMC复位按键实现控制的结构示意图,“RST_BTN#”是按键输入信号,对应服务器中的BMC复位请求按键,将该信号通过布线作为CPLD-FPGA的输入信号;“CPLD-FPGA”是服务器中的逻辑控制芯片,“BMC按键复位控制模块”就是在该芯片中通过Verilog硬件描述语言编程实现的;“SRST#”是服务器上的复位输入信号,通过布线连接CPLD-FPGA输出端,实现BMC的复位请求。
本发明的重点是基于CPLD-FPGA实现的按键复位控制模块设计,具体工作流程是:首先通过高速时钟实时监测“RST_BTN#”复位信号的下降沿;当CPLD-FPGA检测到“RST_BTN#”复位请求时,CPLD-FPGA首先对该信号进行去抖操作,这一操作一方面是防止按键操作误触发,另一方面保证信号稳定性,保证信号稳定后才触发下一个动作;经过去抖操作的BMC复位信号会输入“BMC按键复位控制模块”,下面会并行进行两个操作,基于参数化的BMC复位信号有效时长信号输出设定时长的BMC复位信号至BMC的“SRST#”引脚引起BMC的复位操作,信号有效时长是由BMC决定的,本发明参数化调节,便于满足不同BMC的要求。同时并行的通过计时器进行计时操作,当未达到规定的计时时间时,此时CPLD-FPGA不再响应由按键进行的BMC复位操作,两次复位按键时间间隔也是通过参数化实现的,保证在规定时间内BMC不再响应复位请求操作,从而有效的避免了BMC由于频繁响应复位操作而挂死的现象。基于CPLD_FPGA的BMC按键复位控制模块结构示意图如图2所示。
在图2中,“i_CLK”与“i_RST”分别是时钟输入信号与复位信号,作为BMC按键复位模块内部的时钟驱动源与复位驱动源,与CPLD-FPGA顶层的时钟信号与复位信号相连接;“i_Debounce_BMC_RESET”是去抖后的 BMC复位信号,连接顶层经过去抖模块处理的BMC复位信号,同时作为BMC复位控制模块中边沿检测模块的输入信号;当边沿检测模块检测到有BMC复位请求信号时,会使能“Out_flag”与“Period_flag”,这两个信号会分别并行触发输出有效时长控制模块与两次按键时间间隔控制模块;输出控制模块参考“HOLD_PULSE”输出有效时长的BMC复位信号,即“o_BMC_RESET”信号;两次按键时间间隔控制模块参考“PRESS_PERIOD”反馈“Period_feedback”至边沿检测模块,控制两次BMC复位按键的时间间隔。
为验证基于CPLD-FPGA设计的BMC按键复位控制模块的有效性,通过ModelSim对BMC按键复位控制模块进行了功能仿真。在仿真结果中,第1个信号时去抖后的BMC按键复位信号,第2个信号与第3个信号分别为复位信号与时钟信号,第4个信号表示有效时长的BMC复位输出信号。在第一次有BMC按键复位去抖信号输入时,会同时输出设定时长的BMC复位信号,在相邻短时间内再次有BMC按键复位去抖信号输入时,不再有设定时长的BMC复位信号输出,即此时BMC不会频繁响应复位请求。
名词解释:
BMC(Baseboard Management Controller, 基板管理控制器)
FPGA( Field Programmable GATE Array,现场可编程门阵列 )
CPLD( Complex Programmable Logic Device,复杂可编程逻辑器件 )。
Claims (5)
1.一种防止BMC频繁复位的参数模块化实现方法,其特征在于,
通过CPLD-FPGA首先对BMC复位键信号进行去抖操作,这一去抖信号并行输出到BMC的SRST#输入端进行BMC的复位操作;
在输出BMC复位信号的同时,会并行触发计时器进行计时,其中,计时器是通过累加器实现的;
当未达到规定的计时时间时,此时CPLD-FPGA不再响应由按键进行的BMC复位操作;只有在达到计时时间后,CPLD-FPGA才重新监视复位操作,从而进行BMC的复位请求。
2.一种防止BMC频繁复位的参数模块化实现系统,其特征在于,包括
“RST_BTN#”是按键输入信号,对应服务器中的BMC复位请求按键,将该信号通过布线作为CPLD-FPGA的输入信号;
“CPLD-FPGA”是服务器中的逻辑控制芯片,“BMC按键复位控制模块”就是在该芯片中通过Verilog硬件描述语言编程实现的;
“SRST#”是服务器上的复位输入信号,通过布线连接CPLD-FPGA输出端,实现BMC的复位请求。
3.根据权利要求2所述的系统,其特征在于,
具体工作流程是:
首先通过高速时钟实时监测“RST_BTN#”复位信号的下降沿;当CPLD-FPGA检测到“RST_BTN#”复位请求时,CPLD-FPGA首先对该信号进行去抖操作,这一操作一方面是防止按键操作误触发,另一方面保证信号稳定性,保证信号稳定后才触发下一个动作;经过去抖操作的BMC复位信号会输入“BMC按键复位控制模块”,下面会并行进行两个操作,
1)基于参数化的BMC复位信号有效时长信号输出设定时长的BMC复位信号至BMC的“SRST#”引脚引起BMC的复位操作,信号有效时长是由BMC决定的;
2)同时并行的通过计时器进行计时操作,当未达到规定的计时时间时,此时CPLD-FPGA不再响应由按键进行的BMC复位操作,两次复位按键时间间隔也是通过参数化实现的,保证在规定时间内BMC不再响应复位请求操作。
4.根据权利要求3所述的系统,其特征在于,
“BMC按键复位控制模块”是在CPLD-FPGA中通过Verilog硬件描述语言编程实现的。
5.根据权利要求4所述的系统,其特征在于,
在BMC按键复位控制模块结构中,
“i_CLK”与“i_RST”分别是时钟输入信号与复位信号,作为BMC按键复位模块内部的时钟驱动源与复位驱动源,与CPLD-FPGA顶层的时钟信号与复位信号相连接;
“i_Debounce_BMC_RESET”是去抖后的 BMC复位信号,连接顶层经过去抖模块处理的BMC复位信号,同时作为BMC复位控制模块中边沿检测模块的输入信号;当边沿检测模块检测到有BMC复位请求信号时,会使能“Out_flag”与“Period_flag”,这两个信号会分别并行触发输出有效时长控制模块与两次按键时间间隔控制模块;
输出控制模块参考“HOLD_PULSE”输出有效时长的BMC复位信号,即“o_BMC_RESET”信号;
两次按键时间间隔控制模块参考“PRESS_PERIOD”反馈“Period_feedback”至边沿检测模块,控制两次BMC复位按键的时间间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810059029.5A CN108376027A (zh) | 2018-01-22 | 2018-01-22 | 一种防止bmc频繁复位的参数模块化实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810059029.5A CN108376027A (zh) | 2018-01-22 | 2018-01-22 | 一种防止bmc频繁复位的参数模块化实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108376027A true CN108376027A (zh) | 2018-08-07 |
Family
ID=63016548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810059029.5A Pending CN108376027A (zh) | 2018-01-22 | 2018-01-22 | 一种防止bmc频繁复位的参数模块化实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108376027A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669731A (zh) * | 2018-12-28 | 2019-04-23 | 联想(北京)有限公司 | 基板管理器的服务控制方法及装置 |
CN110502377A (zh) * | 2019-08-08 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种基于cpld的重启测试方法 |
CN111338450A (zh) * | 2020-02-25 | 2020-06-26 | 恒玄科技(北京)有限公司 | 一种芯片复位电路及芯片 |
CN111736678A (zh) * | 2020-06-12 | 2020-10-02 | 浪潮(北京)电子信息产业有限公司 | 一种芯片复位电路、方法以及设备 |
CN112380066A (zh) * | 2020-11-27 | 2021-02-19 | 超越科技股份有限公司 | 一种基于国产平台的服务器维护调试装置及服务器 |
CN112860623A (zh) * | 2021-03-15 | 2021-05-28 | 英业达科技有限公司 | 单处理器系统的伺服器主机板 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047376A (zh) * | 2006-03-30 | 2007-10-03 | 英业达股份有限公司 | 开关机保护装置 |
CN202769009U (zh) * | 2012-07-30 | 2013-03-06 | 浙江沁园水处理科技有限公司 | 一种防频繁启动的组合式冲洗电磁阀 |
-
2018
- 2018-01-22 CN CN201810059029.5A patent/CN108376027A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047376A (zh) * | 2006-03-30 | 2007-10-03 | 英业达股份有限公司 | 开关机保护装置 |
CN202769009U (zh) * | 2012-07-30 | 2013-03-06 | 浙江沁园水处理科技有限公司 | 一种防频繁启动的组合式冲洗电磁阀 |
Non-Patent Citations (1)
Title |
---|
毛永毅: "《数字系统设计基础》", 31 May 2010 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669731A (zh) * | 2018-12-28 | 2019-04-23 | 联想(北京)有限公司 | 基板管理器的服务控制方法及装置 |
CN109669731B (zh) * | 2018-12-28 | 2022-03-25 | 联想(北京)有限公司 | 基板管理器的服务控制方法及装置 |
CN110502377A (zh) * | 2019-08-08 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种基于cpld的重启测试方法 |
CN110502377B (zh) * | 2019-08-08 | 2021-04-27 | 苏州浪潮智能科技有限公司 | 一种基于cpld的重启测试方法 |
CN111338450A (zh) * | 2020-02-25 | 2020-06-26 | 恒玄科技(北京)有限公司 | 一种芯片复位电路及芯片 |
CN111736678A (zh) * | 2020-06-12 | 2020-10-02 | 浪潮(北京)电子信息产业有限公司 | 一种芯片复位电路、方法以及设备 |
CN112380066A (zh) * | 2020-11-27 | 2021-02-19 | 超越科技股份有限公司 | 一种基于国产平台的服务器维护调试装置及服务器 |
CN112860623A (zh) * | 2021-03-15 | 2021-05-28 | 英业达科技有限公司 | 单处理器系统的伺服器主机板 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108376027A (zh) | 一种防止bmc频繁复位的参数模块化实现方法及系统 | |
CN103835972A (zh) | 风扇转速控制系统及用以控制风扇转速的方法 | |
CN105204600B (zh) | 一种i2c总线复用实现集成芯片复位方法、系统及电子设备 | |
CN101937222A (zh) | 板级测试系统 | |
CN103245864A (zh) | 触摸屏测试系统及方法 | |
CN104461992B (zh) | 电子装置 | |
US20130046502A1 (en) | Motherboard test device | |
CN106055443A (zh) | 一种多路dc循环测试系统 | |
CN102759896A (zh) | 一种基于交流电源线的主从通信系统 | |
CN108920373A (zh) | 嵌入式软件调试系统及其方法 | |
CN204925338U (zh) | 一种电路板测试装置 | |
CN104850417B (zh) | 一种信息处理的方法及电子设备 | |
CN105468549A (zh) | 芯片装置及其电子系统 | |
CN202661818U (zh) | 一种新型按键检测电路 | |
CN105048629B (zh) | 继电保护硬压板防误操作告警系统 | |
CN108989058A (zh) | 一种服务器操作方法及装置 | |
CN105929811A (zh) | 一种用于程序死锁的保护电路 | |
CN108829299A (zh) | 触摸屏电子设备 | |
CN205375115U (zh) | 一种取药控制装置及储药柜 | |
CN201903876U (zh) | 支持外部自动测试设备的电路板 | |
CN204143541U (zh) | Atm机维护键盘 | |
CN101975182B (zh) | 一种多台发热设备的风扇轮流启动控制方法与应用 | |
CN207516400U (zh) | 一种开关阵及测试装置 | |
CN203276219U (zh) | 触摸屏测试系统 | |
CN207925106U (zh) | 基于In-Cell的触摸屏和显示屏集成烧录测试系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180807 |