1. SECS/GEM 协议概述:SECS-I、HSMS、SECS-II、GEM 标准的关系与分层架构

SECS/GEM 协议族是半导体制造设备与上位主机(Host)之间进行通信和数据交换的国际标准协议族,由 SEMI(国际半导体设备与材料协会)制定。理解其分层架构和四个核心标准之间的关系,是掌握调试工具选型与抓包分析的基础。

核心认知:SECS/GEM 并非单一协议,而是一个由传输层、消息层和应用层组成的协议栈。调试时,不同层级的错误需要不同的工具和分析方法。

1.1 协议分层架构总览

SECS/GEM 协议族遵循清晰的分层模型,从物理连接到业务逻辑,共分为四层。下图展示了各标准在协议栈中的位置及其对应关系:

SECS/GEM 协议分层架构图 SECS/GEM 协议分层架构 GEM (Generic Equipment Model) 应用层:设备行为模型、状态机、场景定义 SECS-II (SEMI E5) 消息层:消息格式、数据结构、Item 编码规则 HSMS (SEMI E37) / SECS-I (SEMI E4) 传输层:TCP/IP 或 RS-232 物理传输 物理层:Ethernet / RS-232 TCP/IP 网络或串行电缆 应用层 表示层 传输层 物理层 调试关注点 场景逻辑 状态机 消息解析 数据格式 连接管理 超时重传 网卡抓包 串口监听

1.2 四个核心标准详解

SECS/GEM 协议族由四个核心 SEMI 标准组成,每个标准负责协议栈中一个特定层次的功能定义。

标准编号 标准名称 层级 传输方式 主要职责
SEMI E4 SECS-I 传输层 RS-232 串口 定义串行通信的帧格式、块传输协议、校验与重传机制
SEMI E37 HSMS 传输层 TCP/IP 以太网 定义基于 TCP 连接的消息传输、会话管理与连接状态机
SEMI E5 SECS-II 消息层 独立于传输 定义消息结构、Item 数据类型、流(Stream)与功能码(Function)
SEMI E30 GEM 应用层 基于 SECS-II 定义设备行为模型、状态机、事件通知、变量集合等业务场景
调试提示:在抓包分析时,HSMS 报文可以看到 TCP 层的信息(如序列号、长度),而 SECS-II 报文则需要在 HSMS 数据载荷中进一步解析。GEM 层面的错误通常表现为状态机异常或场景逻辑不匹配,需要结合设备日志分析。

1.3 SECS-I 与 HSMS:两种传输层协议

SECS-I 和 HSMS 都位于传输层,但面向不同的物理介质和应用场景。现代半导体工厂已基本转向 HSMS,但老旧设备仍可能使用 SECS-I。

SECS-I(SEMI E4)

  • 物理层:RS-232 串口,通常使用 9600 bps 或 19200 bps 波特率。
  • 帧结构:以块(Block)为单位,每个块包含长度、块号、EB(Envelope Block)标志、数据和校验和。
  • 特点:半双工通信,需要应答确认,传输速度慢,距离受限。
  • 调试工具:串口监听器(如 AccessPort、ComMonitor),需关注波特率、数据位、停止位配置。

HSMS(SEMI E37)

  • 物理层:TCP/IP 以太网,通常使用端口号 5000 或 5001。
  • 帧结构:基于 TCP 流,使用 T3 定时器控制消息超时,使用 T5 定时器控制连接间隔。
  • 特点:全双工通信,支持多会话,传输速度快,易于网络管理。
  • 调试工具:Wireshark、Tcpdump,需过滤 TCP 端口并解析 HSMS 头部。
SECS-I 与 HSMS 对比图 SECS-I 与 HSMS 传输层对比 SECS-I (SEMI E4) 物理层:RS-232 串口 通信方式:半双工 帧单位:Block(块) 典型速率:9600 / 19200 bps 调试工具:串口监听器 HSMS (SEMI E37) 物理层:TCP/IP 以太网 通信方式:全双工 帧单位:TCP 消息 典型端口:5000 / 5001 调试工具:Wireshark

1.4 SECS-II:消息层核心

SECS-II(SEMI E5)定义了设备与主机之间交换消息的格式和编码规则,是独立于传输层的标准。无论底层使用 SECS-I 还是 HSMS,SECS-II 的消息结构保持一致。

SECS-II 消息结构

  • Stream(流)与 Function(功能码):每条消息由 SxFy 标识,例如 S1F13 表示 Stream 1 Function 13(请求设备 ID)。
  • W-bit(等待位):指示发送方是否需要接收方回复(Reply Required)。
  • Item 数据结构:消息体由 Item 组成,Item 包含数据格式(如 ASCII、U2、I4、F8、LIST)和实际数据。
  • 嵌套结构:Item 可以嵌套,LIST 类型用于组合多个子 Item。
常见调试陷阱:SECS-II 消息的 Item 编码采用大端序(Big-Endian),且长度字段为 3 字节。在抓包分析时,如果解析工具未正确处理字节序,会导致数据值完全错误。务必确认调试工具支持大端序解析。

常见 Stream 与 Function 示例

消息 ID 方向 描述 典型用途
S1F13 Host → Eq 请求设备 ID 建立通信时的身份确认
S1F14 Eq → Host 返回设备 ID 响应 S1F13
S6F11 Eq → Host 事件报告发送 设备状态变化通知
S2F41 Host → Eq 发送远程命令 控制设备执行动作
S7F19 Host → Eq 请求配方列表 查询设备可用配方

1.5 GEM:应用层行为模型

GEM(Generic Equipment Model,SEMI E30)建立在 SECS-II 之上,定义了设备在通信过程中的行为规范,包括状态机、事件通知、变量管理、报警处理等。

GEM 核心概念

  • 设备状态机:定义设备从初始化到运行、空闲、停止等状态的转换规则。
  • 事件(Event):设备状态变化时主动上报给主机,例如“加工完成”、“报警触发”。
  • 变量(Variable):包括状态变量(SV)、设备变量(DV)、数据变量(V)等,用于描述设备当前状态。
  • 远程命令(Remote Command):主机通过 S2F41 发送命令,设备执行后返回结果。
  • 配方管理(Recipe Management):支持配方上传、下载、选择等操作。
GEM 设备状态机简化图 GEM 设备状态机(简化) INIT EQUIPMENT_READY PROCESSING STOPPED 初始化完成 开始加工 停止/报警 恢复就绪 重新初始化

1.6 协议栈数据封装过程

当设备发送一条消息时,数据从应用层向下逐层封装。理解封装过程有助于在抓包时快速定位问题所在层级。

  1. GEM 层:生成业务数据,如事件报告内容、变量值列表。
  2. SECS-II 层:将业务数据编码为 Item 结构,添加 Stream、Function、W-bit 等头部信息,形成 SECS-II 消息体。
  3. HSMS 层:在 SECS-II 消息体前添加 HSMS 头部(包含会话 ID、消息长度、头部字节等),形成 HSMS 消息。
  4. TCP 层:将 HSMS 消息作为 TCP 载荷发送,TCP 协议负责分段、重传和流量控制。
  5. IP 层:封装 IP 头部,进行路由寻址。
  6. 以太网层:添加 MAC 地址和帧校验序列(FCS),发送到物理介质。
抓包分析要点:在 Wireshark 中抓取 HSMS 通信时,需要关注 TCP 载荷的起始位置。HSMS 头部固定为 4 字节(会话 ID 2 字节 + 头部字节 1 字节 + 保留字节 1 字节),其后紧跟 4 字节的消息长度,然后是 SECS-II 消息体。解析时需跳过 TCP 头部和 HSMS 头部,才能正确提取 SECS-II 内容。

1.7 标准关系总结

四个标准之间的关系可以用“依赖与扩展”来概括:

  • SECS-I / HSMS 提供传输通道,解决“如何传”的问题。
  • SECS-II 定义消息格式,解决“传什么”的问题。
  • GEM 定义业务行为,解决“为什么传”和“传了之后怎么办”的问题。
  • GEM 依赖于 SECS-II,SECS-II 可以运行在 SECS-I 或 HSMS 之上。
  • 在调试时,底层问题(如连接断开、超时)通常出在 HSMS/SECS-I 层;消息解析错误出在 SECS-II 层;业务逻辑异常出在 GEM 层。
层次 标准 常见问题 调试方法
应用层 GEM (E30) 状态机不匹配、事件未触发、命令无响应 设备日志、GEM 状态机跟踪
消息层 SECS-II (E5) Item 解析错误、长度不匹配、格式异常 SECS-II 解析器、协议分析仪
传输层 HSMS (E37) / SECS-I (E4) 连接超时、重传过多、数据丢包 Wireshark、串口监听器