11.0 看门狗/时钟 监控
(持续)
表格 9. 看门狗 维护 Actions
关键 Window 时钟 Action
数据 数据 监控
相一致 相一致 相一致 有效的 维护: 重新开始 维护 Window
Don’t 小心 Mismatch Don’t 小心 错误: 发生 看门狗 输出
Mismatch Don’t 小心 Don’t 小心 错误: 发生 看门狗 输出
Don’t 小心 Don’t 小心 Mismatch 错误: 发生 看门狗 输出
11.3 看门狗 和 时钟 监控 SUMMARY
这 下列的 salient 点 关于 这 看门狗 和
时钟 监控 应当 是 指出:
•
两个都 这 看门狗 和 时钟 监控 探测器
电路 是 inhibited 在 重置.
•
下列的 重置, 这 看门狗 和 时钟 moni-
TOR 是 两个都 使能, 和 这 看门狗 having 这
最大 维护 window 选择.
•
这 看门狗 维护 window 和 时钟 moni-
TOR 使能/使不能运转 选项 能 仅有的 是 changed once,
在 这 最初的 看门狗 维护 下列的 重置.
•
这 最初的 看门狗 维护 必须 相一致 这 关键 数据
值 在 这 看门狗 维护 寄存器 WDSVR 在
顺序 至 避免 一个 看门狗 错误.
•
Subsequent 看门狗 维护 必须 相一致 所有 三
数据 地方 在 WDSVR 在 顺序 至 避免 看门狗
errors.
•
这 准确无误的 关键 数据 值 不能 是 读 从 这
看门狗 维护 寄存器 wdsvr. 任何 attempt 至
读 这个 关键 数据 值 的 01100 从 WDSVR 将 读
作 关键 数据 值 的 所有 0’s.
•
这 看门狗 探测器 电路 是 inhibited 在 两个都
这 HALT 和 空闲 模式.
•
这 时钟 监控 探测器 电路 是 起作用的 在
两个都 这 HALT 和 空闲 模式. consequently, 这 de-
恶行 无意地 进去 这 HALT 模式 将 是 de-
tected 作 一个 时钟 监控 错误 (提供 那 这
时钟 监控 使能 选项 有 被 选择 用
这 程序).
•
和 这 单独的-管脚 r/c 振荡器 选项 选择 和 这
CLKDLY 位 重置, 这 看门狗 维护 window 将
重新开始 下列的 HALT 模式 从 在哪里 它 left 止 在之前
进去 这 HALT 模式.
•
和 这 结晶 振荡器 选项 选择, 或者 和 这
单独的-管脚 r/c 振荡器 选项 选择 和 这 CLKDLY
位 设置, 这 看门狗 维护 window 将 是 设置 至 它的
选择 值 从 WDSVR 下列的 halt. conse-
quently, 这 看门狗 应当 不 是 serviced 为 在
least 2048 操作指南 循环 下列的 halt, 但是 必须 是
serviced 在里面 这 选择 window 至 避免 一个 watch-
DOG 错误.
•
这 空闲 计时器 T0 是 不 initialized 和 外部 重置.
•
这 用户 能 同步 在 至 这 空闲 计数器 循环 和 一个
空闲 计数器 (t0) 中断 或者 用 monitoring 这 T0PND
标记. 这 T0PND 标记 是 设置 whenever 这 twelfth 位 的 这
空闲 计数器 toggles (每 4096 操作指南 循环). 这
用户 是 有责任 为 resetting 这 T0PND 标记.
•
一个 硬件 看门狗 维护 occurs just 作 这 de-
恶行 exits 这 空闲 模式. consequently, 这 watch-
DOG 应当 不 是 serviced 为 在 least 2048 操作指南
循环 下列的 空闲, 但是 必须 是 serviced 在里面 这
选择 window 至 避免 一个 看门狗 错误.
•
下列的 重置, 这 最初的 看门狗 维护 (在哪里
这 维护 window 和 这 时钟 监控 使能/
使不能运转 必须 是 选择) 将 是 编写程序 任何-
在哪里 在里面 这 最大 维护 window (65,536 在-
构造 循环) initialized 用 重置. 便条 那 这个 最初的
看门狗 维护 将 是 编写程序 在里面 这 ini-
tial 2048 操作指南 循环 没有 造成 一个 watch-
DOG 错误.
11.4 发现 的 ILLEGAL 情况
这 设备 能 发现 各种各样的 illegal 情况 结果
从 编码 errors, 瞬时 噪音, 电源 供应 电压
drops, runaway programs, 等
读 的 未阐明的 只读存储器 gets zeroes. 这 opcode 为
软件 中断 是 00. 如果 这 程序 fetches 说明
从 未阐明的 只读存储器, 这个 将 强迫 一个 软件 中断, 因此
signaling 那 一个 illegal 情况 有 occurred.
这 子例程 堆栈 grows 向下 为 各自 call (jump 至
子例程), 中断, 或者 推, 和 grows 向上 为 各自
返回 或者 流行音乐. 这 堆栈 pointer 是 initialized 至 内存 location
06F 十六进制 在 重置. consequently, 如果 那里 是 更多 re-
转变 比 calls, 这 堆栈 pointer 将 要点 至 地址 070
和 071 十六进制 (这个 是 未阐明的 内存). 未阐明的 内存
从 地址 070 至 07F (段 0), 和 所有 其它 seg-
ments (i.e., 部分 4 … 等.) 是 读 作 所有 1’s, 这个 在
转变 将 导致 这 程序 至 返回 至 地址 7FFF 十六进制. 它
是 推荐 那 这 用户 也 leave 这个 location
unprogrammed 或者 放置 一个 INTR 操作指南 (所有 0’s) 在 这个
location 至 发生 一个 软件 中断 signaling 一个 illegal
情况.
因此, 这 碎片 能 发现 这 下列的 illegal 情况:
1. Executing 从 未阐明的 只读存储器.
2. 在 “POP”ing 这 堆栈 用 having 更多 returns 比
calls.
当 这 软件 中断 occurs, 这 用户 能 re-initialize
这 堆栈 pointer 和 做 一个 恢复 程序 在之前 重新开始-
ing (这个 恢复 程序 是 probably 类似的 至 那 下列-
ing 重置, 但是 might 不 包含 这 一样 程序 initializa-
tion 程序). 这 恢复 程序 应当 重置 这
软件 中断 pending 位 使用 这 RPND 操作指南.
12.0 microwire/加
microwire/加 是 一个 串行 SPI 兼容 同步的
communications 接口. 这 microwire/加 capabil-
ity 使能 这 设备 至 接口 和 microwire/加
或者 SPI peripherals (i.e. 一个/d 转换器, 显示 驱动器, ee-
PROMs 等.) 和 和 其它 微控制器 这个 支持
这 microwire/加 或者 SPI 接口. 它 组成 的 一个
8-位 串行 变换 寄存器 (sio) 和 串行 数据 输入 (si),
串行 数据 输出 (所以) 和 串行 变换 时钟 (sk).
图示 28
显示 一个 块 图解 的 这 microwire/加 逻辑.
这 变换 时钟 能 是 选择 从 也 一个 内部的 源
或者 一个 外部 源. 运行 这 microwire/加
COP8SG 家族
www.国家的.com 42