1. SECS/GEM 协议概述:SECS-I、SECS-II、HSMS、GEM 标准的关系与分层架构
1.1 协议族全景
SECS/GEM 是半导体制造设备与上位主机(Host)之间进行数据通信与过程控制的事实标准,由国际半导体设备与材料协会(SEMI)制定。整个协议族并非单一协议,而是由四个核心标准组成的分层体系:
| 标准编号 | 名称 | 层级 | 核心职责 |
|---|---|---|---|
| SEMI E4 | SECS-I | 传输层 / 物理层 | 定义 RS-232 串行通信的电气特性、报文帧格式与半双工传输机制 |
| SEMI E5 | SECS-II | 会话层 / 表示层 | 定义消息结构、数据类型(Item)、流(Stream)与功能(Function)编码规则 |
| SEMI E37 | HSMS | 传输层 | 基于 TCP/IP 的高速消息传输,替代 SECS-I 的串行物理层 |
| SEMI E30 | GEM | 应用层 | 定义设备行为模型、状态机、事件报告、报警、远程控制等通用功能 |
关键认知:SECS-I 与 HSMS 是互斥的传输层选项,二选一;SECS-II 是统一的报文语言;GEM 是建立在 SECS-II 之上的应用行为规范。四者共同构成“物理/传输 → 报文 → 行为”的完整协议栈。
1.2 分层架构与数据流
下图展示了 SECS/GEM 协议栈的典型分层结构,以及一条设备消息从应用层到物理层的封装过程:
1.3 各标准详解
1.3.1 SECS-I(SEMI E4)— 串行传输基石
- 物理介质:RS-232 串行线缆,半双工通信,波特率通常为 9600 bps。
- 报文格式:以块(Block)为单位,每块包含长度字节、块号、系统字节和最多 254 字节数据。
- 特点:传输距离短(约 15 米),速度慢,但抗干扰能力强,早期设备广泛使用。
- 现状:新设备已基本淘汰,但大量存量设备仍在产线运行,日志中常见 "Block"、"ENQ"、"ACK/NAK" 等关键词。
1.3.2 HSMS(SEMI E37)— 高速网络传输
- 物理介质:TCP/IP 以太网,支持主动连接(Active)和被动连接(Passive)两种模式。
- 消息头格式:固定 10 字节,包含消息长度、会话 ID、头部字节(Header Byte 1/2)、系统字节等。
- 优势:传输速率高(100 Mbps 以上),支持长距离、多设备并发连接。
- 日志特征:HSMS 日志中常见 "Connect"、"Disconnect"、"Select"、"Data"、"Reject" 等控制消息。
故障定位要点:HSMS 连接失败是 GEM 通信中最常见的故障之一。检查 TCP 端口号(默认 5000)、IP 地址、Select 请求/响应是否匹配,是排故的第一步。
1.3.3 SECS-II(SEMI E5)— 通用报文语言
SECS-II 定义了设备与主机之间所有消息的语法和语义,是协议栈中最核心的“语言层”。
- 消息标识:使用
S<Stream>F<Function>格式,例如S1F1(Are You There 请求)、S1F2(On-Line Data 响应)。 - 数据类型(Item):支持布尔(Boolean)、整数(I1/I2/I4/I8)、浮点(F4/F8)、字符串(ASCII/UTF-8)、列表(List)等。
- 消息方向:主设备发起的消息称为 Primary Message,响应消息称为 Secondary Message。
- W-Bit 机制:Primary 消息中 W=1 表示需要对方回复,W=0 表示不需要回复(即 Fire-and-Forget)。
// SECS-II 消息示例(S1F1 请求与 S1F2 响应)
// Primary: S1F1 W
// Secondary: S1F2 <L>
// <A>MDX-3000</A> // 设备型号
// <A>Rev 2.1.0</A> // 软件版本
// </L>
1.3.4 GEM(SEMI E30)— 设备行为模型
GEM 标准定义了设备必须支持的一组通用功能,确保不同厂商的设备能够以统一的方式与主机交互。GEM 的核心功能模块包括:
| 功能模块 | 描述 | 典型 SECS-II 消息 |
|---|---|---|
| 设备状态机 | 定义设备在通信中的状态(INIT、ENABLED、DISABLED 等)及状态转换规则 | S1F1/S1F2, S1F13/S1F14 |
| 事件报告 | 设备主动向主机报告特定事件(如加工完成、报警触发) | S6F11/S6F12, S6F15/S6F16 |
| 报警管理 | 设备向主机发送报警信息,主机可确认或清除报警 | S5F1/S5F2, S5F3/S5F4 |
| 远程命令 | 主机向设备发送控制指令(如启动、停止、暂停) | S2F41/S2F42 |
| 数据收集 | 主机按需或周期性地收集设备的过程数据 | S2F13/S2F14, S2F23/S2F24 |
| 变量管理 | 设备暴露状态变量(SV)、数据变量(DV)、设备常量(EC)供主机读写 | S1F3/S1F4, S2F29/S2F30 |
1.4 四者关系总结
下图以“协议栈”视角直观展示 SECS-I、SECS-II、HSMS、GEM 之间的依赖与协作关系:
1.5 日志分析视角下的分层意义
在实际的 SECS/GEM 日志解析与故障定位工作中,理解分层架构能够帮助工程师快速缩小问题范围:
- 物理/传输层故障:日志中反复出现
Connect Timeout、Disconnect、NAK、Block Retry等关键词,优先检查线缆、IP 配置、端口号、防火墙。 - SECS-II 报文层故障:日志中出现
Invalid Stream、Function Not Supported、Item Format Error,说明消息编码或解码出错,需检查设备与主机的 SECS-II 版本兼容性。 - GEM 应用层故障:日志中通信正常(无传输层错误),但设备状态不切换、事件不报告、远程命令无响应,说明 GEM 状态机或功能实现有缺陷。
常见误区:不要一看到日志中有 "Error" 就认为是 GEM 层问题。先确认传输层是否稳定(HSMS Select 是否成功、SECS-I 块是否完整),再逐层向上排查。分层定位是日志分析的第一原则。
1.6 本章小结
- SECS/GEM 协议族由 SECS-I(E4)、SECS-II(E5)、HSMS(E37)、GEM(E30) 四个标准组成。
- 四者构成 物理/传输层 → 报文层 → 应用层 的分层架构,层与层之间通过标准接口解耦。
- SECS-I 与 HSMS 是互斥的传输层选项,SECS-II 是统一的报文语言,GEM 是设备行为规范。
- 日志分析时,应遵循 从底层到顶层 的排查顺序,先确认传输层健康,再检查报文层,最后定位应用层问题。