全文字数1365 | 阅读需要3分钟
关键词:Watchdog Timer、WDT、看门狗定时器、BMC、SEMA
导读
PXI(e)控制器的规格除了外观可见的IO接口(Display、USB、Ethernet….etc)之外,通常还会具有Watchdog Timer(WDT、看门狗定时器)功能,这是由控制器内部的硬件所实现而成,可能是一颗独立的Watchdog Timer芯片,或是一颗BMC (Baseboard Management Controller,基板管理控制器) 芯片提供的Watchdog Timer功能。
PXI(e)测试测量系统经常需要长时间运行,因此控制器有可能会出现宕机,或是测试程序不明原因停止运行,或是测试程序进入死循环、测试程序跑飞等异常现象。Watchdog Timer的功能是用于当这些异常发生时,提供控制器自动重启,做为一个系统安全的保护机制。
Watchdog Timer的工作原理
Watchdog Timer是一个定时器电路,如图1所示, 具有一个输入管脚称之为Restart,用于清除定时器的计数,而且具有一个输出管脚称之为Timeout,用于输出复位信号给CPU。当CPU正常工作的时候,每隔一段时间周期性的会输出Restart信号给Watchdog Timer,用于将定时器的计数清为零,若超过规定的时间内没有清除定时器的计数,则会导致Watchdog Timer发生超时,此时会送出复位信号给CPU做自动重启。
图 1 Watchdog Timer的概述图
Watchdog Timer的工作时序如图2所示,其中tWD代表超时时间,可以经由程序设定此参数。系统正常运行条件下,CPU会周期性的发送脉冲信号给Watchdog Timer,用于将定时器的计数清为零。若系统发生异常,导致超过规定的时间内(即tWD)没有送出脉冲信号,就会造成Wachdog Timer超时,此时会送出复位信号给CPU。
图 2 Watchdog Timer的工作时序图
PXI-63980/63930控制器提供的Watchdog Timer功能
PXI-63980/63930控制器具有一颗独立的Watchdog Timer芯片,用户可以在凌华科技的官网下载WDT driver,安装完成后,重新启动进入BIOS setup menu,将Watchdog Timer选项Enabled (默认值为Disabled),即可以通过API去配置WDT,同时查阅用户手册去了解每个API的功能描述,总共以下五个API:
i. InitWDT : 初始化WDT
ii. SetWDT : 设定WDT的超时时间(tWD)
iii. StartWDT : 启动WDT
iv. ResetWDT: 清除WDT, 重新计数。
v. StopWDT: 停止WDT
PXIe-63987/63937控制器提供的Watchdog Timer功能
PXIe-63987/63937控制器提供的watchdog timer功能是由一颗BMC所实现,用户需要在凌华科技的官网下载SEMA软件。
SEMA(Smart Embedded Management Agent,嵌入式智慧管理平台)是凌华科技开发的软件。用于监测并收集PXI控制器的效能与状态信息,让用户取得这些信息后可以做对应的安全防护程序设计。
PXIe-63987/63937控制器的BIOS配置Watchdog Timer默认值为 Enabled,因此SEMA软件下载安装完成后, 即可通过API去配置WDT。同时需要查阅SEMA Extended EAPI Programming Guide文件去了解每个API的功能描述,总共以下六个API:
i. SemaEApiWDogGetCap: 取得WDT的能力
ii. SemaEApiWDogStart: 设定WDT的超时时间(tWD),并且启动WDT
iii. SemaEApiWDogTrigger : 清除WDT, 重新计数。
iv. SemaEApiWDogStop : 停止WDT
v. SemaEApiPwrUpWDogStart : 启动power-up watchdog timer
vi. SemaEApiPwrUpWDogStop : 停止power-up watchdog timer
SEMA同时提供GUI接口,如图3所示,让用户可以做WDT的功能测试。
图 3 SEMA GUI
总结
对于长时间运行的PXI测试测量应用,优秀的程序设计师通常会考虑到设备的故障安全机制,Watchdog Timer提供的安全机制,可以重设一个冻结的测试程序或宕机的控制器,将系统调整到安全状态。没有人会刻意设计会冻结的测试程序,因此未雨绸缪的设计肯定是好的。若缺少这种安全机制,控制器可能会无限期地冻结,并导致更多的系统故障。
参考
【2】 SEMA 3.5 Software Manual:
【3】 SEMA 3.5 Extended EAPI Programming Guide:
Copyright © 2016-2024 JYTEK All Rights Reserved.