# 工业接口协议附件

| 项目 | 内容 |
|------|------|
| **适用对象** | 代理商 · 最终客户 · 招标技术包 |
| **文档名称** | 工业接口协议附件 |
| **文档编号** | `DOC-TS1231-IF-CN-011` |
| **型号** | **SY-1231-BG-T-S** |
| **配套** | 随箱《用户指南（发货完整版）》 |
| **用途** | PLC / SCADA / 秒沿与整分脉冲集成；端子丝印与电缆以随箱硬件图纸为准 |
| **文档版本** | 1.2（本改版：PULSE 联调步骤；无 IRIG；硬件秒沿 1PPS） |

---

## 0. 大纲

1. [总则与通道分工](#1-总则与通道分工)
2. [RS-485 Modbus RTU](#2-rs-485-modbus-rtu)
3. [PULSE PPM（四针 Pin4）](#3-pulse-ppm四针-pin4)
4. [TTL 1PPS（对照）](#4-ttl-1pps对照)
5. [联调与验收建议](#5-联调与验收建议)
6. [修订记录](#6-修订记录)

---

## 1. 总则与通道分工

本机多通道**并行**，精度与时间形态**不可互相套用**：

| 通道 | 形态 | 典型用途 | 客户协议细节 |
|------|------|----------|--------------|
| RJ45 NTP | 协议时间戳 | PC / NVR / 交换机 | 见用户指南 |
| **RS-485 Modbus** | 寄存器绝对时间（UTC，含 ms） | PLC / 触摸屏 / SCADA | **本文 §2** |
| **PULSE PPM** | 整分脉冲 | 需量/PLC 时段 | **本文 §3** |
| TTL 1PPS | GNSS 秒沿（硬件扇出） | 示波器 / 采集卡秒沿 | 本文 §4（简） |

正式授时请在设备 **LK GNSS / LOCK** 后使用。未锁定时日历字段或时码仍可能输出，但**不得**作为联锁/计量依据。

---

## 2. RS-485 Modbus RTU

### 2.1 电气与串口（出厂）

| 项目 | 规格 |
|------|------|
| 拓扑 | 半双工 RS-485 |
| 信号 | A / B（极性以丝印为准）；建议总线**共地** |
| 方向控制 | 设备侧 DE/RE 自动切换（主站无需管 DE） |
| 波特率 | **9600**（出厂） |
| 数据位 | 8 |
| 校验 | **无（N）** |
| 停止位 | **1** |
| 终端电阻 | 总线两端 **120 Ω**（按现场规范） |
| 线缆 | 屏蔽双绞；长线注意共模与接地 |

> 端子编号、浪涌防护与隔离以随箱原理图/接线表为准；本文不替代硬件图纸。

### 2.2 从站与功能码

| 项目 | 值 |
|------|-----|
| 从站地址（Slave ID） | **0x01**（1） |
| 客户侧推荐 | 读保持寄存器 **FC 0x03** |
| 兼容 | 读输入寄存器 **FC 0x04**（与 FC03 **同一映射**） |
| 写单寄存器 FC 0x06 | **仅产线保留**，客户侧请勿使用（见 §2.6） |

CRC：标准 Modbus RTU CRC16（多项式 0xA001，初值 0xFFFF，**低字节在前**）。

### 2.3 字节序与多字寄存器

- 每个 Modbus 寄存器 = **1 个 16 位字**。
- **32 位量**（相位偏移、NTP 计数）占用**连续两字**，顺序为：**高字在前（低地址）、低字在后**（大端字序 / big-endian word order）。
- **有符号 16/32 位**按二进制补码解释。

### 2.4 保持寄存器地图（地址从 0 起）

| 地址 | 名称 | 类型 | 单位 / 范围 | 说明 |
|------|------|------|-------------|------|
| 0–1 | `phase_offset_ns` | int32（两字） | ns | 内部 PPS 相位/漂移监测（高字@0，低字@1）；**非**客户端 NTP 精度 |
| 2 | `freq_offset_ppb` | int16 | ppb | 频率偏移估计 |
| 3 | `pps_signal_health` | uint16 | 0–100 | PPS 健康度（百分） |
| 4 | `gnss_sat_count` | uint16 | 星数 | 当前用于定位的卫星数（以设备聚合为准） |
| 5 | `system_state` | uint16 | 见下表 | 系统授时状态 |
| 6–7 | `ntp_serve_cnt` | uint32（两字） | 次 | NTP 应答累计（高字@6，低字@7） |
| 8 | `rtc_temp_c100` | int16 | 0.01 ℃ | RTC 温度×100；失败时为 `0x8000` |
| 9 | `cpu_load_pct` | uint16 | 0–100 | CPU 负载百分 |
| **10** | **year** | uint16 | 如 2026 | **UTC 年** |
| **11** | **month** | uint16 | 1–12 | UTC 月 |
| **12** | **day** | uint16 | 1–31 | UTC 日 |
| **13** | **hour** | uint16 | 0–23 | UTC 时 |
| **14** | **minute** | uint16 | 0–59 | UTC 分 |
| **15** | **second** | uint16 | 0–59 | UTC 秒 |
| **16** | **millisecond** | uint16 | **0–999** | UTC 毫秒（亚秒分辨上限 **1 ms**） |
| 17 | `factory_reserved` | uint16 | 产线状态 | **产测保留**；客户可读可忽略 |

**寄存器总数：** 18（地址 0–17）。

#### `system_state`（地址 5）

| 值 | 含义 | 客户建议 |
|----|------|----------|
| 0 | BOOT — 上电/初始化 | 不作为正式源 |
| 1 | CLOCK_FALLBACK — 时钟降级 | 不作为正式源 |
| 2 | SYNCING — 收敛中 | 可预读，正式联锁慎用 |
| **3** | **LOCKED — 已锁定** | **正式授时** |
| 4 | HOLDOVER — 守时 | 按工艺决定是否继续信任 |

### 2.5 推荐读法（PLC）

**仅要日历时间（常用）：**

- 起始地址 **10**，数量 **7**（年…毫秒）  
- 或起始 **10**，数量 **8**（含地址 17，可丢弃）

**要状态门控 + 时间：**

- 起始地址 **5**，数量 **12**（state + … + ms），或分两次读：先读 `system_state==3`，再读 10–16。

**轮询周期：** 建议 **≥ 1 Hz**。更快轮询**不会**提高亚秒分辨率（仍为 1 ms）。

**与 1PPS 联用：** 寄存器给绝对时间；秒沿对齐用独立 **1PPS OUT**。勿期望 A/B 线输出秒脉冲。

### 2.6 写功能（客户勿用）

客户工程请只配置 **FC03/FC04 读**。写寄存器为厂内保留，未向客户开放；误写可能被拒绝或导致异常。

### 2.7 读例（示意）

请求（从站 1，FC03，起始 10，数量 7）十六进制示意：

```text
01 03 00 0A 00 07 CRC_L CRC_H
```

正常响应：`01 03 0E` + 14 字节数据（7 寄存器）+ CRC。  
数据区按寄存器顺序：year, month, day, hour, minute, second, millisecond（各 2 字节，**高字节在前**）。

异常响应：功能码最高位置 1，附异常码（如非法地址 `0x02`）。

---

## 3. PULSE PPM（四针 Pin4）

### 3.1 接口概要

| 项目 | 规格 |
|------|------|
| 模式 | **PPM**：每个 UTC 整分 1 拍（默认脉宽 **200 ms** 正脉冲） |
| 电气 | 5 V TTL（Pin4）；与 GND（Pin3）共地 |
| 使用前提 | 设备 **LOCK**；未锁定默认 **不出脉冲** |
| 禁止 | 把 Pin4 当 **1PPS** 或 IRIG |

四针建议丝印：`485A | 485B | GND | PULSE`。旧线束第四脚若当 1PPS/IRIG 须改接。

本改版 **无 IRIG-B**。需要时码请改用 SY-4096 或其它带 IRIG 机型。

### 3.2 与其它通道关系

- PULSE **不替代** Modbus 日历寄存器，也不替代 1PPS 秒沿。  
- 秒沿走 **1PPS OUT（硬件扇出）**；整分节拍走 Pin4。

### 3.3 联调与验收（示波器）

探头接 **四针端子 Pin4（PULSE）**，地接 **Pin3（GND）**。电平约 **5 V TTL**。可选第二通道接 **1PPS OUT（1PPS 输出座）** 对照整分秒沿。

| 步骤 | 动作 | PASS |
|------|------|------|
| 1 | 天线定位，前面板 / Web **LOCK** | 未 LOCK 不要测 PULSE |
| 2 | 时基约 50 ms/div，上升沿触发；等 UTC 秒=00 | **一个**正脉冲，脉宽约 **180～220 ms**（标称 200 ms） |
| 3 | 再等 1 分钟 | 再来一拍；中间 59 s **不是** 1 Hz |
| 4 | （可选）对照 1PPS | 仅整分那一拍 Pin4 与 1PPS 上升沿对齐（允许数 µs） |
| 5 | 未 LOCK（拔天线）再跨一个整分 | Pin4 **无脉冲** |

**不要**用 `ping`、NTP 偏移或 Modbus 寄存器验收 PULSE。日历走 485/NTP；整分节拍只看示波器。Pin4 若变成 1 Hz，接错到 1PPS 座。

旧线束第四脚若当 IRIG/1PPS 须改接。本改版 **无 IRIG-B**。

---

## 4. TTL 1PPS（对照）

| 项目 | 规格 |
|------|------|
| 电平 | **3.3 V TTL**（硬件缓冲输出 直出 GNSS 秒脉冲） |
| 频率 | 1 Hz（模组 PPS 有效时） |
| 用途 | 秒沿同步、仪器触发 |
| 与 Modbus | 脉冲 = 秒边界；日历 = 寄存器 / NTP |
| MCU | **不驱动**该座；守时秒沿不接到 1PPS 输出座 |

勿与 RS-485 A/B 或 Pin4 PULSE 混接。

---

## 5. 联调与验收建议

| 步骤 | 动作 | PASS |
|------|------|------|
| 1 | 天线定位，前面板 **LOCK** | 绿色锁定 |
| 2 | Modbus：9600 8N1，站号 1，FC03 读 10–16 | 年月日时合理，ms∈0–999 |
| 3 | 读地址 5 | 正式投运时期望 **3（LOCKED）** |
| 4 | （可选）PULSE Pin4 | LOCK 后每 UTC 整分约 200 ms 正脉冲 |
| 5 | （可选）1PPS 示波器（1PPS 输出座 座） | 1 Hz 边沿稳定（请接面板 1PPS 座） |

精度分层与工业场景能力对照见用户指南 **附录 D**。

---

## 6. 修订记录

| 日期 | 版本 | 变更 |
|------|------|------|
| 2026-08-14 | 1.2 | 补 PULSE 示波器联调步骤 |
| 2026-08-14 | 1.1 | 本改版：删 IRIG；硬件秒沿 1PPS；Pin4=整分脉冲 |
| 2026-07-19 | 1.0 | 首版起草：Modbus 全表（时码相关说明已废止） |

---

*本附件随设备发货；若与设备实测行为不一致，以已发布固件与铭牌为准并回改本文。*
