1. SECS/GEM 协议概述:协议栈结构、HSMS 与 SECS-I 对比、GEM 标准功能集
1.1 协议栈分层模型
SECS/GEM 协议族采用分层架构,从物理介质到应用语义共分为四层。每一层解决特定的通信问题,下层为上层提供透明传输服务。
核心分层原则: 上层(GEM)定义“做什么”,中间层(SECS-II)定义“怎么说”,下层(HSMS/SECS-I)定义“怎么传”。
实践要点: 在开发消息流控与发送队列时,主要关注 HSMS/SECS-I 传输层和 SECS-II 消息层。GEM 层定义的消息类型决定了队列的优先级策略。
1.2 HSMS 与 SECS-I 对比
HSMS(High-Speed SECS Message Services)和 SECS-I 是 SECS/GEM 协议栈中两种互斥的传输层实现。现代半导体工厂已全面转向 HSMS,但理解两者的差异对协议优化至关重要。
| 对比维度 | HSMS (SEMI E37) | SECS-I (SEMI E4) |
|---|---|---|
| 物理介质 | Ethernet (TCP/IP) | RS-232 串行电缆 |
| 传输速率 | 10/100/1000 Mbps | 9600 bps ~ 19200 bps |
| 连接方式 | 点对点 TCP 连接 | 点对点串行连接 |
| 消息帧格式 | Message Header (10 bytes) + Data | Block (Header + Data) + 控制字符 |
| 流控机制 | TCP 滑动窗口 + HSMS 协议级流控 | ENQ/ACK/NAK 硬件握手 |
| 多消息并发 | 支持(多事务 ID) | 不支持(串行化) |
| 最大消息长度 | 无限制(受 TCP 缓冲区限制) | 约 4 KB(受块传输限制) |
| 连接管理 | 主动建立/断开,心跳检测 | 物理连接即建立 |
流控优化启示: SECS-I 的串行化特性导致发送队列必须严格按序处理;HSMS 支持并发事务,队列设计可引入优先级和并发度控制。本课程后续章节将重点针对 HSMS 场景进行优化。
1.3 GEM 标准功能集
GEM(Generic Equipment Model,SEMI E30)定义了半导体设备必须实现的标准功能集合,是 SECS/GEM 协议栈的应用层规范。GEM 将设备抽象为统一的状态机模型,并提供标准化的通信能力。
GEM 核心功能模块
- 设备状态管理: 定义设备状态模型(INIT/IDLE/EXEC/PAUSE/ALARM),支持状态转换通知。
- 报警管理: 设备主动上报报警(Alarm),主机可查询/确认/清除报警。
- 远程控制: 主机可远程启动、停止、暂停设备处理流程。
- 配方管理: 支持配方(Recipe)的上传、下载、验证和选择。
- 数据收集: 支持 Trace 数据采集、事件通知(CEID)、变量查询(SVID/ECID)。
- 物料跟踪: 支持晶圆/批次级别的物料追踪和状态报告。
- 时间同步: 主机与设备之间的时钟同步机制。
GEM 消息分类与优先级映射
在发送队列优化中,需要根据 GEM 功能模块的消息特性进行优先级分类:
| 消息类别 | 典型 SxFy | 实时性要求 | 消息大小 | 推荐队列优先级 |
|---|---|---|---|---|
| 报警/事件 | S5F1, S6F11 | 高(毫秒级) | 小(< 1 KB) | 最高(P0) |
| 远程控制 | S2F41, S7F19 | 高 | 小-中 | 高(P1) |
| 状态查询 | S1F3, S2F13 | 中 | 小 | 中(P2) |
| 配方管理 | S7F1~S7F6 | 低 | 大(可达 MB) | 低(P3) |
| Trace 数据 | S6F1, S6F3 | 中-低 | 中-大 | 低(P3) |
| 心跳/握手 | S1F1, S9F1 | 中 | 极小 | 最高(P0) |
优化切入点: 本课程后续将基于上述优先级映射,设计多级发送队列架构,实现消息的优先级调度、并发控制、背压管理和超时重传机制。
1.4 本章小结
- SECS/GEM 协议栈分为物理层、传输层(HSMS/SECS-I)、消息层(SECS-II)和应用层(GEM)。
- HSMS 基于 TCP/IP,支持高并发、大消息、灵活流控;SECS-I 基于 RS-232,串行化、低速率、硬件握手。
- GEM 定义了 8 大核心功能模块,不同功能的消息具有不同的实时性要求和消息大小特征。
- 消息流控与发送队列优化的核心在于:根据 GEM 消息分类设计多优先级队列,结合 HSMS 的并发特性实现高效调度。