当前位置:首页 > 智能制造 CIM/MES > 正文内容

SECS-GEM协议:半导体设备的"普通话"从入门到实战

叶志辉2个月前 (06-30)智能制造 CIM/MES2

SECS-GEM协议:半导体设备的"普通话"从入门到实战

在半导体FAB中,有成百上千台来自不同厂商的设备——AMAT的刻蚀机、TEL的涂胶显影机、KLA的检测设备、ASML的光刻机……这些设备来自天南海北,如何让它们"说同一种语言"?答案就是SECS/GEM协议。可以说,SECS/GEM是半导体设备的"普通话"。

协议四层架构:从物理层到应用层

SECS/GEM协议分为四层。最底层是物理传输层:SECS-I(RS-232串口)和HSMS(TCP/IP网络)。早期的半导体设备大多使用RS-232接口,传输速率只有9600bps——这个速度在今天看来慢得不可思议,但在90年代已经足够。随着FAB自动化程度的提高,HSMS逐渐取代了SECS-I,传输速率提升了几个数量级。

第二层是SECS-II消息层,定义了消息的格式和编码规则。SECS-II消息由流(Stream)和功能(Function)编号标识,如S1F1、S5F5等。消息体使用SML(SECS Message Language)语法描述,支持多种数据类型:布尔型、整型、浮点型、ASCII字符串、二进制等。

第三层是GEM(Generic Equipment Model)层,定义了设备的行为模型。GEM规定了设备的状态机、报警模型、数据采集模型、Recipe管理模型等,确保不同厂商的设备在统一的行为框架下运行。最高层是应用层,由EAP和MES等上层系统实现具体的业务逻辑。

GEM状态机:设备的"心情"

GEM定义了一台设备的完整状态机。设备从开机开始,依次经历初始化(INIT)、离线(OFF-LINE)、尝试联机(ATTEMPT ON-LINE)、在线本地控制(ON-LINE LOCAL)和在线远程控制(ON-LINE REMOTE)等状态。

其中最重要的是"远程控制"状态——在这种状态下,EAP可以远程下发Recipe、启动工艺、监控状态等。如果不在这个状态,设备就无法被EAP控制,也就无法实现自动化。调试EAP的第一件事,就是确保设备能正确进入远程控制状态。

我记得第一次部署一套EAP系统时,设备始终无法进入远程控制状态。排查了两天,最后发现是设备端的GEM配置文件中,远程控制的超时时间被设置成了0.5秒——意思是设备只给EAP半秒钟的响应时间。EAP的响应时间一般需要1-2秒,所以每次联机都会超时。这个奇葩设置是设备出厂时的一个Bug,后来厂商更新了固件才解决。

▲ 四层协议架构、GEM状态机、消息日均频次、国产设备GEM兼容性问题分布

常见SECS消息解析

在实际工作中,EAP工程师打交道最多的是以下几类消息。S1类消息负责通信管理:S1F1(Are You There?)是通信握手请求,设备收到后回复S1F2(On-line Data),表示自己在线。这是EAP和设备建立通信的第一步。

S5类消息负责报警管理:S5F1(Alarm Report)是报警上报消息,当设备检测到异常时,主动向EAP发送报警信息。S5F2(Alarm Ack)是EAP的确认回复。报警有清除和设置两种状态,分别用CEID(Collection Event ID)和ALID(Alarm ID)标识。

S6类消息负责数据上报:S6F11(Data Report)是最常用的数据上报消息,设备将工艺参数、量测结果等数据打包发送给EAP。S6F12是确认回复。数据上报的频次和内容由EAP通过GEM的"数据变量"(Data Variable, DV)和"事件"(Collection Event, CE)来配置。

S7类消息负责Recipe管理:S7F1(Process Program Load)用于将Recipe下载到设备,S7F2是确认回复。Recipe在GEM中被称为PP(Process Program),每个PP有一个唯一的ID。

▲ SML消息格式实例、GEM通信响应时间、兼容层级分布及排错分布

EAP与GEM的关系

很多人分不清EAP和GEM的关系。简单来说:GEM是设备端的功能,固化在设备控制器的固件中;EAP是主机端的功能,运行在工厂的上位机服务器上。GEM负责"接收指令、执行操作、上报数据",EAP负责"发送指令、处理数据、管理流程"。

实现设备与EAP之间的GEM通信,需要两个条件:一是设备实现了GEM标准(至少达到SEMI E30规范中的某个Level),二是EAP实现了对应的GEM客户端功能。事实上,并非所有设备都实现了完整的GEM规范。有些低端设备只实现了Level 0(基础通信),无法支持Recipe管理或高级数据采集。

调试经验和常见坑

调试SECS/GEM是EAP工程师最"痛苦"也最有成就感的工作之一。我总结几个常见的问题。连接超时是最常见的问题,原因可能是网络不通、HSMS端口设置错误、或者设备端的超时时间设置过短。解决方案是先ping确认网络联通,再检查端口和超时设置。

消息解析失败是第二大问题。不同厂商对SECS-II消息格式的理解可能不一致,导致消息体解析出错。一个典型的例子:有些设备在S6F11消息中使用L(List)结构,而EAP期望的是A(ASCII)格式。解决方案是逐字节解析SML日志,找到差异点后修改EAP的解析逻辑。

状态不一致也是常见问题。例如EAP认为设备处于远程控制状态,但设备实际上已经因为某个异常退出了远程模式。解决方案是建立心跳机制,定时发送S1F3(Status Request)检查设备实际状态。还有一个常见的问题是报警重发——有些设备会反复发送同一个报警消息,导致EAP被淹没。

国产设备的GEM兼容性是一个值得单独说的话题。一些国产设备厂商对GEM标准的理解和实现不够完整,经常出现"缺胳膊少腿"的情况。比如只实现了状态上报但没实现Recipe管理,或者数据格式与标准规范有出入。解决方法是与设备厂商紧密合作,推动其完善GEM实现。

结语

SECS/GEM协议是半导体自动化的基石。虽然它已经诞生了几十年,但至今仍然是FAB中设备通信的主要方式。了解SECS/GEM,不仅是EAP工程师的必修课,也是理解整个半导体自动化体系的关键。下次你看到一台设备自动完成工艺时,别忘了背后是SECS/GEM在默默工作。

💬 你调试SECS/GEM时遇到过哪些奇葩问题?有没有什么"一劳永逸"的调试技巧?欢迎在评论区分享你的实战经验!觉得有帮助的话点个赞,让更多同行看到~

相关文章

良率工程实战:从72%到89%的完整爬坡路径

良率工程实战:从72%到89%的完整爬坡路径

良率工程实战:从72%到89%的完整爬坡路径 一、问题背景:良率是晶圆厂的生命线 良率(Yield)是晶圆厂最核心的KPI,直接决定了盈利能力和市场竞争力。我在晶圆厂负责良率工程的这些年,深刻体会到良...

SPC统计过程控制:FAB质量管理的定海神针

SPC统计过程控制:FAB质量管理的定海神针

SPC统计过程控制:FAB质量管理的定海神针 Statistical Process Control — 用数据说话,让异常无处遁形 一、问题背景:FAB里每天产生上百万个数据点,靠什么来管理质量?...

半导体产业全景:从沙子到芯片的完整产业链

半导体产业全景:从沙子到芯片的完整产业链

半导体产业全景:从沙子到芯片的完整产业链 大家好,我是老张,在半导体行业摸爬滚打了十五年。从Fab厂的一线工艺工程师,到现在的产业分析师,我有幸见证了这个行业最波澜壮阔的十年。今天,我想用最接地气的方...

晶圆制造全流程:硅片是怎么从沙子变出来的

晶圆制造全流程:硅片是怎么从沙子变出来的

晶圆制造全流程:硅片是怎么从沙子变出来的 大家好,我是老张。上篇讲了半导体产业全景,很多朋友私信说「想深入了解晶圆制造」。今天我就把这部分展开,从一捧沙子到一片光洁如镜的硅晶圆,每一步的参数、原理、设...

CMP化学机械抛光:让晶圆表面平整到原子级

CMP化学机械抛光:让晶圆表面平整到原子级

CMP化学机械抛光:让晶圆表面平整到原子级 Chemical Mechanical Planarization — 半导体制造中最精密的表面平坦化技术 一、问题背景:为什么芯片需要"磨皮&q...

MES制造执行系统:半导体FAB的信息中枢到底管什么

MES制造执行系统:半导体FAB的信息中枢到底管什么

MES制造执行系统:半导体FAB的信息中枢到底管什么 Manufacturing Execution System — 当FAB遇上数字化转型,信息流如何驱动价值流? 一、问题背景:FAB一天产生几个...