2.4.4 仿真注意事项
看门狗模块在各种调试条件下的操作如下:
? CPU挂起:CPU挂起时,看门狗时钟(WDCLK)也被挂起。
? 自由运行模式:当CPU被置入自由运行模式时,看门狗模块恢复正常工作。 ? 实时单步模式:当CPU处于实时单步模式时,看门狗时钟(WDCLK)被挂
起。即使在实时中断期间,看门狗仍然挂起。
? 实时自由运行模式:当CPU处于实时自由运行模式时,看门狗正常工作。
2.4.5 看门狗寄存器
系统控制和状态寄存器(SCSR)包含看门狗忽略位(watchdog override bit)和看门狗中断使能/禁能位。图 2.19描述了SCSR寄存器的位功能。
图 2.19 系统控制和状态寄存器(SCSR) 表 2.23 系统控制和状态寄存器(SCSR)的域描述
位 15-3 2 域 保留 WDINTS 值 0 1 0 1 描述(1) 看门狗中断状态位。WDINTS反映了看门狗模块WDINT信号的当前状态。WDINTS与WDINT的状态保持一致,并追加2个SYSCLKOUT周期的状态保持时间。 如果看门狗中断用来将器件从空闲或待机低功率模式中唤醒,在尝试回到空闲或待机模式之前,使用该位来确保WDINT无效。 看门狗中断信号(WDINT)有效。 看门狗中断信号(WDINT)无效。 看门狗中断使能。 看门狗复位(WDRST)输出信号被使能,看门狗中断(WDINT)输出信号被禁能。这是复位时(XRS)的默认状态。当看门狗中断出现时,WDRST信号将保持低电平512个OSCCLK周期。 如果WDINT为低时WDENINT位被清除,将立刻产生复位。可以读取WDINTS位来确定WDINT信号的状态。 WDRST输出信号被禁能,WDINT输出信号被使能。当看门狗中断出现时,WDINT信号将保持低电平512个OSCCLK周期。 37
1 WDENINT
如果看门狗中断用来将器件从空闲或待机低功率模式中唤醒,在尝试回到空闲或待机模式前,使用WDINTS位来确保WDINT信号无效。
续上表
看门狗忽略。 写0无影响。如果该位被清除,它将保持在此状态,直到产生复位。这个位的当前状态可由用户读出。 你可以更改看门狗控制(WDCR)寄存器中看门狗禁能位(WDDIS)的状态。如果WDOVERRIDE位通过写入1被清除,你就不能修改WDDIS位的值。 (1) 这个寄存器受EALLOW保护。更多信息请见2.7.2节。 位 0 域 WDOVERRIDE 值 0 1 描述(1)
图 2.20 看门狗计数器寄存器(WDCNTR) 表 2.24 看门狗计数器寄存器(WDCNTR)的域描述
位 域 描述 15-8 保留 保留 7-0 WDCNTR 这些位包含看门狗计数器的当前值。8位计数器以看门狗时钟(WDCLK)速率持续递增。如果计数器溢出,看门狗就启动一次复位。如果WDKEY寄存器写入一个有效的值组合,计数器就被复位到零。看门狗时钟速率在WDCR寄存器中配置。
图 2.21 看门狗复位密钥寄存器(WDKEY) 表 2.25 看门狗复位密钥寄存器(WDKEY)的域描述
位 域 15-8 保留 7-0 WDKEY 值 描述(1) 保留 不同WDKEY写序列的范例请参考表 2.22。 0x55+0xAA 先后将0x55和0xAA写入WDKEY将38
WDCNTR位清除。 写入除0x55或0xAA以外的其它值不会产生任何动作。如果写入0x55之后写入的不是0xAA,那么序列必须从写0x55这里重新开始。 读取WDKEY返回WDCR寄存器的值。 (1) 这个寄存器受EALLOW保护。更多信息请见2.7.2节。 其它值
图 2.22 看门狗控制寄存器(WDCR) 表 2.26 看门狗控制寄存器(WDCR)的域描述
位 域 15-8 保留 7 WDFLAG 值 0 1 0 1 0,0,0 其它值 描述(1) 保留 看门狗复位状态标志位。 由XRS引脚或上电引起的复位。该位保持锁存,直到写入1将条件清除。写0被忽略。 指示一个看门狗复位(WDRST)产生的复位条件。 看门狗禁能。复位时看门狗模块被使能。 使能看门狗模块。只有SCSR寄存器的WDOVERRIDE位被设置为1时WDDIS才能被修改。(默认) 禁能看门狗模块。 看门狗检查。 只要写这个寄存器,就必须向该域写入值1,0,1,除非你想要通过软件复位器件。 如果看门狗被使能,则写入任何其它值都会造成器件立刻复位或看门狗中断被使用。这3个位读出时总是零(0,0,0)。这个特性可以用来产生一个DSP的软件复位。 看门狗预分频。这些位配置看门狗计数器时钟(WDCLK)速率(相对于OSCCLK/512): WDCLK = OSCCLK/512/1(默认) WDCLK = OSCCLK/512/1 WDCLK = OSCCLK/512/2 WDCLK = OSCCLK/512/4 WDCLK = OSCCLK/512/8 WDCLK = OSCCLK/512/16 WDCLK = OSCCLK/512/32 39
6 WDDIS 5-3 WDCHK 2-0 WDPS 000 001 010 011 100 101 110
111 WDCLK = OSCCLK/512/64 (1) 这个寄存器受EALLOW保护。更多信息请见2.7.2节。 当XRS信号线为低时,WDFLAG位强制为低。只有检测到WDRST信号的上升沿(在同步和一个8192个SYSCLKOUT时钟的延时之后),并且XRS信号为高时,WDFLAG位才被置位。如果WDRST变成高电平时XRS信号为低,那么WDFLAG位保持为0。在一个典型应用中,WDRST信号与XRS输入相连。因为,为了区分看门狗复位和外部器件复位,外部复位的持续时间应该比看门狗宽度长。 2.5 32位CPU定时器0/1/2
本节描述3个32位的CPU定时器(图 2.23)(TIMER0/1/2)。
CPU定时器中断信号(TINT0,TINT1,TINT2)的连接如图 2.24所示。
图 2.23 CPU定时器
图 2.24 CPU定时器中断信号和输出信号
CPU定时器的正常操作如下:32位计数器寄存器TIMH:TIM装入周期寄存器PRDH:PRD的值。计数器寄存器的值以28x器件的SYSCLKOUT速率递减。当计数器的值到达0时,定时器中断输出信号产生一个中断脉冲。表 2.27列出的寄存器用来配置定时器。
表 2.27 CPU定时器0、1、2配置和控制寄存器
名称 地址 大小(×16) 40
描述 位描述