没有合适的资源?快使用搜索试试~ 我知道了~
SP706看门狗芯片SP706应用电路图1
需积分: 0 27 下载量 39 浏览量
2022-08-04
15:07:25
上传
评论
收藏 125KB PDF 举报
温馨提示
试读
11页
第 1 章1.1什么是看门狗11.21.3如何正确使用看门狗31.41.5广州周立功单片机发展有限公司 Tel:(020)38730923 38730976 F
资源推荐
资源详情
资源评论
广州周立功单片机发展有限公司 Tel:(020)38730923 38730976 Fax:38730925 http://www.zlgmcu.com
目 录
第 1 章 看门狗(WatchDog) ......................................................................................1
1.1 什么是看门狗...............................................................................................................1
1.2 WatchDog功能概述......................................................................................................2
1.3 如何正确使用看门狗...................................................................................................3
1.4 WatchDog库函数..........................................................................................................3
1.5 WatchDog例程..............................................................................................................7
i
广州周立功单片机发展有限公司 Tel:(020)38730923 38730976 Fax:38730925 http://www.zlgmcu.com
第1章 看门狗(WatchDog)
表 1.1 WatchDog 库函数索引
函 数 原 型 页码
void WatchdogEnable(unsigned long ulBase) 3
tBoolean WatchdogRunning(unsigned long ulBase) 4
void WatchdogResetEnable(unsigned long ulBase) 4
void WatchdogResetDisable(unsigned long ulBase) 4
void WatchdogStallEnable(unsigned long ulBase) 4
void WatchdogStallDisable(unsigned long ulBase) 4
void WatchdogReloadSet(unsigned long ulBase, unsigned long ulLoadVal) 5
unsigned long WatchdogReloadGet(unsigned long ulBase) 5
unsigned long WatchdogValueGet(unsigned long ulBase) 5
void WatchdogLock(unsigned long ulBase) 5
void WatchdogUnlock(unsigned long ulBase) 5
tBoolean WatchdogLockState(unsigned long ulBase) 6
void WatchdogIntEnable(unsigned long ulBase) 6
unsigned long WatchdogIntStatus(unsigned long ulBase, tBoolean bMasked) 6
void WatchdogIntClear(unsigned long ulBase) 6
void WatchdogIntRegister(unsigned long ulBase, void(*pfnHandler)(void)) 7
void WatchdogIntUnregister(unsigned long ulBase) 7
1.1 什么是看门狗
在实际的 MCU 应用系统中,由于常常会受到来自外界的某些干扰,有可能造成程序跑
飞而进入死循环,从而导致整个系统的陷入停滞状态并且不会自动恢复到可控的工作状态。
所以出于对 MCU 运行的安全考虑,便引入了一种专门的复位监控电路 WatchDog,俗称看
门狗。看门狗电路所起的作用是一旦 MCU 运行出现故障,就强制对 MCU 进行硬件复位,
使整个系统重新处于可控状态(要想精确恢复到故障之前的运行状态从技术上讲难度大成本
高,而复位是最简单且可靠的处理手段)。
SP706 是 Exar(原 Sipex)公司推出的低功耗、高可靠、低价格的 MCU 复位监控芯片。
以下是其关键特性:
z 分为 4 个子型号:SP706P、SP706R、SP706S、SP706T
z 复位输出:P 为高电平有效,R/S/T 为低电平有效
z 精密的低电压监控:P/R 为 2.63V、S 为 2.93V、T 为 3.08V
z 复位脉冲宽度:200ms(额定值)
z 独立的看门狗定时器:1.6 秒超时(额定值)
z 去抖 TTL/CMOS 手动复位输入(/MR 管脚)
图 1.1 给出了 SP706 的一个典型的应用电路:U1 是复位监控芯片 SP706S,其中电源失
效检测功能未被用到,因此 PFI 管脚直接连到 GND(接 VCC 也可);U2
是被监控的 MCU,
这是简化的模型。
1
广州周立功单片机发展有限公司 Tel:(020)38730923 38730976 Fax:38730925 http://www.zlgmcu.com
图 1.1 看门狗芯片 SP706 应用电路图
表 1.2 给出了 SP706R/S/T 的管脚功能描述(P 型的复位输出为高电平有效)。
表 1.2 SP706R/S/T 管脚功能
管脚编号 管脚名称 功能描述
1 /MR 手工复位,输入低电平时会导致/RST 管脚输出复位信号
2 VCC 电源,1.0~5.5V
3 GND 地
4 PFI 电源失效输入:接内部比较器的同相端,比较器反相端接内部 1.25V 参考源
5 /PFO 电源失效输出:来自内部比较器的输出端
6 WDI
看门狗输入:浮空时禁止看门狗功能;固定接 HIGH 或 LOW 电平 1.6s 后看门狗
定时器溢出导致/WDO 管脚输出低电平;反转输入状态会清除看门狗定时器
7 /RST 复位信号输出,低电平有效
8 /WDO 看门狗输出,内部看门狗定时器溢出时输出低电平
系统上电时,SP706S 自动产生 200ms 低电平复位信号,使 MCU 正常复位。MCU 配置
一个 I/O 管脚为输出,并接到 WDI。如果 I/O 固定为 HIGH 或 LOW 电平不变,则 1.6s 后,
SP706S 内部的看门狗定时器就会溢出并使/WDO 输出低电平,而/WDO 已连接到手动复位
/MR,因此会导致/RST 管脚输出低电平复位信号使 MCU 重新复位。MCU 在正常工作情况
下当然是不允许这样反复复位的,因此必须在程序里及时反转 I/O 的状态,该操作被形象地
称为“喂狗”。每次反转 WDI 输入状态都能够清除 SP706S 内部的看门狗定时器,从而确保
/WDO 不会输出低电平(为保证可靠,喂狗间隔应当小于 1s)。
在程序里如何进行喂狗操作呢?一般的做法是,先编写一个能够使 WDI 状态反转的喂
狗函数,然后把函数调用插入到每一个可能导致长时间执行的程序段里,最常见的情况是
while(1)、for(;;)之类的无条件循环语句。
一旦程序因为意外情况跑飞,很可能会陷入一个不含喂狗操作的死循环里,超过 1.6s
后就会自动复位重来,而不会永远停留在故障状态。
1.2 WatchDog 功能概述
在 Stellaris 系列 ARM 里集成有硬件的看门狗定时器模块。看门狗定时器在到达超时值
时会产生不可屏蔽的中断或复位。当系统由于软件错误而无法响应或外部器件不能以期望的
方式响应时,使用看门狗定时器可重新获得控制。Stellaris 系列的看门狗定时器模块有以下
特性:
z 带可编程装载寄存器的 32 位倒计数器
z 带使能控制的独立看门狗时钟
z 带中断屏蔽的可编程中断产生逻辑
z 软件跑飞时由锁定寄存器提供保护
2
剩余10页未读,继续阅读
资源评论
透明流动虚无
- 粉丝: 34
- 资源: 306
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
- 手机端 我的世界融合植物大战僵尸版.apk
- 植物大战僵尸 · 戴夫的老年生活 手机版.apk
- Runcraft · 我的世界跑酷游戏 手机端.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功