LabVIEWCompactRIO 开发指南10

确保可靠性与看门狗定时器

在设计将要部署的嵌入式系统时,考虑纳入看门狗定时器以确保可靠性。看门狗定时器是一个硬件计数器,它与嵌入式软件应用程序接口,用于检测和从软件故障中恢复。软件故障的一个例子是应用程序内存不足,导致应用程序挂起或崩溃。即使您遵循了前一节中列出的管理内存的最佳实践,有一个备份计划总是很重要的。

所有CompactRIO和NI单板RIO控制器包括一个硬件定时器,可以从LabVIEW实时模块访问。在正常操作期间,软件应用程序启动硬件计时器,以已知增量从特定数字开始倒计时,并定义计时器达到零时要采取的操作。应用程序启动看门狗定时器后,定时复位定时器,保证定时器不归零,如图3.31所示。

图3.31 当应用程序按时响应时,应用程序会周期性地重置看门狗定时器

如果一个软件故障阻止了应用程序重新设置定时器,超时最终会过期,因为硬件计数器是独立于软件的,因此会继续倒数直到达到零。看门狗定时器超时后,硬件触发恢复过程,如图3.32所示。

图3.32 当看门狗定时器到期时,硬件定时器触发恢复过程

在准备部署嵌入式系统时,可以从两个选项中选择在LabVIEW中实现基于硬件的看门狗定时器。可以使用LabVIEW实时模块访问所有Compact RIO和NI单板RIO控制器中可用的内置看门狗硬件,或者可以使用LabVIEW FPGA模块实现自己的看门狗定时器。如果正在从LabVIEW FPGA VI写入任何硬件输出,那么在LabVIEW FPGA中实现看门狗定时器可能是有益的。如果出现问题,可以立即可靠地将所有硬件输出置于安全状态。每个选项将在下面的小节中更详细地描述。

实时看门狗

LabVIEW实时看门狗使用内置在实时控制器中的硬件计数器,该计数器与嵌入式软件应用程序接口。RT Watchdog API可以在Real-Time函数选板中找到,如图3.33所示。

图3.33 RT Watchdog API与CompactRIO和NI单板RIO控制器内置的硬件计数器接口

使用RT Watchdog API编程时,首先需要配置看门狗并设置超时值。超时值的适当范围取决于嵌入式应用程序的特定性能特征和正常运行时间要求。必须将超时时间设置得足够长,以便它不会由于可接受的系统抖动级别而过期。但是,也必须将超时设置得足够短,以便系统能够足够快地从故障中恢复,以满足系统正常运行时间要求。

图3.34设置看门狗超时时间为10秒

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

LabVIEW CompactRIO 开发指南10 确保可靠性与看门狗定时器相关推荐

  1. LabVIEW CompactRIO 开发指南 3 选择CompactRIO编程模式

    第二章 选择CompactRIO编程模式 第一章中介绍的CompactRIO架构为我们提供了通过LabVIEW FPGA定制FPGA硬件或使用NI CompactRIO扫描模式来实现I/O的选项.如果 ...

  2. LabVIEW CompactRIO 开发指南2 CompactRIO软件架构

    第一章 CompactRIO软件架构 几乎所有的CompactRIO系统都至少有三个顶层VIs在三个不同的目标上异步执行:FPGA.实时操作系统(RTOS)和主机PC.如果开始软件开发时没有某种架构或 ...

  3. 【51单片机快速入门指南】8:看门狗定时器(WDT)

    目录 硬知识 测试程序 main.c 现象 普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9. ...

  4. Keil5 平台 S3C2440裸机程序开发-----看门狗定时器

    目录 前言 一.看门狗定时器配置 二.源码 前言 本博文介绍mini2440开发板,在keil5平台上进行外部中断开发的一些基本配置. 一.看门狗定时器配置 PCLK=50MHz,预分频值设置为249 ...

  5. 《嵌入式 – GD32开发实战指南》第17章 看门狗

    开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK GD32 有两个看门狗,一个是独立看门狗,另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看 ...

  6. Exynos4412裸机开发 —— 看门狗定时器

    http://blog.csdn.net/zqixiao_09/article/details/50755286 转载于:https://www.cnblogs.com/tureno/articles ...

  7. 【致敬未来的攻城狮计划】第2期定向赠书《RT-Thread设备驱动开发指南》+ 《GD32 MCU原理及固件库开发指南》

    开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯(超链接:http://yyds.recan-li.cn)和 瑞萨MCU (超链接:瑞萨电子 (Renesas Electronics ...

  8. 单片机开发:不得不了解的看门狗电路

    在单片机学习.开发中,我们不可避免地要接触看门狗电路,那看门狗电路是什么呢?你掌握了吗? 看门狗是什么? 看门狗是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的 ...

  9. ARM芯片开发(S5PV210芯片)——定时器、看门狗、RTC

    1.计数器 计数器就是每隔一段固定的时间计数值就加一,于是我们可以根据计数值来计算时间:经过的时间=计数值x计数时间间隔. 2.定时器 2.1.定时器介绍 定时器具有计时的功能,类似于我们手机自带的倒 ...

最新文章

  1. ZZ: How to remove 'Open in Windows Explorer' from the 'Actions Menu'
  2. RuoYi(若依开源框架)-前后台分离版-后端流程简单分析
  3. java 获取上下文_如何获得spring上下文的方法总结
  4. why SAP OData default 100 entries are returned
  5. [转]Centos 安装Sublime text 3
  6. linux服务器之LVS、Nginx和HAProxy负载均衡器对比
  7. 微信小程序语音播放功能的实现
  8. Windows自带工具提取颜色得到十六进制颜色码
  9. RC电路 CR电路 理解
  10. P1179 数字统计
  11. C++标准模板库(STL)(3) 之 vector map容器快速学习 (自学笔记)
  12. BUUCTF Cipher writeup
  13. 【数据库系统】、【数据库】与【数据库管理系统】的区别
  14. 7-22 循环日程表
  15. 关于springmvc项目一加入validation-api包就报错的解决方法
  16. 潜心研究即时通讯软件,基于企业im源码 分享
  17. 谷歌浏览器如何安装链克袋鼠插件
  18. 空值排序与时间倒叙问题
  19. MySQL的事务总结(事务特性,隔离级别,脏读,不可重复读,幻读,常见问题)
  20. 航班信息查询和检索系统

热门文章

  1. 企业培训考试、知识竞赛、考评考核,倾力支持
  2. [ aardio笔记 ] (一)基本使用、调用python与下拉框
  3. arduino入门教程系列一:初识arduino
  4. ONNX 模型的静态量化和动态量化
  5. 浅析ReentLock的使用
  6. 动态规划--from zpz
  7. python内建常用函数
  8. 【2018.10.12】冥土追魂
  9. 火车车次查询API 二
  10. 对2022年TI杯的记录