CN110619203A - 一种基于有限状态机的逻辑看门狗实现方法 - Google Patents
一种基于有限状态机的逻辑看门狗实现方法 Download PDFInfo
- Publication number
- CN110619203A CN110619203A CN201810637834.1A CN201810637834A CN110619203A CN 110619203 A CN110619203 A CN 110619203A CN 201810637834 A CN201810637834 A CN 201810637834A CN 110619203 A CN110619203 A CN 110619203A
- Authority
- CN
- China
- Prior art keywords
- state
- state machine
- wdi
- width
- starting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于有限状态机的逻辑看门狗实现方法,包括以下步骤:单板最后一级电源1.0V上电成功,状态机由初始态转到启动态,同时启动计时器开始计数;当CPLD检测到处理器输出的WDI,且启动时间大于等于45s时,状态机由启动态转到运行态;如果启动时间达到65s还没有检测到WDI信号,则状态机由启动态转到掉电态,这时CPLD输出2s的掉电信号控制其它部分掉电,然后状态机回到初始态。本发明使用有限状态机将系统运行划分为初始态、启动态、运行态、掉电态四个阶段,可以在系统启动阶段挂死或运行阶段挂死的情况下,通过重新上下电来恢复系统运行。
Description
技术领域
本发明涉及嵌入式系统相关技术领域,具体是一种基于有限状态机的逻辑看门狗实现方法。
背景技术
嵌入式系统在复杂环境中工作可能存在因为外部干扰导致程序挂死或跑飞的情况,所以监控程序运行状态的“看门狗”是产品的必要功能。看门狗功能有以下几种实现方式:一是采用外部看门狗芯片,如美信MAX706;二是采用嵌入式处理器内部集成的看门狗定时器;三是使用FPGA或CPLD通过硬件描述语言搭建看门狗功能电路。在产品有逻辑芯片的情况下,第三种方案可以提高系统集成度、降低硬件成本。
如图1,以MAX706RESA芯片为例,芯片第8脚为WDI,即喂狗信号输入,只要该引脚在1.6S之内发生高低电平变化,芯片内部看门狗定时器就将会被清零,若WDI引脚电平变化间隔超过1.6S,则芯片第8脚/WDO将会输出低电平,直到WDI引脚重新发生电平翻转。所以当使用处理器的GPIO输出WDI喂狗信号时,若出现程序挂死,喂狗信号将不会再按规律翻转甚至停止,此时/WDO输出低电平,触发处理器复位。
发明内容
本发明的目的在于提供一种基于有限状态机的逻辑看门狗实现方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于有限状态机的逻辑看门狗实现方法,包括以下步骤:
S101,单板最后一级电源1.0V上电成功,状态机由初始态转到启动态,同时启动计时器开始计数;
S102,当CPLD检测到处理器输出的WDI,且启动时间大于等于45s时,状态机由启动态转到运行态;如果启动时间达到65s还没有检测到WDI信号,则状态机由启动态转到掉电态,这时CPLD输出2s的掉电信号控制其它部分掉电,然后状态机回到初始态;
S103,如果在运行态检测到WDI信号丢失或其它异常,状态机将由运行态转到掉电态;同样,如果在运行态检测到1.0V电源异常,状态机将由运行态转到初始态。
作为本发明进一步的方案:上述检测处理器输出的WDI信号的方法为:设置高电平宽度寄存器counter_width_H和低电平宽度寄存器counter_width_L,当WDI信号为低电平时,将高电平宽度寄存器counter_width_H清零,当WDI信号为高电平时,则高电平宽度寄存器counter_width_H加1;同样,当WDI信号为高电平时,将低电平宽度寄存器counter_width_L清零,当WDI信号为低电平时,则低电平宽度寄存器counter_width_L加1;当高电平宽度寄存器counter_width_H或低电平宽度寄存器counter_width_L任意一个等于580,输出WDI检测结果WDI_dec_result = 0,否则输出WDI_dec_result = 1。
作为本发明进一步的方案:CPLD为单独供电的机电管理模块,用于获取及控制单板其它部分的状态。
与现有技术相比,本发明的有益效果是:本发明使用有限状态机将系统运行划分为初始态、启动态、运行态、掉电态四个阶段,可以在系统启动阶段挂死或运行阶段挂死的情况下,通过重新上下电来恢复系统运行;利用状态机实现看门狗功能方法简单,逻辑清晰,且状态转换时间可根据实际系统加载时间调节,喂狗信号的脉宽检测判据和复位信号输出时间均可编程,比硬件看门狗芯片应用更加灵活。
附图说明
图1为现有芯片看门狗溢出逻辑时序图。
图2为本发明的流程图。
图3为本发明中状态机的逻辑示意图。
图4为本发明实施例一的仿真结果图。
图5为本发明实施例二的仿真结果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2、3,一种基于有限状态机的逻辑看门狗实现方法,包括以下步骤:
S101,单板最后一级电源1.0V上电成功,状态机由初始态(Idle)转到启动态(Start),同时启动计时器开始计数;
S102,当CPLD检测到处理器输出的WDI,且启动时间大于等于45S时,状态机由启动态(Start)转到运行态(Run);如果启动时间达到65S还没有检测到WDI信号,则状态机由启动态(Start)转到掉电态(off),这时CPLD输出2S的掉电信号控制其它部分掉电,然后状态机回到初始态(Idle);
S103,如果在运行态(Run)检测到WDI信号丢失或其它异常,状态机将由运行态(Run)转到掉电态(off);同样,如果在运行态(Run)检测到1.0V电源异常,状态机将由运行态(Run)转到初始态(Idle)。
通过上述状态机的设置,可以在系统启动阶段挂死或运行阶段挂死的情况下,通过重新上下电来恢复系统运行。
上述检测处理器输出的WDI信号的方法为:设置高电平宽度寄存器counter_width_H,和低电平宽度寄存器counter_width_L,当WDI信号为低电平时,将高电平宽度寄存器counter_width_H清零,当WDI信号为高电平时,则counter_width_H加1;同样,当WDI信号为高电平时,将counter_width_L清零,当WDI信号为低电平时,则counter_width_L加1;当counter_width_H或counter_width_L任意一个等于580,即高电平或低电平宽度达到580ms,而不是约定500ms时,将输出WDI检测结果WDI_dec_result = 0,否则输出WDI_dec_result = 1。
实施例一,
输入激励条件1:CLK_1KHz:输入1KHz主时钟;rst_n:10个主时钟周期后拉高全局复位信号;VCC1V0_PG:初始化输入1.0V电源状态为高;CPU_WDI:先输入50个周期的1Hz信号后拉低。
图4为在上述激励条件下状态机的仿真结果,由该仿真结果可以看出,状态机state1从初始态(3’h0)到启动态(3’h1),启动时间计数器计到7’h2d,即启动时间达到45S时,状态机转到运行态(3’h2),之后停止喂狗信号CPU_WDI,逻辑检测结果WDI_dec_result从1变为0时,状态机转到掉电态(3’h4),随后掉电时间计数器开始计数,该计数器为1时拉高掉电信号标志power_again_flag,使处理器掉电或复位,当计数器为3时再拉低掉电信号标志power_again_flag,使处理器重新上电或解复位。
实施例二,
输入激励条件2 :CLK_1KHz:输入1KHz主时钟;rst_n:10个主时钟周期后拉高全局复位信号;VCC1V0_PG:初始化输入1.0V电源状态为高;CPU_WDI:先输入50个周期的1.2Hz信号后拉低。
图5为在上述激励条件下状态机的仿真结果,可以看出,状态机state1从初始态(3’h0)到启动态(3’h1),启动时间计数器计到7’h41,即启动时间达到65S时,由于CPU_WDI信号高低电平脉宽为600ms,大于设定的580ms,逻辑判定喂狗信号一直处于异常,状态机转到掉电态(3’h4),随后输出2S的掉电或复位信号。
综上可以看出,利用状态机实现看门狗功能方法简单,逻辑清晰,且状态转换时间可根据实际系统加载时间调节,喂狗信号的脉宽检测判据和复位信号输出时间均可编程,比硬件看门狗芯片应用更加灵活。
上述实施例的状态机为Mealy型有限状态机,采用两段式写法,将组合逻辑和时序逻辑分开,在组合逻辑中实现状态判断及输出,在时序逻辑中实现当前状态和下一状态的切换,其程序代码框架如下:
always @(posedge CLK_1KHz or negedge rst_n)
begin
if(rst_n == 1'b0)
begin
state1 <= idle ;
end
else
begin
state1 <= state2 ;
end
end
always @(*)
begin
case (state1)
idle :
begin
end
start:
begin
end
run:
begin
end
off:
begin
end
default : state2 = idle ;
endcase
end
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (3)
1.一种基于有限状态机的逻辑看门狗实现方法,其特征在于:包括以下步骤:
S101,单板最后一级电源1.0V上电成功,状态机由初始态转到启动态,同时启动计时器开始计数;
S102,当CPLD检测到处理器输出的WDI,且启动时间大于等于45s时,状态机由启动态转到运行态;如果启动时间达到65s还没有检测到WDI信号,则状态机由启动态转到掉电态,这时CPLD输出2s的掉电信号控制其它部分掉电,然后状态机回到初始态;
S103,如果在运行态检测到WDI信号丢失或其它异常,状态机将由运行态转到掉电态;同样,如果在运行态检测到1.0V电源异常,状态机将由运行态转到初始态。
2.根据权利要求1所述的一种基于有限状态机的逻辑看门狗实现方法,其特征在于:检测处理器输出的WDI的方法为:设置高电平宽度寄存器counter_width_H,和低电平宽度寄存器counter_width_L,当WDI信号为低电平时,将高电平宽度寄存器counter_width_H清零,当WDI信号为高电平时,则高电平宽度寄存器counter_width_H加1;同样,当WDI信号为高电平时,将低电平宽度寄存器counter_width_L清零,当WDI信号为低电平时,则低电平宽度寄存器counter_width_L加1;当高电平宽度寄存器counter_width_H或低电平宽度寄存器counter_width_L任意一个等于580,输出WDI检测结果WDI_dec_result = 0,否则输出WDI_dec_result = 1。
3.根据权利要求1所述的一种基于有限状态机的逻辑看门狗实现方法,其特征在于:CPLD为单独供电的机电管理模块,用于获取及控制单板其它部分的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810637834.1A CN110619203B (zh) | 2018-06-20 | 2018-06-20 | 一种基于有限状态机的逻辑看门狗实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810637834.1A CN110619203B (zh) | 2018-06-20 | 2018-06-20 | 一种基于有限状态机的逻辑看门狗实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110619203A true CN110619203A (zh) | 2019-12-27 |
CN110619203B CN110619203B (zh) | 2023-04-18 |
Family
ID=68920667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810637834.1A Active CN110619203B (zh) | 2018-06-20 | 2018-06-20 | 一种基于有限状态机的逻辑看门狗实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110619203B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457158A (zh) * | 2019-08-16 | 2019-11-15 | 深圳市智微智能软件开发有限公司 | 基于有限状态机的看门狗实现方法、装置、设备及存储介质 |
CN113641524A (zh) * | 2021-08-09 | 2021-11-12 | 国家计算机网络与信息安全管理中心 | 单板启动超时的复位方法、装置、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288741A1 (en) * | 2006-05-01 | 2007-12-13 | Shinko Electric Industries Co., Ltd. | CPU runaway determination circuit and CPU runaway determination method |
CN102169451A (zh) * | 2011-04-26 | 2011-08-31 | 中兴通讯股份有限公司 | 一种监控cpu运行的方法和装置 |
CN104035536A (zh) * | 2014-06-18 | 2014-09-10 | 中国船舶重工集团公司第七二二研究所 | 一种嵌入式系统监控及复位控制方法 |
-
2018
- 2018-06-20 CN CN201810637834.1A patent/CN110619203B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288741A1 (en) * | 2006-05-01 | 2007-12-13 | Shinko Electric Industries Co., Ltd. | CPU runaway determination circuit and CPU runaway determination method |
CN102169451A (zh) * | 2011-04-26 | 2011-08-31 | 中兴通讯股份有限公司 | 一种监控cpu运行的方法和装置 |
CN104035536A (zh) * | 2014-06-18 | 2014-09-10 | 中国船舶重工集团公司第七二二研究所 | 一种嵌入式系统监控及复位控制方法 |
Non-Patent Citations (3)
Title |
---|
吴允平等: "一种嵌入式系统的看门狗电路设计", 《电子器件》 * |
陈晓俊: "基于CPLD的看门狗电路设计应用", 《科技风》 * |
高毅等: "一种采用FPGA实现的通用看门狗电路", 《大众科技》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457158A (zh) * | 2019-08-16 | 2019-11-15 | 深圳市智微智能软件开发有限公司 | 基于有限状态机的看门狗实现方法、装置、设备及存储介质 |
CN113641524A (zh) * | 2021-08-09 | 2021-11-12 | 国家计算机网络与信息安全管理中心 | 单板启动超时的复位方法、装置、设备及可读存储介质 |
CN113641524B (zh) * | 2021-08-09 | 2024-02-02 | 国家计算机网络与信息安全管理中心 | 单板启动超时的复位方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110619203B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102150102B (zh) | 具有低功率模式的电路 | |
US8060771B2 (en) | Glitch-free clock suspend and resume circuit | |
TWI303022B (en) | Wake-up reset circuit | |
US7181188B2 (en) | Method and apparatus for entering a low power mode | |
CN103324545B (zh) | 电源开关模块、电压产生电路与电源控制方法 | |
US20080148107A1 (en) | Electronic control device | |
JP3437174B2 (ja) | 省電力化集積回路および省電力化集積回路の制御方法 | |
US7032120B2 (en) | Method and apparatus for minimizing power requirements in a computer peripheral device while in suspend state and returning to full operation state without loss of data | |
CN110619203B (zh) | 一种基于有限状态机的逻辑看门狗实现方法 | |
CN205540692U (zh) | 免开机箱更新intel管理引擎固件电路 | |
CN111708308A (zh) | 单板电源控制电路及电子设备 | |
US9780644B1 (en) | Methods and apparatus for always on domain finite state machine shutdown using a clock source from a power managed domain | |
CN107678871B (zh) | 一种电子设备开机方法及电子设备 | |
TWI396072B (zh) | 控制電泳顯示積體電路之控制模組與方法 | |
CN101452337A (zh) | 一种外接设备的控制方法和装置 | |
CN112581894B (zh) | 显示设备及其供电方法 | |
CN113688092B (zh) | 基于单片机的低功耗安全防护控制装置 | |
US6496078B1 (en) | Activating on-chip oscillator using ring oscillator | |
CN220962186U (zh) | 一种电源管理控制电路 | |
CN216647307U (zh) | 低功耗定时开关机电路 | |
CN216956887U (zh) | 一种单线唤醒和按键检测的电路 | |
CN220671926U (zh) | 一种pmu、唤醒电路和mcu | |
CN212749586U (zh) | 一种在nb-iot系统中实现边沿触发唤醒转换的电路 | |
CN116521248B (zh) | 芯片唤醒电路、芯片唤醒方法、芯片、部件及电子设备 | |
CN109683975B (zh) | 一种用于唤醒处理器的电路和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 518000 202, building 10, Shenzhen Software Park, kejizhong 2nd Road, high tech Zone, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen AVIC bit Communication Technology Co.,Ltd. Address before: 518000 202, building 10, Shenzhen Software Park, kejizhong 2nd Road, high tech Zone, Nanshan District, Shenzhen City, Guangdong Province Applicant before: SHENZHEN CITY AVIC BIT COMMUNICATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |