1. SECS/GEM 协议概述:协议栈架构与 GEM 标准的关系
SECS/GEM 是半导体制造设备与工厂主机(Host)之间进行数据通信和远程控制的事实标准。要理解其超时重传机制与性能优化,首先需要厘清其协议栈的层级关系以及 GEM 标准在其中的定位。
1.1 协议栈三层架构
SECS/GEM 协议栈自下而上分为物理传输层、消息层和应用层,每一层解决不同的问题:
| 层级 | 协议/标准 | 核心职责 | 典型传输介质 |
|---|---|---|---|
| 物理传输层 | SECS-I / HSMS | 定义字节流传输、电气特性、连接管理 | RS-232 (SECS-I) / TCP/IP (HSMS) |
| 消息层 | SECS-II | 定义消息格式、数据类型、会话控制 | 逻辑消息块 |
| 应用层 | GEM (SEMI E30) | 定义设备行为模型、状态机、标准场景 | 基于 SECS-II 消息 |
关键理解:SECS-I/HSMS 解决“怎么传”,SECS-II 解决“传什么格式”,GEM 解决“传什么内容以及设备如何响应”。超时重传主要发生在物理传输层和消息层,但优化策略必须考虑 GEM 应用场景。
1.2 协议栈架构关系图
下图展示了 SECS/GEM 协议栈的完整架构,以及各层之间的依赖关系:
1.3 SECS-I:串行通信基础
SECS-I (SEMI E4) 是最早的物理传输层标准,基于 RS-232 串行通信。其核心特点包括:
- 点对点连接:一台设备只能与一个主机通信,不支持多路复用。
- 半双工模式:同一时刻只能一方发送数据,另一方接收。
- 块传输机制:长消息被拆分为多个数据块(Block),每个块最大 254 字节。
- 超时参数:T1(字符间超时)、T2(协议超时)、T3(等待回复超时)是核心重传控制参数。
性能瓶颈:SECS-I 的波特率通常限制在 9600~38400 bps,且半双工模式导致吞吐量较低。在 300mm 晶圆厂中,HSMS 已逐步取代 SECS-I。
1.4 HSMS:高速以太网传输
HSMS (SEMI E37) 是基于 TCP/IP 的物理传输层标准,解决了 SECS-I 的速率和连接限制:
| 特性 | SECS-I | HSMS |
|---|---|---|
| 传输介质 | RS-232 串口 | TCP/IP 以太网 |
| 最大速率 | 38400 bps | 100 Mbps ~ 1 Gbps |
| 连接模式 | 点对点 | 多路复用 (多个设备 ↔ 主机) |
| 消息分块 | 必须分块 (≤254 字节) | 可选分块 (MTU 控制) |
| 超时体系 | T1, T2, T3 | T3, T5, T6, T7, T8 |
HSMS 引入了更完善的连接状态机,包括 Not Connected、Connected、Selected 三种状态,通过 Select/SelectRsp 控制事务建立连接。
1.5 SECS-II:消息层协议
SECS-II (SEMI E5) 定义了所有消息的结构和编码规则,是 GEM 标准的基础载体:
- 消息结构:每条消息由 Stream Number (S) 和 Function Number (F) 唯一标识,例如 S1F1 (Are You There) 是标准查询消息。
- 数据类型:支持 L (列表)、U1/U2/U4/U8 (无符号整数)、I1/I2/I4/I8 (有符号整数)、A (ASCII)、B (二进制)、F4/F8 (浮点数) 等。
- 事务控制:每条消息分为 Primary (请求) 和 Secondary (回复),通过 Message ID 关联。
- 块传输:当消息长度超过物理层限制时,使用 Block Number 和 End Bit 标识分块。
// SECS-II 消息示例:S1F1 (Are You There)
// 请求:主机查询设备是否在线
Stream: 1
Function: 1
Direction: Primary (Host → Equipment)
Data: <L> // 空列表
// 回复:S1F2 (On Line Data)
Stream: 1
Function: 2
Direction: Secondary (Equipment → Host)
Data: <L>
<A>MDX-300</A> // 设备型号
<A>REV 2.1</A> // 软件版本
</L>
1.6 GEM 标准:应用层行为模型
GEM (SEMI E30) 是 SECS/GEM 协议栈的最高层,它定义了设备与主机之间的标准行为模型,而不仅仅是消息格式:
| GEM 核心组件 | 描述 | 相关 SECS-II 消息 |
|---|---|---|
| 设备状态模型 | 定义设备从 INIT → IDLE → PROCESS → ALARM 的状态转换 | S1F1/S1F2, S1F13/S1F14 |
| 事件通知 | 设备主动向主机报告事件 (如 Process Complete, Alarm Occurred) | S6F11/S6F12, S5F1/S5F2 |
| 远程控制 | 主机远程启动/停止设备操作 | S2F41/S2F42 |
| 数据收集 | 主机按需或周期性地收集设备工艺数据 | S2F13/S2F14, S2F23/S2F24 |
| 配方管理 | 主机下载/上传工艺配方 | S7F1/S7F2, S7F3/S7F4 |
重要关系:GEM 标准并不独立存在,它完全基于 SECS-II 消息实现。例如,GEM 的“事件通知”功能使用 SECS-II 的 S6F11 消息。因此,超时重传优化必须同时考虑 GEM 应用场景的实时性要求(如报警必须在 2 秒内送达)和 SECS-II 消息的传输可靠性。
1.7 协议栈与 GEM 的关系总结
下图展示了 SECS-I/HSMS、SECS-II 和 GEM 之间的依赖关系,以及超时重传参数在各层的分布:
1.8 本章小结
- SECS/GEM 协议栈 由物理传输层 (SECS-I/HSMS)、消息层 (SECS-II) 和应用层 (GEM) 组成,各层职责明确。
- SECS-I 适用于低速串口场景,HSMS 适用于高速以太网场景,两者在超时参数上有所不同。
- SECS-II 定义了消息格式和数据类型,是 GEM 标准的基础载体。
- GEM 标准 定义了设备行为模型和标准场景,它依赖 SECS-II 消息实现,但超时重传的优化必须考虑 GEM 应用层的实时性要求。
- 理解协议栈架构是后续分析超时重传机制和性能优化的前提。