一种单板及提高其可靠性的方法

文档序号:6469401阅读:210来源:国知局
专利名称:一种单板及提高其可靠性的方法
技术领域
本发明涉及电子技术领域,特别涉及一种单板及提高其可靠性的方法。
背景技术
目前,在大部分电子设备的单板上同时存在中央处理器单元(CPU, Central Process Unit)和现场可编程门阵列(FPGA, Field Programmable Gate Array),其中,FPGA作为从设备,CPU作为主设备。FPGA内部的部分寄 存器用于存储CPU配置的参数,部分寄存器用于实现逻辑功能。电子设备的 单板在实际网络运行环境中可能因为环境因素,如雷电、工作温度超限、市 电电压波动等原因导致单板的时钟出现毛刺,或者导致器件的工作电压增大。 在单板的时钟出现毛刺,或器件工作电压增大的情况下,FPGA内部的寄存 器的参数将会出现错误,比如1变成0,或0变成1,参数发生错误将导致设 备瘫痪,但是FPGA器件本身功能正常,这种现象称为FPGA软失效。
在现有的技术中,通过合理的逻辑可靠性设计方案,可以使FPGA的逻 辑功能实现部分的寄存器的参数出现错误后自行恢复正常。
发明人在本发明创造过程中发现,对于由CPU配置的寄存器的参数发生 错误无法检测,也没办法恢复错误。

发明内容
本发明实施例提供了一种单板及提高其可靠性的方法,可以检测由CPU 配置的FPGA的寄存器的配置参数发生错误,并使之恢复正常,从而提高单 板可靠性。
为实现上述目的,本发明实施例提供如下技术方案 本发明实施例提供了一种提高单板可靠性的方法,包括 保存单板上的现场可编程门阵列的寄存器的配置参数的副本; 读取所述寄存器的当前参数;
如果所述寄存器的当前参数和所述寄存器的配置参数的副本不一致,对 所述寄存器重新配置参数。
本发明实施例还提供了一种单板,包括现场可编程门阵列,中央处理器;
所述现场可编程门阵列包括
寄存器,用于接收所述中央处理器配置的参数;
存储模块,用于如果所述中央处理器对所述寄存器配置参数,保存一份 所述寄存器的配置参数的副本;
检测判断模块,用于读取所述寄存器的当前参数,与所述存储模块所保 存的所述寄存器的配置参数的副本进行对比,如果所述寄存器的当前参数与 所述寄存器的配置参数副本不一致,判断所述寄存器需要重新配置参数;
通知模块,用于如果所述检测模块判断所述寄存器需要重新配置参数, 通知所述中央处理器对所述寄存器重新配置参数;
所述中央处理器包括
配置^f莫块,用于为所述现场可编程门阵列的寄存器配置参^:; 接收模块,用于如果收到所述现场可编程门阵列重新配置参数的通知, 通知所述配置模块对所述现场可编程门阵列的寄存器配置参数。 本发明实施例还提供了另一种单板,包括 现场可编程门阵列,存储模块,中央处理器; 所述现场可编程门阵列包括 寄存器,用于接收所述中央处理器配置的参数;
所述存储模块,用于如果所述中央处理器对所述寄存器配置参数,存储 一份所述寄存器的配置参数的副本; 所述中央处理器包括
配置^f莫块,用于为所述现场可编程门阵列的寄存器配置参^t,并在所述 存储模块中保存一份配置的参数的副本;
检测判断模块,用于获取所述现场可编程门阵列的寄存器的当前参数, 与所述存储模块所存储的配置参数的副本进行比较,如果所述寄存器的当前 参数与所述存储模块所存储的配置参数的副本不一致,判断所述寄存器需要 重新设置参数;
重置模块,如果所述检测判断模块判断所述现场可编程门阵列的寄存器 需要重新设置参数,通知所述配置模块对所述现场可编程门阵列的寄存器重新配置参数并保存一份所述配置的参数的副本到所述存储模块。
本发明实施例将CPU配置的FPGA寄存器的配置参数存储一份副本,用 以检测由CPU配置的FPGA寄存器是否发生错误,若配置的寄存器发生错误, 则重新配置该寄存器,从而提高单板可靠性。


图1为本发明实施例一提供的一种提高单板可靠性的方法流程图; 图2为本发明实施例二提供的一种提高单板可靠性的方法流程图; 图3为本发明实施例三提供的一种提高单板可靠性的方法流程图; 图4为本发明实施例四提供的一种单板的逻辑结构示意图; 图5为本发明实施例五提供的一种单板的逻辑结构示意图。
具体实施例方式
本发明实施例提供了一种单板及提高其可靠性的方法,可以检测由CPU 配置的FPGA寄存器是否发生错误,并使之恢复正常,从而提高单板可靠性。
为了便于对本发明实施例进一步的理解,下面结合附图对本发明实施例 进行详细的介绍。
实施例一
请参阅图1,图1为本发明实施例一提供的一种提高单板可靠性的方法 流程图。如图l所示,该方法包括
步骤101:保存单板上的现场可编程门阵列的寄存器的配置参数的副本。
FPGA的寄存其中,有一些寄存器应由CPU给其配置参数值,当CPU 给这些应由其配置的寄存器配置参数时,保存一份所配置的参数副本。其中, 可以由FPGA将CPU配置的寄存器的配置参数的副本存储于FPGA的随机 存储器RAM;或者由CPU将所配置的寄存器的配置参数的副本存储于单板 的随机存储器RAM中。
步骤102:读取所述寄存器的当前参数。
读取所述寄存器的当前参数是为了与所述寄存器的配置参数的副本进行 对比,看寄存器的所存储的参数值有没有发生变化,如果发生变化,就说明 寄存器出现了错误。可以由FPGA或CPU周期性的读取配置的寄存器的参数。
步骤103:若所述寄存器的当前参数和所述寄存器的配置参it的副本不一致,对所述寄存器重新配置参数。
如果对比结果不一致,说明所述寄存器的参数值发生了变化。 一般情况 下,这种变化都是由意外所引起,需要进行纠正,如杲不纠正,就会导致单 氺反无法正确的运4亍。
检测到所述的寄存器发生错误之后,通过CPU对所述寄存器重新配置参
数,使寄存器重新恢复正常。
上述对本发明实施例一提供的一种提高单板可靠性的方法进行介绍,将
寄存器的当前参数与预先保存的配置参数的副本对比,检测CPU配置的FPGA 寄存器是否发生错误,如果是,则重新配置该寄存器,从而提高单板可靠性, 避免寄存器发生错误导致设备瘫痪。 实施例二
请参阅图2,图2为本发明实施例二提供的一种提高单板可靠性的方法的 流程图。在本实施例中,由FPGA检测CPU配置的寄存器的配置参数是否发生 错误,如果是,则通知CPU对该配置寄存器的重新配置参数。如图2所示,本 实施例的方法包括
步骤201:如果单板上的CPU对FPGA的寄存器配置参数,在所述FPGA
的RAM中,保存一份所述寄存器的配置参数的副本。
由于CPU不一定对所有的FPGA寄存器进行配置,对于CPU没有配置的寄 存器,需要保存其默认值。
例如,可以将由CPU配置的FPGA寄存器的默认值保存到存储器初始化文 件(MIF, Memory Initialization File)中,并通过MIF文件对FPGA的RAM进行 初始化。
当CPU给FPGA的寄存器配置参数时,由FPGA将该寄存器的配置参 数的副本存储于FPGA的RAM中,这一过程对于CPU是透明的。当CPU 对该寄存器重新配置时,相应的,FPGA将CPU重新配置的参数的副本覆盖 之前存储的参数的副本。
步骤202: FPGA周期性地读取由CPU配置的寄存器的当前参数。 对于应由CPU配置的寄存器,除非CPU改变其值,否则不应发生变化,如 果其中的一些寄存器的值发生变化,说明这些寄存器产生了错误。读取这些寄存器的当前参数的目的,是为了检测其数值是否发生了意外的变化。
FPGA可以周期性的读取这些应由CPU配置的寄存器的当前参数,这一过 程对于CPU也是透明的。
步骤203:若对比结果不一致,则FPGA通知CPU对所述寄存器重新配置 参数。
如果对比结果不一致,说明该寄存器的配置参数发生错误;向CPU发送 对所述寄存器重新配置的通知;CPU根据所述通知发送的所述寄存器的配置 参数,使该寄存器恢复正常,从而提高单板可靠性,避免配置寄存器的配置 参数发生错误导致设备瘫痪。
反之,如果对比结果一致,则说明该寄存器正常运行。
上述对本发明实施例二提供的一种提高单板可靠性的方法进行介绍,将 寄存器的当前参数与预先保存的配置参数的的副本对比,检测CPU配置的 FPGA寄存器是否发生错误,如果是,则重新配置该寄存器,从而提高单板 可靠性,避免寄存器发生错误导致设备瘫痪。
实施例三
请参阅图3 ,图3为本发明实施例三提供的 一种提高单板可靠性的方法流 程图。在本实施例中,由CPU检测配置寄存器的配置参数是否发生错误,如 果是,则CPU主动对该寄存器的重新配置参数。如图3所示,本实施例的方法 包括
步骤301:如果单板上的CPU对FPGA的寄存器配置参数,在单板的内 存中,保存一份所述寄存器的配置参数的副本。
CPU给FPGA寄存器配置参数时,将该配置参数的副本保存一份在单板 的内存中。
步骤302: CPU周期性地读取所述寄存器的当前参数,将所述参数与内存 中保存的所述配置参数的副本对比。
每隔一段周期,CPU需要读取寄存器当前存放的参数,与步骤301所保存 的所述配置参数的副本对比,以判断所述寄存器有无出^!晉。
步骤303:若对比结果不一致,则CPU对所述寄存器重新配置参数。
如果对比结果不一致,说明该寄存器发生错误,CPU需要重新配置参数,使该寄存器恢复正常。反之,如果对比结果一致,则说明该寄存器正常运行。 上述对本发明实施例三提供的一种提高单板可靠性的方法进行介绍,由
CPU检测CPU配置的FPGA寄存器的当前参数是否发生错误,如果是,则 重新配置该寄存器,使之恢复正常,从而提高单板可靠性,避免配置寄存器 发生错误导致设备瘫痪。 实施例四
请参阅图4,图4为本发明实施例四提供的一种单板的逻辑结构示意图。 如图4所示,所述单板包括
现场可编程门阵列401 ,中央处理器402;
所述现场可编程门阵列401作为从设备,中央处理器402作为主设备; 中央处理器402对现场可编程门阵列401的寄存器进行参数配置,使得现场 可编程门阵列401可以正常运行。
所述现场可编程门阵列401包括
寄存器4011 ,用于接收所述中央处理器402配置的参数。
所述寄存器4011接收中央处理器402配置的参数,使现场可编程门阵列 401在该配置参数下可以正常运行。
存储模块4012,用于如果所述中央处理器402对所述寄存器4011配置 参数,保存一份所述寄存器4011的配置参数的副本。
在中央处理器402对所述寄存器4011配置参数时,所述存储^f莫块保存所 述配置参数的副本,可以将该参数与配置参数的副本进程对比,判断所述寄 存器4011的配置参数是否发生错误。
检测判断模块4013,用于读取所述寄存器4011的当前参数,与所述存 储模块4012所保存的所述寄存器4011的配置参数的副本进行对比,如果所 述寄存器4011的当前参数与所述寄存器4011的配置参数的副本不一致,判 断所述寄存器4011需要重新配置参数。
通知模块4014,用于如果所述检测判断模块4013判断所述寄存器4011 需要重新配置参数,通知所述中央处理器402对所述寄存器4011重新配置参 数。
所述中央处理器402包括配置模块4021,用于为所述现场可编程门阵列401的寄存器4011配置 参数;所述参数可以使现场可编程门阵列401可以正常运行。
接收^^莫块4022,用于如果收到所述现场可编程门阵列401的通知;f莫块 4014发送的重新配置参数的通知,通知所述配置模块4021对所述现场可编 程门阵列401的寄存器4011配置参数。
上述本发明实施例所提供的一种单板,可以检测FPGA中由CPU配置的 寄存器的是否发生错误,如果是,则通知CPU重新配置该寄存器,从而提高 单板可靠性,避免配置寄存器发生错-溪导致设备瘫痪。
实施例五
请参阅图5,图5为本发明实施例五提供的一种单板的逻辑结构示意图。 如图5所示,所述单板包括
现场可编程门阵列501,存储-漠块502,中央处理器503。
所述现场可编程门阵列401作为从设备,中央处理器402作为主设备; 中央处理器402对现场可编程门阵列401的寄存器进行参数配置,使得现场 可编程门阵列401可以正常运行,同时将配置的参数的副本存储与单板的存 储模块502中。
所述现场可编程门阵列501包括
寄存器5011,用于接收所述中央处理器503配置的参数;所述^f吏现场可 编程门阵列501在该配置的参数下可以正常运行。
所述存储^t块502,用于如果所述中央处理器503对所述寄存器5011配 置参数,存储一份所述寄存器4011的配置参数的副本;
所述中央处理器503包括
配置模块5031,用于为所述现场可编程门阵列501的所述寄存器5011 配置参数,并在所述存储模块502中保存一份配置的参数的副本;
检测判断模块5032,用于获取所述现场可编程门阵列501的寄存器5011 的当前参数,与所述存储模块502所存储的配置参数的副本进行比较,如果 所述寄存器5011的当前参数与所述存储模块502所存储的配置参数的副本不 一致,判断所述寄存器5011需要重新设置参数;
重置模块5033,如果所述检测判断模块5032判断所述现场可编程门阵列501的所述寄存器5011需要重新设置参数,通知所述配置模块5031对所 述寄存器5011重新配置参数并保存一份配置参数的副本到所述存储模块 502。
上述本发明实施例所提供的一种单板,可以检测FPGA中由CPU配置的 寄存器的是否发生错误,如果是,则通知CPU重新配置该寄存器,从而提高 单板可靠性,避免配置寄存器发生错误导致设备瘫痪。
本领域普通技术人员可以理解实现上述方法实施例通常可以通过硬件 来现实,或者实现上述方法实施例的全部或部分步骤可以通过程序指令相关 的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明实施例所提供的一种单板及提高其可靠性的方法,并使用 具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是 用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人 员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综 上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种提高单板可靠性的方法,其特征在于,包括保存单板上的现场可编程门阵列的寄存器的配置参数的副本;读取所述寄存器的当前参数;如果所述寄存器的当前参数和所述寄存器的配置参数的副本不一致,对所述寄存器重新配置参数。
2、 根据权利要求1所述的方法,其特征在于,所述保存单板上的现场可 编程门阵列的寄存器的配置参数的副本的步骤,包括数,在所述现场可编程门阵列的内存中,保存一份所述寄存器的配置参数的 副本。
3、 根据权利要求1所述的方法,其特征在于,所述保存单板上的现场可 编程门阵列的寄存器的配置参数的副本的步骤,包括如果所述单板上的中央处理器对所述现场可编程门阵列的寄存器配置参 数,在所述单板的内存中,保存一份所述寄存器的配置参数的副本。
4、 根据权利要求1或2所述的任一方法,其特征在于,所述如果所述寄 存器的当前参数和所述寄存器的配置参数的副本不一致,对所述寄存器重新 配置参数的步骤,包括如果所述寄存器的当前参数和所述寄存器的配置参数的副本不一致,向所 述单板上的中央处理器发送对所述寄存器重新配置参数的通知;所述单板上的中央处理器才艮据所述通知重新对所述寄存器配置参数。
5、 一种单板,其特征于,包括 现场可编程门阵列,中央处理器; 所述现场可编程门阵列包括寄存器,用于接收所述中央处理器配置的参数;存储模块,用于如果所述中央处理器对所述寄存器配置参数,保存一份 所述寄存器的配置参数的副本;检测判断模块,用于读取所述寄存器的当前参数,与所述存储模块所保存 的所述寄存器的配置参^t的副本进行对比,如果所述寄存器的当前参^L与所 述寄存器的配置参数的副本不一致,判断所述寄存器需要重新配置参数;通知模块,用于如果所述检测模块判断所述寄存器需要重新配置参数,通知所述中央处理器对所述寄存器重新配置参数; 所述中央处理器包括配置4莫块,用于为所述现场可编程门阵列的寄存器配置参数; 接收模块,用于如果收到所述现场可编程门阵列重新配置参数的通知,通 知所述配置模块对所述现场可编程门阵列的寄存器配置参数。
6、 一种单板,其特征于,包括 现场可编程门阵列,存储:模块,中央处理器; 所述现场可编程门阵列包括 寄存器,用于接收所述中央处理器配置的参数;所述存储冲莫块,用于如果所述中央处理器对所述寄存器配置参数,存卩诸一 份所述寄存器的配置参数的副本; 所述中央处理器包括配置模块,用于为所述现场可编程门阵列的寄存器配置参数,并在所述存 储模块中保存一份配置的参数的副本;检测判断模块,用于获取所述现场可编程门阵列的寄存器的当前参数,与 所述存储模块所存储的配置参数的副本进行比较,如果所述寄存器的当前参 数与所述存储模块所存储的配置参数的副本不一致,判断所述寄存器需要重 新设置参数;重置^f莫块,如果所述^r测判断^t块判断所述现场可编程门阵列的寄存器需 要重新设置参数,通知所述配置模块对所述现场可编程门阵列的寄存器重新 配置参数并保存一份所述配置的参数的副本到所述存储模块。
全文摘要
本发明实施例公开了一种单板及提高其可靠性的方法,所述方法包括保存单板上的现场可编程门阵列的寄存器的配置参数的副本;读取所述寄存器的当前参数;如果所述寄存器的当前参数和所述寄存器的配置参数的副本不一致,对所述寄存器重新配置参数。本发明实施例可以检测由中央处理器配置的现场可编程门阵列的寄存器的配置参数是否发生错误,若配置的寄存器的配置参数发生错误,则重新配置该寄存器,从而提高单板可靠性。
文档编号G06F11/00GK101419563SQ20081020285
公开日2009年4月29日 申请日期2008年11月13日 优先权日2008年11月13日
发明者陈宏达, 陈新坤, 马丛山 申请人:上海华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1