欠压复位是提高微控制器启动后可靠性的一项重要功能。通常用于解决电源问题,本文展示了掉电复位如何防止另一个问题。
掉电复位的回顾
微控制器的“断电”是电源电压部分暂时降低到可靠运行所需的水平以下。许多微控制器都有一个保护电路,可以检测电源电压何时低于此电平,并将设备置于复位状态,以确保在电源恢复时正常启动。此操作称为“掉电复位”或 BOR。类似的功能称为低电压检测 (LVD),它更复杂,增加了对多个电压电平的检测,并且可以在触发复位之前产生中断。
BOR 通常由控制寄存器中的位启用。通常,当 BOR 导致复位时会设置状态位。此状态位在复位后仍然存在(如果电源没有变得太低!)并允许程序检测问题并执行额外的恢复或记录事件。
如果 BOR 被禁用会怎样?这是稳定下降的电源电压的描述。也许这是一个恶化的电源或正在放电的电池。
V1 为正常电源电压。V2 是微控制器可能无法可靠运行的点。我将 V3 显示为操作完全停止的点。V2 和 V3 之间是一个“危险区域”,可能会出现问题并且操作不可靠。当电源进出危险区域时,该设备可以正常工作多年,然后,bam!,出现故障。BOR 级别设置为高于 V2,并用设备复位代替危险区域。重置不好,但(通常)总比不确定好。
接下来,我讲述了电源正常运行但使用 BOR 解决不同问题的情况。
寻找掉电复位的另一种用途(艰难的方式)
我设计了一个电路,该电路包含一个 PIC 微控制器和一个模块中的 18 个稳压器,用于控制 18 个光传感器的 +5V 电源。十二个模块控制阵列中的 204 个传感器。这些模块是夏威夷莫纳克亚山大型天文望远镜自适应光学系统的一部分。这是模块的内部。
图片由斯巴鲁望远镜提供
微控制器靠近电路板的中心,18 个线性稳压器安装在外壳的墙壁上。模块和传感器安装在水冷板上,以将热量从传感器阵列上方的光具座中带走。来自光传感器的脉冲进入模块,在那里它们被转换为差分RS-485 信号,并在图片中上部的连接器上输出。此外,还有进入模块的 RS-485 控制信号。所有 RS-485 信号都连接到大约 10 米外的机箱中的电路。重要的一点是模块中的所有电路都使用相同的 +5V 电源。
这是微控制器和 RS-485 线路驱动器和接收器的特写,它们是问题的核心。黑色的模块化插孔是一个异步串行接口,增加了两个 RS-485 I/O 信号。
这些模块在工作台上经过了广泛的测试。没问题!他们在实验室进行了数月的系统测试。完美的!重大事件是望远镜的第一次测试。失败!当电源关闭并重新打开时,大约一半的模块失去了通信。我插入调试器,发现微控制器正在运行并执行代码,但是变量损坏并且串行接口无法正常工作。很奇怪。
首先,我想说的是,在 13,589 英尺(4,138 米)的海拔高度和 40°F (4°C) 的气温下在半夜进行调试并不好玩。但是,让我们继续前进。这是显示问题的图表。
右侧是带有连接到微控制器和 +5V 电源的 RS-485 线路接收器的模块。左侧是电缆另一端的线路驱动器,始终通电。实际上,有两个方向的驱动程序和接收器,但我正在简化。当模块电源 (VCC) 关闭时,远程线路驱动器和接收器仍处于开启状态 (VDD)。这些信号就像电源一样,通过模块接口设备直接到达 +5V 电源或通过微控制器引脚上的 ESD 保护电路。有足够的电力来防止微控制器完全断电,并且设备处于危险区域。
当模块上电时,微控制器没有以正常的上电复位序列启动。它开始运行但出现问题。为什么这在之前的测试中没有出现?还记得水冷板吗?望远镜里的冷却剂比实验室里的冷却剂要冷很多。我的理论是较低的温度足以暴露某些模块中的问题。
修复很容易。我在代码中添加了一条语句来启用BOR,问题就解决了。顺便说一句,我写报告并说服项目经理一切都好,比解决问题花费的时间要长得多。
虚假掉电
这是一个显示一般问题的图表。
-
微控制器
+关注
关注
48文章
7417浏览量
150752 -
电源
+关注
关注
184文章
17455浏览量
249000
发布评论请先 登录
相关推荐
评论