3. 星务计算机时钟体系结构
星务计算机的时钟体系并不是单一器件,而是一条从物理振荡到软件可读时间量的完整链路。理解这条链路,关键在于分清“频率源”“计数与分频”“时间寄存器”“保持与校准”四个层次各自的职责:频率源决定时间基准的稳定度,分频与计数把高频振荡转换为可用的时间刻度,本地时钟寄存器把刻度固化为可读取的时间量,保持与校准接口则负责在外部参考可用或不可用时维持时间连续性与准确度。
一、硬件时钟源:体系的时间起点
硬件时钟源是整条链路的物理起点,通常由晶振、温补晶振(TCXO)、恒温晶振(OCXO)或原子钟(铷钟、铯钟)承担。星务计算机常见的做法是“主用+备用”双源结构:主用源提供高稳定频率,备用源在主用失效或未锁定期间维持基本计时。选择何种源,取决于任务对短稳、长稳、功耗和体积的约束。例如,短时守时更看重秒级稳定度,长期自主运行更看重日漂移和老化率。
以某教学示例为例,假设主用源为10 MHz OCXO,日老化率约5×10⁻¹⁰,备用源为10 MHz TCXO,日老化率约2×10⁻⁸。两者在1秒内的频率偏差看似很小,但经过一天累积,OCXO的等效时间误差约为43 μs,而TCXO可达1.7 ms量级。这说明硬件时钟源的选择直接决定了后续校准周期和保持策略的设计边界。
二、晶振与原子钟:稳定度与成本的权衡
晶振依靠石英晶体的机械谐振产生频率,优点是体积小、功耗低、启动快,缺点是频率随温度、老化和供电电压变化。原子钟利用原子能级跃迁频率作为参考,稳定度和准确度远高于晶振,但体积、功耗和成本更高,且通常需要预热和锁定时间。星务计算机中,原子钟往往作为长期基准或校准参考,晶振则作为日常计数和短时保持的“工作频率源”。
实际设计中,常见组合是“原子钟驯服晶振”:原子钟输出1 PPS(秒脉冲)或10 MHz参考,晶振输出高频计数时钟,通过比对两者相位差,调整晶振的频率控制字,使晶振长期平均频率跟踪原子钟。这样既保留了晶振的低噪声短稳,又获得了原子钟的长稳。
三、时钟分频与计数:从频率到时间刻度
高频振荡不能直接作为时间量使用,必须经过分频和计数。分频器把10 MHz或更高频率的时钟降低为1 MHz、1 kHz或1 Hz等便于计数的频率;计数器则对分频后的脉冲进行累加,形成“秒计数”“毫秒计数”等时间刻度。星务计算机中,典型结构是:高频时钟→预分频器→主计数器→秒寄存器/毫秒寄存器。
例如,10 MHz时钟经10⁷分频得到1 Hz秒脉冲,同时经10⁴分频得到1 kHz毫秒脉冲。主计数器对1 kHz脉冲计数,每1000个脉冲产生一次秒进位。若主计数器为32位,则秒计数范围约为136年,足以覆盖多数航天任务寿命。分频链的每一级都需要考虑抖动和相位噪声,因为分频器本身的噪声会直接叠加到最终时间量上。
四、本地时钟寄存器:软件可见的时间量
本地时钟寄存器是软件直接读取的时间接口,通常包括秒寄存器、毫秒寄存器和微秒/纳秒扩展寄存器。秒寄存器记录自某个历元(如任务起始时刻或J2000.0)以来的整秒数,毫秒寄存器记录当前秒内的毫秒偏移,扩展寄存器则用于更高分辨率的时间戳。读取时需要注意“进位一致性”:如果先读秒寄存器再读毫秒寄存器,可能在两次读取之间发生秒进位,导致时间量跳变。常见做法是采用“双读校验”或“锁存读取”:先读高字,再读低字,再读一次高字,若两次高字一致则数据有效。
例如,某星务计算机的本地时钟寄存器定义为:秒寄存器32位,毫秒寄存器16位(0~999),微秒寄存器16位(0~999)。软件读取流程为:读秒→读毫秒→读微秒→重读秒,若秒值未变则确认;若秒值变化则重新读取。这一机制在中断服务程序中尤为重要,因为时间戳的准确性直接影响遥测帧的时标和姿态确定算法的输入。
五、时钟保持与校准接口:连续性与准确性的保障
星务计算机在轨运行时,外部时间参考(如地面授时、导航卫星秒脉冲)可能中断。此时,时钟系统必须进入“保持模式”,依靠本地晶振的自由运行维持时间连续。保持模式的核心是“守时”:根据晶振的老化率和温度特性,预测并补偿频率偏差,使本地时间在无外部参考期间尽量不漂移。
校准接口则负责在外部参考可用时,把本地时间“拉回”到参考时间。校准通常分两步:一是相位校准,通过比对本地1 PPS与参考1 PPS的相位差,调整秒计数;二是频率校准,通过长时间观测相位差的变化率,估计本地晶振的频率偏差,并写入频率控制字。校准过程中要避免时间跳变对软件造成冲击,因此常采用“平滑调整”或“频率微调”而非直接置数。
以教学示例说明:假设本地1 PPS与参考1 PPS的相位差在1000秒内从0线性增加到10 μs,则等效频率偏差为10 μs / 1000 s = 1×10⁻⁸。若晶振频率控制字为32位,对应10 MHz中心频率,则每LSB约2.33×10⁻³ Hz。要补偿1×10⁻⁸的相对偏差,需调整约0.043 Hz,即约18个LSB。实际系统中,这一计算由校准算法自动完成,并经过滤波后写入控制字。
六、体系结构的整体关系
把上述五部分串起来看:硬件时钟源提供原始频率,晶振与原子钟决定稳定度等级,分频与计数把频率转换为时间刻度,本地时钟寄存器把刻度固化为软件可读的时间量,保持与校准接口则维持时间量在外部参考可用和不可用两种状态下的连续性与准确度。五者缺一不可,且相互制约:源稳定度越高,校准周期可越长;分频链噪声越小,时间戳分辨率越可靠;寄存器读取机制越严谨,软件获得的时间量越可信。
在实际星务计算机中,这一体系通常以FPGA或专用时钟芯片实现,并通过总线接口向CPU提供时间寄存器访问。设计时需重点关注:时钟源切换的毛刺抑制、分频链的同步复位、寄存器读取的原子性、校准算法的收敛速度与超调量。只有这些细节都处理妥当,星务计算机才能在长时间在轨运行中提供稳定、连续、可校准的统一时基。