王征宇,章少云
(1.中国电子科技集团公司第五十八所,江苏无锡 214072;2.无锡江南计算技术研究所,江苏无锡 214083)
看门狗(WDT,Watch Dog Timer)本质上是一个监视定时器,通常用于智能仪表中,以提高仪表可靠性及抗外界干扰能力。看门狗具有固定的定时时间,当定时时间计满(溢出)时,电路就产生复位信号或中断信号。程序正常运行时,在小于定时时间间隔内,单片机输出一个信号用于刷新定时器,使得定时器处于不断重新定时的过程中,这样看门狗就不会产生复位信号或中断信号。而当程序因出现干扰“跑飞”时,单片机无法刷新定时器,就可以通过看门狗溢出产生复位信号或中断信号使单片机复位或中断,由中断处理程序使其返回到起始点,以使程序恢复正常运行。看门狗也可以用于将器件从休眠或空闲模式下唤醒。
看门狗的溢出时间是看门狗电路一项重要的技术指标,程序设计者必须在看门狗的溢出时间内适时给WDT清零(也称喂狗),才能保证正常运转中的单片机不会因看门狗溢出造成异常复位。但通常看门狗的溢出时间为几十毫秒到几秒,使用ATE测试时,常规方法是运行测试矢量,即在WDT计时开始后,等待一段时间(通常设置为WDT的溢出时间),直至WDT溢出,搜索RESET因溢出产生的低电平,如果该矢量运行结果PASS,则判定溢出时间满足规范要求,因此,在进行看门狗电路的测试时,如何较为精确地对此项参数进行评估是一个难题。本文以MAX690微处理器看门狗电路为例,讲述了基于美国Teradyne公司的J750EX测试系统对该参数进行测量的方法。
MAX690是MAXIM公司推出的一款微处理机监控器,它具有电源检测、低压复位、电源故障早期警告、后备电池切换和看门狗等功能,能直接与MCS-51/96系列单片机相连。这款电路中内设的0~1.6 s可调节看门狗定时器,可以在微处理器出现某种干扰造成程序紊乱时,迫使系统复位。
MAX690的管脚排列见图1,引脚功能说明见表1。
图1 MAX690的管脚排列图
表1 MAX690的引脚功能说明
MAX690的典型应用如图2所示。
图2 MAX690的典型应用图
MAX690具有以下主要特点:(1)精确的电压监控器(4.65 V);(2)电源 OK/RESET 时间延迟为 50 ms,200 ms或可变;(3) 看门狗计时器 100 ms,1.6 s或可变;(4)需要最少元件数量;(5)等待状态电流为 1 μA;(6)备用电池电源切换;(7)芯片使能信号的在线选通;(8)对电源故障的电源监控或电池电压过低报警。
作为微处理机监控器,MAX690的主要功能如下。
2.4.1 RESET输出
RESET为低电平有效输出信号,当VCC下降到4.5 V以下时,RESET变低,并且保持低电平,直到VCC上升到4.75 V,并持续50 ms才变高。如果看门狗计时器已开启,且WDT保持高电平或低电平时间超过看门狗溢出时间时,则RESET也变低。图3为复位功能框图,图4为其波形图。
图3 复位功能框图
图4 复位波形图
2.4.2 备用电池切换
MAX690内部带有备用电池切换电路,可以对VCC和VBATT输入进行比较,然后将VOUT连接到电压较高的一端。当VCC下降到高于VBATT输入50 mV时,或当VCC上升到高于VBATT输入70 mV时,电路进行切换。
在实际使用中,如果不使用备用电池切换部分,可将VBATT连接到GND端,将VOUT连接到VCC端。图5为备用电池切换框图。
图5 备用电池切换框图
2.4.3 电源故障报警
电源故障输入PFI和内部1.3 V基准电压进行比较,当PFI的电压低于1.3 V时,电源故障输出PFO变低,该电平用于中断微控制器,以便在VCC下降到4.75 V且RESET输出变低以前,将数据存储到RAM中,达到保护的目的。
MAX690的部分电特性如表2所示。
表2 电特性
MAX690的看门狗计时器的溢出时间为1.6s,如果WDI为高或低的时间超过1.6 s,RESET脚上就会产生一个脉冲信号,用于送给微处理器。这个1.6 s的溢出时间是衡量看门狗的一项重要指标,在ATE测试时,通常这项指标的评价都会采用运行功能加以测试的方法,即由测试系统给WDI送1.6 s的高或低电平,观测RESET脚上达到看门狗溢出时产生的脉冲信号,如果此功能PASS,即可判定该项指标正常。但实际操作时,因为电路批次的差异性,无法做到从WDI精确输入1.6 s高或低电平,因此只能在一定范围内验证此项指标正常与否。而利用Teradyne公司的J750EX测试系统,只需使用其DSIO模块就可以较为精确地测试出看门狗计时器的溢出时间。
DSIO是Digital Signal Input/Output(数字信号输入/输出)模块的简称,此模块可以用于数字信号的发送(source)、抓取(capture)及分析(analyze)等操作,是J750EX测试系统中十分重要的一个组件。
DSIO模块可以轻松实现转换测试需要输入的高速数字波形,器件寄存器需要动态写入的数字数据,独立存在于数字测试矢量中的数据发送,以及对上述各类数据的抓取等操作,应用方法十分灵活。对MAX690的测试就采用了DSIO可以独立于测试矢量、对个别管脚单独抓取所需的数字数据这一功能。
3.2.1 硬件设计
设计MAX690的测试DUT板时,只需考虑按照DSIO模块所在的测试系统digital board位置,合理分配使用该位置的测试系统通道即可。测试DUT板实物如图6所示。
图6 MAX690测试DUT板
3.2.2 软件设计
对MAX690进行测试程序开发时,除完成常规设置,即采用J750EX测试系统的IG-XL软件对MAX690进行PIN脚定义、系统通道定义、输入/输出脚位电平、信号的时序设置等外,还需要使用J750EX系统的VBT编程环境对DSIO进行必要的配置,来完成相应的控制操作。具体实施步骤如下:
(1)按照J750EX的标准编程方法,完成对MAX690的PIN脚定义、系统通道定义、PIN LEVELS、TIME SET、TEST INSTANCE、TEST FLOW等的设置;
(2)编写测试矢量,设置RESET脚为DSIO的数据capture端(digcap),在看门狗计时器溢出前,使用DSIO的专用微控制指令“shift”将RESET脚的输出数据由J750EX系统的交替数据总线移位到J750EX系统的输入锁存器中,经过一定时间(RESET脚已输出低电平)后,再使用“store”指令将输入锁存器中的数据存储到J750EX系统的抓取存储器里,如图7所示。
图7 DSIO调用的测试矢量
(3)在J750EX测试系统的VB编程环境中调用系统资源,为MAX690施加相应的电源电压、输入电平等,载入pattern,然后控制DSIO抓取RESET脚上看门狗计时器溢出前到溢出后的输出数据。J750EX主程序中调用VB的方法如图8所示。
图8 调用VB的方法
(4)对抓取到的数据进行数据分析处理,计算出看门狗的溢出时间。
VBT测试程序的代码如下:
Dim data()As Long
Dim I As Integer
Dim Flag As Boolean
Dim Num As Long
Dim Time As Double
ReDim data(Size-1)
Call thehdw.PinLevels.ConnectAllPins
Call thehdw.PinLevels.ApplyPower
Call thehdw.Digital.Timing.Load
thehdw.Digital.Patgen.TimeoutEnable=True
thehdw.Digital.Patterns.Pat(Pat_File).Load
thehdw.DSIO.CaptureUnloadAllSegments
Call thehdw.DSIO.Pins(CapPin).Capture.Reserve Segment(Pat_File,"Cap1",Size)
Call thehdw.DSIO.Pins(CapPin).Capture.Active Segment(Pat_File,"Cap1")
thehdw.Digital.Patterns.Pat(Pat_File).Start""
thehdw.Digital.Patgen.HaltWait
Call thehdw.DSIO.Pins (CapPin).Capture.Read Segment(Pat_File,"Cap1",0,data)
thehdw.PinLevels.PowerDown
'Flag=True
'If data(0)=0 Then Flag=False
Num=0
For I=0 To 4899
If data(I)<> 0 Then
Num=Num+1
End If
Next I
Time=Num*31*0.00001
程序设计逻辑框图见图9。
看门狗计时器的溢出时间是评价WDT性能优劣的一项重要指标,使用ATE对其进行测试时,通常采用功能测试方法,无法对其进行精确测量,而采用Teradyne公司J750EX测试系统的DSIO模块,可以十分简便、高效地解决这一难题。本文以MAXIM公司的MAX690为例,介绍了一种应用DSIO模块动态抓取器件输出数据,并通过对获得的数据进行分析处理从而实现对WDT溢出时间指标进行精确评价的方法,使得WDT的此项关键参数在ATE上得以实现精确测量,以满足WDT应用的迫切需求。
[1]Neamen,D A.电子电路分析与设计——模拟电子技术[M].北京:清华大学出版社,2009:118-167.
[2]Microprocessor Supervisory Circuits MAX690/91/92/93/94/95[P].MAXIM,Inc.