讨论DS1232如何用于对基于8051的系统进行微监控。该监控电路提供上电复位(POR)、手动复位(按钮)输入、看门狗定时器(选通定时器)和早期电源故障比较器。复位阈值容差可以设置为监视 5% 和 10% 电源容差系统。此外,还提供引脚可选的复位超时延迟。为了简化器件的使用,该器件包含一个软件执行程序,以显示8051处理器如何与DS1232配合使用。
介绍
Maxim的DS1232微控制器芯片是一种高度集成的解决方案,通过增加单个芯片,为您的微处理器系统增加上电复位延迟、按钮复位控制器、可靠的电源故障监控和看门狗定时器功能。该芯片还提供有源和低复位信号,以及看门狗超时周期和电压监控电平的选择性。高集成度降低了实施成本和所需的电路板空间。这些芯片采用多种封装,包括 8 引脚 mSOP、SOIC 和 DIP。
使用达拉斯半导体DS1232微型监视器的优势
上电复位延迟允许电路板资源在执行开始前稳定下来
在电路运行期间,精确控制微控制器的复位引脚始终很重要。因此,在正常工作和电路上电期间都必须控制复位引脚。许多微处理器电路的一个常见问题是,微控制器在可用的存储器和I/O资源具有稳定的电源之前就开始执行。一些芯片需要数百毫秒才能自行重置并准备好运行。如果微处理器在重置后的几微秒内开始执行,则它可能基于来自系统资源的无效输入执行。这可以通过增加一个上电复位(POR)电路来解决,该电路在复位发生后100毫秒内保持上电序列期间微处理器处于复位状态。DS1232将保持微控制器复位引脚的激活时间最短为250ms (典型值为610 ms)。此外,它可以提供高电平有效或低电平有效复位,使其与任何微处理器兼容。
按钮复位电路对瞬时开关进行去抖动,并提供稳定的复位脉冲
微处理器电路中的另一个常见问题是,不太完美的复位信号会导致微处理器多次复位,可能在复位最终稳定之前多次执行初始化例程的某些片段。在某些电路中,这是微不足道的。但是,在其他电路中,这可能会导致重大系统问题。DS1232具有内部电路,可对按钮进行去抖动,为系统提供干净的复位信号。这样就无需将单独的上电复位电路和按钮电路分别连接到复位引脚。此外,DS1232将复位引脚保持在低电平至少250 ms,以保证微处理器每次都能正确接收手动复位。
DS1232提供电源故障监测
掉电和电源故障是大多数微处理器系统的现实。由于无法避免偶尔的电源循环,因此稳健的微处理器解决方案必须考虑各种电源故障模式。DS1232监视微处理器的电源,如果出现掉电或电源完全失效,则强制微处理器进入复位状态。这保证了系统不会尝试在不规则的电源电压条件下工作,并且可以防止微处理器在真正应该等待电源电压恢复到有效状态时执行代码。
内部看门狗定时器可以复位微处理器,但外部看门狗会复位
看门狗定时器用于确保如果微处理器上运行的代码进入意外状态,则处理器将在经过一些最短的时间后复位。许多微处理器都有一个内部看门狗定时器,无需外部组件即可处理此功能。但是,内部看门狗定时器可以通过在微处理器上执行的伪随机代码来禁用。DS1232上的外部看门狗定时器不能被禁用。这让您高枕无忧,因为您知道如果微型显示器没有频闪,那么微控制器将被重置。DS1232的另一个优点是,选通周期可以改变为三种不同值之一。因此,该器件可与更快和更慢的微处理器配合使用,因为您可以将看门狗定时器编程为适合任何微控制器的速率。外部看门狗定时器的另一个优点是,选通信号位于I/O引脚上,因此对外部世界可见。这样可以更轻松地调试与看门狗相关的问题。
将DS1232与微控制器配合使用所需的硬件
DS1232的最大优点是上述所有功能都在单个封装中实现。此功能不需要复杂的芯片组。下图示出了DS1232如何与达拉斯半导体DS87C520微控制器配合使用。由于大多数系统都集成了按钮复位功能,因此只需增加DS1232、用于低电平有效输出的上拉电阻和去耦电容,以降低电源噪声导致复位的可能性。此处添加上拉电阻,因为它用于生成以下页面所示的示波器图。DS1232C87不需要DS520的/RST输出。图中的 LED 用于在 ISR(中断服务请求)提供服务时发出信号。
图1.使用DS8051作为复位控制器的1232兼容电路。
DS1232与微控制器配合使用
硬件配置完成后,DS1232开始控制上电、按钮复位、电源故障复位和看门狗定时器复位的复位信号。高电平有效(RST)和低电平有效(/RST)上电复位(POR)分别如图2和图3所示。高电平有效复位信号随V上升抄送并在 250 毫秒到 1 秒之间保持高电平。低电平有效复位保持0V,直到延迟过去,然后由上拉电阻上拉至高电平。上拉电阻是必需的,因为/RST是集电极开路输出。在下面的示例中,RST 和/RST 都需要大约 450 ms 才能变为非活动状态。
图2.上电序列期间的典型RST信号:1) V抄送2) RST。
图3.上电序列期间的典型/RST信号:1) V抄送2) /RST。
复位信号变为非活动状态后,微控制器必须在看门狗定时器过后将ST信号选通为低电平。DS1232的看门狗定时器不能被禁用,因此必须在复位信号变为非活动状态后n毫秒内禁用,否则微处理器将被复位。DS1232的看门狗超时值是可编程的,额定范围较宽。但是,ST引脚的频闪速度最好比最小看门狗超时规格快,因为它消除了快速看门狗导致系统错误复位的可能性。看门狗超时可通过根据表1调整TD引脚的值设置为三个值之一。
道明引脚状态 | 最小超时 | 典型超时 | 最大超时 |
地 | 62.5 毫秒 | 150 毫秒 | 250 毫秒 |
浮动 | 250 毫秒 | 600 毫秒 | 1000 毫秒 |
V抄送 | 500 毫秒 | 1200 毫秒 | 2000 毫秒 |
图1显示TD引脚接地,因此ST必须每62.5ms看到一个负边沿,以保证微处理器不会复位。如果以 150 毫秒的典型速率进行选通,则有可能与一个 MicroMonitor 一起使用,但不能与另一个 MicroMonitor 一起使用。包含最小值、典型值和最大值会通知最终用户看门狗的行为。对TD进行编程,使微处理器可以在ST引脚达到最小超时之前对其进行选通,并计划在最大超时内复位微控制器。典型值不适用于任何特定的微型监视器;它只是表明关键时间介于最小和最大超时值之间。因此,任何给定的微监视器的典型值范围可能介于最小和最大超时值之间。
图4(下图)显示了用于相同硬件设置的选通信号。跟踪 # 1 显示 V抄送#2 显示 ST。由于图2和图3所示的复位信号使用相同的硬件,因此复位在~460ms时被取消置位。选通信号的第一个负边沿出现在496 ms或复位变为非活动状态后36 ms。这已经足够早了,可以保证除非微控制器进入意外状态,否则看门狗不会重置系统。
图4.执行开始时的看门狗选闪信号(ST):1)V抄送2) ST.
从图5(下图)可以看出,ST信号大约每20 ms接收一次负边沿。有了更快的微处理器,没有理由不比要求更频繁地频闪。此外,在此图表中,很容易看出频闪在施加电压后496 ms开始出现。
图5.显示 ST 信号频率的变焦:1)VCC 2) ST。
DS1232还可以对瞬时开关进行去抖动,无需额外的硬件,便于添加按钮复位以覆盖系统。按钮如图1所示,其引起的RST和/RST信号如图6和图7所示。注意,按钮连接到DS1232时不会反弹,上电时复位保持的时间与复位时间大致相同(典型值为610 ms)。另请注意,按钮不需要上拉电阻,因为DS1232内置上拉电阻。
图6.按钮导致复位而不反弹:1) /PBRST 2) RST。
图7.按钮导致复位而不反弹:1) /PBRST 2) /RST。
DS1232还包含一个电源故障监测器。DS1232始终监测VCC,如果电压降至VCCTP(VCC跳变点)以下,微控制器复位。VCCTP 可以编程为低于 VCC 的 5% 或 10%,在 VCC 恢复并返回 VCCTP 以上后,MicroMonitor 将保持复位信号处于活动状态 250 ms 至 1 秒。VCCTP 通过 TOL 引脚进行编程。如果TOL引脚接地,则选择5%容差;如果它与VCC绑定,则选择10%的容差。这允许设计人员选择最适合其系统的公差,从而实现最大的设计灵活性。5% 容差强制复位在 4.50V 至 4.74V 之间,10% 容差强制复位引脚在 4.25V 至 4.49V 之间有效。
对于图1所示的参考设计,选择了5%的容差。查看图 8 中的示波器图,VCCTP对于这个特定的微型监视器可以确定。图中的X2与RST的边缘对齐,交叉点Y2为4.6V。
图8.当 VCC 低于 VCCTP 时,RST 引脚行为:1) VCC 2) RST。
下降时VCC的偏斜率为~500mv/10ms或~50V/s。DS1232数据资料要求4.75V至4.25V之间的下降时间大于或等于300 ms,最大压摆率为1.667kV/s。如您所见,该电源系统很容易满足这一点。
CC 2) RST.“ class=”img-response“ />
图9.电压从 4.3V “掉电”恢复:1) V抄送2) RST。
8051微控制器软件,用于DS1232微控制器芯片
附录 A 中提供了设计用于与图 1 中的硬件配合使用的软件。该软件可与DS1232微控制器和达拉斯半导体DS87C520 8051兼容微控制器配合使用。它提供了一个强大的电源和代码监控系统,具有冗余电源和代码监控功能。该软件可以区分MicroMonitor何时复位控制器,以及微控制器的内部POR或看门狗定时器何时导致复位。
这段代码是100%事件驱动的,因此主程序只是一个无限循环。该软件利用Maxim的中断优先级方案,允许中断硬件首先处理内部电源故障中断(不可屏蔽),然后是内部看门狗中断,最后是定时器0中断,用于对DS1232上的外部看门狗进行选通。使用内部和外部电源和代码监控提供的冗余可确保这些关键功能无错误地执行。
中断例程交互,如下图 10 所示。
图 10.中断交互/程序流程图。
计时器 0 是优先级最低的中断。因此,它可以通过看门狗中断(高优先级)或电源故障中断(最高优先级)中断。如果定时器0没有中断,它将每1232ms切换一次DS10的选通引脚(ST),每50次通过ISR(500ms)切换一次心跳LED。在执行结束时,它将控制权返回给主程序。
如果定时器ISR(中断服务例程)被看门狗和/或电源故障中断中断,则控制权将立即转移到优先级最高的挂起中断。如果看门狗定时器过期,则看门狗功能(在图中列出)将执行完成,然后控制将转移到电源故障中断或返回定时器0中断,具体取决于在执行看门狗功能期间是否收到电源故障中断。如果未收到电源故障中断,则计时器 0 中断将尝试完成。如果定时器0 ISR没有受到电源故障中断的进一步干扰,它将完成并返回到主程序。如果定时器0被电源故障中断中断,它将允许电源故障中断首先发生。
如果确实发生电源故障中断,则控制权将转移到该中断,ISR将执行,直到电压电平为V。抄送返回高于DS87C520的早期电压故障警告电平。由于此 ISR 具有最高优先级,因此不能被看门狗中断或计时器 0 中断中断。这意味着电源故障ISR必须同时对内部和外部看门狗进行选通,否则看门狗将在电压骤降时复位器件。实际上,这种情况很可能不会发生,因为DS1232的容差比微控制器上的内部电压监测器更严格,因此DS1232会在微控制器的早期电压故障警告水平达到之前复位微控制器。换一种说法,DS87C520的内部电压监测可能永远不会被使用,而且是该系统的冗余功能。只有在DS1232发生故障时才会发生中断。由于DS1232是可靠的器件,如果尝试测试此条件,可能需要等待一段时间。
当电源故障中断完成时,将处理下一个挂起的 ISR。因此,如果看门狗中断发生在电源故障中断的服务期间,则将首先对其进行服务。完成后,计时器 0 ISR 将尝试完成。
每个中断都闪通一个单独的 LED,指示当前正在例行维护哪个 ISR。
如果特定应用程序不需要冗余,则可以删除电源故障和看门狗 ISR。删除它们还需要您在程序开始时更改矢量跳转表。建议将 start 放在所有未使用的向量地址的位置。还需要删除 MainInit 例程中初始化和启用电源故障和监视程序中断的代码。这将只剩下定时器0 ISR,重置检测例程,空主程序以及串行端口的支持功能。任何 8051 应用的良好开端!
相关文章