SECSGEM消息事务与通信会话测试工程案例 - 第1节
1.1 SECS/GEM 协议在半导体制造中的作用
在半导体制造中,晶圆厂(Fab)需要将数百台来自不同供应商的工艺设备(如刻蚀机、光刻机、沉积设备)与制造执行系统(MES)或主机(Host)集成,实现自动化生产。SECS/GEM 协议正是这一集成的核心通信标准。
核心作用:SECS/GEM 定义了设备与主机之间进行消息交换、数据采集、报警管理、配方管理和远程控制的统一语言,确保不同厂商的设备能够无缝接入工厂自动化系统。
1.1.1 协议栈与角色定义
- 设备端(Equipment): 作为通信的从站(Slave),响应主机的请求,上报事件和状态。
- 主机端(Host): 作为通信的主站(Master),下发指令、收集数据、监控生产流程。
- 通信层: 使用 SECS-I(RS-232)或 HSMS(TCP/IP)作为传输载体,上层承载 GEM 标准功能。
工程提示:在实际测试中,设备端通常需要模拟主机行为来验证设备响应,反之亦然。理解主/从角色切换是编写测试用例的第一步。
1.2 HSMS 与 SECS-I 传输层对比
SECS/GEM 协议支持两种底层传输方式:传统的 SECS-I(基于 RS-232 串口)和现代的 HSMS(基于 TCP/IP 网络)。下表从多个维度对比两者的差异:
| 对比维度 | SECS-I | HSMS |
|---|---|---|
| 物理层 | RS-232 串口(点对点) | 以太网 TCP/IP(局域网/广域网) |
| 传输速率 | 9600 bps ~ 115200 bps | 10/100/1000 Mbps 及以上 |
| 连接方式 | 物理线缆直连 | 网络交换机/路由器 |
| 最大消息长度 | 有限(受串口缓冲区限制) | 理论无限制(实际受内存限制) |
| 会话管理 | 无显式会话层 | 支持 Select/Deselect/Reject 等会话控制 |
| 可靠性 | 较低(无校验重传机制) | 较高(TCP 内置确认与重传) |
| 适用场景 | 老旧设备、低速数据采集 | 现代 Fab、高速大数据量传输 |
测试避坑:在 HSMS 测试中,必须关注 TCP 连接的超时重连机制(T3/T5/T6 定时器)。SECS-I 测试则需注意串口波特率、数据位、停止位等参数匹配,否则会导致消息帧错位。
1.2.1 HSMS 通信会话状态机
HSMS 定义了明确的会话状态机,用于管理连接的生命周期。下图展示了 HSMS 会话的主要状态与转换:
测试要点:在 HSMS 测试中,需要验证状态机在各种异常场景下的行为,例如:在 CONNECTED 状态下直接发送数据消息(应被拒绝)、T3 超时后设备是否自动重连等。
1.3 GEM 标准功能集介绍
GEM(Generic Equipment Model)是建立在 SECS-II 消息之上的标准功能集,定义了设备必须支持或可选支持的能力。GEM 标准功能集是设备验收测试(SAT)的核心依据。
1.3.1 GEM 核心功能分类
| 功能类别 | 功能描述 | 测试关注点 |
|---|---|---|
| 通信建立 | 建立/断开 HSMS 会话,处理连接异常 | 状态机转换、超时处理、重连机制 |
| 数据采集 | 按事件或周期上报设备状态变量(SV)、设备常量(EC) | 数据格式、采集频率、上报触发条件 |
| 报警管理 | 设备异常报警的生成、清除、查询 | 报警 ID 唯一性、报警文本、报警级别 |
| 配方管理 | 主机远程下载/上传/选择配方(Recipe) | 配方格式校验、存储空间、版本管理 |
| 远程控制 | 主机远程启动/停止/暂停工艺 | 权限控制、状态冲突、异常中断处理 |
| 物料跟踪 | 晶圆盒/晶圆在设备内的位置跟踪 | 端口映射、载具 ID 读取、移载确认 |
1.3.2 GEM 功能集在设备中的分层架构
下图展示了 GEM 功能集在半导体设备软件架构中的位置与分层关系:
工程案例:在某 12 寸晶圆厂项目中,设备供应商未实现 GEM 标准中的“配方校验”功能,导致主机下发错误配方时设备直接执行,造成批量晶圆报废。后续测试中强制要求实现 S7F19/S7F20 配方校验流程,才通过验收。
1.3.3 GEM 标准文档与测试依据
GEM 标准由 SEMI 组织维护,主要参考文档包括:
- SEMI E30: GEM 通用设备模型标准(核心文档)
- SEMI E37: HSMS 高速消息服务标准
- SEMI E5: SECS-II 消息标准
- SEMI E4: SECS-I 串行通信标准
测试建议:在编写测试用例时,建议将 SEMI E30 附录中的“GEM 功能矩阵”作为检查清单,逐项确认设备是否支持所需功能,并记录支持程度(必选/可选/不支持)。