1. HSMS 协议概述
1.1 HSMS 在 SECS/GEM 体系中的位置
SECS/GEM 是半导体制造设备与工厂主机(Host)之间进行数据通信的行业标准协议族。HSMS(High-Speed SECS Message Services)位于该协议栈的传输层与物理层,负责通过 TCP/IP 网络承载 SECS-II 消息。
协议栈定位:HSMS 替代了传统的 RS232 串行通信,成为现代 300mm 晶圆厂及先进封装产线的主流通信方式。
1.2 HSMS vs RS232 对比
传统 RS232 串行通信在 200mm 晶圆厂时代占据主导,但面对 300mm 产线对速度、可靠性和多会话的需求已力不从心。HSMS 基于 TCP/IP 网络,在多个维度实现了跨越式提升。
| 对比维度 | HSMS (SEMI E37) | RS232 (SECS-I) |
|---|---|---|
| 物理介质 | 以太网 (RJ45 / 光纤) | 串行电缆 (DB9 / DB25) |
| 传输速率 | 100 Mbps ~ 1 Gbps | 9600 ~ 115200 bps |
| 最大距离 | 100 米(交换机级联可扩展) | 约 15 米 |
| 连接方式 | 点对点 / 星型网络 | 点对点直连 |
| 多会话支持 | 支持(多连接、多设备) | 不支持(单会话) |
| 错误检测 | TCP 校验和 + HSMS 头部校验 | 奇偶校验 + Block Check |
| 标准规范 | SEMI E37 | SEMI E4 |
迁移趋势:新建 300mm 晶圆厂已全面采用 HSMS;老旧 200mm 产线也在通过串口转以太网网关逐步升级。掌握 HSMS 诊断是设备工程师的必备技能。
1.3 HSMS 基本通信模型
HSMS 采用 客户端-服务器(Client-Server) 架构。设备端(Equipment)通常作为 HSMS 被动方(Passive) 等待连接,主机(Host)作为 HSMS 主动方(Active) 发起连接。双方通过三次握手建立 TCP 连接后,进入 HSMS 会话层进行消息交换。
1.4 HSMS 消息结构
HSMS 在 TCP 字节流之上定义了自己的消息帧格式,确保接收方能够正确识别消息边界。每条 HSMS 消息由 消息头(Header) 和 消息体(Body) 组成。
| 字段 | 长度(字节) | 说明 |
|---|---|---|
| 消息长度 | 4 | 后续消息头 + 消息体的总长度(大端序) |
| 设备 ID | 2 | 标识目标设备(0~32767) |
| 控制位 | 1 | 消息类型标识(0x00=数据消息, 0x01=控制消息) |
| 会话 ID | 2 | 多会话场景下的会话标识 |
| 流/功能码 | 2 | SECS-II 流号与功能号(如 S1F13) |
| 消息体 | 可变 | SECS-II 数据项(SML 格式编码) |
常见陷阱:HSMS 消息长度字段必须严格按大端序(Big-Endian)编码。在抓包分析时,如果发现消息被错误分片或重组失败,首先检查长度字段的字节序是否正确。
1.5 HSMS 状态机与连接生命周期
HSMS 定义了三种基本连接状态,设备与主机通过状态转换来管理通信链路:
- 未连接(Not Connected):TCP 连接尚未建立,双方处于监听或待发起状态。
- 已连接(Connected):TCP 三次握手完成,但尚未完成 HSMS 会话协商。
- 已选择(Selected):通过 Select.req / Select.rsp 握手成功,进入数据通信阶段。
诊断要点:链路故障排查的第一步是确认 TCP 连接是否建立(Connected 状态)。如果 TCP 连接无法建立,检查 IP 地址、端口号、防火墙规则和物理网线。如果 TCP 已连接但无法进入 Selected 状态,重点检查 Select.req 消息中的设备 ID 是否匹配。