1 DSP复位的特点以及对监控芯片的要求
在进行讨论之前,有必要简单介绍F206的复位特点。对于F206而言,复位是不可屏蔽的外部中断(中断矢量地址0000H),随时可用它将F206置于一种已知状态。复位是优先级别最高的中断,一般在加电后芯片处于未知状态时对其复位。因为复位信号中止存储器操作并初始化各硬件状态位,所以每次复位后系统应重新运行初始化程序。
在严格的意义上,F206的复位源只有1个,即复位引脚RS产生1个低电平脉冲信号,使芯片复位。为使系统在加电后能正确工作,RS端的低电平有效时间至少需要6个时钟周期。F206锁存复位脉冲并产生足够长的内部复位脉冲以确保芯片复位。在RS上升沿后16个周期,芯片完成对硬件的初始化并从0000H 单元开始执行第1条指令,通常这里是一条分支到系统初始化程序的跳转指令。
由于F206的工作时钟频率较高,加之电力故障录波器运行环境的电磁干扰比较严重,为保证设备的正常运行,必须设置硬件监控功能。
与主要用于控制领域的TMS320F24X系列芯片不同,F206芯片中并没有内置看门狗功能,所以只能使用外部硬件监控电路。在一些DPS的相关设计资料中经常使用MAX706或MAX1232硬件监控芯片,其中MAX706具有时间长达1.6 s的看门狗定时器功能,MAX1232的看门狗定时器时间则为0.2~ 1.6 s可调;此外,还具备上电复位和电源监控功能。
但是,根据我们的设计经验和对系统运行的仔细分析,使用MAX706等类似的许多硬件监控芯片存在2个需要注意的问题:第一,看门狗定时器的时间过长,MAX706的典型时间为1.6 s,也就是说,当DSP中的程序运行产生错误时,MAX706要在 1.6 s(相当于80个工频周期)后才能发出复位信号。第二,监控芯片输出的复位信号脉冲宽度过大,MAX706的典型值为200 ms(相当于10个工频周期),这主要是为了兼顾上电复位时对晶振100~300 ms稳定期的要求。
因此,从程序运行产生错误到DSP芯片完成复位,将有共计1.8 s的非受控时间,这对于对实时性要求很高的电力故障录波器来说是不能忍受的。如果在此期间电网发生故障,录波器将无法作出正确的反应。很显然,必须寻找一种具有适合看门狗定时器时间和复位脉冲宽度的硬件监控芯片。
在这里,必须明确对看门狗定时器时间的选择条件。在程序设计中,为了保证硬件监控效果,不宜过多地设置对看门狗芯片的操作,一般应在程序循环的关键部位设置1~2处对看门狗芯片的触发操作。所以,看门狗定时器的时间只要大于一个需时最长的程序循环即可。在基于F206的故障录波器中,需时最长的程序循环包含1个16点的FFT运算,整个程序循环的总时间小于2 ms。
由此看来,硬件监控电路的看门狗时间只要大于2 ms即可满足要求,过长的看门狗时间是不必要的,对保证装置的实时性也是十分不利的。
2 MAX6369~MAX6374监控芯片的原理及应用
根据以上标准,我们选用了MAXIM公司出品的MAX6374监控芯片。MAX6374是MAX6369~ MAX6374系列监控芯片中的一员。该系列芯片的看门狗定时器时间可以通过外部引脚SET2、SET1、SET0的逻辑电平进行精确调节,其引脚电平与看门狗定时器时间的关系如表1所列。
表1中的tWD 就是看门狗定时器时间,tDELAY是看门狗定时器启动延迟时间。
表1
看门狗定时器启动延迟时间tDELAY是指在系统上电到监控芯片看门狗定时器正式启动之间的时间间隔。这个功能主要用于防止系统上电后初始化时的意外复位,特别是在许多DSP系统的设计中,在系统上电后需要将固化在片外低速ROM中的程序加载到片内程序RAM中以便全速运行,看门狗定时器启动延时功能的使用就显得尤为重要。
根据前面对具体系统的分析,在此将MAX6374芯片的看门狗定时器时间调节在3 ms,也就是将选择端全部接地。MAX6374的最小复位脉冲宽度为1 ms,相当于20个DSP时钟周期(系统采用20 MHz有源晶体振荡器),完全满足F206的复位要求。需要指出的是,MAX6374监控芯片没有上电复位和电压监控功能,需要另外设计上电复位电路。图1所示是一个完整的DSP复位电路。
图1中XF端输出1 个软件复位信号。在F206的复位端(RS)接1个与门的主要目的是为了将几种复位信号隔离起来,不至于互相影响。
图1 系统复位电路
3 进一步说明
① 在对监控芯片的看门狗定时器进行触发操作时,为了保证触发的有效,必须注意触发脉冲的宽度要符合监控芯片的要求。由于DSP的时钟频率较高,加上大部分指令都是单周期指令并且采用流水线运行方式,如果采用在程序中的一个地方发脉冲触发的方式而不加以延时,往往不能满足监控芯片对触发脉冲宽度的最低要求(如MAX6374为100 ns)。为避免发生这种情况,应在程序的一点发出高电平,然后在稍远的另一点发出低电平,如此循环往复地触发看门狗定时器以保证触发信号的宽度。
② 我们在基于F206的电力故障录波器设计中使用了硬件监控芯片,其目的是在电磁干扰比较严重的工作条件下尽量保证装置运行的实时性和可靠性。但是在许多情况下,只要工作环境不是十分恶劣,并且印制板和软件设计合理,DSP系统不使用硬件监控芯片也可以非常稳定地工作。
③ 虽然本文中的讨论是围绕F206展开的,但其基本思想也适用于其它型号的DSP和对实时性有较高要求的单片机系统。
④ 选择看门狗定时器时间必须充分考虑到程序设计中的中断嵌套、多重调用、查询等待、与外部低速器件(如液晶显示屏)接口等影响程序完成一个循环所需时间的各种因素并适当留有余量,否则容易产生意外的看门狗复位。具体时间应由试验决定。在设计初始阶段最稳妥的办法,是在监控芯片的时间选择端设置拨位开关,以便根据实际情况进行选择。