历史上的今天
返回首页

历史上的今天

今天是:2025年05月06日(星期二)

正在发生

2020年05月06日 | MSP430F169(四)——浅谈F169看门狗

2020-05-06 来源:eefocus

什么是看门狗

在工业现场,往往会由于供电电源、空间电磁干扰或其他原因引起强烈的干扰噪声。这些干扰作用于数字器件,极易使其产生误动作,从而失去应有的控制功能,引起MSP430发生“程序跑飞”事故。若不进行有效的处理,程序就不能回到正常的状态,从而失去应有的控制功能。看门狗定时器正是为了解放这类问题而产生的,尤其是在具有循环结构的程序任务中更为有效。看门狗有一个RST管脚,用来复位。


看门狗的两种工作模式

(一)看门狗模式:看门狗模式是看门狗这个组件的主要功能,(这不是废话嘛,看门狗组件肯定是看门狗啊)提到看门狗,不得不说这个密码保护了(WDTPW watchdog timer password )任何读写操作必须通过他才能正确执行指令,当密码错误,会产生一个PUC使单片机复位,为什么要这样呢?在早期的时候,有些单片机没有看门狗的密码保护,就很容易被窃取单片机的程序,一些公司以零开发成本就得到了源码,不得不说非常危险。这里给出这个寄存器的图,仅仅给出了高八位

在这里插入图片描述

谈完了密码保护,那肯定得说说看门狗的工作原理。既然说看门狗能复位程序,那这个看门狗复位程序是怎么做到的呢?(这里仅从寄存器配置说明,不涉及硬件)

在这里插入图片描述

大家看第五个WDTNMI,这个寄存器默认配置为 0,意思是说看门狗默认配置为复位模式,当用户配置为 1 时,使用NMI 模式,而我们大多时候使用复位功能。没必要配置NMI

在这里插入图片描述

既然是复位,那肯定得发送复位信号到单片机吧,而这个信号就是中断标记。单片机判断有无中断标记来复位。中断标记是怎么产生的?前面已经说了一个,当用户写入密码错了,就会产生一个错误中断标记;另一个就是,到达用户设定的复位时间。比如单片机默认32ms复位一次。而这个时间用户是可以自行配置的。(看门狗模式可以不打开总中断,也没有打开分控位中断一说)


(二)间隔定时器模式:其实这个跟看门狗模式没多大区别,也是产生一个周期性的中断,那区别在哪?主要的不同是看门狗会复位程序,而定时器不会,定时器执行的中断子程序可以由用户配置,看门狗甚至没有中断子程序一说。还有的不同就是中断标记了。定时器需要打开总中断。


给出一个例子供参考

例:使用看门狗定时器功能产生一个方波(周期的取反P1.0)。

#include

void main(void)

{

WDTCTL = WDT_MDLY_32; // 以SMCLK进行32ms的延迟

IE1 |= WDTIE; // 开WDT中断

P1DIR |= BIT0; // 信号输出

_EINT(); // 总中断开

while(1)

{

_NOP();

}

}

// 看门狗中断服务子程序,这里指的是定时器的中断,

//看门狗模式的中断向量不是这个,看门狗有一个系统的自带的复位中断向量。不需要中断子函数

#pragma vector = WDT_VECTOR

__interrupt void WDT_IRQ(void)

{

P1OUT ^= BIT0; // 对引脚取反

}


推荐阅读

史海拾趣

达晶微(CREATEK)公司的发展小趣事

为了加强研发实力和应用能力,达晶微在上海设立了研发中心和应用中心。这些中心汇聚了来自全球的优秀人才和先进技术,为公司提供了强大的技术支持和创新动力。通过不断研发新产品和拓展新领域,达晶微在电子行业中保持了领先地位。

DS-IMP公司的发展小趣事

在电子行业,供应链管理是企业发展的关键因素之一。DS-IMP公司深知这一点,因此在发展过程中不断优化供应链管理。公司建立了完善的供应链体系,与供应商和客户建立了长期稳定的合作关系。同时,公司还引入了先进的供应链管理软件和技术手段,实现了对供应链的实时监控和精细化管理。这些措施不仅提高了公司的运营效率,还降低了成本风险,为公司的发展提供了有力保障。

Components Corporation公司的发展小趣事

DS-IMP公司一直将研发创新作为企业发展的核心动力。在研发过程中,公司不断投入大量资金,引进先进设备和技术,并与国内外知名高校和研究机构建立合作关系。通过不懈努力,公司在多个领域取得了重大突破,成功研发出了一系列具有自主知识产权的高性能模拟混合电路产品。这些产品不仅满足了国内外客户的需求,还为公司赢得了良好的市场声誉。

ASSMANN WSW components公司的发展小趣事

ASSMANN WSW components公司深知品质是企业生存和发展的关键。因此,公司始终坚持品质至上的原则,从原材料采购到生产流程,再到产品出厂,每一个环节都严格把控。公司还建立了完善的质量检测体系,确保每一件产品都符合最高标准。这种对品质的执着追求使得ASSMANN WSW的产品在市场上赢得了良好的口碑。

Geo Semiconductor Inc公司的发展小趣事
采用更先进的微处理器或PLC(可编程逻辑控制器)作为控制核心,以提高控制精度和响应速度。
Astron Wireless Technologies Inc公司的发展小趣事

随着公司的发展,Astron Wireless Technologies Inc开始寻求与其他行业的领军企业建立战略合作关系。通过与一家知名通信设备制造商的合作,公司成功将其无线通信技术集成到了对方的产品中,从而进一步扩大了市场份额。这一合作不仅提升了公司的知名度,还为公司带来了稳定的收入来源。

问答坊 | AI 解惑

2009国赛比赛实施过程及比赛守则(官网上下的)

本帖最后由 paulhyde 于 2014-9-15 09:44 编辑  …

查看全部问答>

大家使用lpc2132注意的一点

关于__irq 的使用 __irq为一个标识,用来表示一个函数是否为中断函数。对于不同的编译器,__irq在函数名中的位置不一样,例如: ADS编译器中 : void __irq IRQ_Eint0(void); Keil编译器中 : void IRQ_Eint0(void) __irq; 但是其意义一 ...…

查看全部问答>

再次迷茫了

前些时间一直在搞linux,但是linux这玩意儿真的很烦人啊,所以又去搞win ce,在学api,感觉win ce 入门确实比linux简单很多,但是最近又发现在win ce上做应用的基本上都是 .net,偶尔有mfc的,c语言无用武之地啊。这样就觉得现在学的一点用都没有, ...…

查看全部问答>

请教这个IC是个什么东西

请教一下我手头有个电路板上有个IC,5脚封装,上面两脚下面三脚,特小的封装,上面的字符貌似是CO-60Y又或者是CO-GOY,字太小看不清楚,搜索这两个都找不到相关资料。通过测量得知它的功能大概是这样:电源从3脚输入1脚输出,1脚跟5脚是通路,4脚输 ...…

查看全部问答>

寻大虾合作开发机顶盒

http://topic.eeworld.net/u/20071201/18/a2aaf09f-7fa2-419c-93c1-77b51f9713d8.html?seed=1107526537…

查看全部问答>

iar环境下,uCosII在stm32下的运行机理是怎样的?

编译器的iar EWARM,uCosII 通过初始化下面的向量表,在程序复位时将程序定位到__program_start(void)函数,但该函数是个空函数呀,程序到底是怎么进行到正常状态的呢?请大虾们指点。另外,向量表__vector_table[] 的第一行{ ...…

查看全部问答>

STM32之TFT遇到麻烦了,求高手指教

经由Image2lcd处理后的图片最大只能到119288,显示出来的图片还不到1/3屏,正常是153600。如何处理才能使之显示满屏?…

查看全部问答>

在公司看个书怎么就违法了!!!(吐槽完了,封贴吧)

活不多的时候闲着看个书怎么就不对了? 而且我看的还是《编程匠艺》《uCos 操作系统》…… 怎么这就惹领导不高兴了?虽然工作上分配给我的是硬件,但看个代码就不对了? 就叫软件不软硬件不硬了??? 什么制度,做事就是给领导看,什么领导看到你 ...…

查看全部问答>

EEWORLD大学堂----WEBENCH FPGA Architect功能导览

WEBENCH FPGA Architect功能导览:https://training.eeworld.com.cn/course/165…

查看全部问答>