1. SECS/GEM 协议概述
SECS/GEM 是半导体制造设备与工厂主机(Host)之间通信的事实标准协议族。它定义了从物理层到应用层的完整通信栈,确保不同厂商的设备能够以统一的方式交换数据、报告状态、接收指令。理解协议栈结构、传输层差异以及 GEM 标准功能集,是后续分析通信中断与超时处理策略的基础。
1.1 协议栈结构
SECS/GEM 协议栈自上而下分为四个层次,每一层承担特定的职责:
| 层次 | 名称 | 主要职责 | 典型协议/标准 |
|---|---|---|---|
| 应用层 | GEM (Generic Equipment Model) | 定义设备行为模型、状态机、事件报告、报警、远程控制等标准功能 | SEMI E30 |
| 消息层 | SECS-II (SECS Message Language) | 定义消息格式、数据项类型(SML)、事务处理规则(Primary/Secondary Message) | SEMI E5 |
| 传输层 | HSMS 或 RS-232 | 负责数据帧的封装、传输、连接管理与重传机制 | SEMI E37 (HSMS) / SEMI E4 (RS-232) |
| 物理层 | TCP/IP 或 串口 | 提供物理连接与比特流传输 | IEEE 802.3 / RS-232-C |
关键理解: 在异常场景中,传输层(HSMS/RS-232)是通信中断和超时的第一道防线,而 GEM 层则定义了设备在连接丢失后的行为状态(如 OFFLINE、ATTEMPT_ONLINE)。
1.2 HSMS 与 RS-232 对比
HSMS(High-Speed SECS Message Services)基于 TCP/IP,是当前主流传输方式;RS-232 串口通信则用于老旧设备或低速场景。两者在连接模型、性能、可靠性方面存在显著差异,直接影响超时与中断处理策略。
| 对比维度 | HSMS (E37) | RS-232 (E4) |
|---|---|---|
| 物理介质 | 以太网 (TCP/IP) | 串行线缆 (RS-232-C) |
| 连接模型 | 主动连接 (Active) / 被动连接 (Passive) | 点对点固定连接 |
| 传输速率 | 10/100/1000 Mbps 以上 | 通常 9600 ~ 115200 bps |
| 最大距离 | 100m (铜缆) / 无限制 (网络) | 约 15m |
| 连接检测 | TCP 连接状态 + T3/T5/T6/T7/T8 超时 | 载波检测 (CD) + 字符超时 |
| 多设备支持 | 支持多会话、多连接 | 仅支持点对点 |
| 典型超时参数 | T3 (回复超时)、T5 (连接待机)、T6 (控制事务)、T7 (连接空闲)、T8 (字符间隔) | T1 (字符超时)、T2 (协议超时)、T4 (回复超时) |
实践建议: 在 HSMS 环境中,T3 超时是最常见的异常触发点,通常设置为 45 秒。当设备发送 Primary Message 后在 T3 时间内未收到 Secondary Message,即判定为通信超时,触发重试或报警。
1.3 GEM 标准功能集
GEM(Generic Equipment Model,SEMI E30)定义了设备与主机之间交互的标准行为模型。它不依赖具体的传输层实现,而是规定了设备必须支持的功能集合,确保不同厂商的设备在通信异常时表现一致。
核心功能域
- 设备状态管理: 定义设备通信状态机(OFFLINE / ONLINE / ATTEMPT_ONLINE),以及状态切换的触发条件。
- 事件通知: 设备主动向主机报告特定事件(如加工完成、报警触发、状态变更)。
- 报警管理: 定义报警的设定、清除、查询机制,支持多级报警优先级。
- 远程控制: 主机通过 SECS-II 指令远程启停设备、切换配方、设定参数。
- 数据收集: 支持 Trace 数据采集、Variable 数据查询、数据上报周期配置。
- 物料跟踪: 管理晶圆盒、晶圆载具的进出站、ID 读取与验证。
异常场景关联: 当通信中断发生时,GEM 状态机自动从 ONLINE 切换到 ATTEMPT_ONLINE 或 OFFLINE。设备在 ATTEMPT_ONLINE 状态下会周期性尝试重连,直到重连成功或达到最大重试次数。理解这个状态转换是设计超时处理策略的前提。
GEM 功能集分类表
| 功能类别 | 标准编号 | 关键行为 | 异常关联 |
|---|---|---|---|
| 状态管理 | E30 §5 | 通信状态机、控制状态机、处理状态机 | 通信中断触发状态迁移 |
| 事件报告 | E30 §6 | CEID 定义、事件使能/禁用、报告链接 | 中断期间事件缓存或丢失 |
| 报警管理 | E30 §7 | ALID 设定、报警清除、报警列表查询 | 超时可能导致报警误报 |
| 远程控制 | E30 §8 | 远程命令 (RCMD)、参数下发 | 中断时命令执行状态不确定 |
| 数据收集 | E30 §9 | Trace 配置、数据变量 (SVID/ECID) 查询 | 中断导致数据采集断点 |
| 物料管理 | E30 §10 | 物料进出站、ID 读取、载具验证 | 中断时物料状态不一致 |