任何嵌入式设计中最重要的功能之一是确保正确保存重要数据,并在电源故障时系统达到安全/已知状态。具有电压检测输入的CPU监控器可以监控上游电压电源,并向微处理器提供警告信号,指示电源故障。这允许微处理器有时间保存关键数据,并在CPU监控器(也将监视处理器的电源)重置处理器之前达到安全/已知状态。本应用笔记介绍了如何在上游电源的跳变电平上增加迟滞,以防止电源故障警告信号因噪声而颤振。该电路为生产复杂的电源监控系统提供了很好的工具,有助于产生鲁棒的嵌入式设计。
CPU 管理引擎基础知识
基本 CPU 管理引擎监视处理器的 VCC,并在 VCC 降至预定级别 VCCTP 以下时重置处理器。VCCTP通常比标称VCC值低5-20%。此功能可防止处理器在 VCC 低于处理器的指定电源电压范围时运行。大多数 CPU 监控器还提供复位延迟,在 VCC 达到其指定值后,处理器的复位线保持活动状态几毫秒。这允许在向处理器通电后,复位在短时间内保持活动状态,以便外设准备好进行通信,并且它为电源提供了在处理器开始执行之前稳定的机会。
这些功能本身有助于产生相当强大的电力监控系统;但是,由于电源故障,仍然会出现问题,因为复位线将在V后立即设置为活动状态抄送低于 VCCTP.由于没有警告信号允许处理器保存重要数据并达到安全状态,因此无法确保系统已准备好进行复位。
电压检测输入
CPU监控器内的电压检测输入是具有内部温度和电压补偿基准的比较器。内部基准电压(参考电压为 V裁判在下面的公式中)通常为1.25V或2.5V。通过将电压检测输入与外部分压器一起使用,监控器可以提供可调节的跳闸电平监视器,可以检测高电压。图1所示为无迟滞的经典电压监控器。在该电路中,每当V时,不可屏蔽的中断输出(“NMI-bar”)被置位在低于 V在跳闸级别(V英特普) 使用公式 1 计算。
图1.经典的电压检测电路。
在利用稳压器从上游电源生成微处理器VCC的系统中,可以使用具有电压检测输入的CPU监控器来监控上游电源。当上游电源的电压开始下降时,会在微处理器的稳压器输出超出规格之前检测到。这为微处理器准备即将发生的电源故障提供了时间。
在达拉斯半导体的CPU监控器上,电压检测输入通常标记为IN,其相应的输出(旨在路由到微处理器的不可屏蔽中断输入)标记为“NMI-bar”。应该注意的是,这些设备的“NMI-bar”输出并不总是互补输出。例如,DS1831具有漏极开路输出,在“RST-bar”和“NMI-bar”上都需要一个上拉电阻。有关带电压检测输入的监控器列表,请参见图2。
DS1231 | DS1238 | DS1238A | DS1239 |
DS1705 | DS1706 | DS1707 | DS1708 |
DS1831 | DS1831A | DS1831B | DS1831C |
DS1831D | DS1831E |
向CPU监控器电压检测输入添加迟滞
达拉斯半导体CPU监控器上的电压检测输入不提供任何内部迟滞,但通过增加一个反馈电阻(如图3所示),可以增加迟滞。等式 2 和 3 计算 V在具有附加滞后的跳变点。电压高于 VINTP_PG将导致“NMI-bar”被取消断言,因为电源处于足够的水平。电压低于 VINTP_PF将断言“NMI-bar”以指示电源故障。公式4计算反馈电阻增加到电路中的迟滞量。这表明减小反馈电阻的值会增加迟滞量。图4显示了作为V函数的迟滞在.
图3.带迟滞的高压监视器。
图4.“NMI-bar”输出滞后作为V的函数在.
示例电路显示MAX1615稳压器,配置为使用5/“3 bar”输入提供5.0V电源。稳压器的电压输入VIN由DS1707的电压检测输入(DS1707的VREF = 1.25V,典型值)监视。DS1707由图3所示电阻配置,允许在VIN > VINTP_PG = 8.32V时工作。当 VIN < VINTP_PF = 8.04V 时,“NMI-bar”输出将被置位,以通知处理器 VIN 电源出现故障。该设置提供280mV的迟滞,以防止“NMI-bar”输出在VIN可能具有中等噪声的情况下长时间保持在监控跳变点附近时抖动。除了监测VIN外,DS1707还监测MAX1615的输出(VCC),以确保其保持在DS1707的5.0V 10%跳变电平之上。
处理“NMI-bar”中断
在这种情况下,“NMI-bar”中断的目的是确保处理器在上游电源发生故障时正常关闭自身,这最终将导致 3.3V/5V 电源发生故障。一种简单的方法是保存应用程序的所有数据,使应用程序进入安全状态,并停止执行,直到电源恢复。图 5 显示了完成此任务的伪代码。
图5.“NMI-bar”中断服务例程的伪代码
保存应用程序的数据
关机应用程序(将系统置于安全关机状态,通知用户等)
如果(“NMI-bar”> = 1)
则电源已恢复:从上次中断的位置继续执行或重新启动应用程序
否则 上行功率仍低于跳闸电平:继续轮询“NMI-bar”,直到 3.3V/5V 电源故障或上游功率回升至跳闸电平以上。
如图5所示,可以轮询“NMI-bar”引脚以确定电源是否已恢复或仍低于跳变电平(VINTP_PG).如果它低于行程水平,它可以表示 V在仍在下降,但处于足够高的电压水平,稳压器可以保持V抄送,或者电源处于“变电”状态。如果下降得足够远,稳压器将无法再提供V抄送到DS1707容差范围内的系统,这将复位处理器。如果上游功率回升至以上(VINTP_PG),应用程序可以从头开始重新启动,也可以从中断的位置重新启动,具体取决于系统的要求。在对该算法进行编程时要记住的关键事项是情况的时机。当电源故障时,处理器保存数据并达到安全状态所需的时间将取决于系统。因此,该算法应尽可能短,并经过广泛测试,以确保该例程在DS1707关断应用之前关闭应用并轮询“NMI-bar”引脚,因为V抄送失败了。
结论
迟滞可以通过利用反馈电阻器添加到任何电压检测输入。如果输入电压悬停在跳变点附近,迟滞可防止CPU监控器的“NMI-bar”输出因噪声而颤振。这提高了“NMI-bar”输出信号的质量,该信号用作电源故障的预警。当处理器收到“NMI-bar”中断时,它可以保存关键数据并达到定义的状态,然后随着电压继续下降而最终复位。通过允许处理器在电源故障之前每次达到相同的安全状态,电源故障情况下的系统行为变得可预测且可靠。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !