看门狗控制器原理与编程笔记.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  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接口之 看门狗控制器原理与编程 看门狗:是一种电路,具有监视并恢复程序正常运行的功能,从而达到增强系统的稳定性。它本质上是一种定时器电路 稳定性和定时器之间有什么样的关系呢? 看门狗增强系统稳定性的基本原理:设一系统程序完整运行一周期的时间是Tp,看狗的定时周期为Ti,要求TiTp。在程序运行一周期后,修改定时器的计数值,只要程序正常运行,定时器就不会溢出。若由于干扰等原因使系统不能在Tp 时刻修改定时器的计数值,定时器将在Ti 时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。 s3c2410的看门狗控制器 S3C2410 的看门狗定时器有两个功能: (1)定时器功能:可以作为常规定时器使用,它是一个十六位的定时器,并且可以产生中断,中断名为INT_WDT,中断号是0x09。 (2)复位功能:作为看门狗定时器使用,当时钟计数减为0(超时)时,它将产生一个128个时钟周期的复位信号。 S3C2410 ARM9的看门狗主要由五部分构成:时钟、看门狗计时器、看门狗数据寄存器、复位信号发生器、控制逻辑等。 S3C2410 ARM9的看门狗工作原理: PCLK 经过预分频、再分频,使得到达看门狗的频率能够没有那么高,这样看门狗才处理得了。 S3C2410 看门狗定时时间 预分频器为8位,其值为:0---255 再分频器可选择值为:16、32、64、128 输入到计数器的时钟周期为: T_wtd=1/[PCLK/(Prescaler+1)/Division_factor] 看门狗的定时周期为: T=WTDAT(看门狗的计数器的初值)×T_wtd S3C2410 看门狗的特殊功能寄存器:(共3个,其基地址为0 寄存器 描 述 初值 偏移地址 WTCON 看门狗控制寄存器 0x8021 0 WTDAT 看门狗数据寄存器 (主要是给计数器填数的) 0x8000 4 WTCNT 看门狗计数寄存器 0x8000 8 1看门狗控制寄存器(WTCON) Register Off Add R/W Description Reset Value WTCON 0 R/W 看门狗控制寄存器 0x8021 字段名 位 意 义 初值 Prescaler Value 15:8 预分频值。0---255。 0x80 Reserved 7:6 保留(为0) 00 Watchdog Timer 5 看门狗控制位。 0:禁止;1:允许 1 Clock Select 4:3 再分频值选择。 00:16; 01:32;10:64;11:128 00 Interrupt Generation 2 看门狗中断控制。 0:禁止; 1:允许。 0 Reserved 1 保留(为0) 0 Reset Enable 0 看门狗复位功能控制。 0:禁止; 1:允许。 1 2看门狗计数寄存器(WTCNT)(最大填数为2的16次方) Register Off Add R/W Description Reset Value WTCNT 8 R/W 看门狗计数寄存器 0x8000 字段名 位 意 义 初值 Count Value 15:0 看门狗的当前计数值 0x8000 s3c2410的看门狗控制器编程步骤 1初始化看门狗控制器 时钟设置、输出类型设置设置:给WTCON相应位赋值; 计数器初始值设定:给WTCNT相应位赋值; 数据寄存器赋值:给WTDAT相应位赋值; 2如果把看门狗作为一个普通的定时器使用,还必须把看门狗定时中断处理程序填入中断向量表中,并相关的中断控制相关寄存器初始化; 3使能看门狗控制寄存器:给WTCON相应位赋值(必须在完成上面的工作之后才使能看门狗控制寄存器) 例:编写一程序,利用S3C2410看门狗中断产生频率为1kHz的方波,并且从GPB0引脚输出。设S3C2410的PCLK为50MHz。 编程思路: 如果我们能每隔1/2000秒让GPB0管脚上的输出电平反向(正确的,因为一个方波就是1ms,而电平持续的时间就是方波持续时间的一半),就可以在GPB0管脚上输出1KHz的方波。 我们可以设置看门狗定时器的定时周期为1/2000秒,再在看门狗的定时中断处理程序中让GPB0管脚上的输出电平方向。 而看门狗的每计一次数的时间由PCLK、预分频值、再分频值决定,其关系为:1/计一次数的时间=PCLK/[(预分频值+1)*再分频值]; 注意:这里说的1kHZ的方波是指一秒钟有一千个高低电平的组合。所以,1000hz就是一个方波就是1ms,所以一个电

文档评论(0)

fc86033 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档