一、SECSGEM概述:半导体制造自动化背景
大家好,我是老张。在半导体设备自动化这行摸爬滚打了十几年,今天咱们来聊聊SECS/GEM协议。说实话,刚入行那会儿,我也被这堆缩写搞得头晕。但干久了你会发现,它其实就是半导体工厂里设备跟系统之间沟通的「普通话」。
1.1 半导体制造自动化的背景
先说说为什么需要自动化。你想想看,一个晶圆厂动辄几十亿美金投入,里面几百台设备同时跑。如果每台设备都靠人工操作,那效率得多低?出错率得多高?
我记得2010年那会儿,我去过一个老厂。他们的光刻机还是人工搬运晶圆盒的。操作员推着小车在黄光区里穿梭,一不小心撞到门框,一盒25片晶圆全废了。那一盒成本少说也得几万美金。从那以后,我就深刻理解了自动化的重要性。
半导体制造自动化的核心目标其实就三个:
- 提高产能:设备24小时不停机,自动上下料
- 降低缺陷:减少人为接触,控制环境洁净度
- 数据追溯:每片晶圆的工艺参数都能查到
说白了,就是让机器替人干活,而且干得比人好。
1.2 SECS/GEM协议族介绍
SECS/GEM不是单个协议,而是一套协议族。我习惯把它分成三层来看:
| 层级 | 协议 | 作用 |
|---|---|---|
| 物理层 | SECS-I / HSMS | 定义怎么传数据(串口/以太网) |
| 消息层 | SECS-II | 定义消息格式和内容 |
| 应用层 | GEM | 定义设备行为和状态机 |
这里有个坑,我刚开始做项目时经常搞混。SECS-I是RS-232串口通信,速度慢但稳定。HSMS是基于TCP/IP的,速度快,现在主流都用它。嗯,如果你还在维护老设备,可能会遇到SECS-I,但新项目直接上HSMS就好。
SECS-II定义了消息的结构。每条消息都有一个「Stream」和「Function」编号。比如S1F13是「建立通信请求」,S1F14是「建立通信确认」。我当年背这些编号背得想吐,后来发现其实不用死记,查文档就行。
核心要点:SECS/GEM协议族就像一套积木。SECS-I/HSMS是积木的材质,SECS-II是积木的形状,GEM是搭出来的模型。三者缺一不可。
1.3 GEM标准的核心价值
GEM(Generic Equipment Model)是SEMI标准E30。它定义了设备应该具备哪些能力,以及如何跟工厂主机(Host)交互。
我个人觉得,GEM最大的价值在于「标准化」。没有GEM之前,每家设备商都用自己的协议。你买A公司的刻蚀机,B公司的沉积设备,C公司的检测机,结果三台设备跟MES系统对接要写三套不同的驱动。那画面太美我不敢看。
GEM标准的核心能力包括:
- 状态管理:设备有哪几种状态?怎么切换?
- 报警管理:设备出问题了怎么上报?
- 配方管理:怎么下载和切换工艺配方?
- 数据采集:实时采集设备的工艺参数
- 远程控制:主机可以远程启停设备
避坑指南:我曾经遇到一个项目,设备商说「我们支持GEM」,结果联调时发现只实现了最基本的状态上报,远程控制根本没做。所以签合同时一定要明确GEM的兼容性等级,别被「支持」两个字忽悠了。
1.4 应用场景
GEM的应用场景其实很广。除了晶圆制造,LED、太阳能、封装测试行业也在用。我去年帮一个LED厂做自动化改造,他们的MES系统就是通过GEM跟几十台刻蚀机通信的。
典型的应用场景包括:
- 设备自动化:晶圆盒从FOUP到设备,自动传送、自动加工
- 数据采集:实时监控温度、压力、流量等工艺参数
- 远程诊断:工程师在办公室就能查看设备状态
- 配方管理:新产品导入时,一键下发新配方
这里我画了一张图,帮你理清GEM在整个自动化体系中的位置:
从这张图你能看到,MES不直接跟设备打交道。中间有EAP做翻译,GEM做标准接口。这样设计的好处是:换设备时只要EAP适配新设备的GEM接口就行,MES不用动。
注意事项:GEM标准虽然好,但不同设备商的实现细节可能有差异。比如有些设备把「空闲」状态叫IDLE,有些叫INIT。联调前一定要拿到对方的GEM文档,逐条核对状态定义。
好了,第一章就聊到这儿。GEM的核心价值说白了就是「让设备说同一种语言」。后面我们会深入状态机的每个状态,以及怎么用代码实现它。