一种FPGA实现软件编程器件可控看门狗功能的方法技术

技术编号:10466005 阅读:228 留言:0更新日期:2014-09-24 18:05
一种FPGA实现软件编程器件可控看门狗功能的方法,是在FPGA和软件编程器件(DSP/MCU/ARM等)联合工作时,不需额外增加看门狗硬件设计,利用FPGA实现可控看门狗功能。在单板调试时,可以随需要由软件编程器件来打开/关闭看门狗功能;可以根据软件编程器件的数据处理周期长短来修改FPGA的定时时间(通过软件编程器件给FPGA中的看门狗监控计数器写初值);按照本方法实现的FPGA程序可通用化,且参数控制方便(软件编程器件通过修改不同地址上的数据:初值、看门狗总开关信号、写初值开关等)。值得注意的是,当FPGA读取了软件编程器件给FPGA的初值后,即将初值锁定,只写一次初值。

【技术实现步骤摘要】
-种FPGA实现软件编程器件可控看门狗功能的方法
本专利技术涉及一种FPGA实现软件编程器件可控看门狗功能的方法,实现了 FPGA对 软件编程器件的系统监控,在软件编程器件出现意外状况时可使其重新回复到系统上电状 态,属于软硬件结合调试领域。
技术介绍
看门狗的作用是软件编程器件在意外状况下(比如程序陷入死循环),使其重新 回复到系统上电状态,以保证系统出问题的时候重启一次。设置看门狗是防止软件编程器 件死机和提高软件编程器件系统抗干扰性的一种重要途径。看门狗分为硬件看门狗和软件 看门狗。 从实现角度上看,专用硬件看门狗是一种软件与片外专用电路相结合的技术,看 门狗能否可靠有效地工作,与硬件组成及软件的控制策略都有密切的关系。可编程的专用 看门狗定时器,定时时间可通过软件进行选择(200ms,600ms,1.4s)。单时限看门狗硬件电 路简单、控制方便,但可靠性差。双时限看门狗以增加硬件投入为代价来提高看门狗工作的 可靠性。 软件看门狗是利用软件编程器件片内闲置的定时器/计数器单元作为看门狗,在 软件编程器件程序中适当地插入喂狗指令,当程序运行出现异常或进入死循环时,利用 软件给程序定时器/计数器赋初值,强制性地使程序重新开始运行。软件看门狗的最大特 点是无需外加硬件电路,经济性好。缺点:需要占用片内定时器/计数器。 随着微波遥感信号处理系统集成性和复杂性的提高,硬件小型化、软件通用化、标 准化的需求日益迫切。随着微波遥感信号处理复杂度的提高,往往需要FPGA和DSP/MCU联 合工作来使信号处理系统具有良好的控制和运算能力,使用FPGA来实现可控看门狗功能 是一种不错的选择。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,提供一种FPGA实现软件编程器 件可控看门狗功能的方法,减少了硬件投入,FPGA定时时间可控、是否使用看门狗功能可 控、可通用、控制方便。 本专利技术的技术解决方案是:一种FPGA实现软件编程器件可控看门狗功能的方法, 步骤如下: (l)FPGA上电复位,令看门狗监控计数器初值为0,进入步骤(2); (2)判断软件编程器件是否打开了写初值开关,若软件编程器件打开了写初值开 关,则进入步骤(3);若软件编程器件没有打开写初值开关,则直接进入步骤(5); (3)软件编程器件根据数据处理周期计算看门狗监控计数器初值,FPGA读取该初 值并将初值锁定,进入步骤(4);所述数据处理周期与喂狗周期相同; (4) FPGA将从软件编程器件中读取的看门狗监控计数器初值赋给看门狗监控计数 器,进入步骤(5); (5)FPGA判断软件编程器件是否打开了看门狗使能,若软件编程器件没有打开看 门狗使能,则直接结束;若软件编程器件打开了看门狗使能,则进入步骤(6); (6)FPGA中看门狗监控计数器根据FPGA的时钟开始自动计数,进入步骤(7); (7)FPGA判断是否有软件编程器件发出的喂狗信号,如果有喂狗信号,则利用喂狗 周期来修改FPGA中的看门狗监控计数器初值,返回步骤(4);若没有喂狗信号,则进入步骤 ⑶; (8)FPGA判断看门狗监控计数器是否计满或者达到预设的固定值,若看门狗监控 计数器的计数上限为计数器上限且看门狗监控计数器没有计满,返回步骤¢);若看门狗 监控计数器的计数上限为计数器上限且看门狗监控计数器计满,进入步骤(9);若看门狗 监控计数器的计数上限为预设的固定值且看门狗监控计数器没有达到预设的固定值,返回 步骤¢);若看门狗监控计数器的计数上限为预设的固定值且看门狗监控计数器达到预设 的固定值,进入步骤(9);所述预设的固定值小于计数器上限; (9)FPGA产生给软件编程器件复位的信号,返回步骤(4)。 所述步骤(3)中软件编程器件根据数据处理周期计算看门狗监控计数器初值,具 体为: 看门狗监控计数器初值具体由公式: Ni = (t1-t2)/T1 给出,式中,&为看门狗监控计数器初值,?\为FPGA中的看门狗监控计数器使用 的时钟周期,h为看门狗监控计数器计满的总时间= ?\*Ν,其中,N为看门狗监控计数器 的计数器上限值或预设的固定值;t2为看门狗监控计数器的定时时间,t 2 = t3/0. 9,其中, t3为喂狗周期,喂狗周期与软件编程器件的数据处理周期相同。 本专利技术与现有技术相比的有益效果是: (1)本专利技术在FPGA和软件编程器件联合工作时,利用FPGA实现软件编程器件可控 看门狗功能,不需额外增加看门狗硬件设计,简化了硬件设计; (2)本专利技术在单板调试时,可以随需要由软件编程器件将看门狗总开关信号置位 来打开/关闭看门狗功能,调试方便; (3)本专利技术可以根据软件编程器件的数据处理周期长短来修改FPGA的定时时间, 即通过软件编程器件给FPGA中的看门狗监控计数器写初值的方式完成修改,克服了看门 狗芯片固定定时时间容易在软件编程器件的数据处理周期内复位使软件编程器件功能不 正确的问题; (4)本专利技术可以通过软件编程器件修改不同地址上的数据,程序可以通用化,且参 数控制方便。 【附图说明】 图1为FPGA实现软件编程器件可控看门狗功能的原理图; 图2为FPGA实现软件编程器件可控看门狗功能的流程图。 【具体实施方式】 下面结合附图对本专利技术的【具体实施方式】进行详细地阐述。 本专利技术提供的一种FPGA实现软件编程器件可控看门狗功能的原理图如图1所示, 由图1可知,本专利技术中软件编程器件的数据线,地址线,片选信号,使能信号与FPGA连接,由 软件编程器件通过数据线,地址线,片选信号,使能信号来给不同的地址上写看门狗监控计 数器初值、置位看门狗总开关信号以及发送喂狗信号等;FPGA通过读取看门狗总开关信号 来判断打开/关闭看门狗使能,读取初值给看门狗监控计数器赋初值来修改FPGA的定时时 间,如果超过FPGA的定时时间没有接收到喂狗信号将产生复位信号来复位软件编程器件 心/T 〇 本专利技术提供的一种FPGA实现软件编程器件可控看门狗功能的方法由软件编程器 件控制看门狗使能的打开/关闭和控制看门狗监控计数器的初值大小(即修改FPGA的定 时时间)。如果软件编程器件打开了看门狗使能,程序正常运行时,软件编程器件会按一定 时间间隔进行喂狗,FPGA中的看门狗监控计数器则会赋初值重新开始计数,所以不会影 响程序正常运行。如果软件编程器件程序陷入死循环,超过规定的时间没有喂狗,则FPGA 中的看门狗监控计数器就会溢出或达到预设的固定值,FPGA产生给软件编程器件的复位信 号使软件编程器件复位。 如图2所示为本专利技术流程图,由图2可知,本专利技术提出的一种FPGA实现软件编程 器件可控看门狗功能的方法,实现步骤如下: (l)FPGA上电复位,令看门狗监控计数器初值为0,进入步骤(2); (2)判断软件编程器件是否打开了写初值开关,若软件编程器件打开了写初值开 关,则进入步骤(3);若软件编程器件没有打开写初值开关,则直接进入步骤(5); (3)软件编程器件根据数据处理周期计算看门狗监控计数器初值,FPGA读取该初 值本文档来自技高网
...
一种FPGA实现软件编程器件可控看门狗功能的方法

【技术保护点】
一种FPGA实现软件编程器件可控看门狗功能的方法,其特征在于步骤如下:(1)FPGA上电复位,令看门狗监控计数器初值为0,进入步骤(2);(2)判断软件编程器件是否打开了写初值开关,若软件编程器件打开了写初值开关,则进入步骤(3);若软件编程器件没有打开写初值开关,则直接进入步骤(5);(3)软件编程器件根据数据处理周期计算看门狗监控计数器初值,FPGA读取该初值并将初值锁定,进入步骤(4);所述数据处理周期与喂狗周期相同;(4)FPGA将从软件编程器件中读取的看门狗监控计数器初值赋给看门狗监控计数器,进入步骤(5);(5)FPGA判断软件编程器件是否打开了看门狗使能,若软件编程器件没有打开看门狗使能,则直接结束;若软件编程器件打开了看门狗使能,则进入步骤(6);(6)FPGA中看门狗监控计数器根据FPGA的时钟开始自动计数,进入步骤(7);(7)FPGA判断是否有软件编程器件发出的喂狗信号,如果有喂狗信号,则利用喂狗周期来修改FPGA中的看门狗监控计数器初值,返回步骤(4);若没有喂狗信号,则进入步骤(8);(8)FPGA判断看门狗监控计数器是否计满或者达到预设的固定值,若看门狗监控计数器的计数上限为计数器上限且看门狗监控计数器没有计满,返回步骤(6);若看门狗监控计数器的计数上限为计数器上限且看门狗监控计数器计满,进入步骤(9);若看门狗监控计数器的计数上限为预设的固定值且看门狗监控计数器没有达到预设的固定值,返回步骤(6);若看门狗监控计数器的计数上限为预设的固定值且看门狗监控计数器达到预设的固定值,进入步骤(9);所述预设的固定值小于计数器上限;(9)FPGA产生给软件编程器件复位的信号,返回步骤(4)。...

【技术特征摘要】
1. 一种FPGA实现软件编程器件可控看门狗功能的方法,其特征在于步骤如下: (1) FPGA上电复位,令看门狗监控计数器初值为0,进入步骤(2); (2) 判断软件编程器件是否打开了写初值开关,若软件编程器件打开了写初值开关,则 进入步骤(3);若软件编程器件没有打开写初值开关,则直接进入步骤(5); (3) 软件编程器件根据数据处理周期计算看门狗监控计数器初值,FPGA读取该初值并 将初值锁定,进入步骤(4);所述数据处理周期与喂狗周期相同; (4) FPGA将从软件编程器件中读取的看门狗监控计数器初值赋给看门狗监控计数器, 进入步骤(5); (5) FPGA判断软件编程器件是否打开了看门狗使能,若软件编程器件没有打开看门狗 使能,则直接结束;若软件编程器件打开了看门狗使能,则进入步骤(6); (6) FPGA中看门狗监控计数器根据FPGA的时钟开始自动计数,进入步骤(7); (7) FPGA判断是否有软件编程器件发出的喂狗信号,如果有喂狗信号,则利用喂狗周 期来修改FPGA中的看门狗监控计数器初值,返回步骤(4);若没有喂狗信号,则进入步骤 ⑶; (8) FPGA判断看门狗监控计数器是否计满或者达到...

【专利技术属性】
技术研发人员:孙娟李彬
申请(专利权)人:西安空间无线电技术研究所
类型:发明
国别省市:陕西;61

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

1