SemiDrive E3 MCAL 开发系列(3)– Wdg 模块的使用

一、  概述

本文将会介绍 SemiDrive E3 MCAL Wdg 模块的基本配置,并且会结合实际操作的介绍,帮助新手快速了解并掌握这个模块的使用,文中的 MCAL 是基于 PTG3.0 的版本,开发板是官方的 E3640 网关板。

 

二、  Wdg 模块的主要配置

Wdg 模块的配置主要有两大部分,一个是通用配置,另一个是针对每个 Wdg 实例的配置,我们先看通用配置,具体配置如图 2.1 所示。

图 2.1 Wdg 模块通用配置
 

关于以上配置选项的说明如下:

  • WdgDevErrorDetect:勾选决定是否使能 Wdg 模块的 Dev 错误检测功能
  • WdgDisableAllowed:勾选决定是否允许关闭看门狗功能
  • WdgInitialTimeout:配置看门狗的初始超时时间,单位为秒,最大可以配置为 65.535 秒
  • WdgMaxTimeout:配置看门狗的最大超时时间,单位为秒,最大可以配置为 65.535 秒,Det 检查时会用到。
  • WdgRunArea,该功能目前不支持,不需配置。

接着针对每个 Wdg 实例进行配置,首先添加 Wdg 实际,操作如图 2.2 所示。

图 2.2 添加 Wdg 实例
 

接着如图 2.3 所示,进入 Wdg 具体实例的配置界面。

图 2.3 进入 Wdg 实例配置界面
 

如图 2.4 和图 2.5 所示为 Wdg 实例的配置界面,

图 2.4 Wdg 模块实例配置一
 

图 2.5 Wdg 模块实例配置二
 

具体每个配置项的作用如下:

  • WdgChannelId:这个是自增的 ID,用户无需修改,改了会报错
  • WdgDefaultMode:该 Wdg 模块调用初始化接口后的默认工作模式,总共有三种可以选择,WDGIF_FAST_MODE 和 WDGIF_SLOW_MODE 这两种模式本质上没有区别,对应两套配置,这两套配置的参数都是独立的,具体如图 2.5 所示。看门狗初始化后超时时间参数还是 WdgInitialTimeout 配置的时间,如果需要使用 Fast/Slow 模式下的时间参数,可以调用 Wdg_140_Instance(x)_Wdg_SetMode() 或者 Wdg_140_Instance(x)_SetTriggerCondition()。 除此之外还有 WDGIF_OFF_MODE,该模式会把超时值设置为 0,而 Wdg 是从 1 开始计数的,因此 0 永远不能达到,故不会发生超时。
  • WdgInstanceIndex:选择使用哪个看门狗
  • WdgTimeoutNotification:看门狗的中断回调函数
  • WdgExternalSignalApi:可以配置一个 Gpio,超时后电平从高拉到低
  • WdgClockFrequency:Wdg 的时钟,为 24MHz,不可修改
  • WdgTimeoutPreiod:Fast/Slow 模式下的超时时间,单位为 ms。
  • WdgTimeoutBehavior:Wdg 模块超时后的行为,可以选择复位、中断、或者两者都执行。
  • WdgTiggerCondition:可以配置为 NO_CONDITION_MODE 或者 WINDOW_BASED_MODE,前者为普通模式,后者为窗口模式。
  • WdgRefleshTime:用来配置窗口模式的时间,超过这个值才可以进行喂狗,单位为 ms,最大可以配置为 65535。

 

三、  实际操作

下面我们基于 MCAL 3.0 的例程来进行 Wdg 模块的验证,基于我们上面的 Wdg 模块配置,我们配置 Wdg4 的超时时间为 1200 ms,触发动作为中断,我们在例程中对 Wdg4 进行初始化并且设置为 Fast 模式,然后不进行喂狗,这样的话会每 1.2 s 进入一次中断函数,我们在中断回调函数中进行打印,具体测试代码如图 3.1 所示。

图 3.1 看门狗的测试代码
 

接着进行实际操作,将代码烧录到板子后启动运行,在串口终端中输入命令“runcase 1500”,此时会运行 sint32_Wdg4_irq_test1 这个函数,可以看到串口会每隔 1.2 s 打印一次 WDT4_IRQ,如图 3.2 所示。

图 3.2 串口打印

 

四、  使用注意事项

E3 的 Wdg 模块在使用上有以下注意事项:

  • E3 系列 MCU 最多支持 7 个 WatchDog,其中 WatchDog1~6 支持中断和重启,WatchDog8 只支持中断。
  • 当触发重启操作时,除了 RTC 域以外其他域全部重新上电。
  • 当 WdgTimeoutBehavior 模式选择为 Both 时,在系统重启前会先触发中断,中断和重启之间的间隔是固定的,大约 7 ms。
  • 每个看门狗只允许在一个核中运行,禁止调用其他核的看门狗。
  • 在窗口模式下,如果没有在窗口内喂狗会失败,并且没有提示信息。
  • 如果某路看门狗未配置,禁止调用这路看门狗的任何接口
  • Wdg 的时钟取决于 FS_24M 的配置,如果配置为 RC,看门狗时钟为 RC 24M,如果配置为 FS_24M,则看门狗时钟为外部晶振 24M。

 

五、  参考资料

1.《Semidrive_Wdg_User_Manual.pdf》,2022.05

2.《SemiDrive_E3_MCAL_User_Guide_Rev03.00.pdf》,2023.08

 

登录大大通,了解更多详情,解锁1500+完整应用方案,更有大联大700+FAE在线答疑解惑! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/266608.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

buuctf_misc_九连环

题目:(一张123456cry.jpg) 这个先直接上kali,图片已改名cry.jpg 在上一篇,我留存了kali文件夹下有"叉"打不开的问题,经查阅,已解决: http://t.csdnimg.cn/bgv4T 输入&a…

浅谈消防设备电源监控系统在某卷烟厂中的应用

彭姝麟 Acrelpsl 1、工程概况 某卷烟厂进行异地技术升级改造,规划新建厂区占地约 120 000m 2 ,新建联合生产工房 49 000m 2 ,动力中心 7 500m 2 ,香精香料库 720m 2 ,片烟醇化库22 500m 2 ,生产指挥中心7 …

docker (十二)-私有仓库

docker registry 我们可以使用docker push将自己的image推送到docker hub中进行共享,但是在实际工作中,很多公司的代码不能上传到公开的仓库中,因此我们可以创建自己的镜像仓库。 docker 官网提供了一个docker registry的私有仓库项目&#…

qt-C++笔记之使用QProcess去执行一个可执行文件时指定动态库所存放的文件夹lib的路径

qt-C笔记之使用QProcess去执行一个可执行文件时指定动态库所存放的文件夹lib的路径 参考博文: 1.C笔记之执行一个可执行文件时指定动态库所存放的文件夹lib的路径 2.Linux笔记之LD_LIBRARY_PATH详解 3.qt-C笔记之使用QProcess去执行一个可执行文件时指定动态库所存放…

华为HCIP Datacom H12-821 卷3

1.单选题 四台路由器运行 IS-IS 且已经建立邻接关系,区域号和路由器的等级如图中标记,则 R4到达 10.0.2.2/32 的的 Cost 值为多少? A、40 B、10 C、20 D、30 正确答案: D 解析: 由于没有配置路由渗透,所以R4会选择…

springboot-基础-eclipse配置+helloword示例

备份笔记。所有代码都是2019年测试通过的,如有问题请自行搜索解决! 下一篇:springboot-基础-添加model和controller的简单例子常用注解含义 目录 配置helloword示例新建项目创建文件 配置 spring boot官方有定制版eclipse,也就是…

主数据管理是数字化转型成功的基石——江淮汽车案例分享

汽车行业数字化转型的背景 在新冠疫情导火索的影响下,经济全球化政治基础逐渐动摇。作为全球最大的汽车市场,我国的汽车市场逐渐由增量转为存量市场。 在数字化改革大背景下,随着工业4.0时代的到来,江淮汽车集团力争实现十四五数…

Java的运行机制与Java开发环境的搭建

1.编译和执行 首先通过文本编辑器编写源程序(后缀为.java),再利用编译器编译成字节码文件(后缀为.class),最后利用虚拟机也叫解释器解释执行。 2.JVM、JRE和JDK的区别 简单来说, ①JVM 提供了运行 Java 程…

小狐狸chat2.7.2免授权修复版可用版

小狐狸chat2.7.2免授权修复版可用版 在网络上面找了好几个版本不能使用,今天发布这个仔细测试正常使用 主要功能:独立版无限多开支持分销会员充值自己APP打包小程序万能创作MJ绘图多个国内接口 国外很火的ChatGPT,这是一种基于人工智能技术…

百度SEO工具,自动更新网站的工具

在网站SEO的过程中,不断更新网站内容是提升排名和吸引流量的关键之一。而对于大多数网站管理员来说,频繁手动更新文章并进行SEO优化可能会是一项繁琐且耗时的任务。针对这一问题,百度自动更新文章SEO工具应运而生,它能够帮助网站管…

【EI会议征稿通知】第五届计算机信息和大数据应用国际学术会议(CIBDA 2024)

第五届计算机信息和大数据应用国际学术会议(CIBDA 2024) 2024 5th International Conference on Computer Information and Big Data Applications 第五届计算机信息和大数据应用国际学术会议(CIBDA 2024)将于2024年3月22-24日在…

5G时代对于工业化场景应用有什么改善

5G 不仅仅是 4G 的技术升级,而是将平板电脑和智能手机的技术升级。除了更好的高清视频流和其他高带宽应用,消费者不会注意到很多性能差异。然而,在工业领域,5G 代表着巨大的飞跃。 在工厂和厂房内, 设备的Wi-Fi 网络经…

2024年工控人职场求生之路

2024年,眼看项目多了活儿忙了 工控工程师们开始上演飞驰人生 不是跑去客户那里调设备 就是在电脑上搭项目做画面搭系统 每天都过热辣滚烫 你说忙吧,每天也就干那些事儿 你说多有成就感呐 我觉得我能有绝对的主导权和话语权 那都是天方夜谭 2024年…

php 把数字转化为大写中文

1. 120002129.25 转化后壹億贰仟萬贰仟壹佰贰拾玖圆贰角伍分2. 12000.2145 转化后壹萬贰仟圆贰角壹分肆厘伍毫3. 1020001211 转化后壹拾億贰仟萬壹仟贰佰壹拾壹圆整大致思路这样的: 从小数点分割成两部分,整数部分和小数部分分别处理。 整数四个一组进行处理,用substr函数分…

进制转换md5绕过 [安洵杯 2019]easy_web1

打开题目 在查看url的时候得到了一串类似编码的东西,源码那里也是一堆base64,但是转换成图片就是网页上我们看见的那个表情包 ?imgTXpVek5UTTFNbVUzTURabE5qYz0&cmd 我们可以先试把前面的img那串解码了 解码的时候发现长度不够,那我们…

Android实现CoverFlow效果控件的实例代码

计算概率分布的相关参数时,一般使用 scipy 包,常用的函数包括以下几个: pdf:连续随机分布的概率密度函数 pmf:离散随机分布的概率密度函数 cdf:累计分布函数 百分位函数(累计分布函数的逆函…

(科目三)计算机操作系统

1、操作系统的基本概念及功能 1.1概念 一、操作系统的概念 操作系统是运行在裸机之上的,控制和管理计算机硬件和软件资源、合理组织计算机工作流程一级方便用户操作的程序集合。 操作系统由一套分层次的控制程序组成,是计算机硬件的一级扩充是软件系…

C++的继承和多态

继承和多态 继承继承的权限继承的子父类访问派生类的默认成员函数菱形继承(C独有)【了解】虚拟继承什么是菱形继承?菱形继承的问题是什么?什么是菱形虚拟继承?如何解决数据冗余和二义性的继承和组合的区别?…

平台工程与安全

平台工程不是为了取代DevOps,而是DevOps的进一步演进和发展。本文介绍了DevOps和平台工程,以及对于安全的意义。原文: Platform Engineering and Security: A Very Short Introduction 中国云南大理的日落 我是一名 DevOps 工程师,个人还是希…

Vue.js+SpringBoot开发社区买菜系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 数据中心模块2.1.2 菜品分类模块2.1.3 菜品档案模块2.1.4 菜品订单模块2.1.5 菜品收藏模块2.1.6 收货地址模块 2.2 可行性分析2.3 用例分析2.4 实体类设计2.4.1 菜品分类模块2.4.2 菜品档案模块2.4.3…