5.4
计算机正常操作监控模块(COP) 看门狗
当应用程序没有按照预期执行时,COP 看门狗会强制系统复位。为了防止COP 复位( 当COP 被使能),
应用软件必须周期性地复位COP 定时器。如果应用软件在COP 定时器溢出前忘记或者没有复位COP,就会
产生一个系统复位信号使系统回到可知的开始点。
在任何一个复位之后,置位SOPT 寄存器( 更多信息见 5.9.4 节 系统选项寄存器(SOPT)) 的COPE 位来
使能COP 看门狗。如果在应用中不使用看门狗,清COPE 位来禁止看门狗。写任意值到SRS 可以复位COP
计数器。写入操作不影响只读SRS 的数据。相反地,写入操作被解码并向COP 计数器发送一个复位信号。
SOPT2 寄存器的COPCLKS 位(更多信息见 5.9.10 节 系统系统选项寄存器2 (STOP2))选择用于
COP 定时器的时钟源。时钟源选项是总线周期或内部的1 kHz 时钟源。每个时钟源有相应的短和长溢出,由
SOPT 的COPT 控制。表 5-1 总结了COPCLKS 和COPT 位的控制功能。COP 看门狗默认操作是总线时钟
源和相应的长溢出(218 周期)。
表5-1. COP 配置选项
控制位
时钟源
COP 溢出计时
COPCLKS
COPT
25 周期(32 ms)
28 周期(256 ms)
213 周期
0
0
1
1
0
1
0
1
~1kHz
~1kHz
总线
总线
218 周期
表中数据基于tRTI = 1 ms 计算的。关于tRTI 以及表中数据的允许误差,参考附件A.10.1 ¾⁄ øÿ÷ýþ±–Ú。
即使应用程序使用COPE、COPCLKS 和COPT 的默认复位设置,在复位初始化时,用户仍应该向一次
性写入的SOPT 寄存器写入,来锁存这些设置,这样即使应用程序跑飞也不会被意外的改变。对SOPT 和
SOPT2 将会设置COP 计数器。
对SRS 的写入( 清零COP 定时器) 不能放到中断服务程序(ISR) 里,因为即使主程序失败,ISR 可能仍
会周期性地执行。
在背景调试模式下,COP 计数器不能增加。
选择总线时钟源后,当系统处于停止模式时COP 计数器不能增加。MCU 一退出停止模式COP 计数器就
重新开始。
选择1 kHz 源后,当系统进入停止模式时COP 计数器重新初始化为0。MCU 一退出停止模式COP 计数
器就开始计数。
5.5
中断
中断提供了一种方法来保存当前CPU 状态和各寄存器内容,执行中断服务例程(ISR),然后恢复CPU 状
态使处理器从中断发生的地方继续执行。这不同于软件中断(SWI),SWI 是一条程序指令,而这种中断都是由
IRQ 引脚边缘触发或者定时器溢出等硬件事件引起的。在特定环境下调试模块也能产生SWI 软中断。
如果一个可用中断源中一个事件发生,一个相关的只读状态标志位将被置位。当本地中断屏蔽位被置为
1( 使能中断) 时CPU 才会对这个事件作出反应。CCR 的I 位为0 允许中断。CCR 的中断屏蔽位(IMASK) 在
MC9S08AC16 系列微控制器数据手册, 第6 版
#
飞思卡尔半导体公司