一种可实现UID-LED多状态控制的方法技术

技术编号:19634283 阅读:14 留言:0更新日期:2018-12-01 15:08
本发明专利技术涉及一种可实现UID‑LED多状态控制的方法,属于服务器设计应用技术领域,包括以下步骤:1)完成外围电路设计;2)通过Verilog硬件描述语言实现UID‑LED多种状态控制的模块;3)将镜像文件下载到服务器的CPLD/FPGA芯片实现UID‑LED的多状态控制;4)CPLD实时对UID按键进行按键去抖模块设计与按键检测;5)CPLD实时对BMC输入的IPMI信号进行同步模块设计与信号检测;6)对从UID按键和BMC来的信号进行判断和选择。可基于CPLD‑FPGA实现UID信号的预处理及判断、选择和控制,当检测到UID‑LED有效指示信号时,能对信号来源进行实时判断,并最终使UID‑LED采取不同的指示方式,进而有效区分点亮UID‑LED的方式。

A Method to Realize UID-LED Multi-state Control

The invention relates to a method for realizing UID LED multi-state control, which belongs to the field of server design and application technology, including the following steps: 1) completing peripheral circuit design; 2) realizing UID LED multi-state control module through Verilog hardware description language; 3) downloading mirror files to CPLD/FPGA chip of server to realize UID Multi-state control of LED; 4) CPLD real-time design and key detection of UID keys; 5) CPLD real-time design and signal detection of IPMI signals input by BMC; 6) judgment and selection of signals from UID keys and BMC. The pretreatment, judgment, selection and control of UID signal can be realized based on CPLD FPGA. When the effective indication signal of UID LED is detected, the source of the signal can be judged in real time. Finally, the UID LED can adopt different indication modes, and the way of lighting UID LED can be distinguished effectively.

【技术实现步骤摘要】
一种可实现UID-LED多状态控制的方法
本专利技术涉及一种可实现UID-LED多状态控制的方法,属于服务器设计应用

技术介绍
目前,CPLD-FPGA是半定制的专用集成电路,具有可编程、集成度高等系列优点,在开发验证应用以及服务器设计领域得到越来越广泛的应用,随着CPLD-FPGA在服务器应用中的不断深入,CPLD-FPGA在服务器应用中发挥的作用越来越重要。现有的CPLD-FPGA在服务器中实现的主要功能包括:开关机控制、按键检测控制、LED指示控制、通信控制及报警控制指示等。UID-LED是包括服务器在内的机器设计的重要组成部,检查人员可通过UID-LED标记故障机器,维护人员可以迅速定位故障机器并维修。对于UID-LED的点亮方式主要包括两种方式:通过按UID按键控制UID-LED的状态,当首次按下UID按键时,UID-LED处于指示状态,当再次按下UID按键时,UID-LED关闭,这种情况针对检查人员在机器旁边的时候;另外,UID-LED可通过BMC界面发送IPMI命令进行指示与关闭,这种情况出现在通过BMC检查机器的状态。通常以上两种方式实现UID-LED指示与关闭状态相同,控制操作比较简单,但是,当技术人员需要区分定位问题后点亮UID-LED的方式时,以上控制方式就无法满足要求,很是不便。针对上述已有技术状况,本专利技术申请人做了大量反复而有益的探索,最终产品取得了有效的成果,并且形成了下面将要介绍的技术方案。
技术实现思路
本专利技术针对上述现有技术的不足,提供一种可实现UID-LED多状态控制的方法,与现有技术相比,可基于CPLD-FPGA实现UID信号的预处理及判断、选择和控制,当检测到UID-LED有效指示信号时,能对信号来源进行实时判断,并最终使UID-LED采取不同的指示方式,进而有效区分点亮UID-LED的方式,提高了功能性与实用性。本专利技术解决技术问题的技术方案为:一种可实现UID-LED多状态控制的方法,包括以下步骤:1)完成外围电路设计;2)通过Verilog硬件描述语言实现UID-LED多种状态控制的模块;3)将镜像文件下载到服务器的CPLD/FPGA芯片实现UID-LED的多状态控制;4)CPLD实时对UID按键进行按键去抖模块设计与按键检测;5)CPLD实时对BMC输入的IPMI信号进行同步模块设计与信号检测;6)对从UID按键和BMC来的信号进行判断和选择。进一步地,所述的外围电路设计包括UID按键与UID_BMC输入信号到CPLD/FPGA的连接以及CPLD/FPGA输出控制信号UID-LED到LED控制端CMOS的连接,外围电路的输入部分是指将UID按键控制的UID_BTN信号连接CPLD/FPGA通用输入输出引脚作为输入,同时将BMC输出的UID_BMC连接CPLD/FPGA的通用输入输出引脚作为输入,外围电路的输出部分是指将CPLD/FPGA输出的控制信号作为CMOS的栅极控制端,并控制UID-LED的状态。进一步地,所述步骤2)的具体过程为:通过Verilog硬件描述语言实现基于CPLD/FPGA的UID-LED多种状态控制,并在顶层中例化该功能模块,连接输入输出端口,给定UID-LED点亮的电平有效值,进行编译、综合及布局布线,生成下载配置镜像。进一步地,所述步骤4)的具体过程为:UID按键控制的UID_BTN信号首先经过去抖处理,然后经过边沿检测模块设计,实时监测UID_BTN的下降沿,按键去抖模块设计是用于防止按键时与松开按键时的机械抖动和防止误操作而导致误判断的去抖设计方法,去抖设计模块采用状态机设计方式,连续判断3次是否有按键行为,当3个状态内都存在按键行为,输出按键有效信号,否则输出按键无效信号。进一步地,状态机共包含S0、S1、S2及S3:S3表示没按键的第一个状态及按键松开最后一个状态,S0按键有效最后一个状态及按键始终按下的第一个状态,Sw_in是按键输入信号,Sw_out是经过CPLD/FPGA处理的按键输出信号,2ms_Tick是按键采样有效时间,该时间控制按键去抖时间;当没有按键按下时,状态机一直循环在S3状态,同时按键输出无效信号Sw_out=1;当状态机在S3状态基于2ms_Tick采样检测到按键按下即Sw_in=0是,状态跳转到S2状态,同时Sw_out仍为1;在下次2ms_Tick采样检测到按键仍然按下,状态跳转到S1状态,同时输出仍是Sw_out=1,否则,状态跳回到S3状态,同时输出保持Sw_out=1;在下次2ms_Tick采样检测到按键仍然按下,状态跳转到S0状态,同时输出改变,即Sw_out=0,否则,状态跳回到S2状态,同时输出保持Sw_out=1,即连续3个2ms_Tick,按键才会有效,否则认为按键无效,按键有效输出后,状态机处于S0状态,当按键松开时,状态机执行相反过程。进一步地,所述步骤5)的具体过程为:BMC发出的UID_BMC信号经过同步处理,然后同样经过边沿检测模块设计,实时监测UID_BMC的下降沿,同步模块设计通过3级寄存器对UID_BMC基于CPLD/FPGA的系统时钟进行同步处理原理,同步模块对BMC发送的异步输入信号UID_BMC进行同步处理,减少由于UID_BMC变化过缓导致的“亚稳态”问题。进一步地,边沿检测模块设计用于使按键输入的或BMC输入的UID信号能被快速准确检测并响应,对按键输入的或BMC输入的UID信号进行边沿检测,边沿检测采用的方式为检测信号的跳变沿,包括下降沿和上升沿,使用两个寄存器,当满足第一个寄存器是“1”,第二个寄存器是“0”时,信号发生上升跳变,当满足第一个寄存器是“0”,第二个寄存器是“1”时,信号发生下降跳变。进一步地,所述步骤6)的具体过程为:当检测到UID-LED有效指示信号时,对从UID按键和BMC来的信号进行判断和选择,并对UID-LED采取不同的指示方式,控制UID-LED的亮灭及闪烁控制信号作为NMOS输入信号控制UID-LED状态;UID-LED采取的指示方式包括以下:a.当BMC输入的UID信号以及UID按键信号都无效时,UID-LED熄灭;b.当UID按键按下控制UID-LED指示时,UID-LED处于长亮状态;c.当BMC发送IPMI控制UID-LED指示时,UID-LED处于闪烁状态;d.当UID按键和BMC同时控制UID-LED状态时,UID按键的优先级高于BMC的IPMI命令。进一步地,当BMC输入的UID信号以及UID按键信号都有效时,即发生冲突,通过选择器设定按键输入和BMC输入UID信号的优先级,其中按键输入UID信号的优先级高于BMC输入UID信号,当UID_BTN按键输入信号无效时,UID-LED的状态将取决于BMC输入UID信号,此时,如果BMC输入的UID信号也无效,UID-LED熄灭,如果BMC输入的UID信号有效,UID-LED闪烁;当UID_BTN按键输入信号有效时,UID-LED直接点亮,此时,UID-LED状态将不再参考BMC输入的UID信号的有效性。进一步地,UID-LED内部的控制代码采用模块化设计,用于满足在不同项目中应用以及UID-LED不同闪烁频率的要求,使用时只需要例化该模块并对应连接本文档来自技高网...

【技术保护点】
1.一种可实现UID‑LED多状态控制的方法,其特征在于,包括以下步骤:1)完成外围电路设计;2)通过Verilog硬件描述语言实现UID‑LED多种状态控制的模块;3)将镜像文件下载到服务器的CPLD/FPGA芯片实现UID‑LED的多状态控制;4)CPLD实时对UID按键进行按键去抖模块设计与按键检测;5)CPLD实时对BMC输入的IPMI信号进行同步模块设计与信号检测;6)对从UID按键和BMC来的信号进行判断和选择。

【技术特征摘要】
1.一种可实现UID-LED多状态控制的方法,其特征在于,包括以下步骤:1)完成外围电路设计;2)通过Verilog硬件描述语言实现UID-LED多种状态控制的模块;3)将镜像文件下载到服务器的CPLD/FPGA芯片实现UID-LED的多状态控制;4)CPLD实时对UID按键进行按键去抖模块设计与按键检测;5)CPLD实时对BMC输入的IPMI信号进行同步模块设计与信号检测;6)对从UID按键和BMC来的信号进行判断和选择。2.如权利要求1所述的一种可实现UID-LED多状态控制的方法,其特征是,所述的外围电路设计包括UID按键与UID_BMC输入信号到CPLD/FPGA的连接以及CPLD/FPGA输出控制信号UID-LED到LED控制端CMOS的连接,外围电路的输入部分是指将UID按键控制的UID_BTN信号连接CPLD/FPGA通用输入输出引脚作为输入,同时将BMC输出的UID_BMC连接CPLD/FPGA的通用输入输出引脚作为输入,外围电路的输出部分是指将CPLD/FPGA输出的控制信号作为CMOS的栅极控制端,并控制UID-LED的状态。3.如权利要求1所述的一种可实现UID-LED多状态控制的方法,其特征是,所述步骤2)的具体过程为:通过Verilog硬件描述语言实现基于CPLD/FPGA的UID-LED多种状态控制,并在顶层中例化该功能模块,连接输入输出端口,给定UID-LED点亮的电平有效值,进行编译、综合及布局布线,生成下载配置镜像。4.如权利要求1所述的一种可实现UID-LED多状态控制的方法,其特征是,所述步骤4)的具体过程为:UID按键控制的UID_BTN信号首先经过去抖处理,然后经过边沿检测模块设计,实时监测UID_BTN的下降沿,按键去抖模块设计是用于防止按键时与松开按键时的机械抖动和防止误操作而导致误判断的去抖设计方法,去抖设计模块采用状态机设计方式,连续判断3次是否有按键行为,当3个状态内都存在按键行为,输出按键有效信号,否则输出按键无效信号。5.如权利要求4所述的一种可实现UID-LED多状态控制的方法,其特征是,状态机共包含S0、S1、S2及S3:S3表示没按键的第一个状态及按键松开最后一个状态,S0按键有效最后一个状态及按键始终按下的第一个状态,Sw_in是按键输入信号,Sw_out是经过CPLD/FPGA处理的按键输出信号,2ms_Tick是按键采样有效时间,该时间控制按键去抖时间;当没有按键按下时,状态机一直循环在S3状态,同时按键输出无效信号Sw_out=1;当状态机在S3状态基于2ms_Tick采样检测到按键按下即Sw_in=0是,状态跳转到S2状态,同时Sw_out仍为1;在下次2ms_Tick采样检测到按键仍然按下,状态跳转到S1状态,同时输出仍是Sw_out=1,否则,状态跳回到S3状态,同时输出保持Sw_out=1;在下次2ms_Tick采样检测到按键仍然按下,状态跳转到S0状态,同时输出改变,即Sw_out=0,否则,状态跳回到S2状态,同时输出保持Sw_out=1,即连续3个2ms_Tick,按键才会有效,否则认为按键无效,按键有效输出后,状态机处于S0状态,当按键松开时,状态机执行相反过程。6.如权...

【专利技术属性】
技术研发人员:季冬冬
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1