飞思卡尔普通看门狗与窗口看门狗

发布者:HeavenlyWonder最新更新时间:2021-08-30 来源: eefocus关键字:飞思卡尔  窗口看门狗 手机看文章 扫描二维码
随时随地手机看文章

举个例子,假设看门狗周期为10s,对于普通模式只要在10s内喂一次狗就可以了,超过10s则会重启。对于窗口模式必须在最后的2s内喂狗才可以,喂早了不起作用,同样超时会重启。




下面是摘抄自百度文库的文章。


链接:http://wenku.baidu.com/link?url=HQn9-QuKvsT9qQUBhzRSa13G-PD3o21iu8sA2V9YQykqQPauSknGahmBvbU5SOFXK1o6ngevZ81c2MX3y4RTulCNyPuUYlg6UDSNFjoU2om




目前接触到的单片机中都有看门狗模块,不过写过的程序也比较简单,程序能够稳定运行,所以就不怎么理会这看门狗,因此也不知道看门狗是怎么回事。


DABAO最近写了个超声波测距的程序,运行过程中程序老是会无故停止,就是死机了。因此不得不重新面对看门狗,经过两天的奋斗,终于让看门狗顺利工作了。下面记一下XS128的看门狗的相关寄存器及用法。


看门狗模块用于检测程序的正常运行,启动看门狗后,必须在看门狗复位之前向ARMCOP中依次写入0X55和0XAA,这样看门狗就会重新启动计时。如果在规定时间内没有完成向ARMCOP中依次写入0X55和0XAA的操作,就会引起看门狗复位。这样可以使程序重新运行,减小程序跑死的危害。


看门狗的设置比较简单,只要配置好寄存器COPCTL即可用。


COPCTL的第七位为: WCOP。若写入COPCTL_WCOP=1,则看门狗行运在窗口模式下,必须在看门狗周期的后25%时间内向ARMCOP依次写入0X55和0XAA。若在其他时间写入,或写入其他值,都会让看门狗溢出,使单片机复位。若写入COPCTL_WCOP=0,则看门狗运行在正常模式下。当看门狗使能后,只要在看门狗溢出周期内依次向ARMCOP写入0X55和0XAA,使看门狗计数复零,即可。


第六位为:RSBCK,BDM模式下的COP和RTI 停止位。若COPCTL_RSBCK=1,则只要进入BDM模式,就停止COP和RTI(实时中断)计数。若COPCTL_RSBCK=0,则在BDM模式下允许COP和RTI运行。


低三位为:CR2、CR1、CR0。这三位是看门狗时钟分频位。当CR[2:0]=000时,看门狗COP不可用。只要CR[2:0]不为000,看门狗就开启了。当CR[2:0]=001时,分频值为(2的14次方)。当CR[2:0]=010时,分频值为(2的16次方)。当CR[2:0]=011时,分频值为(2的18次方)。当CR[2:0]=100时,分频值为(2的20次方)。当CR[2:0]=101时,分频值为(2的22次方)。当CR[2:0]=110时,分频值为(2的23次方)。当CR[2:0]=111时,分频值为(2的24次方)。


看门狗的溢出频率为:COP溢出频率=OSCCLK /CR[2:0]。OSCCLK为晶振频率。


在正常运行模式下,只要配置好COPCTL,再写好喂狗程序,看门狗COP就可以工作了。


和看门狗COP相关的寄存器还有,不过一般情况下可以不管:


CLKSEL_COPWAI: 当CLKSEL_COPWAI=1时,COP在等待模式下不可用。当CLKSEL_COPWAI=0时,COP在等待模式下可继续运行。


PLLCTL_PCE: 当PLLCTL_PCE=1时,COP在伪停止模式下可用。当PLLCTL_PCE=0时,COP要伪停止模式下不可用。


看门狗的初始化如下:


COPCTL_WCOP=0; //正常COP模式

COPCTL_RSBCK=0; //在BDM模式下允许COP和RTI运行

COPCTL_CR2=1; //CR[2:0]分频值为(2的23次方)

COPCTL_CR1=1; //COP溢出周期=OSCCLK/CR[2:0]


COPCTL_CR0=0;


喂狗函数如下:


/我的喂狗函数

void feeddog()

{

ARMCOP=0X55; //在特定时间内依次向ARMCOP写入0X55,0XAA;

ARMCOP=0XAA;


关键字:飞思卡尔  窗口看门狗 引用地址:飞思卡尔普通看门狗与窗口看门狗

上一篇:飞思卡尔MC9S12G系列内部看门狗
下一篇:飞思卡尔智能车—电磁循迹(组别通用)

推荐阅读最新更新时间:2024-11-10 10:31

飞思卡尔推出新款汽车安全系统MCU
    飞思卡尔半导体近日推出两款新产品——Qorivva MPC577xK微控制器以及频率达77GHz的MRD2001汽车雷达收发器芯片。这两款产品均可用于汽车驾驶辅助系统(ADAS)中,新的产品具有更少组件,满足汽车轻量化需求,可用于大部分主流车型中。     Qorivva MPC577xK微控制器为汽车雷达应用提供了高水平的数字模拟一体化单芯片解决方案,消除了四个额外的印刷电路板(PCB)组件,降低系统成本和复杂性。     MPC577xK能够满足集成数字加速器的庞大数据运算,此外,其中还搭载了一个信号处理工具箱,其中包含了短程、中程、远程雷达应用所需的硬件模块。     MRD2001雷达收发器
[汽车电子]
飞思卡尔16位单片机(十五)—— 如何批量烧写芯片
我们在进行飞思卡尔单片机开发时,一般使用CodeWarrior软件和usbdm调试器进行。但是在实际生产过程中,采用这种方式烧写芯片效率比较低,而且很多情况下,程序的源码不希望对生产人员开放,本文就是为了这个目的,给大家讲解一下,如何进行芯片的批量烧写。 在进行批量烧写之前,我们默认大家已经安装了飞思卡尔单片机的开发环境,包括软件、调试器驱动。下面我们就进行批量烧写的实现。 首先我们先要找到工程的二进制文件,CodeWarrior中,二进制文件的扩展名为.s19,在工程的bin文件夹下,如下图所示。 将这个文件复制到英文路径下,这一步很关键,因为烧写软件不认中文路径。 接下来将下载器、单片机与计算机连接好。 然
[单片机]
<font color='red'>飞思卡尔</font>16位单片机(十五)—— 如何批量烧写芯片
飞思卡尔:标准化+开放化战略 将物联网进行到底
  随着IOT的发展,小规格高效能智能连接器件急剧增长。对设计工程师而言,面临巨大挑战,包括缩短产品上市时间,降低开发成本,提供尽可能高的性能和能效等。基于这样的背景,飞思卡尔以MCU为根基,不仅提供广泛的、可扩展的Kinetis 系列MCU,兼具超低功耗与高性能,还集成模拟IC、RF、存储器、低功耗技术、先进的小型封装技术,借助全面的软硬件开发工具,帮助工程师们应对挑战,激活物联网应用创新。   在近日由深圳创意时代主办的第三届工业计算机及嵌入式系统展IPC & EMBEDDED EXPO上,飞思卡尔携其最新量产的物联网创新利器--Kinetis KL03,为记者们详解了其特色,并分享了飞思卡尔在物联网领域的战略和最新进展。
[网络通信]
飞思卡尔HCS12中断
默认状态: 在进入中断服务程序时,I位自动置1,禁止其他可屏蔽中断 即使有优先级更高的中断请求,也必须等当前中断服务程序执行完以后才能响应 优先级的作用只有在多个中断源同时请求中断时在能体现 无法实现中断嵌套 如果在进入中断服务程序时,手动对I位清零: 任何其他可屏蔽中断都可以被响应,无论其优先级有多高 中断响应由时间控制,可以实现中断嵌套 对中断执行无法预测 HPRIO寄存器 写入HPRIO中的中断向量的后八位,可以改变该中断的优先级 同样,优先级的作用只有在多个中断源同时请求中断时在能体现 中断优先处理机制: 1:在中断服务程序中,首先对I为清零,即EnableInterrupts 2:选择优先级
[单片机]
跨越式的升级:飞思卡尔面向智能边缘节点的64位平台
应对 智能边缘 物联网是很多半导体企业发展产品时围绕的中心点。而物联网虽然能够包罗万象甚至无孔不入,但归根结底还是边缘-网络-云这三个关键节点,即前端设备(工业、家庭、车等)的数据采集;传输设备,如路由器、交换机在云端收集数据。飞思卡尔广泛的物联网解决方案可以对这三点提供相应支持,特别是其强大的通信处理器产品。 为了在加快新业务部署的同时最大限度地降低运营成本,网络功能由路由器逐渐向虚拟第三方提供商迁移,对边缘平台的要求也有所提高,即边缘平台必须智能地决定哪些用户和应用的最佳提供方式是本地提供,哪些用户和应用对延迟要求较低。同样,边缘平台也必须支持安全性较高、性能优化的虚拟机环境,能够验证企业管理员和服务提供
[物联网]
跨越式的升级:<font color='red'>飞思卡尔</font>面向智能边缘节点的64位平台
飞思卡尔16位单片机(四)——GPIO输入功能测试
一、介绍 在这篇文章中,我们以按键作为输入器件对飞思卡尔XEP100单片机的GPIO的输入功能进行测试。对应的硬件电路如下图所示。 当按键未按下时,由于有上拉电阻R39~R312的作用,单片机检测到的电平为高电平;当按键按下时,单片机引脚与地短接,单片机检测到引脚为低电平。 当按键按下时,按键输出端的原始电平如下图所示: 由图中可以看出,在按键按下和松开时,按键的电平信号存在波动,一般为10~15ms,这样有可能导致误判。为了消除抖动,可行的方法有:硬件去抖和软件去抖两种方法。本文的电路上使用的方法为硬件去抖,即在按键的两端加了一个去抖电容。软件去抖的方法是在检测到按键按下后,延时10~
[单片机]
<font color='red'>飞思卡尔</font>16位单片机(四)——GPIO输入功能测试
飞思卡尔推出Kinetis KL03 MCU
飞思卡尔半导体(纽约证劵交易所:FSL)宣布,其Kinetis微型产品系列推出Kinetis KL03 MCU,即世上最小的、最具能效的、基于ARM®技术的32位MCU。Kinetis KL03 MCU基于上一代Kinetis KL02设备,具备全新的性能、先进的集成特性及更卓越的易用性,并采用尺寸更小的1.6 x 2.0mm2封装。借助Kinetis KL03 设备的全新功能,客户可减小产品尺寸并降低功耗,节省产品设计时间和成本。 Kinetis KL03 MCU采用高级晶圆级芯片封装,比上一代飞思卡尔 KL02设备的尺寸小15%,比32位ARM MCU的尺寸小35%。全新的片上系统(SoC)非常适合空间受限的设计,包括消费电子、
[单片机]
飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用
一、CAN驱动函数 1. CAN初始化函数 具体详细介绍:飞思卡尔MC9S12X:CAN初始化配置 void INIT_MSCAN0(void); 2. CAN发送函数 具体详细介绍:飞思卡尔MC9S12X:CAN发送配置 int MSCAN0_Send(struct can_msg msg); 3. CAN接收函数 具体详细介绍:飞思卡尔MC9S12X:CAN接收配置 int MSCAN0_Receive(struct can_msg msg); 二、CAN驱动函数在主函数中的应用 以上已经详细介绍了CAN驱动函数的配置,但是具体怎么使用我们还不知道,接下来具体介绍CAN驱动函数在主函数中的应用。 具
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved