1. SECS GEM 协议概述

1.1 SECS GEM 在半导体制造中的作用

在半导体晶圆制造中,设备与上位主机(Host)之间的数据交换必须遵循严格的标准协议。SECS(SEMI Equipment Communications Standard)与 GEM(Generic Equipment Model)正是由国际半导体设备与材料协会(SEMI)制定的核心通信标准。

  • SECS-I / SECS-II:定义消息格式与数据项编码,是设备通信的“语法”。
  • HSMS(High-Speed SECS Message Services):基于 TCP/IP 的传输层协议,替代早期的 RS-232 串行 SECS-I。
  • GEM:在 SECS-II 之上定义设备行为模型,包括状态机、报警、配方管理、事件通知等,是设备与主机交互的“语义”。
核心价值:SECS GEM 实现了半导体制造中设备与制造执行系统(MES)的标准化对接,使不同厂商的设备能够以统一的方式上报状态、接收指令,从而支撑自动化物料搬运、工艺参数下发、数据追溯等关键场景。
协议层 标准编号 主要功能 传输载体
SECS-I SEMI E4 串行点对点物理传输 RS-232
SECS-II SEMI E5 消息格式、数据项编码 独立于传输层
HSMS SEMI E37 TCP/IP 上的高速消息服务 以太网
GEM SEMI E30 设备行为模型、状态机、场景定义 基于 SECS-II
SECS GEM 协议栈分层架构 GEM 设备模型 (E30) SECS-II 消息格式 (E5) HSMS 传输协议 (E37) TCP/IP 网络层 设备行为模型 状态机、报警、事件 配方、数据收集 远程控制 TCP 连接管理 连接/断开/心跳

1.2 HSMS 通信模型

HSMS(High-Speed SECS Message Services)是当前半导体设备通信的主流传输层协议。它基于 TCP/IP 协议栈,提供可靠、有序、无丢失的字节流传输。HSMS 定义了两种通信角色:主动方(Active) 和 被动方(Passive)。

  • 主动方(Active):主动发起 TCP 连接请求的一方,通常是设备端(Equipment)。
  • 被动方(Passive):监听端口等待连接的一方,通常是主机端(Host)。
  • 控制连接(Control Connection):用于传输 HSMS 控制消息(如 Select、Deselect、Linktest)。
  • 数据消息(Data Message):承载 SECS-II 数据,在已建立的会话中传输。
关键概念:HSMS 使用“会话(Session)”来管理逻辑连接。一个 TCP 连接可以承载多个会话,但通常一个设备与主机之间只建立一个会话。HSMS 通过 Select.req / Select.rsp 握手建立会话,通过 Linktest.req / Linktest.rsp 维持连接活性。
HSMS 消息类型 功能 方向
Select.req 请求建立会话 Active → Passive
Select.rsp 响应会话建立请求 Passive → Active
Deselect.req 请求终止会话 Active → Passive
Linktest.req 连接活性探测 Active → Passive
Linktest.rsp 连接活性响应 Passive → Active
Data Message 承载 SECS-II 数据 双向
HSMS 通信模型:连接建立与会话管理 设备 (Active) IP: 192.168.1.10 主机 (Passive) IP: 192.168.1.1:5000 ① TCP 连接建立 ② Select.req ③ Select.rsp (成功) ④ Data Message (SECS-II) ⑤ Linktest.req / Linktest.rsp (心跳) HSMS 会话建立流程:TCP 连接 → Select 握手 → 数据通信 → Linktest 保活

1.3 Socket 基础概念

Socket(套接字)是 TCP/IP 网络编程的抽象接口,是应用层与传输层之间的桥梁。在 HSMS 通信中,Socket 负责建立 TCP 连接、发送和接收字节流。理解 Socket 的工作原理是诊断 HSMS 通信异常的前提。

  • Socket 类型:流式 Socket(SOCK_STREAM)对应 TCP,提供可靠、有序、无丢失的双向字节流。
  • IP 地址 + 端口号:唯一标识一个通信端点。设备与主机通过 (IP, Port) 对建立连接。
  • Socket 生命周期:创建 → 绑定(可选)→ 连接/监听 → 收发数据 → 关闭。
  • 阻塞与非阻塞:阻塞模式下,读写操作会等待数据就绪;非阻塞模式立即返回,需配合事件轮询。
常见误区:Socket 连接建立成功(TCP 三次握手完成)并不等于 HSMS 会话建立成功。HSMS 还需要在 TCP 之上进行 Select 握手。很多工程师误将 TCP 连通性等同于 HSMS 通信正常,这是诊断中需要特别注意的。
Socket 操作 对应 HSMS 场景 异常表现
socket() 创建通信端点 资源不足,创建失败
connect() 设备主动连接主机 连接超时、拒绝连接
bind() + listen() 主机监听端口 端口被占用、权限不足
send() / write() 发送 HSMS 消息 连接断开、发送缓冲区满
recv() / read() 接收 HSMS 消息 超时、连接重置、半关闭
close() 断开 TCP 连接 未正常关闭导致资源泄漏
Socket 生命周期与 HSMS 通信映射 socket() 创建 connect() 连接 send() / recv() 数据 close() 关闭 HSMS 控制连接建立 Select.req / Select.rsp 会话握手 SECS-II 数据消息 + Linktest 保活 Deselect / TCP 断开 诊断要点:Socket 层异常(连接超时、重置、半关闭)会直接导致 HSMS 通信失败 TCP 连接成功 ≠ HSMS 会话成功,需检查 Select 握手与 Linktest 保活

1.4 小结

本章介绍了 SECS GEM 协议栈的分层结构、HSMS 通信模型以及 Socket 基础概念。理解这些内容是诊断 Socket 通信异常的前提。在后续章节中,我们将深入分析常见的 Socket 异常类型、抓包分析方法以及具体的诊断步骤。

关键记忆点:
• SECS GEM 是半导体设备与主机通信的行业标准,包含 E4/E5/E30/E37 等多个 SEMI 标准。
• HSMS 基于 TCP/IP,使用 Active/Passive 角色模型,通过 Select 握手建立会话。
• Socket 是 TCP 通信的编程接口,其生命周期直接映射到 HSMS 的连接管理过程。
• TCP 连接成功不等于 HSMS 通信正常,必须验证 Select 握手和 Linktest 保活。