一种fpga运行状态的监测系统的制作方法

文档序号:10593979阅读:394来源:国知局
一种fpga运行状态的监测系统的制作方法
【专利摘要】本发明提出了一种FPGA运行状态的监测系统,包括内部处理模块和外部看门狗电路模块,其特征在于,所述内部处理模块包括工作时钟域和诊断时钟域,所述工作时钟域包括功能诊断模块,所述诊断时钟域包括工作时钟诊断模块、内部看门狗模块和分级处理模块。本发明为双时钟域设计,故障可分级处理,不必所有故障都复位FPGA整体工作时钟域,提高了系统的可用性。
【专利说明】
-种FPGA运行状态的监测系统
技术领域
[0001] 本发明设及工业控制系统,尤其设及一种FPGA运行状态的监测系统。
【背景技术】
[0002] FPGA的工作会受到外界电磁场、福射的干扰、电路时序设计差、状态机设计不合理 等,陷入死循环,造成整个系统陷入停滞状态,发生不可预料的后果。
[0003] 看口狗电路可W实现对FPGA运行状态的实时监测,使得系统在无人监测的状态下 连续工作。FPGA内部一般采用状态机的设计方式,使用Verilog HDL语言编写代码,实现看 口狗电路的功能,图1为典型的FPGA看口狗电路内部状态实现方式。在任意状态时如果EN使 能信号被禁止,则状态机进入IDLE状态。系统上电复位后进入WAIT状态,等待NUM3时间使 FPGA完成初始化;进入IDLE状态,使能看口狗功能;进入ADDING状态累加计时,如果在限定 时间NUMl内监测到喂狗信号,表明程序运行正常,返回IDLE状态等待下一次喂狗信号,如果 超过NUMl未收到喂狗信号,认为程序已经跑飞,进入邸ROR状态;EEROR状态中输出复位信号 并清零计数器;进入KEEPING状态,使低电平保持一段时间NUM2,运段时间超过FPGA所需的 复位时间即可;进入WAIT状态,复位后重新等待FPGA完成初始化,循环往复。FPGA外部连接 看口狗电路,实现对FPGA整体功能进行复位操作的方式,其电路实现方式如图2所示,将 FPGA的一个I /0脚连接看口狗电路的喂狗信号,另一个I /0脚连接复位信号,通过对FPGA编 程不断的进行喂狗,当FPGA状态机跑飞、功能块失效后停止喂狗,看口狗电路对FPGA进行整 体复位操作。
[0004] 现有FPGA看口狗设计方案存在的问题为FPGA工作在一个时钟域,没有对系统时钟 监测的措施,当内部逻辑出现故障时,处理措施为复位整个逻辑功能。

【发明内容】

[0005] 为了解决上述问题,本发明提出了一种FPGA运行状态的监测系统,包括内部处理 模块和外部看口狗电路模块,其特征在于,所述内部处理模块包括工作时钟域和诊断时钟 域,所述工作时钟域包括功能诊断模块,所述诊断时钟域包括工作时钟诊断模块、内部看口 狗模块和分级处理模块.
[0006] 所述工作时钟域产生工作时钟域时钟信号,所述工作时钟域时钟信号被发送给工 作时钟诊断模块;
[0007] 所述功能诊断模块,接收功能故障信号,产生喂狗信号并发送给所述分级处理模 块;
[000引所述诊断时钟域产生诊断时钟域时钟信号;所述工作时钟诊断模块将接收的所述 工作时钟域时钟信号,与所述诊断时钟域时钟信号进行比较,判断所述工作时钟域时钟信 号与所述诊断时钟域时钟信号的偏差是否超限,并产生喂狗信号发送给所述分级处理模 块;
[0009]所述分级处理模块接收喂狗信号,根据喂狗信号的来源决定是否对工作时钟域功 能进行局部复位、全局复位或者无复位操作;
[0010] 所述内部看口狗模块,每隔固定时间产生高低电平的脉冲喂狗信号,并将信号发 送至外部看口狗电路模块;
[0011] 所述外部看口狗电路模块接收内部看口狗产生的高低电平的脉冲喂狗信号,并发 送复位诊断信号给内部看口狗模块。
[001 ^ 进一步地,所述工作时钟域由外部工作时钟晶振驱动。
[0013] 进一步地,所述诊断时钟域由诊断时钟晶振驱动。
[0014] 进一步地,所述工作时钟域的时钟频率要低于所述诊断时钟域的时钟频率。
[0015] 进一步地,所述功能诊断模块包括寄存器,所述寄存器比特位产生喂狗信号。
[0016] 进一步地,所述寄存器比特位产生的喂狗信号取决于寄存器的值,所述值为1产生 高电平喂狗信号,所述值为0产生低电平喂狗信号。
[0017] 进一步地,所述功能诊断模块若接收的故障信号有效,则产生低电平喂狗信号,若 接收的故障信号无效,则产生高电平喂狗信号。
[0018] 进一步地,所述工作时钟诊断模块若判断所述工作时钟域时钟信号与所述诊断时 钟域时钟信号的偏差超限,则产生低电平的喂狗信号,若未超限,则产生高电平的喂狗信 号。
[0019] 进一步地,所述分级处理模块接收的喂狗信号,若来自功能诊断模块发出的低电 平信号,则复位局部功能块;若来自工作时钟诊断模块发出的低电平信号,则复位工作时钟 域内所有功能块;若同时来自所述工作时钟诊断模块和所述功能诊断模块时,则对FPGA进 行全局复位处理。
[0020] 进一步地,根据权利要求1所述的FPGA运行状态的监测系统,其特征在于,所述外 部看口狗电路模块为看口狗忍片。
[0021] 本发明设计一种FPGA运行状态的监测系统,对FPGA实施双时钟域(工作时钟域与 诊断时钟域),可通过诊断时钟域诊断工作时钟域是否工作正常,同时将FPGA内部功能块的 故障类别进行分级处理,并且内部集成看口狗与外接看口狗电路可实现诊断,保证看口狗 电路设计的有效性。
【附图说明】
[0022] 图巧现有FPGA看口狗实现方式;
[0023] 图2为现有FPGA外挂看口狗电路;
[0024] 图3为本发明中双时钟域、双看口狗诊断架构图;
[0025] 图4为本发明中内外看口狗复位诊断流程;
[0026] 图5为本发明中内外看口狗互诊脉冲信号;
[0027] 图6为本发明中分级处理模块中执行复位决断流程图。
【具体实施方式】
[0028] 下面结合附图对本发明一种FPGA运行状态的监测系统的【具体实施方式】进行详细 说明,该实施例仅用于说明本发明而不用于限制本发明的范围,本领域技术人员对本发明 的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0029] 如图3,一种FPGA运行状态的监测系统,包括设置在FPGA内部的内部处理模块和设 置在FPGA外部的外部看口狗电路模块。将FPGA工作区域划分为两个不同时钟域,即工作时 钟域与诊断时钟域。通过不同的外部时钟源(工作时钟晶振与诊断时钟晶振巧E动,工作时 钟晶振为晶体振荡器,主要用于产生FPGA工作时所必须的时钟频率;诊断时钟晶振为晶体 振荡器,主要用于驱动诊断时钟域;工作时钟域的时钟频率要低于诊断时钟域的时钟频率。 工作时钟域包括功能诊断模块,诊断时钟域包括工作时钟诊断模块、内部看口狗模块和分 级处理模块。
[0030] 至于FPGA是进行全局复位或者局部复位,可W根据功能块的重要程度进行划分, 一般情况下,处于工作时钟域内的主要单元功能块故障执行全局复位,处于单元功能模块 内的功能块故障仅执行局部复位。
[0031 ]功能诊断模块收到FPGA运行时产生的功能故障输入信号,通过判断FPGA运行时产 生的故障输入信号为高电平,无效,产生高电平的喂狗信号;功能诊断模块收到功能故障输 入信号为低电平,有效,产生低电平的喂狗信号。功能诊断模块相应的寄存器的比特位产生 0或者1,〇为低,1为高。
[0032] 工作时钟诊断模块通过判断工作时钟域的时钟信号的自身抖动偏差(JITTER)是 否影响时钟采样,产生高低电平脉冲的喂狗信号。该模块若判断偏差超限,则产生低电平的 喂狗信号,若未超限,则产生高电平的喂狗信号。
[0033] 将上述两个喂狗信号送至分级处理模块,分级处理模块根据喂狗信号的来源决定 是否对工作时钟域功能进行局部复位、全局复位或者无复位操作。
[0034] 若单元功能模块产生低电平故障信号,触发分级处理模块的局部复位功能,复位 局部功能块,局部复位功能是根据功能诊断模块收到的故障信号选择复位功能块。若工作 时钟诊断模块判断工作时钟域的时钟信号超出预定值范围或主要功能模块产生故障信号, 属于严重故障,则产生低电平信号,触发分级处理模块的全局复位功能,复位工作时钟域内 所有功能模块。
[0035] 若工作时钟诊断模块和功能诊断模块同时收到故障信号,并发出喂狗信号给分级 处理模块,则分级处理模块按全局复位进行处理,全局复位工作时钟域内所有功能模块。
[0036] 内部看口狗模块工作在诊断时钟域内,通过诊断时钟源驱动,Verilog编程内部看 口狗模块每隔固定时间产生高低电平的脉冲喂狗信号,喂狗信号送至外部看口狗电路模 块。内部看口狗模块每隔固定时间喂狗一次,同时接收来自外部看口狗电路模块的复位诊 断信号,通过对复位诊断信号低电平的时间与预期设定值进行比较,决定是否复位整片 FPGAo
[0037] 外部看口狗电路模块由传统的看口狗忍片实现,一般通过跨接大小不同的电容对 复位时间进行随意调整。同时,内部看口狗模块也可W根据外部看口狗电路模块不喂狗,判 断外部看口狗电路模块已坏,并对整片FPGA进行复位操作。
[0038] 内部看口狗由工作时钟域的功能诊断模块和诊断时钟域的工作时钟诊断模块喂 狗,并对喂狗信号进行处理,根据不同的故障级别进行分级处理,决定进行全局复位还是局 部复位。内部看口狗的分级复位功能块主要通过判断诊断工作时钟诊断的喂狗信号,外部 看口狗的复位诊断信号上报的故障级别选择不同的复位方式,其中外部看口狗故障复位整 片FPGA(包括工作时钟域和诊断时钟域);工作时钟诊断故障执行全局复位;诊断功能故障, 则需根据故障级别,执行全局复位或者局部复位,如表1所示,工作时钟域故障,则执行全局 复位(工作时钟域功能模块);单元功能模块故障需根据模块的重要程度执行局部复位或者 全局复位,如表2;看口狗故障,则执行FPGA复位。
[0039]如图6,分级处理模块的工作流程为首先判断是否由时钟诊断模块产生低电平故 障信号,若是,则执行全局复位,否则判断单元功能块寄存器是否有故障信号产生,若没有 故障信号产生,则不复位,若有故障信号产生进而需要判断该故障信号在寄存器中的位置 是否为主要功能单元模块故障位,若是则执行全局复位,否则仅执行局部复位即可。
[00401
[0043] 表 2
[0044] 本发明工作在双时钟域下,即工作时钟域和诊断时钟域,其复位整个FPGA的工作 原理:在工作时,通过外部看口狗电路跨接电容随意设置看口狗定时复位时间为2ms,通过 对内部看口狗编程实现每隔Ims定期产生喂狗信号向外部看口狗喂狗一次,内部看口狗喂 十次,第十一次发出一个2. Olms的喂狗信号,然后依次往复。当外部看口狗电路没收到 2.Olms的喂狗信号时,若收到喂狗信号时间小于2.Olms,则不会对内产生窄脉冲信号,不会 喂内部看口狗,整个FPGA会被外部看口狗复位,若收到喂狗信号时间大于2.Olms,则会产生 大于设定范围的脉冲信号,认为看口狗电路模块故障,也会复位整个FPGA;当外部看口狗电 路模块收到2.Olms的喂狗信号时,会发出一个IOus的低电平信号(复位诊断信号),发送至 内部看口狗,内部看口狗将外部看口狗产生的窄脉冲认为是无效的复位信号,保持正常工 作。设定内部看口狗模块复位诊断时间小于12US的低电平窄脉冲认为是正常信号(如图5); 当外部看口狗发出的脉冲时间超过内部看口狗判定窄脉冲时间时,即12.12ms内部看口狗 模块没有收到IOus喂狗信号或者收到大于12US的窄脉冲,则认为外部看口狗电路模块故 障,停止喂狗,复位整个FPGA,其工作流程如图4所示。
[0045] 通过W上手段可实现FPGA内部功能分级复位及FPGA内部看口狗模块与外部看口 狗电路模块互检,保证FPGA工作的可靠性。
[0046] 本发明为双时钟域设计,各功能区间无串扰工作,通过诊断时钟对工作时钟的 JITT邸的诊断,保证工作于系统时钟下的主功能有效,对FPGA内逻辑故障进行分级处理,对 主状态机的功能块故障进行工作时钟域下全局复位,对子状态机辅助功能块故障进行局部 复位;采用双看口狗诊断的方法,通过外部看口狗定期向内部看口狗发送复位诊断信号,内 部看口狗定期喂外狗的方式,保证内部集成与外部连接的看口狗电路实时有效。
[0047] W上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实 施方式中的具体细节,在本发明的技术构思范围内,可W对本发明的技术方案进行多种简
【主权项】
1. 一种FPGA运行状态的监测系统,包括内部处理模块和外部看门狗电路模块,其特征 在于,所述内部处理模块包括工作时钟域和诊断时钟域,所述工作时钟域包括功能诊断模 块,所述诊断时钟域包括工作时钟诊断模块、内部看门狗模块和分级处理模块; 所述工作时钟域产生工作时钟域时钟信号,所述工作时钟域时钟信号被发送给工作时 钟诊断模块; 所述功能诊断模块,接收功能故障信号,产生喂狗信号并发送给所述分级处理模块; 所述诊断时钟域产生诊断时钟域时钟信号;所述工作时钟诊断模块将接收的所述工作 时钟域时钟信号,与所述诊断时钟域时钟信号进行比较,判断所述工作时钟域时钟信号与 所述诊断时钟域时钟信号的偏差是否超限,并产生喂狗信号发送给所述分级处理模块; 所述分级处理模块接收喂狗信号,根据喂狗信号的来源决定是否对工作时钟域功能进 行局部复位、全局复位或者无复位操作; 所述内部看门狗模块,每隔固定时间产生高低电平的脉冲喂狗信号,并将信号发送至 外部看门狗电路模块; 所述外部看门狗电路模块接收内部看门狗产生的高低电平的脉冲喂狗信号,并发送复 位诊断信号给内部看门狗模块。2. 根据权利要求1所述的FPGA运行状态的监测系统,其特征在于,所述工作时钟域由外 部工作时钟晶振驱动。3. 根据权利要求1所述的FPGA运行状态的监测系统,其特征在于,所述诊断时钟域由诊 断时钟晶振驱动。4. 根据权利要求1所述的FPGA运行状态的监测系统,其特征在于,所述工作时钟域的时 钟频率要低于所述诊断时钟域的时钟频率。5. 根据权利要求1所述的FPGA运行状态的监测系统,其特征在于,所述功能诊断模块包 括寄存器,所述寄存器比特位产生喂狗信号。6. 根据权利要求5所述的FPGA运行状态的监测系统,其特征在于,所述寄存器比特位产 生的喂狗信号取决于寄存器的值,所述值为1产生高电平喂狗信号,所述值为〇产生低电平 喂狗信号。7. 根据权利要求1所述的FPGA运行状态的监测系统,其特征在于,所述功能诊断模块若 接收的故障信号有效,则产生低电平喂狗信号,若接收的故障信号无效,则产生高电平喂狗 信号。8. 根据权利要求1所述的FPGA运行状态的监测系统,其特征在于,所述工作时钟诊断模 块若判断所述工作时钟域时钟信号与所述诊断时钟域时钟信号的偏差超限,则产生低电平 的喂狗信号,若未超限,则产生高电平的喂狗信号。9. 根据权利要求1所述的FPGA运行状态的监测系统,其特征在于,所述分级处理模块接 收的喂狗信号,若来自功能诊断模块发出的低电平信号,则复位局部功能块;若来自工作时 钟诊断模块发出的低电平信号,则复位工作时钟域内所有功能块;若同时来自所述工作时 钟诊断模块和所述功能诊断模块时,则对FPGA进行全局复位处理。10. 根据权利要求1所述的FPGA运行状态的监测系统,其特征在于,根据权利要求1所述 的FPGA运行状态的监测系统,其特征在于,所述外部看门狗电路模块为看门狗芯片。
【文档编号】G06F11/34GK105955870SQ201610346559
【公开日】2016年9月21日
【申请日】2016年5月24日
【发明人】崔亚军, 陈乃奎, 张春雷, 马洪杰, 陈银杰, 江国进, 白涛
【申请人】北京广利核系统工程有限公司, 中国广核集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1