飞利浦 半导体 产品 数据
xa-g30
xa 16-有点 微控制器 家庭
512 b ram, 看门狗, 2 uarts
2002 3月 25
13
看门狗 计时器
这 看门狗 计时器 子系统 保护 这 系统 从 不正确
代码 执行 由 导致 一个 系统 重置 当 这 看门狗 计时器
下溢 作为 一个 结果 的 一个 故障 的 软件 至 饲料 这 计时器 之前
至 这 计时器 达到 其 终端 计数. 它 是 重要 至 备注 那
这 看门狗 计时器 是 正在运行 之后 任何 类型 的 重置 和 必须 是
翻转 关 由 用户 软件 如果 这 应用程序 是否 不 使用 这
看门狗 功能.
看门狗 功能
这 看门狗 由 的 一个 可编程 预分频器 和 这 主
计时器. 这 预分频器 派生 其 时钟 从 这 tclk 来源 那 也
驱动器 计时器 0, 1, 和 2. 这 看门狗 计时器 子系统 由 的
一个 可编程 13-有点 预分频器, 和 一个 8-有点 主 计时器. 这 主
计时器 是 时钟 (递减) 由 一个 轻敲 已拍摄 从 一个 的 这 顶部
8-比特 的 这 预分频器 作为 显示 入点 图 10. 这 时钟 来源 用于
这 预分频器 是 这 相同 作为 tclk (相同 作为 这 时钟 来源 用于
这 计时器). 因此 这 主 计数器 可以 是 时钟 作为 经常 作为 一次
每 32 tclks (请参见 表 2). 这 看门狗 生成 一个
下溢 信号 (和 是 自动加载 从 wdl) 当 这 看门狗
是 在 计数 0 和 这 时钟 至 递减 这 看门狗 发生. 这
看门狗 是 8 比特 宽 和 这 自动加载 值 可以 范围 从 0 至
ffh. (这 自动加载 值 的 0 是 允许 自 这 预分频器 是
已清除 在 自动加载).
这个 导联 至 这 以下内容 用户 设计 方程式. 定义: t
osc
是 这 振荡器 期间, n 是 这 已选择 预分频器 轻敲 值, w 是
这 主 计数器 自动加载 值, p 是 这 预分频器 值 从
表 2, t
最小
是 这 最小值 看门狗 超时 值 (当 这
自动加载 值 是 0), t
最大值
是 这 最大值 超时 值 (当 这
自动加载 值 是 ffh), t
d
是 这 设计 超时 值.
t
最小
= t
osc
×
4
×
32 (w = 0, n = 4)
t
最大值
= t
osc
×
64
×
4096
×
256 (w = 255, n = 64)
t
d
= t
osc
×
n
×
p
×
(w + 1)
这 看门狗 计时器 是 不 直接 可装载 由 这 用户. 相反, 这
值 至 是 已加载 进入 这 主 计时器 是 持有 入点 一个 自动加载 注册.
入点 订单 至 原因 这 主 计时器 至 是 已加载 与 这 适当的
值, 一个 特殊 顺序 的 软件 行动 必须 采取 地点. 这个
操作 是 参考 至 作为 喂养 这 看门狗 计时器.
至 饲料 这 看门狗, 两个 说明 必须 是 按顺序
处决 成功. 否 干预 sfr 访问权限 是 允许,
所以 中断 应该 是 已禁用 之前 喂养 这 看门狗. 这
说明 应该 移动 a5h 至 这 wfeed1 注册 和 然后
5ah 至 这 wfeed2 注册. 如果 wfeed1 是 正确 已加载 和
wfeed2 是 不 正确 已加载, 然后 一个 立即 看门狗 重置
将 发生. 这 程序 顺序 至 饲料 这 看门狗 计时器 或
原因 新建 wdcon 设置 至 采取 效果 是 作为 跟随:
clr ea ; 禁用 全球 中断.
mov.b wfeed1,#a5h ; 做 看门狗 饲料 零件 1
mov.b wfeed2,#5ah ; 做 看门狗 饲料 零件 2
setb ea ; 重新启用 全球 中断.
这个 顺序 假设 那 这 xa 中断 系统 是 已启用 和
那里 是 一个 可能性 的 一个 中断 请求 正在发生 期间 这 饲料
顺序. 如果 一个 中断 是 允许 至 是 服务 和 这 服务
例行程序 包含 任何 sfr 访问权限, 它 将 触发器 一个 看门狗
重置. 如果 它 是 已知 那 否 中断 可以 发生 期间 这 饲料
顺序, 这 说明 至 禁用 和 重新启用 中断 将
是 已移除.
这 软件 必须 是 书面 所以 那 一个 饲料 操作 需要 地点
每 t
d
秒 从 这 最后一个 饲料 操作. 一些 权衡 将
需要 至 是 制造. 它 是 不 建议 至 包括 饲料 运营 入点
小调 循环 或 入点 子程序 除非 这 饲料 操作 是 一个 具体
子程序.
至 转弯 这 看门狗 计时器 完全 关, 这 以下内容 代码
顺序 应该 是 已使用:
mov.b wdcon,#0 ; 设置 wd 控制 注册 至 清除 wdrun.
mov.b wfeed1,#a5h ; 做 看门狗 饲料 零件 1
mov.b wfeed2,#5ah ; 做 看门狗 饲料 零件 2
这个 顺序 假设 那 这 看门狗 计时器 是 正在 翻转 关
在 这 开始 的 初始化 代码 和 那 这 xa 中断
系统 有 不 然而 被 已启用. 如果 这 看门狗 计时器 是 至 是
翻转 关 在 一个 点 当 中断 将 是 已启用, 说明 至
禁用 和 重新启用 中断 应该 是 已添加 至 这个 顺序.
看门狗 控制 注册 (wdcon)
这 重置 数值 的 这 wdcon 和 wdl 寄存器 将 是 这样的 那
这 看门狗 计时器 有 一个 超时 期间 的 4
×
4096
×
t
osc
和 这
看门狗 是 正在运行. wdcon 可以 是 书面 由 软件 但是 这
变更 仅 采取 效果 之后 执行 一个 有效 看门狗 饲料
顺序.
表 2. 预分频器 选择 数值 入点 wdcon
PRE2 PRE1 PRE0 除数
0 0 0 32
0 0 1 64
0 1 0 128
0 1 1 256
1 0 0 512
1 0 1 1024
1 1 0 2048
1 1 1 4096
看门狗 详细 操作
当 外部 重置是 已应用, 这 以下内容 需要 地点:
•
看门狗 运行 控制 有点 设置 至 开启 (1).
•
自动加载 注册 wdl 设置 至 00 (最小. 计数).
•
看门狗 超时 旗子 已清除.
•
预分频器 是 已清除.
•
预分频器 轻敲 设置 至 这 最高 除法.
•
自动加载 需要 地点.
当 即将到来 出点 的 一个 硬件 重置, 这 软件 应该 荷载 这
自动加载 注册 和 然后 饲料 这 看门狗 (原因 一个 自动加载).
如果 这 看门狗 是 正在运行 和 发生 至 下溢 在 这 时间 这
外部 重置 是 已应用, 这 看门狗 超时 旗子 将 是
已清除.