ARM+Linux下看门狗应用

时间:2022-05-14 04:37:04

ARM+Linux下看门狗应用

【摘要】本文介绍了在ARM+Linux的硬件条件下,传统的看门狗应用存在的问题及解决方案。此方案可以做为ARM+Linux硬件条件下的一种标准解决方法。

【关键词】看门狗;重启;关狗

一、现象、问题描述

笔者在设计ARM+Linux的产品中,使用了看门狗ADM706.这款IC的定时间隔为1.6S。由于我们使用ARM9的内核,操作系统为Linux。整个系统完全启动时间较长,超出了看门狗的喂狗时间门限。因此在CPU能完全启动开始喂狗前,看门狗又给出了复位信号,导致CPU重启。由于成本的原因,此款看门狗IC的定时复位间隔时间已经定死,不能由CPU设置。我们无法通过更改看门狗的喂狗间隔时间,以满足CPU的启动要求。

二、关键过程及根本原因分析

RESET信号为看门狗输出的复位信号,WDI为CPU输出的喂狗信号。在1.6S的时间内,WDI信号有从高到低或者从低到高的变化,则看门狗内部的定时器清零,重新计数,无复位信号输出。

由于采用LINUX内核的操作系统,BOOTLOADER采用U-BOOT。在从U-BOOT跳转到LINUX内核的过程中,必须关闭定时器中断。CPU不能定时喂狗,且跳转执行的间隔时间都大于1.6S。因此需要关闭看门狗的复位输出信号,以使CPU能完全启动。

三、改进电路及问题

后测试发现如下问题:

1.在U-BOOT下,按复位键,CPU不能复位;

2.在系统启动过程中,电源短时跌落后恢复,系统有时不能启动;

3.有时加载驱动完成后,打开看门狗复位信号时,系统会出现重启现象。

四、总结

采用图五所示电路,使看门狗IC实现看门狗电路和上电复位电路两种功能。满足带操作系统的CPU启动时间长,需通过电压跌落试验等要求。也可以满足需要实现休眠功能要求的场景。此电路可以做为带操作系统CPU或需实现休眠功能的CPU标准复位电路。由于单片机的启动时间短,在无需休眠功能的场景下,单片机的复位电路可不使用图五推荐电路。

参考文献

[1]ADM706R.

作者简介:冯瑞明,硕士研究生,高级硬件工程师,现供职于深圳市安捷信电气有限公司,主要从事软硬件研发工作。

上一篇:原始状态在时序逻辑电路设计中的应用研究 下一篇:OFDM系统信道估计算法仿真研究