1. SECS/GEM 协议概述
1.1 半导体制造中的通信挑战
半导体晶圆厂(FAB)的自动化生产环境包含数百台来自不同供应商的设备——刻蚀机、光刻机、沉积设备、检测设备等。这些设备必须与制造执行系统(MES)或物料搬运系统(AMHS)实时交换数据,才能实现配方管理、工艺参数监控、报警处理和批次追踪。SECS/GEM 协议正是为解决这一异构设备互联问题而诞生的国际标准(SEMI E4/E5/E30/E37)。
1.2 协议栈四层结构
SECS/GEM 协议栈从物理传输到应用行为共分为四层,每一层解决不同粒度的通信问题:
| 层级 | 标准编号 | 功能定位 | 典型传输介质 |
|---|---|---|---|
| SECS-I | SEMI E4 | 串行物理传输与数据帧封装 | RS-232C(串口线) |
| HSMS | SEMI E37 | TCP/IP 网络传输与连接管理 | 以太网(TCP/IP) |
| SECS-II | SEMI E5 | 消息格式、数据类型与会话控制 | 逻辑消息(依赖下层) |
| GEM | SEMI E30 | 设备行为模型、状态机与场景定义 | 应用层语义(依赖下层) |
1.3 协议栈分层架构图
下图展示了 SECS/GEM 协议栈的四层结构及其与 MES/设备端的对应关系:
1.4 各层职责详解
1.4.1 SECS-I(E4)—— 串行传输基石
SECS-I 定义在 RS-232C 串行链路上传输数据块(Block)的物理与数据链路层规范。每个数据块包含长度、块号、系统字节和消息数据,最大长度为 254 字节。虽然传输速率较低(典型 9600 bps),但其电气隔离特性在特定高噪声环境中仍有价值。
- 帧结构:长度字节 + 块号(2 字节)+ 系统字节(2 字节)+ 数据体(≤ 248 字节)
- 超时参数:T1(字符间超时)、T2(块间超时)、T3(回复超时)—— 本课程核心内容之一
- 适用场景:老旧设备、长距离隔离传输、安全等级要求高的非网络环境
1.4.2 HSMS(E37)—— 高速网络传输
HSMS(High-Speed SECS Message Services)将 SECS 消息封装在 TCP/IP 协议之上,支持主动连接(Active)和被动连接(Passive)两种角色。HSMS 使用 4 字节消息长度头 + 10 字节 SECS-II 消息头,最大消息长度可达 16 MB,远高于 SECS-I。
- 连接模式:Active(主动发起连接)、Passive(被动等待连接)
- 关键超时:T3(回复超时)、T5(连接响应超时)、T6(控制事务超时)、T7(连接空闲超时)、T8(网络字符间隔超时)
- 优势:高带宽、低延迟、支持多会话、易于与工厂网络集成
1.4.3 SECS-II(E5)—— 消息语义层
SECS-II 定义消息的格式、数据类型(如 ASCII、BIN、U1、U2、I1、I2、F4、F8、LIST 等)以及消息流(Stream)和功能码(Function)。每条 SECS-II 消息由标准头(10 字节)和数据体组成,通过 SxFy 格式标识(例如 S1F13 表示“建立通信请求”)。
- 消息分类:Primary Message(主消息)、Reply Message(回复消息)
- 事务机制:每个 Primary 消息需要一个对应的 Reply 消息,通过 System Bytes 关联
- 超时关联:T3 超时即等待 Reply 消息的最大时间
1.4.4 GEM(E30)—— 设备行为标准化
GEM(Generic Equipment Model)在 SECS-II 之上定义了设备的行为模型,包括设备状态机(Equipment State Model)、处理状态机(Processing State Model)、报警管理、事件通知、配方管理、数据变量(DV/ECV/IDV)等。GEM 使不同厂商的设备对外呈现一致的行为接口。
- 核心状态:EQUIPMENT OFF、EQUIPMENT ON、ATTEMPT ONLINE、HOST OFFLINE、ONLINE LOCAL、ONLINE REMOTE
- 关键场景:建立通信(S1F13/S1F14)、在线/离线切换(S1F1/S1F2)、报警上报(S5F1/S5F2)、事件上报(S6F11/S6F12)
- 超时影响:GEM 场景中的每个交互步骤都依赖下层 SECS-II 的 T3 超时,超时配置不当会导致状态机卡死或误判
1.5 协议栈通信流程示例
以“主机请求建立通信”为例,展示四层协议栈的协作过程:
1.6 超时参数在协议栈中的位置
超时参数并非孤立存在,它们分布在协议栈的不同层级中,直接影响通信的可靠性与效率:
| 超时参数 | 所属层级 | 默认值(典型) | 触发条件 |
|---|---|---|---|
| T1 | SECS-I | 1.0 s | 字符间间隔超时 |
| T2 | SECS-I | 10.0 s | 块间间隔超时 |
| T3 | SECS-II / HSMS | 45.0 s | 等待回复消息超时 |
| T5 | HSMS | 10.0 s | 连接建立响应超时 |
| T6 | HSMS | 5.0 s | 控制事务(Select/Deselect)超时 |
| T7 | HSMS | 10.0 s | 连接空闲超时(无数据交换) |
| T8 | HSMS | 5.0 s | 网络字符间隔超时 |