从 IRIG-B 码到 PPS 脉冲,从 NTP 协议到守时原理 —— 一份图文并茂的工程学习笔记
授时(Time Synchronization)就是把"准确的时间"从"权威来源"传递给"需要时间"的设备,让所有设备对"现在几点"达成一致。
想象一下:你的惯导系统认为自己是在 T=10.000s 采样的数据,但实际上GPS时间已经是 T=11.000s。这 1 秒的偏差在高速运动场景中意味着几十米甚至几百米的定位误差。
在电力、通信、军工、航空航天等领域,微秒甚至纳秒级的时间同步精度是刚需。授时设备就是解决这个问题的核心基础设施。
| 精度等级 | 典型技术 | 应用场景 |
|---|---|---|
| 秒级 | 人工对时、HTTP | 日常办公 |
| 毫秒级 (ms) | NTP | 企业IT、日志同步 |
| 微秒级 (μs) | IRIG-B、PTP (IEEE 1588) | 电力、工业自动化 |
| 纳秒级 (ns) | PPS + 绝对时间编码 | 军工、科研、惯导 |
IRIG-B 是军用/工业领域最常用的时间码标准,由美国靶场司令委员会 (IRIG) 制定。它用一串脉冲的宽窄来编码"现在是什么时间"。
IRIG-B 码每秒传输一帧完整的时间信息。每帧包含 100 个码元(bit),每个码元持续 10ms。通过码元的脉冲宽度来区分三种符号:
每帧 100 个码元,按 BCD(二-十进制编码)方式编码时间信息。帧的第一个码元(P0)是位置标识,之后每 10 个码元为一组,以一个新的 P 标识开头:
| 码元位置 | 编码内容 | 说明 |
|---|---|---|
| P0 (第0位) | 帧起始标识 | 8ms 宽脉冲,标志新的一帧开始 |
| 1-8 | 秒的个位和十位 | BCD 编码,表示 00-59 秒 |
| P10 (第10位) | 位置标识 | 分隔符 |
| 11-18 | 分钟的个位和十位 | BCD 编码,表示 00-59 分 |
| P20 (第20位) | 位置标识 | 分隔符 |
| 21-28 | 小时的个位和十位 | BCD 编码,表示 00-23 时 |
| P30 (第30位) | 位置标识 | 分隔符 |
| 31-39 | 年积日 (Day of Year) | BCD 编码,001-366 |
| P50+ | 控制功能 / 自定义 | 可携带年份、自定义数据等 |
IRIG-B 有两种常见传输方式:
直流码 (DC Level Shift) — 直接用高低电平表示脉冲,通过同轴电缆或双绞线传输。信号质量好,适合短距离(几十米内)设备互联。
交流码 (1kHz 载波调制) — 用 1kHz 正弦波载波调制,适合长距离传输(可达数百米甚至更远),抗干扰能力更强。
PPS(Pulse Per Second)是最"纯粹"的时间同步信号:每秒一个脉冲,上升沿精确对齐整秒。
PPS 信号非常简单 —— 一根线,每秒来一个脉冲。但正因为简单,它的精度可以非常高。来自 GPS 接收机的 PPS 信号,上升沿精度通常在 ±15~40ns 范围内。
然而 PPS 有一个致命弱点:它只告诉你"整秒到了",不告诉你"现在是几点"。所以你还需要另一个通道来获取绝对时间(比如串口输出、IRIG-B 码或 NTP)。
NTP(Network Time Protocol)是通过网络同步时间的标准协议,在 IT 系统中无处不在。
NTP 的核心思想很朴素:客户端向服务器发送一个时间请求,服务器返回自己的当前时间。客户端通过测量"去程"和"回程"的网络延迟,估算出服务器时间比本地快还是慢,然后调整自己的时钟。
为了消除网络延迟不对称带来的误差,NTP 会进行多次采样,用统计方法过滤掉异常值,逐步逼近真实时间。这个过程叫"时钟滤波"(Clock Filter)。
ntp3.aliyun.com),后端通过 ntplib 库直接获取 NTP 时间戳,前端拿到后利用 Date 对象做每秒刷新。即使操作系统时间不准,首页显示的时间依然是准确的网络时间。
当外部时间源(GPS、B码)丢失后,设备靠自己的内部晶振"独自维持时间"的能力,就叫守时 (Holdover)。
理想情况下,设备时刻从 GPS 或 IRIG-B 获取精确时间。但现实中,GPS 信号可能因为遮挡、干扰、设备故障而丢失;B 码链路也可能断开。这时候,设备不能"没有时间",必须靠自己继续走时。
守时精度取决于内部振荡器(晶振)的质量。普通温补晶振 (TCXO) 可能每天漂移几十毫秒,而恒温晶振 (OCXO) 或铷钟可以守时数天仍保持在微秒级偏差内。
常见的 1U/2U 机箱授时设备,通常集成了授时和守时两大功能:
授时 — 从 GPS/北斗等卫星获取精确时间,然后通过 IRIG-B、NTP、PPS 等多种接口向下游设备分发时间。相当于一个"时间分发中心"。
守时 — 内部配备高品质恒温晶振甚至铷钟,当卫星信号丢失后,依靠内部振荡器维持高精度时间输出,保证下游设备的时间不会突变。
快速查阅文中出现的核心术语。