重置LMC555定时器延迟硬件来收集调试数据

时间:2010-04-27

  大多数微处理器有一些形式的硬件监测器,当硬件在没有注意的情况下停止执行代码时,监测器可将微处理器及其周围的硬件重置到一个已知的状态。但在重置硬件之前,它可能有利于记录固定存储器(NVM)中的监测器溢出事件用于调试。

  图1中的电路采用了两个LMC555定时器,为了保存有用的系统数据,它们延迟了硬件的重置。该电路中有微处理器专用的监测器溢出引脚——WDOVF,以及一个I/O引脚。

  LMC555定时器设置成他们的单稳态或者快捷的模式,在这种模式中,在触发脉冲输入引脚感应到一个负脉冲之前,定时器的输出都为低值。触发后,输出引脚在时间TH内变为高值,TH由一个单电阻和电容确定如下:

  为了进行恰当的定时操作,在输出高值时期结束之间,触发输入必须再次变为高值。经过TH以后,输出端变为低值,且在另一个负脉冲出现在触发引脚以前都保持低值。定时器也有一个活动的低重置引脚,切断后,不管触发引脚的输入水平,该引脚都保持输出低值。它也为下一个时间周期重置了定时器的内部触发器。

  个LMC555探测到来自微控制器的监测器溢出触发,提供一个延迟,这允许固件在重置之前记录各种系统参数。第二个LMC555允许固件阻止紧急硬件重置。它是通过使WDOVF_CLEAR信号在少时间段保持低值来实现的,这一时间的长短是由个定时器集成电路用到的内部RC元件决定的。

  图2表示的是两个独立的监测器溢出事件发生的时间。个事件表明重置脉冲被延迟,没有重置硬件,第二个事件表明在预定的时间延迟过后发出重置脉冲。图示时间是用来自图1的RC元件值和来自Atmel微控制器的监测器溢出脉冲计算的TH,个定时器的TH为:

  同样,第二个定时器的TH为:

  系列电容器C3,上升电阻器R3及二极管D1保证了第二个定时器的触发TRG_2在定时器的输出端OUT_1处发生高-低转变之时都将保持高值。上升电阻器在OUT_1进行高-低转变之后给系列电容器充电,直到达到电源电压。与上升电阻和系列电容相关的RC时间常数要小于第二定时器的输出高值的周期。二极管使得第二定时器的触发引脚的输入电压升为电源电压。

  在该例子中,当发生监测器溢出事件时,设定微控制器发出一个相关的短的低活跃度的脉冲输入专门的引脚,产生一个内部中断。一旦发生该事件,代码跳至中断服务程序,运行代码中几个特定的行。这些包括清除中断标记,通过保持WDOVF_CLEAR I/O引脚来阻止紧急硬件重置,将调试数据保存到NVM,防止中断,以及重置监测器溢出定时器。

  在这种情况下,硬件监测事件,连同其他由事件决定的信息,都存储在NVM中以便将来查看。当监测定时器停止一秒钟时,它会绕过中断服务程序,终重置硬件。


  
上一篇:芯片生产中的“过程能力指数”分析
下一篇:利用双节点位置检测技术提高LIN总线性能

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料