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 协议栈 — 网络层/传输层:提供底层网络传输能力。
SECS/GEM 协议栈分层架构 GEM(SEMI E30)— 应用层 SECS-II(SEMI E5)— 表示层 / 会话层 HSMS(SEMI E37)— 传输层 TCP/IP 协议栈 — 网络层 / 传输层 以太网物理层(IEEE 802.3) 数据流向
关键理解: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 vs RS-232 通信模式对比 RS-232 点对点独占 Host 设备 A 串行线 × 无法同时连接多设备 × 速率 ≤ 115.2 kbps × 距离 ≤ 15m HSMS 星型网络 Host 设备 A 设备 B 设备 C 交换机 ✓ 多设备同时连接 ✓ 速率 100 Mbps+ / 距离 100m+
工程注意:虽然 HSMS 在速率和距离上全面优于 RS-232,但 TCP/IP 网络引入了新的不确定性——网络延迟抖动(Jitter)、丢包重传、连接超时等。这正是本课程后续章节重点讨论的调优与容错主题。在将旧设备从 RS-232 升级到 HSMS 时,务必评估网络环境对实时性的影响。

1.3 HSMS 会话建立流程

HSMS 会话的建立遵循一套严格的状态机,确保通信双方在发送业务数据之前完成身份验证和连接协商。整个流程分为 TCP 连接建立 和 HSMS 会话建立 两个阶段。

阶段一:TCP 连接建立

  1. 主动方(通常为 Host) 向被动方(设备)的指定端口发起 TCP 三次握手。
  2. TCP 连接建立成功后,双方进入 Not Selected 状态。
  3. 此时底层 TCP Socket 已就绪,但 HSMS 会话尚未激活,不能传输 SECS-II 消息。

阶段二:HSMS 会话建立(Select / Select Resp)

  1. 主动方 发送 Select.req 消息,请求建立 HSMS 会话。
  2. 被动方 收到后,检查自身状态和资源,回复 Select.rsp。
  3. Select.rsp 中的 HSMS Communication State 字段指示结果:
    • 0x00 — 通信成功(Selected)
    • 0x01 — 通信失败(Already Selected / 资源不足等)
  4. 若成功,双方进入 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 会话建立流程(状态机) 主动方(Host) 1. TCP 三次握手 2. Not Selected 状态 3. 发送 Select.req 4. 接收 Select.rsp 5. Selected 状态 ✓ 被动方(设备) 1. TCP 三次握手 2. Not Selected 状态 3. 接收 Select.req 4. 回复 Select.rsp 5. Selected 状态 ✓ Select.req Select.rsp
工程经验:在实际部署中,HSMS 会话建立超时时间(T3 定时器)的配置至关重要。如果网络存在波动,T3 设置过短会导致 Select.req 被误判为超时,造成反复重连。建议初始值设为 10~15 秒,后续根据实际网络 RTT 进行微调。本课程第 3 章将详细讲解所有 HSMS 定时器的调优方法。

HSMS 会话状态汇总

状态名称 描述 可传输 SECS-II 消息?
Not Connected TCP 连接未建立 否
Not Selected TCP 已连接,但 HSMS 会话未激活 否(仅可传输 HSMS 控制消息)
Selected HSMS 会话已建立,通信就绪 是