历史上的今天
返回首页

历史上的今天

今天是:2025年01月29日(星期三)

2020年01月29日 | MSP430F5538A watchdog

2020-01-29 来源:eefocus

1、watchdog timer(WDT_A)

看门狗定时器?

看门狗定时器32bit定时器,能被用作看门狗或者作为一个间隔定时器。

在看之前,给自己几个问题

 a、看门狗依赖于时钟配置吗?

 b、多长时间喂狗,软件喂狗(定时器)?时间长短如何配置?

 c、看门狗重启和软件重启以及硬件重启的区别?

看门狗定时器模块的主要功能是在软件问题发生时执行系统重启;如果指定的时间到还不喂狗,就会系统复位。


如果在应用中不需要看门狗功能,看门狗模块可以配置成一个间隔定时器并且在指定时间间隔产生中断。


看门狗定时器模块特性:

8个软件选择的时间间隔

看门狗模式

间隔模式

密码保护访问看门狗定时器控制寄存器

可选的时钟源

停止用于节约电力

时钟自动防故障特性

注意:看门狗定时器上电激活

PUC(上电清除复位信号)后, WDT_A模块自动配置成看门狗模式,使用SMCLK为时钟源,~32ms复位间隔;所以用户必须在初始复位间隔超时前设置或者停止WDT_A模块;

Msp430f5438a.cmd (c:ticcsv5ccs_basemsp430include)

WDTCTL             = 0x015C;

/*! when 0 the watchdog timer and interrupt is used and an invalid password
* is used to reset the part, when 1 the watchdog expiring will cause the micro
* to reset and if ACLK goes away VLOCLK will be used.
*/
#define USE_FAILSAFE_WATCHDOG ( 1 )

#define WDTPW                  (0x5A00)

#define WDTCNTCL               (0x0008)       /* WDT - Timer Clear */

#define WDTSSEL__ACLK          (1*0x0020u)    /* WDT - Timer Clock Source Select: ACLK */

#define WDTIS_3                (3*0x0001u)    /* WDT - Timer Interval Select: /512k */

void ResetWatchdog(void)
{
  /* set watchdog for 16 second timeout
   * write password, select aclk, WDTIS_3 means divide by 512*1024 = 16 s;
   * WDTIS_2: 4 mins 

   * Any write operation to WDTCTL must be a word operation with 05Ah (WDTPW) in the upper byte

Watchdog timer interval select. These bits select the watchdog timer interval to
set the WDTIFG flag and/or generate a PUC.
000b = Watchdog clock source /(2^31) (18h:12m:16s at 32.768 kHz)
001b = Watchdog clock source /(2^27) (01h:08m:16s at 32.768 kHz)
010b = Watchdog clock source /(2^23) (00h:04m:16s at 32.768 kHz)
011b = Watchdog clock source /(2^19) (00h:00m:16s at 32.768 kHz)
100b = Watchdog clock source /(2^15) (1 s at 32.768 kHz)
101b = Watchdog clock source /(2^13) (250 ms at 32.768 kHz)
110b = Watchdog clock source /(2^9) (15.625 ms at 32.768 kHz)
111b = Watchdog clock source /(2^6) (1.95 ms at 32.768 kHz)   

2^19/(32.768KHZ) =512*1024/32768 = 16s 

*/
#ifUSE_FAILSAFE_WATCHDOG
/* wathdog 看门狗功能 *

WDTPW 密码0x5a00

WDTCNTCL:计数清零

时钟源以及超时间隔:ACLK、3(也即16s)

*/
  WDTCTL = WDTPW + WDTCNTCL + WDTSSEL__ACLK + WDTIS_3;

/* Interrupt Enable Register  中断使能寄存器 ,*/
  SFRIE1 &= ~WDTIE; /* disable  watchdog timer interrupt */


#else
/* interval timer 间隔定时器 */
  WDTCTL = WDTPW + WDTCNTCL + WDTSSEL__ACLK + WDTIS_3 + WDTTMSEL;

/* enable watchdog timer interrupt */
  SFRIE1 |= WDTIE;

#endif
}

在idle线程中会调用void ResetWatchdog(void),以及任务耗时的地方等都需要适当喂一下狗


推荐阅读

史海拾趣

芯源半导体(CW)公司的发展小趣事

在电子行业的激烈竞争中,芯源半导体(CW)公司凭借其卓越的技术创新能力,成功在市场中脱颖而出。公司创始人李博士带领研发团队,针对当时市场上半导体产品的不足,开发出了一款高性能、低功耗的芯片产品。这款产品凭借其卓越的性能和稳定性,迅速获得了市场的认可,为芯源半导体(CW)公司的初期发展奠定了坚实基础。

Datasensor公司的发展小趣事

为了进一步扩大市场份额和增强技术实力,DATASENSOR公司积极进行收购和扩张。2004年,公司成功收购INFRA和SPECIALVIDEO公司,这两家公司在工业自动化领域拥有丰富的经验和先进的技术,为DATASENSOR公司带来了更多的市场机会和技术优势。此外,公司还在法国、德国、英国和西班牙等国家和地区设立了子公司,实现了全球化的战略布局。

Hirschmann公司的发展小趣事
虽然TC4013的时钟频率不是直接决定延时时间的因素,但它会影响定时器的触发频率和输出信号的周期。通过调整时钟信号的频率,可以在一定程度上改变输出信号的周期或占空比,从而间接影响定时电路的延时效果。然而,这种方法通常用于调整输出信号的频率特性,而非直接调整延时时间。
Eagle Plastic Devices公司的发展小趣事

Eagle Plastic Devices公司成立于20世纪90年代初期,当时市场上对于高性能塑料电子部件的需求日益增长。公司创始人张先生,凭借其在塑料材料科学和电子工程领域的深厚背景,带领团队研发出了一系列具有革命性的塑料电子封装和连接器产品。这些产品以其优异的电气性能、耐用性和成本效益,迅速在行业内获得了认可,为Eagle Plastic Devices公司奠定了坚实的基础。

Anadigm公司的发展小趣事

为了保持技术领先地位和满足不断变化的市场需求,Eagle Plastic Devices公司不断加大研发投入,引进先进的研发设备和人才。公司建立了完善的研发体系,包括新产品开发、工艺改进、性能测试等环节。通过不断的技术创新和产品升级,Eagle Plastic Devices公司成功推出了多款具有竞争力的新产品,进一步巩固了其在行业内的领先地位。

HDP_Power公司的发展小趣事

随着全球环保意识的不断提高,Eagle Plastic Devices公司也开始将环保理念融入产品研发和生产过程中。公司采用环保材料、改进生产工艺、降低能耗和排放等措施,努力降低产品对环境的影响。同时,公司还积极参与环保公益活动,倡导绿色消费和可持续发展。这些举措不仅提升了公司的品牌形象,也为公司带来了更多的市场机遇。

问答坊 | AI 解惑

电解电容器使用上注意事项

电解电容器使用上注意事项 使用电解电容器时,请注意下列事项: 电解电容器就如下列情形时,会引起特性的劣化 ◎ 逆向电压 ◎ 使用电压超出工作电压 ◎ 电流大于容许纹波电流 ◎ 急剧的充放电 此时,引起激烈的发热或气体产生会从电容器的封口处漏 ...…

查看全部问答>

多机通信的从机 程序

多机通信的从机 程序基于凌阳的单片机多机通信程序。大家可以下来看哈。也可以交流哈单片机之间通信的经验啊!…

查看全部问答>

新手请教一个网卡驱动的问题(对网卡芯片的操作,不涉及TCP/IP)

我用的控制芯片为S3C2410,网卡芯片是AX88796, 网卡在BANK2上,基地址为0x200,逻辑地址为0x10000200。Ax88796的寄存器宽度为8位,映射到从基地址200h到21fh地址空间内。 首先是两个对Ax88796的寄存器读写的操作函数:ax88796Write()和ax88796Read( ...…

查看全部问答>

pci9052芯片的PCI接口板,出现怪异问题

您好! 我们开发了一块pci9052芯片的PCI接口板,出现怪异问题,请帮忙分析下! 开发板连接测量仪器和PC机上的测试程序(VC++),  大概每80ms左右读2048次数据,每次大概2个字节。 测试仪器实时采集数据并作图。 我们发现开机(电 ...…

查看全部问答>

高分请教:怎么样用串口采集开关信号

比如我的电脑接了一个光电开关,希望用PC 程序知道根据光电开关电路电压的高低(或通断)。请教怎么个连接实现法? 看了许多书,都是讲关于串口通信,所有演示的都是如何实现两台PC之间互相发送字符的。可是,我并不是要采集字符,我只想采集电压 ...…

查看全部问答>

数控机床的数控部分键盘的问题,高手给点建议和思路.

数控机床的数控部分和机械部分通信的串行口有问题,数控不稳定,运行一会儿就死机了,重启好几次才行. 串行口处理的电路板很难换掉,接的数据线控制线关联太多,都不知道干啥用的,也找不到这种型号的电路板. 还好这个数控机床数控部分用的就是Dos操作 ...…

查看全部问答>

请问哪里有IRMX操作系统下载?最好是能支持Win98或Win3.1的!谢谢

请问哪里有IRMX操作系统下载?最好是能支持Win98或Win3.1的!谢谢 最好能是安装版本.…

查看全部问答>

Vforum2010 见闻 之IBM 和INTEL 讲座心得!

     阿牛哥参加Vforum2010, 听到了智慧的IBM 系统--面向云计算的智能硬件平台讲演,也听了INTEL 开放式数据中心--推动云计算的新技术趋势讲演。有一些心得和大家分享,班门弄斧,请大家拍砖!      IBM ...…

查看全部问答>

请大家帮忙看一下!采用什么方法能快速检测交流电掉电问题?

我现在的备用电源就是在市电掉电的情况下开始工作,和UPS一样,在市电和备用电源转换的时候不能存在复位(电源后面的工作设备)? 我原来的方法是经过整流后根据比较器的结果确定是否市电掉电,即确定备用电工作。不过这样有时存在复位(电源后面 ...…

查看全部问答>