1. HSMS 协议基础回顾
1.1 HSMS 在 SECS/GEM 体系中的位置
SECS/GEM 是半导体制造设备与上位主机(Host)之间进行数据通信的行业标准协议族。HSMS(High-Speed SECS Message Services)位于该协议栈的传输层与物理层,取代了传统的 RS-232 串行通信,为半导体工厂提供了基于 TCP/IP 的高速、可靠通信能力。
SECS/GEM 协议栈分层结构:
- GEM(Generic Equipment Model) — 应用层:定义设备状态模型、报警、事件、远程控制等行为规范。
- SECS-II(SEMI E5) — 表示层/会话层:定义消息格式、数据项(SML)和事务处理规则。
- HSMS(SEMI E37) — 传输层:定义 TCP/IP 之上的消息封装、会话管理和连接控制。
- TCP/IP 协议栈 — 网络层/传输层:提供底层网络传输能力。
关键理解:HSMS 是 SECS/GEM 协议栈中承上启下的传输层。它不关心上层 SECS-II 消息的具体内容,只负责将消息可靠地封装成 TCP 数据包并发送到对端。在半导体工厂自动化(EAP)系统中,HSMS 的性能直接决定了设备通信的吞吐量和稳定性。
1.2 HSMS vs RS-232 对比
在 HSMS 出现之前,半导体设备普遍使用 RS-232 串行接口进行通信。随着 300mm 晶圆厂对数据量和实时性要求的提升,RS-232 的带宽和可靠性瓶颈日益突出。HSMS 基于 TCP/IP 网络,在多个维度上实现了质的飞跃。
| 对比维度 | HSMS(SEMI E37) | RS-232(SECS-I) |
|---|---|---|
| 物理介质 | 以太网(双绞线/光纤) | 串行电缆(DB9/DB25) |
| 最大传输距离 | 100m(交换机级联可扩展) | 约 15m(无中继) |
| 通信速率 | 10/100/1000 Mbps | 9600 bps ~ 115200 bps |
| 连接方式 | 点对点 / 星型网络 | 点对点独占 |
| 错误检测 | TCP 校验和 + 重传机制 | 奇偶校验 + 块校验(BCC) |
| 会话管理 | Select/Deselect 状态机 | 无状态,依赖物理连接 |
| 多设备支持 | 支持多设备同时连接 | 仅支持 1 对 1 |
| 标准组织 | SEMI E37 | SEMI E4 |
工程注意:虽然 HSMS 在速率和距离上全面优于 RS-232,但 TCP/IP 网络引入了新的不确定性——网络延迟抖动(Jitter)、丢包重传、连接超时等。这正是本课程后续章节重点讨论的调优与容错主题。在将旧设备从 RS-232 升级到 HSMS 时,务必评估网络环境对实时性的影响。
1.3 HSMS 会话建立流程
HSMS 会话的建立遵循一套严格的状态机,确保通信双方在发送业务数据之前完成身份验证和连接协商。整个流程分为 TCP 连接建立 和 HSMS 会话建立 两个阶段。
阶段一:TCP 连接建立
- 主动方(通常为 Host) 向被动方(设备)的指定端口发起 TCP 三次握手。
- TCP 连接建立成功后,双方进入 Not Selected 状态。
- 此时底层 TCP Socket 已就绪,但 HSMS 会话尚未激活,不能传输 SECS-II 消息。
阶段二:HSMS 会话建立(Select / Select Resp)
- 主动方 发送
Select.req消息,请求建立 HSMS 会话。 - 被动方 收到后,检查自身状态和资源,回复
Select.rsp。 Select.rsp中的 HSMS Communication State 字段指示结果:0x00— 通信成功(Selected)0x01— 通信失败(Already Selected / 资源不足等)
- 若成功,双方进入 Selected 状态,此时可以开始传输 SECS-II 消息。
关键消息格式:
HSMS Select.req 报文结构(16 字节 Header):
[0x00] [0x00] [0x00] [0x00] — Session ID(默认 0x0000)
[0x00] [0x00] [0x00] [0x0A] — PType=0, SType=0x000A (Select.req)
[0x00] [0x00] [0x00] [0x00] — System Bytes(事务 ID)
[0x00] [0x00] [0x00] [0x00] — 保留 / 未使用
工程经验:在实际部署中,HSMS 会话建立超时时间(
T3 定时器)的配置至关重要。如果网络存在波动,T3 设置过短会导致 Select.req 被误判为超时,造成反复重连。建议初始值设为 10~15 秒,后续根据实际网络 RTT 进行微调。本课程第 3 章将详细讲解所有 HSMS 定时器的调优方法。
HSMS 会话状态汇总
| 状态名称 | 描述 | 可传输 SECS-II 消息? |
|---|---|---|
| Not Connected | TCP 连接未建立 | 否 |
| Not Selected | TCP 已连接,但 HSMS 会话未激活 | 否(仅可传输 HSMS 控制消息) |
| Selected | HSMS 会话已建立,通信就绪 | 是 |