1. SECS/GEM 协议概述

1.1 半导体工厂自动化背景

半导体制造是当今最复杂的离散制造过程之一,一个典型的 300mm 晶圆厂包含超过 500 台工艺设备,每片晶圆经过数百道工序,生产周期长达数周。在 1990 年代以前,设备与工厂主机之间的通信依赖串口、自定义协议甚至纸质单据,导致换线时间长、数据采集碎片化、良率分析滞后。

为了解决“设备孤岛”问题,国际半导体设备与材料协会(SEMI)从 1980 年代开始制定一系列通信标准,最终形成了以 SECS-I / HSMS 为传输层、GEM 为应用行为层的工厂自动化协议族。这套标准使得不同厂商的设备能够以统一的方式与制造执行系统(MES)交互,实现设备状态监控、配方管理、报警上报、数据采集等核心功能。

工厂自动化核心目标:
  • 设备集成:统一接口,降低多厂商设备接入 MES 的适配成本。
  • 实时监控:秒级采集设备状态、工艺参数、报警信息。
  • 远程控制:通过主机下发配方、启动/停止工艺、切换运行模式。
  • 数据追溯:记录每片晶圆经过每台设备时的完整工艺数据。
半导体工厂自动化分层架构 制造执行系统(MES) Host 通信接口(SECS/GEM) 刻蚀设备 SECS/GEM 节点 光刻设备 SECS/GEM 节点 检测设备 SECS/GEM 节点 嵌入式控制器 嵌入式控制器 嵌入式控制器 MES 通过 SECS/GEM 协议与多台设备通信,每台设备内部运行嵌入式 SECS/GEM 协议栈

1.2 SECS-I / HSMS / GEM 协议族关系

SEMI 标准将半导体设备通信协议分为三个层次,每一层解决不同的问题,共同构成完整的通信栈:

协议层 标准编号 主要功能 传输介质
SECS-I SEMI E4 基于 RS-232 串口的物理层与数据链路层,定义帧格式、块传输、校验与重传机制 RS-232 串口(通常 9600 bps)
HSMS SEMI E37 基于 TCP/IP 的高效传输层,替代 SECS-I,支持高速、可靠、多连接通信 以太网(TCP/IP)
SECS-II SEMI E5 会话层与消息层,定义消息结构、数据项格式(SML)、流/功能码(Stream/Function) 承载于 SECS-I 或 HSMS 之上
GEM SEMI E30 应用行为层,定义设备状态模型、报警管理、事件通知、数据采集、远程控制等标准行为 基于 SECS-II 消息
协议栈演进路径: 早期工厂使用 SECS-I(串口)→ 2000 年后逐步迁移到 HSMS(以太网)→ 现代工厂几乎全部采用 HSMS + GEM 组合。SECS-II 作为中间层始终保留,GEM 则定义了设备“应该做什么”。
SECS/GEM 协议栈分层结构 GEM(SEMI E30) 应用行为层:状态模型、报警、事件、数据采集、远程控制 SECS-II(SEMI E5) 消息层:Stream/Function、SML 数据项格式、消息事务 HSMS(E37) TCP/IP 以太网 SECS-I(E4) RS-232 串口 物理层:以太网 / RS-232 / RS-422 GEM 依赖 SECS-II 消息,SECS-II 可运行在 HSMS 或 SECS-I 之上,现代方案首选 HSMS

1.3 GEM 标准功能概览

GEM(Generic Equipment Model)是 SEMI E30 标准,它定义了设备与主机之间交互的行为规范。如果说 SECS-II 定义了“怎么说话”,GEM 则定义了“说什么话”以及“什么时候说”。GEM 标准的核心功能模块包括:

  • 设备状态模型:定义设备从初始化到运行、空闲、停止、报警等状态的转换规则,主机可查询或订阅状态变化。
  • 报警管理:设备主动上报报警(ALID),主机可启用/禁用报警,报警附带严重级别和文本描述。
  • 事件通知:设备在特定条件(如工艺完成、晶圆到达)下发送事件(CEID),主机可动态订阅感兴趣的事件。
  • 数据采集:主机可定义数据变量(VID)并周期性或事件触发采集,用于工艺监控与良率分析。
  • 远程控制:主机下发远程命令(RCMD),如启动工艺、加载配方、切换模式,设备执行后返回结果。
  • 配方管理:主机向设备上传/下载配方(PPID),设备存储并应用于工艺过程。
  • 设备常量:主机可读写设备内部参数(ECID),用于配置设备行为。
GEM 功能模块 相关 SECS-II 消息 典型应用场景
状态模型 S1F13/S1F14, S1F15/S1F16 设备上电后主机查询当前状态
报警管理 S5F1/S5F2, S5F3/S5F4 设备温度超限时主动报警
事件通知 S6F11/S6F12, S6F15/S6F16 工艺结束通知主机取片
数据采集 S2F33/S2F34, S6F19/S6F20 每 5 秒采集腔体压力值
远程控制 S2F41/S2F42 主机下发“启动刻蚀”命令
配方管理 S7F1/S7F2, S7F3/S7F4 主机上传新配方到设备
设备常量 S2F13/S2F14, S2F15/S2F16 修改设备超时时间参数
GEM 合规性注意: 并非所有设备都需要实现全部 GEM 功能。SEMI E30 定义了“GEM 基本集”和“GEM 扩展集”。设备厂商通常根据设备类型(如刻蚀、检测、清洗)选择实现子集。在协议栈移植时,必须明确目标设备需要支持的 GEM 功能范围,避免过度开发或功能缺失。
GEM 标准功能模块关系 GEM 核心引擎 状态机 + 消息分发 状态模型 报警管理 事件通知 数据采集 远程控制 配方管理 GEM 核心引擎维护设备状态机,各功能模块通过 SECS-II 消息与主机交互,模块之间通过核心引擎协调

1.4 协议栈移植与集成调试概述

本课程的核心任务是将 SECS/GEM 协议栈移植到目标嵌入式平台(如 ARM Cortex-A 系列、RISC-V 或 DSP),并完成 GEM 功能的集成与调试。移植工作通常涉及以下关键步骤:

  1. 传输层适配:根据硬件接口选择 HSMS(TCP/IP)或 SECS-I(UART),实现 socket 或串口驱动。
  2. SECS-II 消息编解码:实现 SML 格式的序列化/反序列化,支持 Stream/Function 消息路由。
  3. GEM 状态机实现:按照 E30 标准实现设备状态模型,包括 INIT、IDLE、SETUP、RUNNING、STOPPED 等状态。
  4. 功能模块开发:根据设备需求实现报警、事件、数据采集、远程控制等 GEM 功能。
  5. 集成调试:使用 GEM 模拟器(如 SECSComm、GEM Simulator)与真实 MES 进行联调,验证消息交互的正确性。