卫星一旦入轨就再也没有人能上去按一下复位键。可恰恰是这个没人按的场景逼出了航天器上最不起眼、却最不能少的一类芯片——电压监控与复位芯片。今天以 ASL706S 为例聊聊它在星载计算机里到底干什么上电时怎么保证 CPU 不会在电压没站稳时就乱跑运行中怎么防止程序跑飞变成僵尸电源快不行时又怎么提前报警。它看着像个简单的复位按钮实际上身兼复位、看门狗、手动复位、电源失效监测四重身份是整块板的生命监护仪。这颗料供电范围一点二到五点五伏复位阈值典型三点零八伏上电复位脉宽典型二百毫秒看门狗超时典型一点六秒带手动复位、看门狗和电源失效比较器静态电流最大五十微安工作温度负五十五到正一百二十五度同样扛得住单粒子翻转、单粒子闩锁大于等于三十七兆电子伏每平方厘米每毫克、总剂量大于等于十万拉德硅。我们还是不堆参数只看场景。图星载计算机上电复位与看门狗守护上电那一刻电压还没站稳CPU 已经急着跑了卫星母线通电后经过 DC-DC 和 LDO 稳压才得到给 CPU 用的三点三伏。但这个过程不是啪一下就到位而是几百毫秒里从零慢慢爬升、还会 overshoot 再回落。问题来了CPU 内核一拿到一点几伏可能就偷偷开始取指执行了。如果这时候电压还没稳到能可靠翻转寄存器的水平CPU 就会跑飞状态机锁死在怪异状态后面怎么都救不回来。ASL706S 干的第一件事就是按住 CPU 别动。它内部盯着 VCC一旦低于复位阈值三点零八伏就立刻把 RESET 输出拉低低有效等到 VCC 稳稳越过阈值后它还不马上松手而是要再延时一段典型二百毫秒的复位脉宽确保电源纹波都平复了、时钟也起振稳了才释放 RESET 让 CPU 从头好好启动。这二百毫秒是给整板一个整齐划一的起跑线。为什么这条起跑线如此重要因为现代星载计算机从来不是一颗孤零零的 CPU而是 CPU 加 FPGA 加多路存储器加各种外设的复杂系统它们各自的上电时序、各自能可靠工作的最低电压都不一样。如果没有一个统一的复位信号把它们框在同一个时刻释放就会出现 CPU 已经开始读取 FPGA 里还没配置好的寄存器、或者往还没准备好的存储器里写数据这种灾难性的时序竞争。ASL706S 输出的这一条复位线通常会同时分发给板上所有需要同步启动的器件等电压真正稳了、延时也走完了大家在同一拍上一起松手、一起开跑。这种发令枪响之前谁都不许动的纪律才是复杂数字系统能可靠上电的根本保证而它的成本不过是一颗小小的监控芯片。复位阈值三点零八伏为什么是这个数有人会问阈值为什么定在三点零八伏、而不是三点三伏因为要给系统留裕量。CPU 手册里常写最低工作电压三点伏意思是低于三点伏它就不保证行为了。ASL706S 把阈值放在三点零八伏等于在 CPU 危险边缘之上又垫了一截确保 RESET 释放时电压早已安全地高于 CPU 的最低要求。这种宁可晚一点放、不可早一毫厘放的思路是宇航板卡的常识。而且阈值本身也有容差手册给的是二点九四到三点二一伏。设计时要确认最坏情况即使阈值低到二点九四伏才释放那也仍高于 CPU 最低工作点。这就是抗辐照料在设计上讨喜的地方——它的参数在整个温度和辐射寿命里都有保证区间不像某些商用料随着老化悄悄偏掉。阈值检测还必须干净利落不能在阈值附近来回抖。想象一下如果电压刚好卡在阈值线上下微微波动一个没有迟滞的比较器就会疯狂地拉高拉低复位信号让 CPU 陷入复位—启动—又复位的无限循环比彻底死机还糟。ASL706S 内部的比较器带迟滞也就是说它进和出用的是两条略有间隔的门限一旦判定电压不足而拉复位就要等电压明显回升、越过一条更高的线才肯松手中间的抖动一概不理。这个看不见的迟滞设计是复位芯片能在电源缓慢爬升或轻微纹波下依然给出一次干脆利落复位的关键。跑飞了怎么办看门狗是最后一道保险上电稳了CPU 正常跑故事就结束了吗没有。太空中单粒子翻转可能把程序计数器打偏让 CPU 跳进一段死循环或者空转表面看还在电、其实啥正事不干——这种僵尸态比死机还可怕因为你看不出它死了。ASL706S 的看门狗就是对付这个的。它的 WDI 引脚需要 CPU 定期翻转典型一点六秒以内必须来一次跳变。只要 CPU 活着、主循环在正常溜达就会周期性地喂这个心跳。一旦 CPU 跑飞、不再喂狗超过一点六秒WDO 引脚就会报警。系统可以把 WDO 接到 CPU 的非屏蔽中断让 CPU 自己醒过来做紧急恢复或者干脆把 WDO 和手动复位并在一起直接再拉一次硬复位把僵尸彻底拍醒。一颗料既当闹钟又当板砖。喂狗这件事看似简单实则大有讲究。有经验的嵌入式工程师绝不会把喂狗指令随手撒在代码里比如放在某个定时器中断里——因为一旦主程序已经跑飞、只剩中断还在机械地喂狗看门狗就被骗住了你以为它在守护其实系统早成了僵尸。正确的做法是把喂狗动作绑定在主循环真正干完一轮活的关键路径上只有当程序完整地跑过了采集、处理、通信这一整圈确认每个环节都健康才允许喂一次狗。这样一旦任何一环卡死狗就必然饿死、必然报警。ASL706S 一点六秒的超时窗口给了主循环足够的余量去完成一整轮正常工作又不至于在真出问题时拖太久才发现——这个时间档位是为典型星载控制周期量身定的。图ASL706S复位与看门狗时序人工兜底手动复位 MR 不是摆设ASL706S 还留了一个手动复位脚 MR低有效一点二伏就能触发。在地面调试时工程师拿镊子一短接就能手动拉复位省得每次都断电重上。在轨虽然没人去按但 MR 的价值在于可被其他监控逻辑遥控——比如星务计算机发现某个分系统异常可以通过逻辑把 MR 拉低主动让某块板重启而无需整星掉电。而且 MR 内部有去抖和延时按一下不是毛刺式的一瞬而是产生一段干净的复位。这让遥控重启变得可靠你发一条指令它给出一次标准复位而不是一串乱抖的尖峰。对需要远程维护的航天器来说这种可控的软重启通道是排故的救命绳。电源要不行了PFI 提前拉响警报最凶险的还不是跑飞是电源慢慢垮。比如某个 LDO 老化、或者母线被阴影吞了、电池快见底电压会一点点往下出溜。等掉到 CPU 最低工作点之下才复位往往已经晚了——flash 可能写坏、状态已经乱了。ASL706S 的电源失效比较器 PFI/PFO 就是干提前量的。PFI 引脚接一个分压电阻去监测某路你关心的电压参考点是内部一点二伏。你设好分压比比如想在某路掉到四伏就报警就让 PFI 在四伏时正好等于一点二伏。一旦被监测电压滑过这条线PFO 立刻变低系统可以抢在电压崩盘前把重要数据落盘、把姿态控制交班、进入安全模式。这比等 RESET 触发早了不知道多少是体面退场和当场暴毙的区别。这个提前量到底有多值钱得看你保护的是什么。对一块正在往非易失存储器里写关键遥测数据的板子来说最怕的就是写到一半突然断电——那会留下一个写坏了一半的坏块轻则丢一批数据重则整个文件系统损坏、下次上电起不来。有了 PFO 这声提前的警报CPU 就能在电压真正跌破工作点之前把手头的写操作干净地收尾、把文件系统标记成一致状态再从容进入低功耗保护。等电池或母线恢复后系统能干干净净地重新起来就像什么都没发生过。这种优雅降级的能力是高可靠系统和普通系统最本质的分水岭普通系统追求的是尽量别断电而高可靠系统承认断电迟早会发生转而把功夫下在断电时如何不留后遗症上PFI/PFO 正是实现后者的关键钩子。抗辐照余量它自己也得活下来整篇都在讲 ASL706S 怎么守护别人可它自己一旦被粒子打挂整板就失去了监护。所以它自身的抗辐照指标和 CPU 同样重要单粒子翻转、单粒子闩锁都大于等于三十七兆电子伏每平方厘米每毫克总剂量大于等于十万拉德硅。在轨几年它不会被辐照慢慢推偏阈值也不会因一次撞击就闩锁变砖。值得强调的是复位芯片是系统级安全件。它的失效模式必须可控要么正确动作要么安静地待着绝不能乱发复位把正常系统搞瘫痪也不能该发不发让系统裸奔。ASL706S 这类宇航级料在设计和筛选上把这类失效模式都压到了极低概率才敢放在生命线上。上电复位与运行看门狗两件事的解耦细心的人会注意ASL706S 同时管着上电复位和运行看门狗两件看似不同的事。它们其实被巧妙解耦了上电复位只在电压越阈的前后那二百毫秒里动作管的是起跑;看门狗则在系统跑起来之后才计时管的是别跑飞。两者的触发条件、时间窗口完全分开互不干扰。这种解耦在场景里很要紧。如果上电复位的逻辑和运行看门狗的逻辑缠在一起你可能会在系统正常跑的时候因为一次短暂的电源小波动被误复位或者反过来看门狗的计时被上电过程打乱导致该报警时没报警。ASL706S 把两件事用内部独立的状态机分开处理上电那段只认电压运行那段只认心跳干净利落。设计者不用在外围用一堆逻辑门去拼这种时序一颗料内部就理顺了——这既是省料更是少出错。一颗料如何管住整柜多板系统的复位分配卫星不是一块板而是一柜板星务、姿控、通信、电源、载荷各是一块。如果每块板都各放一颗监控芯片固然简单但整柜的复位节奏会乱——你希望关键板先稳、非关键板后启或者某块异常时只复它自己、不波及其他。ASL706S 的手动复位脚 MR 就派上用场了它可以被星务计算机通过逻辑统一调度。一个典型做法是星务板上的主控用 GPIO 去控制各分系统板的 MR实现分级复位。哪块板卡死星务就拉哪块的 MR精准重启其余照常工作。而 ASL706S 本身的复位和看门狗负责守住自己那块板不裸奔。于是你得到了两层守护板级有 ASL706S 兜底柜级有星务统一编排。这种局部守门员加全局调度的结构是航天器可靠性的标准打法而 ASL706S 正是那个可靠的局部守门员。故障注入测试在地面先把太空的霉运演一遍航天项目有个铁规矩天上可能出的每一种霉运地面要先演一遍。工程师会故意拉低电压、停掉看门狗心跳、制造电源跌落、甚至用粒子加速器打芯片看系统是不是按设计反应。ASL706S 在这类故障注入测试里是最容易被考的料之一——它的反应必须可预期电压低于阈值就拉复位心跳停了就报警一点不含糊。这一点对测试本身太重要了。如果监控芯片行为抽风今天这样明天那样测试判据就没法写整星联试永远过不了。ASL706S 这类宇航级料参数和行为在全温、全寿、全辐照寿命里都有保证测试时你才知道预期长什么样才能写死判据、才能签放行。场景里它让地面把霉运演完、天上才敢飞这件事变得可执行。一颗行为可预期的守门员是整星可靠性验证能闭环的前提。小结没人按的复位键才是好复位键回头看ASL706S 在星载计算机里做的四件事——上电按稳、跑飞看门、人工兜底、电源预警——合起来就是一句话让一块没人能上去摸的板子永远处在要么好好跑、要么干净重启、要么体面待机的状态。它小到一颗 SOP8却卡在整板可靠性的咽喉上。这里也藏着一个值得所有嵌入式工程师反复咀嚼的设计哲学可靠性不是靠让主控永不出错来实现的而是靠承认主控一定会出错、然后给它配一个绝不会跟着一起出错的独立监护者。ASL706S 的所有价值都建立在它相对于主 CPU 的独立性上——它有自己的电压基准、自己的计时逻辑、自己的抗辐照余量不依赖 CPU 的时钟、不共享 CPU 的状态。正因为独立当 CPU 犯病时它才能保持清醒、才能出手施救。这种用一个简单而独立的看护者去守护一个复杂而易错的主体的思路从星载计算机到工业 PLC从医疗设备到汽车电子无处不在。理解它怎么干活比记住它的型号有用百倍因为航天器上每一个自动复位背后都站着这样一位沉默的守夜人。
星载计算机为何“必须先按一下复位“:一颗监控芯片如何守护整板生命
卫星一旦入轨就再也没有人能上去按一下复位键。可恰恰是这个没人按的场景逼出了航天器上最不起眼、却最不能少的一类芯片——电压监控与复位芯片。今天以 ASL706S 为例聊聊它在星载计算机里到底干什么上电时怎么保证 CPU 不会在电压没站稳时就乱跑运行中怎么防止程序跑飞变成僵尸电源快不行时又怎么提前报警。它看着像个简单的复位按钮实际上身兼复位、看门狗、手动复位、电源失效监测四重身份是整块板的生命监护仪。这颗料供电范围一点二到五点五伏复位阈值典型三点零八伏上电复位脉宽典型二百毫秒看门狗超时典型一点六秒带手动复位、看门狗和电源失效比较器静态电流最大五十微安工作温度负五十五到正一百二十五度同样扛得住单粒子翻转、单粒子闩锁大于等于三十七兆电子伏每平方厘米每毫克、总剂量大于等于十万拉德硅。我们还是不堆参数只看场景。图星载计算机上电复位与看门狗守护上电那一刻电压还没站稳CPU 已经急着跑了卫星母线通电后经过 DC-DC 和 LDO 稳压才得到给 CPU 用的三点三伏。但这个过程不是啪一下就到位而是几百毫秒里从零慢慢爬升、还会 overshoot 再回落。问题来了CPU 内核一拿到一点几伏可能就偷偷开始取指执行了。如果这时候电压还没稳到能可靠翻转寄存器的水平CPU 就会跑飞状态机锁死在怪异状态后面怎么都救不回来。ASL706S 干的第一件事就是按住 CPU 别动。它内部盯着 VCC一旦低于复位阈值三点零八伏就立刻把 RESET 输出拉低低有效等到 VCC 稳稳越过阈值后它还不马上松手而是要再延时一段典型二百毫秒的复位脉宽确保电源纹波都平复了、时钟也起振稳了才释放 RESET 让 CPU 从头好好启动。这二百毫秒是给整板一个整齐划一的起跑线。为什么这条起跑线如此重要因为现代星载计算机从来不是一颗孤零零的 CPU而是 CPU 加 FPGA 加多路存储器加各种外设的复杂系统它们各自的上电时序、各自能可靠工作的最低电压都不一样。如果没有一个统一的复位信号把它们框在同一个时刻释放就会出现 CPU 已经开始读取 FPGA 里还没配置好的寄存器、或者往还没准备好的存储器里写数据这种灾难性的时序竞争。ASL706S 输出的这一条复位线通常会同时分发给板上所有需要同步启动的器件等电压真正稳了、延时也走完了大家在同一拍上一起松手、一起开跑。这种发令枪响之前谁都不许动的纪律才是复杂数字系统能可靠上电的根本保证而它的成本不过是一颗小小的监控芯片。复位阈值三点零八伏为什么是这个数有人会问阈值为什么定在三点零八伏、而不是三点三伏因为要给系统留裕量。CPU 手册里常写最低工作电压三点伏意思是低于三点伏它就不保证行为了。ASL706S 把阈值放在三点零八伏等于在 CPU 危险边缘之上又垫了一截确保 RESET 释放时电压早已安全地高于 CPU 的最低要求。这种宁可晚一点放、不可早一毫厘放的思路是宇航板卡的常识。而且阈值本身也有容差手册给的是二点九四到三点二一伏。设计时要确认最坏情况即使阈值低到二点九四伏才释放那也仍高于 CPU 最低工作点。这就是抗辐照料在设计上讨喜的地方——它的参数在整个温度和辐射寿命里都有保证区间不像某些商用料随着老化悄悄偏掉。阈值检测还必须干净利落不能在阈值附近来回抖。想象一下如果电压刚好卡在阈值线上下微微波动一个没有迟滞的比较器就会疯狂地拉高拉低复位信号让 CPU 陷入复位—启动—又复位的无限循环比彻底死机还糟。ASL706S 内部的比较器带迟滞也就是说它进和出用的是两条略有间隔的门限一旦判定电压不足而拉复位就要等电压明显回升、越过一条更高的线才肯松手中间的抖动一概不理。这个看不见的迟滞设计是复位芯片能在电源缓慢爬升或轻微纹波下依然给出一次干脆利落复位的关键。跑飞了怎么办看门狗是最后一道保险上电稳了CPU 正常跑故事就结束了吗没有。太空中单粒子翻转可能把程序计数器打偏让 CPU 跳进一段死循环或者空转表面看还在电、其实啥正事不干——这种僵尸态比死机还可怕因为你看不出它死了。ASL706S 的看门狗就是对付这个的。它的 WDI 引脚需要 CPU 定期翻转典型一点六秒以内必须来一次跳变。只要 CPU 活着、主循环在正常溜达就会周期性地喂这个心跳。一旦 CPU 跑飞、不再喂狗超过一点六秒WDO 引脚就会报警。系统可以把 WDO 接到 CPU 的非屏蔽中断让 CPU 自己醒过来做紧急恢复或者干脆把 WDO 和手动复位并在一起直接再拉一次硬复位把僵尸彻底拍醒。一颗料既当闹钟又当板砖。喂狗这件事看似简单实则大有讲究。有经验的嵌入式工程师绝不会把喂狗指令随手撒在代码里比如放在某个定时器中断里——因为一旦主程序已经跑飞、只剩中断还在机械地喂狗看门狗就被骗住了你以为它在守护其实系统早成了僵尸。正确的做法是把喂狗动作绑定在主循环真正干完一轮活的关键路径上只有当程序完整地跑过了采集、处理、通信这一整圈确认每个环节都健康才允许喂一次狗。这样一旦任何一环卡死狗就必然饿死、必然报警。ASL706S 一点六秒的超时窗口给了主循环足够的余量去完成一整轮正常工作又不至于在真出问题时拖太久才发现——这个时间档位是为典型星载控制周期量身定的。图ASL706S复位与看门狗时序人工兜底手动复位 MR 不是摆设ASL706S 还留了一个手动复位脚 MR低有效一点二伏就能触发。在地面调试时工程师拿镊子一短接就能手动拉复位省得每次都断电重上。在轨虽然没人去按但 MR 的价值在于可被其他监控逻辑遥控——比如星务计算机发现某个分系统异常可以通过逻辑把 MR 拉低主动让某块板重启而无需整星掉电。而且 MR 内部有去抖和延时按一下不是毛刺式的一瞬而是产生一段干净的复位。这让遥控重启变得可靠你发一条指令它给出一次标准复位而不是一串乱抖的尖峰。对需要远程维护的航天器来说这种可控的软重启通道是排故的救命绳。电源要不行了PFI 提前拉响警报最凶险的还不是跑飞是电源慢慢垮。比如某个 LDO 老化、或者母线被阴影吞了、电池快见底电压会一点点往下出溜。等掉到 CPU 最低工作点之下才复位往往已经晚了——flash 可能写坏、状态已经乱了。ASL706S 的电源失效比较器 PFI/PFO 就是干提前量的。PFI 引脚接一个分压电阻去监测某路你关心的电压参考点是内部一点二伏。你设好分压比比如想在某路掉到四伏就报警就让 PFI 在四伏时正好等于一点二伏。一旦被监测电压滑过这条线PFO 立刻变低系统可以抢在电压崩盘前把重要数据落盘、把姿态控制交班、进入安全模式。这比等 RESET 触发早了不知道多少是体面退场和当场暴毙的区别。这个提前量到底有多值钱得看你保护的是什么。对一块正在往非易失存储器里写关键遥测数据的板子来说最怕的就是写到一半突然断电——那会留下一个写坏了一半的坏块轻则丢一批数据重则整个文件系统损坏、下次上电起不来。有了 PFO 这声提前的警报CPU 就能在电压真正跌破工作点之前把手头的写操作干净地收尾、把文件系统标记成一致状态再从容进入低功耗保护。等电池或母线恢复后系统能干干净净地重新起来就像什么都没发生过。这种优雅降级的能力是高可靠系统和普通系统最本质的分水岭普通系统追求的是尽量别断电而高可靠系统承认断电迟早会发生转而把功夫下在断电时如何不留后遗症上PFI/PFO 正是实现后者的关键钩子。抗辐照余量它自己也得活下来整篇都在讲 ASL706S 怎么守护别人可它自己一旦被粒子打挂整板就失去了监护。所以它自身的抗辐照指标和 CPU 同样重要单粒子翻转、单粒子闩锁都大于等于三十七兆电子伏每平方厘米每毫克总剂量大于等于十万拉德硅。在轨几年它不会被辐照慢慢推偏阈值也不会因一次撞击就闩锁变砖。值得强调的是复位芯片是系统级安全件。它的失效模式必须可控要么正确动作要么安静地待着绝不能乱发复位把正常系统搞瘫痪也不能该发不发让系统裸奔。ASL706S 这类宇航级料在设计和筛选上把这类失效模式都压到了极低概率才敢放在生命线上。上电复位与运行看门狗两件事的解耦细心的人会注意ASL706S 同时管着上电复位和运行看门狗两件看似不同的事。它们其实被巧妙解耦了上电复位只在电压越阈的前后那二百毫秒里动作管的是起跑;看门狗则在系统跑起来之后才计时管的是别跑飞。两者的触发条件、时间窗口完全分开互不干扰。这种解耦在场景里很要紧。如果上电复位的逻辑和运行看门狗的逻辑缠在一起你可能会在系统正常跑的时候因为一次短暂的电源小波动被误复位或者反过来看门狗的计时被上电过程打乱导致该报警时没报警。ASL706S 把两件事用内部独立的状态机分开处理上电那段只认电压运行那段只认心跳干净利落。设计者不用在外围用一堆逻辑门去拼这种时序一颗料内部就理顺了——这既是省料更是少出错。一颗料如何管住整柜多板系统的复位分配卫星不是一块板而是一柜板星务、姿控、通信、电源、载荷各是一块。如果每块板都各放一颗监控芯片固然简单但整柜的复位节奏会乱——你希望关键板先稳、非关键板后启或者某块异常时只复它自己、不波及其他。ASL706S 的手动复位脚 MR 就派上用场了它可以被星务计算机通过逻辑统一调度。一个典型做法是星务板上的主控用 GPIO 去控制各分系统板的 MR实现分级复位。哪块板卡死星务就拉哪块的 MR精准重启其余照常工作。而 ASL706S 本身的复位和看门狗负责守住自己那块板不裸奔。于是你得到了两层守护板级有 ASL706S 兜底柜级有星务统一编排。这种局部守门员加全局调度的结构是航天器可靠性的标准打法而 ASL706S 正是那个可靠的局部守门员。故障注入测试在地面先把太空的霉运演一遍航天项目有个铁规矩天上可能出的每一种霉运地面要先演一遍。工程师会故意拉低电压、停掉看门狗心跳、制造电源跌落、甚至用粒子加速器打芯片看系统是不是按设计反应。ASL706S 在这类故障注入测试里是最容易被考的料之一——它的反应必须可预期电压低于阈值就拉复位心跳停了就报警一点不含糊。这一点对测试本身太重要了。如果监控芯片行为抽风今天这样明天那样测试判据就没法写整星联试永远过不了。ASL706S 这类宇航级料参数和行为在全温、全寿、全辐照寿命里都有保证测试时你才知道预期长什么样才能写死判据、才能签放行。场景里它让地面把霉运演完、天上才敢飞这件事变得可执行。一颗行为可预期的守门员是整星可靠性验证能闭环的前提。小结没人按的复位键才是好复位键回头看ASL706S 在星载计算机里做的四件事——上电按稳、跑飞看门、人工兜底、电源预警——合起来就是一句话让一块没人能上去摸的板子永远处在要么好好跑、要么干净重启、要么体面待机的状态。它小到一颗 SOP8却卡在整板可靠性的咽喉上。这里也藏着一个值得所有嵌入式工程师反复咀嚼的设计哲学可靠性不是靠让主控永不出错来实现的而是靠承认主控一定会出错、然后给它配一个绝不会跟着一起出错的独立监护者。ASL706S 的所有价值都建立在它相对于主 CPU 的独立性上——它有自己的电压基准、自己的计时逻辑、自己的抗辐照余量不依赖 CPU 的时钟、不共享 CPU 的状态。正因为独立当 CPU 犯病时它才能保持清醒、才能出手施救。这种用一个简单而独立的看护者去守护一个复杂而易错的主体的思路从星载计算机到工业 PLC从医疗设备到汽车电子无处不在。理解它怎么干活比记住它的型号有用百倍因为航天器上每一个自动复位背后都站着这样一位沉默的守夜人。