看门狗模块介绍及程序设计看门狗模块介绍及程序设计基于基于 TMS320F2812 TMS320F2812 系统控制及中断: 系统控制及中断: 1. 2. ( 看门狗计数寄存器( TR TR ) ) 3. ( 看门狗复位寄存器( WDKEY WDKEY ) ) 4. ( 看门狗控制寄存器( WDCR WDCR ) ) 5. :余洋勇、张佳杰、张萌组员:余洋勇、张佳杰、张萌 1. ,又叫 watchdog timer, 是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到 MCU 的RST 端,MCU 正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到 MCU, 是MCU 复位. 防止 MCU 死机. 看门狗的作用就是防止程序发生死循环, 或者说程序跑飞在实际的 DSP 应用系统当中,运行时极有可能发生干扰和被干扰的现象。特别是产品化的 DSP 系统,可靠性是一个不容忽视的问题,严重时系统会出现程序“跑飞”现象。为了克服这种情况,在可能的情况下软硬件都应作相应的处理。目前,看门狗技术就是这种处理的有效措施之一。 F2812 中的看门狗模块与 240x 器件上的看门狗模块基本相同。当 8 位看门狗递增计数器计数达到最大值时,看门狗模块输出一个脉冲信号( 512 个振荡器时钟宽度)。为了阻止这种情况发生,用户可以屏蔽计数器或者利用软件定时向看门狗复位控制寄存器写“0x55+0xAA ”序列(可以复位看门狗计数器)。 2. ( 看门狗计数寄存器( TR TR ) ) 看门狗计数寄存器位信息和功能介绍如表 1和表 2所示: Reserved TR 15 表1 看门狗计数寄存器位信息 870 R—0R—0 位名称功能描述 15~8 Reserved 保留 7~0 TR 该区域内的信息为看门狗计数器当前的值。 8位计数器将根据看门狗时钟( WDCLK )连续增加。如果计数器溢出,看门狗将发生一个复位信号,如果向 WDKEY 寄存器写有效的数据组合( 0x55+0xAA ),将使计数器清零,看门狗模块的时钟基准将在 WDCR 寄存器中配置表2 看门狗计数寄存器位功能介绍 3. ( 看门狗复位寄存器( WDKEY WDKEY ) ) 看门狗复位寄存器位信息和功能介绍如表 3和表 4所示: Reserved WDKEY 15870 R—0R—0 表 3 看门狗复位寄存器位信息表 4 看门狗复位寄存器位功能介绍位名称功能介绍 15~8 Reserved 保留 7~0 WDKEY 首先写 0x55 ,然后再写 0xAA 到 WDKEY 会使 TR (看门狗计数器)清零。写其他的任何值都会使看门狗产生复位信号;读操作将返回 WDCR 寄存器的值 4. ( 看门狗控制寄存器( WDCR WDCR ) ) ?看门狗控制寄存器位信息和位功能介绍如表 5和表 6所示: Reserved WDFLAG WDDIS WDCHK WDPS 158 RW1C —0 R/W —0 R—0 R/W —0 R/W —0 765320 表 5 看门狗控制寄存器位信息表 6 看门狗控制寄存器位功能介绍位名称功能介绍 15~8 Reserved 保留 7 WDFLAG 看门狗复位状态标志位: 1表示看门狗复位( WDRET )满足了复位条件; 0 表示是外部设备或上电复位条件。该位值将一直锁存直到写 1到 WDFLAG 位将该位清零,写 0没有影响表6续表看门狗控制寄存器位功能介绍位名称功能介绍 6 WDDIS 1屏蔽看门狗模块; 0 使能看门狗模块。只有当 SCSR2 寄存器的 WDOVERIDE 位等于 1时, WDDIS 的值才能改变,器件复位时,看门狗模块默认状态为使能 5~3 WDCHK(2:0) 看门狗检测位,需要向 WDCHK(2~0) 写1、0、1,写其他任何值都会引起器件内核的复位(看门狗已经使能),读操作将返回 0、0、0 2 ~0 WDPS(2:0) 该区域用于配置看门狗计数时钟( WDCLK )比例(相对于 LK/512 的倍率) 000 WDCLK=LK/512/1; 001 WDCLK=LK/512/1; 010 WDCLK=LK/512/2; 011 WDCL
DSP课件-看门狗 来自淘豆网www.taodocs.com转载请标明出处.