MSTAR项目看门狗开发详解:防止程序跑飞

需积分: 3 1 下载量 119 浏览量 更新于2024-09-03 收藏 82KB DOCX 举报
"MSTAR项目的看门狗开发文档主要涵盖了看门狗的基本概念、工作原理以及不同类型的看门狗应用,包括硬件和软件看门狗的实现方式,并提及了51系列单片机以及凌阳61单片机的看门狗特性。" **看门狗(watchdog)基本知识** 看门狗,又称watchdog timer,是一种定时器电路,它通过一个“喂狗”输入和一个连接到微控制器(MCU)复位端的输出来工作。在正常情况下,MCU会周期性地向喂狗端发送信号来重置看门狗计数器。如果在规定时间内未收到这个信号(通常发生在程序异常或死循环时),看门狗定时器会超时并触发复位信号,使MCU复位,从而避免系统长时间停滞。 **看门狗工作原理** 系统启动后,看门狗计数器开始计数。若在预设的时间内未执行清零操作,看门狗计数器将达到上限,导致看门狗中断,进而引发系统复位。因此,使用带有看门狗的系统时,必须确保定期执行清零操作。 **硬件看门狗** 硬件看门狗基于物理定时器实现,如MAX813、LM5045和IMP813等芯片,这些芯片在市场价格区间为4至10元。硬件看门狗独立于软件运行,即使软件发生故障,也能确保系统复位功能的可靠性。 **软件看门狗** 软件看门狗则依赖于软件逻辑实现,例如在51系列单片机中,可以使用两个定时器T0和T1互相监控。T0用于监测主程序,当其定时中断发生时,更新一个变量;主程序在结束时检查该变量,若变化符合预期,则表明程序运行正常;否则,执行复位操作。T1则监控主程序,设置一个较长的定时时间,由主程序在适当时间重置。T1的异常情况则由T0中断服务程序检测,形成一个互相监督的循环,确保系统的稳定性。 **特定单片机的看门狗特性** 51系列单片机内置看门狗定时器,能够对系统频率进行分频计数,溢出时触发复位。用户可以调整溢出率,甚至将其单独用作定时器。 凌阳61单片机的看门狗功能相对简单,时间设置单一,但在循环代码中添加清狗指令即可正常使用。 C8051Fxxx系列单片机也集成了看门狗定时器,提供了21级的可编程计数器,增强了灵活性和适应性。 看门狗是确保嵌入式系统可靠性和稳定性的关键机制,通过监控和及时恢复异常状态,防止系统长时间无响应。在mstar项目中,理解和正确使用看门狗技术对于系统的健壮性至关重要。