嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 作者 978 7 302 25605 2 第十二章 S3C2410的看门狗电路控制.pptVIP

嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 作者 978 7 302 25605 2 第十二章 S3C2410的看门狗电路控制.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二章 S3C2410的看门狗电路控制 主要内容: 12.1 看门狗电路的功能及工作原理 12.1.1 S3C2410的看门狗控制 12.1.2 看门狗定时器寄存器 12.2 参考程序及说明 12.1 看门狗电路的功能及工作原理 嵌入式系统运行时受到外部于扰或者系统错误,程序有时会出现“跑飞”,导致整个系统瘫痪。为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗(Watchdog)电路。看门狗的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。 其基本原理为:设本系统程序完整运行一周期的时间是tp,看门狗的定时周期为ti,且 titp,在程序正常运行一周期中修改定时器的计数值1次,恢复定时器的原定时周期ti,(俗称“喂狗”)。只要程序正常运行,定时器就不会溢出,若由于干扰等原因使系统不能在tp时段修改定时器的计数值,定时器将在ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。 12.1.1 S3C2410的看门狗控制 S3C2410的看门狗定时器有两个功能: 1. 作为常规定时器使用,并且可以产生中断; 2. 作为看门狗定时器使用,期满时,它可以产生128个时钟周期的复位信号。 看门狗定时器计数值的计算公式如下: 输入到计数器的时钟周期: t_watchdog=1/( PCLK/(Prescaler value+1)/Division_ factor) 其中, PCLK为系统时钟频率;Prescaler value为预定标值(值0~255 );Division_ factor为四分频值,可以是16、32、64或128。 看门狗的定时周期: T = WTCNT*t_Watchdog 其中WTCNT是看门狗定时器计数器初值。 12.1.2 看门狗定时器寄存器 1. 看门狗定时器控制寄存器WTCON 2. 看门狗定时器数据寄存器WTDAT 该数据寄存器用于设置看门狗定时器的初值。在初始的操作中,该值不会自动加载到定时器中,首次定时器初始值为0x8000,以后该寄存器的值会被自动加载到WTCNT寄存器中。一般是该定时器工作在通用定时器模式下时使用。该寄存器及其各位的定义如表12-2所列。 3. 看门狗定时器/计数器寄存器WTCNT 该寄存器为看门狗定时器的计数器,它的值表示该定时器的当前计数值,即到下一次期满还需要经历的时钟数。当该定时器工作在看门狗模式时使用该寄存器,计数器减到0前需要重新设置其值,以防止发生复位。该寄存器及其各位的定义如表12-3所列。 12.2 参考程序及说明 设程序预定标值Prescaler value = PCLK/1000000-1;分频因子=128;看门狗输入时钟周期=1/( PCLK/(Prescaler value+1)/Division_ factor)= 1/( PCLK/( PCLK/1000000-1+1)/Division_ factor)=1/1000000/128=1/7812;允许中断;看门狗超时复位,每秒中断一次,10秒后结束。看门狗的定时周期=1秒。看门狗的定时周期:T = WTCNT*t_Watchdog= WTCNT*1/7812,因T=1秒,所以WTCNT=7812。 * * *

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档