dsp看门狗定时器.doc_第1页
dsp看门狗定时器.doc_第2页
dsp看门狗定时器.doc_第3页
dsp看门狗定时器.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

看门狗定时器看门狗在外围监控DSP中软件的运行以及硬件的操作,当CPU出现故障时,看门狗将执行系统复位。如果软件进入了一个不正确的循环或者CPU出现暂时的混乱,看门狗定时器将出现溢出来使系统复位。 在大多数情况下,DSP短暂的混乱以及CPU不正确的操作都可以被看门狗所清除并重新进行设置。由于看门狗稳定的性能,其增加了CPU的可靠性,以确保系统的完整。 在看门狗中这个外围设备中,所有的寄存器都是8位的,连接到16位CPU的低8位外围数据总线上。 240XA看门狗定时器和C240看门狗定时器唯一的区别就是其缺乏实时的中断能力。(这句话我也不明白哦)。 看门狗定时器将通过对从CPU出来的CLKOUT进行分频而得到自己所需的时钟。 1.1 看门狗定时器的特征看门狗模块包含如下特征:n 8位的看门狗计数器通过计数溢出从而使系统复位n 6位的独立运行计数器通过对看门狗计数器预定标来feed看门狗计数器(上句为字面意思,我的理解是:该6位的独立运行的计数器通过对WDCLK(看门狗工作时钟)进行分频从而使看门狗计数器得到不同频率的时钟。独立运行的意思是该计数器不受其他器件的影响,只要启动系统,就开始工作)n 看门狗复位键寄存器,当向该寄存器写下合适的组合值(在该DSP中,通过向该寄存器相继写55h和AAh值)时,该寄存器将使看门狗计数器清零,当向该寄存器写下不合适的组合值(除55h和AAh以外的值)时,该寄存器将使系统复位n 看门狗核对位,当看门狗定时器出现错误情况时,通过看门狗核对位来复位系统n 当系统复位时,将自动启动看门狗定时器n 可对独立运行计数器输出的6路分频信号进行选择以下为看门狗定时器的功能框图+含义:向WDCR.5-3位(看门狗核对位)写除101以外的任何数将导致系统复位。含义:分频后的值与WDCLK有关。1.1 看门狗定时器的操作1.1.1 概述 看门狗的操作由三个寄存器进行控制n 看门狗计数寄存器(WDCNTR)这个寄存器包含了看门狗计数器的值n 看门狗键位寄存器(WDKEY)当向该寄存器先写55h,然后写AAh时,该寄存器将WDCNTR清零n 看门狗控制寄存器(WDCR)该寄存器包含了用于看门狗配置的如下控制位 看门狗禁止位 看门狗标志位 看门狗核对位(3位) 看门狗分频选择位(3位)1.1.2 看门狗定时器时钟看门狗定时器时钟(WDCLK)是一种低频率的时钟。当CPUCLK(为根据SCSR1中分频位对外部时钟分频后值)为40MHz时,WDCLK理论上为78125Hz。WDCLK时钟是由对CPU的输出时钟CLKOUT进行分频所产生。这就能够确保当CPU处于IDLE1和IDLE2 模式时,看门狗仍能进行计数。WDCLK是在外围设备中产生(不是在CPU中产生),WDCLK的频率可由如下公式进行计算:WDCLK=CLKOUT/512当看门狗定时器被允许运行时,WDCLK可在DSP的CLKOUT引脚测出(需要对该复用引脚进行设置,确定是输出CLKOUT还是WDCLK时钟)。在看门狗定时器被允许运行时,看门狗计数器应该在器溢出之前被清零,否则DSP将被复位。1.1.3 看门狗的停止当CPU的停止信号产生时,WDCLK将被中止。这种情况是通过如下方式实现的:通过停止对从CLKOUT产生WDCLK的时钟分频器的时钟而实现中止WDCLK的产生。注意:当实时仿真器在运行时,看门狗定时器时钟不会产生。这和F/C240不一样1.1.4 看门狗定时器的操作看门狗定时器是一个由从预分频器出来的时钟进行驱动的连续增计数的计数器。在看门狗计数器溢出之前如果WDKEY寄存器没有对其进行清零,该定时器将对系统复位以保证系统软件和硬件的正常运行。WDCLK是由芯片内的时钟模块产生,并且在除HALT模式之外的任何操作模式下都是激活的。WDCLK使看门狗定时器不考虑芯片内的任何寄存器状态的情况下运行。除了HALT低功耗模式,因为它可以使WDCLK信号中止。WDCNTR的当前状态可以在对其进行操作的任何时候进行读操作。1.1.4.1 看门狗预定标的选择 8位WDCNTR的输入时钟可以是WDCLK时钟信号或者是从独立运行计数器中出来的六个分频信号中任何一个。该6位的独立运行的计数器在WDCLK时钟的驱动下连续的进行增计数。只要给看门狗定时器输入WDCLK时钟,看门狗将开始起作用。预定标器的六路分频信号由WDPS20位进行选择。这种分频可使看门狗在WDCLK时钟为78125Hz时溢出时间从3.28ms到209.7ms。在芯片处于正常工作状态时,独立运行计数器是不能被停止或复位的,除了系统的复位。清除WDCNTR不能清除独立运行计数器。1.1.4.2 对看门狗定时器的操作在WDCNTR寄存器溢出之前,向WDKEY写相应的数将使WDCNTR被清零。当向WDKEY写55h时,WDCNTR将可以被清零,当紧接着向WDKEY写AAh时,WDCNTR就将被清零。向WDKEY写除55h或者AAh之外的任何值都将导致系统复位。只有向WDKEY写55h后写AAh才能使WDCNTR复位。1.1.4.3 看门狗复位当WDCNTR溢出时,看门狗定时器才强制使系统复位。复位发生在WDCNTR溢出一个时钟周期之后。只要WDCLK在正常工作,溢出就不能被停止。只有当WDCLK没有工作,振荡器处于低功耗模式时看门狗定时器才无法溢出使系统复位。看门狗定时器可以通过设置WDCR寄存器中的WDDIS位使其停止工作。注意在240XA设备中没有WDDIS引脚。在SCSR2 中的watchdog override 位提供了WDDIS引脚的功能。1.1.4.4 看门狗的设置开门狗独立于CPU的操作并且一般是打开的状态。其不需要任何CPU的初始化操作。当系统复位发生时,开门狗定时器默认为其输入时钟为最快的时钟(在78125Hz的WDCLK信号下溢出时间为3.28ms)。当复位结束时,CPU开始执行代码,看门狗计数器开始计数。1.2 看门狗控制寄存器下面表中详细讲述了看门狗控制寄存器中各位的作用。1.2.1 看门狗计数寄存器8位的看门狗计数寄存器(WDCNTR)包含了看门狗计数器的当前值。该寄存器以WDCR中设置的时钟频率进行持续的计数。当WDCNTR溢出时,一个时钟周期后系统开始复位。当向WDKEY写合适的数值序列后WDKEY将对WDCNTR清零以阻止系统复位的发生。尽管如此,其不能对独立运行计数器清零。 看门狗计数寄存器的8位为只读位,向其写数没任何作用。1.2.2 看门狗复位键寄存器当向WDKEY先写55h后写AAh后其将给WDCNTR清零。除55h和AAh之后的任何值将导致系统复位。1.2.3 看门狗定时器控制寄存器WDCR包含了对开门狗进行配置的控制位。包含复位标志位,核对位,以及对输入时钟进行预分频的选择位。1.2.4.4 看门狗核对位逻辑 开门狗定时器核对位(WDCR53位)一直与一个恒定值(101)进行比较,如果核对位的值与101不同,其将使系统复位。这种逻辑的作用是防止软件向WDCR中赋不正确的值,或者是外面的刺激因素(电压尖峰,电磁干扰,或者是其他影响因素)。通过这种方式可以防止WDCR的值出现错误。(个人理解: 电磁干扰或者软件以及其他因素有可能使WDCR出现错误,当WDCR出现错误时,将导致整个看门狗的错误运行,因此,通过这种方法,如果WDCR中5到3位出现与初值不同时就意味着该控制寄存器已经出现错误了,这时必须使系统出现复位才能解决错误).向WDCR53写除101以外的任何值都将引发系统的复位。读核对位时读出数始终为000,向其写数无效。 第七位:看门狗复位标志位。复位发生时,改为置1 0:标明看门狗定时器自从最近一次清除来没有复位过。 1:标明看门狗定时器已经复位。 第六位:看门狗禁止位。当SCSR2中的OVERRIDE位为1时,向其写1将关闭看门狗。 0:看门狗使能。 1:看门

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论