一种可编程逻辑器件管脚状态检测方法、装置及系统与流程

文档序号:24195841发布日期:2021-03-09 17:00阅读:129来源:国知局
一种可编程逻辑器件管脚状态检测方法、装置及系统与流程

1.本发明实施例涉及计算机技术领域,特别是涉及一种可编程逻辑器件管脚状态检测方法、装置及系统。


背景技术:

2.目前服务器中使用的可编程逻辑器件芯片例如cpld(complex programmable logic device,复杂可编程逻辑器件)都是经过芯片厂家及市场的大量验证,其稳定性可以得到保证,但是由于操作不当,线路设计及加工工艺等方面的问题,经常会出现可编程逻辑器件管脚损坏问题,从而导致服务器运行异常。如图1所示,在服务器架构中,可编程逻辑器件主要用来控制服务器的上下电时序,其控制原理是,可编程逻辑器件通过逻辑代码,控制gpio的高低电平,从而控制vr芯片的使能信号,使能信号为高电平时,vr(voltage regulator,稳压器)芯片可以产生电压,服务器可以上电;使能信号为低电平时,vr芯片不会输出电压,服务器断电。此架构下,一旦可编程逻辑器件的管脚出现问题,vr的使能信号不再受控,电源不正常就会导致服务器工作不正常,由于服务器主板上vr较多,链路也比较复杂,当服务器工作不正常是,无法确定到底是vr链路中的可编程逻辑器件逻辑代码、可编程逻辑器件管脚、硬件链路、vr code中哪一项存在问题,还是需要研发人员使用示波器或万用表,并配合可编程逻辑器件逻辑代码修改,来完成问题的分析定位,浪费大量的人力成本。
3.鉴于此,如何提供一种解决上述技术问题的可编程逻辑器件管脚状态检测方法、装置及系统成为本领域技术人员需要解决的技术问题。


技术实现要素:

4.本发明实施例的目的是提供一种可编程逻辑器件管脚状态检测方法、装置及系统,在使用过程中能够使工作人员及时获知是可编程逻辑器件管脚出现异常,并及时对可编程逻辑器件的管脚进行维护,有利于节约人力成本、提高运维效率。
5.为解决上述技术问题,本发明实施例提供了一种可编程逻辑器件管脚状态检测方法,包括:
6.预先将可编程逻辑器件中的各个gpio管脚设置为双向管脚;
7.在所述可编程逻辑器件正常工作后,控制所述可编程逻辑器件上的两个配置管脚分别拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号;
8.控制所述可编程逻辑器件上的各个gpio管脚在预设时长内输出预设方波信号,并检测各个所述gpio管脚的输入信号是否均为所述预设方波信号,若是,则各个所述gpio管脚的状态正常,释放所述服务器主板上最先上电的aux电的使能信号和core电的使能信号,并使所述服务器正常启动;若否,则存在状态异常的gpio管脚,通过bmc进行告警提示。
9.可选的,还包括:
10.记录所述可编程逻辑器件中所有gpio管脚各自的状态检测结果,并将各个所述状
态检测结果存储至寄存器中。
11.可选的,还包括:
12.将所述寄存器中的各个所述状态检测结果传输至所述bmc中,以便通过所述bmc对各个所述状态检测结果进行展示。
13.可选的,所述将各个所述状态检测结果存储至寄存器中为:
14.将各个所述状态检测结果以列表的形式存储至所述寄存器中。
15.可选的,在确定出存在状态异常的gpio管脚后,还包括:
16.持续拉低所述服务器主板上最先上电的aux电的使能信号和core电的使能信号。
17.本发明实施例还提供了一种可编程逻辑器件管脚状态检测装置,包括:
18.设置模块,用于预先将可编程逻辑器件中的各个gpio管脚设置为双向管脚;
19.第一控制模块,用于在所述可编程逻辑器件正常工作后,控制所述可编程逻辑器件上的两个配置管脚分别拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号;
20.第二控制模块,用于控制所述可编程逻辑器件上的各个gpio管脚在预设时长内输出预设方波信号;
21.检测模块,用于检测各个所述gpio管脚的输入信号是否均为所述预设方波信号,若是,则各个所述gpio管脚的状态正常,触发释放模块;若否,则存在状态异常的gpio管脚,触发告警模块;
22.所述释放模块,用于释放所述服务器主板上最先上电的aux电的使能信号和core电的使能信号,并使所述服务器正常启动;
23.所述告警模块,用于通过bmc进行告警提示。
24.可选的,还包括:
25.记录模块,用于记录所述可编程逻辑器件中所有gpio管脚各自的状态检测结果,并将各个所述状态检测结果存储至寄存器中。
26.可选的,还包括:
27.传输模块,用于将所述寄存器中的各个所述状态检测结果传输至所述bmc中,以便通过所述bmc对各个所述状态检测结果进行展示。
28.本发明实施例还提供了一种可编程逻辑器件管脚状态检测系统,包括:
29.存储器,用于存储计算机程序;
30.处理器,用于执行所述计算机程序时实现如上述所述可编程逻辑器件管脚状态检测方法的步骤。
31.本发明实施例提供了一种可编程逻辑器件管脚状态检测方法、装置及系统,该方法通过预先将可编程逻辑器件中的各个gpio管脚设置为双向管脚,在可编程逻辑器件正常启动之后可以控制可编程逻辑器件中的两个配置管脚分别拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号,并且控制可编程逻辑器件中的各个gpio管脚在预设时长内输出预设方波信号,由于每个gpio管脚均为双向管脚,因此每个gpio管脚均存在输入信号,当检测到各个gpio管脚各自的输入信号均为预设方波信号时,说明每个gpio管脚状态正常,此时可以释放服务器主板上最先上电的aux电的使能信号和core电的使能信号,使服务器正常启动,只要检测出其中一个gpio管脚的输入信号不是预设方波信号时,就
说明该gpio管脚状态异常,此时可以通过bmc进行告警提示,以便工作人员及时获知是可编程逻辑器件管脚出现异常,并及时对可编程逻辑器件的管脚进行维护,有利于节约人力成本、提高运维效率。
附图说明
32.为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为现有技术中的一种可编程逻辑器件的gpio管脚示意图;
34.图2为本发明实施例提供的一种可编程逻辑器件管脚状态检测方法的流程示意图;
35.图3为本发明实施例提供的一种可编程逻辑器件的gpio管脚架构图;
36.图4为本发明实施例提供的一种可编程逻辑器件管脚状态检测装置的结构示意图。
具体实施方式
37.本发明实施例提供了一种可编程逻辑器件管脚状态检测方法、装置及系统,在使用过程中能够使工作人员及时获知是可编程逻辑器件管脚出现异常,并及时对可编程逻辑器件的管脚进行维护,有利于节约人力成本、提高运维效率
38.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.请参照图2,图2为本发明实施例提供的一种可编程逻辑器件管脚状态检测方法的流程示意图。该方法包括:
40.s110:预先将可编程逻辑器件中的各个gpio管脚设置为双向管脚;
41.需要说明的是,本实施例中可以预先将可编程逻辑器件中的各个gpio管脚设置为双向管脚,具体可以通过逻辑代码对各个gpio管脚进行设置,使每个gpio管脚在作为输入管脚的同时也能作为输出管脚使用,gpio双向管脚架构如图3所示。s120:在可编程逻辑器件正常工作后,控制可编程逻辑器件上的两个配置管脚分别拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号;
42.具体的,由于可编程逻辑器件启动过程中所需的三个配置管脚不需要逻辑代码实现,若可编程逻辑器件能够正常启动,则说明三个配置管脚均是正常的,因此在服务器ac上电时,在可编程逻辑器件正常启动后可以通过控制可编程逻辑器件中的两个配置管脚分别拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号,暂时延时服务器ac上电。
43.s130:控制可编程逻辑器件上的各个gpio管脚在预设时长内输出预设方波信号,并检测各个gpio管脚的输入信号是否均为预设方波信号,若是,则进入s140;若否,则进入
s150;
44.具体的,在拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号后,控制可编程逻辑器件上的各个gpio管脚在预设时长内输出预设方波信号,可编程逻辑器件可以通过检测各个gpio管脚的输入信号的高低电平变化来进一步检测gpio管脚的输入信号是否为预设方波信号,其中,预设方波信号可以为1khz的方波信号,预设时长可以为10ms,如果检测出每个gpio管脚各自的输入也是预设方波信号,则说明可编程逻辑器件上的各个gpio管脚均是正常状态,若检测中可编程逻辑器件上的各个gpio管脚中至少有一个gpio管脚的输入信号不是预设方波信号,则说明该gpio管脚是异常状态。
45.s140:各个gpio管脚的状态正常,释放服务器主板上最先上电的aux电的使能信号和core电的使能信号,并使服务器正常启动;
46.可以理解的是,在确定出可编程逻辑器件上的各个gpio管脚的状态均正常时,可以释放服务器主板上最先上电的aux电的使能信号和core电的使能信号使服务器正常启动。
47.其中,在对可编程逻辑器件上的各个gpio管脚进行检测的过程中使各个各个gpio管脚输出预设方波信号的持续时长为预设时长,可以将预设时长设置为不超过10ms的时长,从而可以避免对服务器本身功能带来影响,避免降低客户体验。当然,在实际应用过程中预设时长可以根据实际需要进行确定,本实施例对此不做特殊限定。
48.s150:存在状态异常的gpio管脚,通过bmc进行告警提示。
49.具体的,在确定出可编程逻辑器件上的各个gpio管脚存在状态异常的gpio管脚时,可以通过bmc进行告警提示,具体可以通过i2c通知bmc进行告警提示,以便工作人员及时获知是可编程逻辑器件管脚出现异常,使工作人员快速完成vr链路中问题的分析定位,及时对可编程逻辑器件的管脚进行维护,有利于节约人力成本、提高运维效率。
50.另外,本实施例中在确定出存在状态异常的gpio管脚后,还可以持续拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号,以防止对服务器ac进行上电后服务器无法正常工作。
51.其中,该方法还可以包括:
52.记录可编程逻辑器件中所有gpio管脚各自的状态检测结果,并将各个状态检测结果存储至寄存器中。
53.需要说明的是,为了方便工作人员能够了解可编程逻辑器件中所有gpio管脚各自的状态,以及当存在异常管脚时能够尽快定位哪个gpio管脚出现异常,本实施例中还可以在可编程逻辑器件中所有gpio管脚状态检测完成后,记录各个gpio管脚的状态检测结果,并将所有的状态检测结果存储至寄存器中,具体可以通过列表的形式进行存储,以方便工作人员从寄存器中获取状态检测结果后,对异常的gpio管脚进行维护。
54.当然,为了方便工作人员对可编程逻辑器件中所有gpio管脚各自的状态进行实时了解,还可以将寄存器中的各个状态检测结果传输至bmc中,以便通过bmc对各个状态检测结果进行展示,具体可以通过bmc的web界面进行展示,从而可以使工作人员通过web界面实时查看可编程逻辑器件中各个gpio管脚的状态。
55.另外,在实际应用中本实施例中的可编程逻辑器件具体可以采用cpld,当然也可以采用fpga(field-programmable gate array,现场可编程门阵列),具体采用哪种可以根
据实际需要进行确定,本实施例对此不做特殊限定。
56.可见,该方法通过预先将可编程逻辑器件中的各个gpio管脚设置为双向管脚,在可编程逻辑器件正常启动之后可以控制可编程逻辑器件中的两个配置管脚分别拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号,并且控制可编程逻辑器件中的各个gpio管脚在预设时长内输出预设方波信号,由于每个gpio管脚均为双向管脚,因此每个gpio管脚均存在输入信号,当检测到各个gpio管脚各自的输入信号均为预设方波信号时,说明每个gpio管脚状态正常,此时可以释放服务器主板上最先上电的aux电的使能信号和core电的使能信号,使服务器正常启动,只要检测出其中一个gpio管脚的输入信号不是预设方波信号时,就说明该gpio管脚状态异常,此时可以通过bmc进行告警提示,以便工作人员及时获知是可编程逻辑器件管脚出现异常,并及时对可编程逻辑器件的管脚进行维护,有利于节约人力成本、提高运维效率。
57.在上述实施例的基础上,本发明实施例还提供了一种可编程逻辑器件管脚状态检测装置,具体请参照图4。该装置包括:
58.设置模块41,用于预先将可编程逻辑器件中的各个gpio管脚设置为双向管脚;
59.第一控制模块42,用于在可编程逻辑器件正常工作后,控制可编程逻辑器件上的两个配置管脚分别拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号;
60.第二控制模块43,用于控制可编程逻辑器件上的各个gpio管脚在预设时长内输出预设方波信号;
61.检测模块44,用于检测各个gpio管脚的输入信号是否均为预设方波信号,若是,则各个gpio管脚的状态正常,触发释放模块45;若否,则存在状态异常的gpio管脚,触发告警模块46;
62.释放模块45,用于释放服务器主板上最先上电的aux电的使能信号和core电的使能信号,并使服务器正常启动;
63.告警模块46,用于通过bmc进行告警提示。
64.进一步的,该装置还包括:
65.记录模块,用于记录可编程逻辑器件中所有gpio管脚各自的状态检测结果,并将各个状态检测结果存储至寄存器中。
66.进一步的,该装置还包括:
67.传输模块,用于将寄存器中的各个状态检测结果传输至bmc中,以便通过bmc对各个状态检测结果进行展示。
68.需要说明的是,本发明实施例中所提供的可编程逻辑器件管脚状态检测装置具有上述实施例中所提供的可编程逻辑器件管脚状态检测方法相同的有益效果,并且对于本实施例中所涉及到的饿可编程逻辑器件管脚状态检测方法的具体介绍请参照上述实施例,本申请在此不再赘述。
69.在上述实施例的基础上,本发明实施例还提供了一种可编程逻辑器件管脚状态检测系统,包括:
70.存储器,用于存储计算机程序;
71.处理器,用于执行计算机程序时实现如上述可编程逻辑器件管脚状态检测方法的步骤。
72.具体的,本实施例中的处理器可以用于实现预先将可编程逻辑器件中的各个gpio管脚设置为双向管脚;在可编程逻辑器件正常工作后,控制可编程逻辑器件上的两个配置管脚分别拉低服务器主板上最先上电的aux电的使能信号和core电的使能信号;控制可编程逻辑器件上的各个gpio管脚在预设时长内输出预设方波信号,并检测各个gpio管脚的输入信号是否均为预设方波信号,若是,则各个gpio管脚的状态正常,释放服务器主板上最先上电的aux电的使能信号和core电的使能信号,并使服务器正常启动;若否,则存在状态异常的gpio管脚,通过bmc进行告警提示。
73.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
74.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
75.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1