半导体通信设备有哪些种类(半导体设备通讯标准(SECS/GEM))

在高度自动化的半导体制造厂中,CIM(Computer Integrated Manufacturing【计算机整合制造】) 统一管理各设备的生产流程,并随时监控设备过程的状态,以减少过程失误进而降低成本及提升产品的质量。但随着过程的不同,各设备有着不同特性的差异且各制造商所提供的设备也不尽相同,因此增加CIM自动化管理的困难与复杂程度。软件集成自动化存在的主要问题是在不同的设备供应商之间没有标准的通讯协议。设备供应商不向半导体生产商开放通讯协议及接口软件,这使得半导体生产商不得不建立他们自己的软件“连接”,导致了项目费用的巨大增加。

SEMI(Semiconductor Equipment an大流量套餐d Materials Institute)【半导体设备材料国际联盟】制定了半导体设备通讯标准接口SECS(Semiconductor Equipment Communication Standard【半导体设备通信标准】),让CIM与设备间有通用的通讯标准接口,设备制造商只要提供符合通讯标准规范的设备,便可快速地整合在CIM的管理系统,不但可缩短设备开发的时间及成本,并可增加设备装机的效率达到快速量产,进而提升产能输出。

一、SECS/GEM 简介

(Semiconductor Equipment Communication Standard/Generic Equipment Model)

SE大流量套餐MI(国际半导体产业协会)是一个全球性的产业协会,效劳于半导体、光伏(PV)、电子等高科技行业的制造供给链。SEMI管理着SEMI国际规范项目,并创立了SEMI 自动化规范,这是行业内供给商和客户之间不时开展的技术协议汇合。

SECS/GEM是由国际半导体设备与材料协会(SEMI)的会员一起构建的连接性标准。该标准应用于在设备和工厂管理系统间的通讯标准。

SECS/GEM是半导体的设备接口协议,用于设备到主机的数据通讯。它通常用于半导体,TFT-LCD和电子行业,由于这些行业的设备大多来自不同的供给商,缺乏统一的通讯规范。经过引入SECS/GEM,制造可以搜集更多的信息,SECS/GEM使设备和主大流量套餐机中心可以畅通无阻地停止通讯,从而完成智能工厂自动化。

SECS/GEM协议网站 http://www.secsgem.cn

SECS协议为点对点协议,它包括2个部分SECS-Ⅰ和SECS-Ⅱ。

①SECS-Ⅰ为基于RS232的传输层,定义了设备和主机之间的MESSAGE交互的通信接口,大致相当于ISO/OSI模型的下面5层。主要包括有块传输协议,MESSAGE接收算法和节点传输算法;

②SECS-Ⅱ则把SECS-Ⅰ传输的二进制串翻译成形象直观的格式表示出来,SECS-Ⅱ规范传输资料的标准结构和显示内容,方便使用者查看数据内容。

③SECS标准的典型应用,节点C代表主机,节点A和B表示设备,这些节点仅仅大流量套餐是组成整个网络的一部分。按照SECS标准的定义,每一个节点都能够根据消息头中的设备号位决定向哪一个节点传递消息,根据回答位决定控制消息的传递方向是沿着树向下还是向上。节点A控制着1A、2A、3A 3个子节点,可以根据它们的不同要求向节点C发送请求或者从节点C接收指令。SECSLine则表示了在2个节点之间按照SECS标准的电气接口。

Figure 4 Message Broker

二、系统的硬件组成

整个控制系统由生产线上的生产设备和车间的控制系统组成,其硬件组成如图2所示。包括3个部分,设备和单元控制器之间通过SECS-Ⅰ连接,其他通过局域网相连。处于最下方的是生产流水线,单元控制器与线上每道工序大流量套餐相应的控制软件负责控制流水线的生产,并将生产数据通过单元控制器上报给车间的MES系统,接收车间管理人员的生产指令。中间是MES系统,主要负责监控和控制流水线的生产情况、存储重要的生产数据、报表等,同时给操作管理人员提供一套管理系统来协调整个车间的生产。最上层是工厂生产计划管理系统,用来给更高层的管理人员提供管理上的方便。

三、搞清楚需求。(搞明白是什么,基本玩法规则)

1、secs是一个协议族

2、secs的消息通信

secs的通信玩法:secs通信的设备端通常为客户端(Equipment),厂商侧会部署服务端(Host)。他们之间的消息通信方式有4种:

1、设备端上报消息给服务端,服务端收到消息,无需大流量套餐响应(即可以不回客户端消息,客户端只管发,不校验返回消息)。即E->H。

2、设备端发起向服务端发起客户端请求,服务端收到消息后,需要回复客户端消息。即E->H 后 H->E。

3、服务端主动向客户端发起请求,客户端收到消息后,返回响应消息给服务端。即H->E后, E-> H。

4、服务端主动给客户端发送消息,客户端收到消息,无需回应服务端。即H->E。(很少有这样的场景)

3、甲方的secs的标准不一定是完全遵循secs-gem模式标准

使用是否标准,取决于厂商secs协议的服务端供应商是否标准。通常服务端厂商是按照标准来的,但由于secs定义的场景不能覆盖所有的半导体设备和采用这个协议的非半导体设备大流量套餐,还有大量的业务交互式通过secs服务端供应商和厂家联合规划出对应的通讯设计规范。所以,设备厂商的开发文档来源不仅仅来源于semi网站的协议文档,还有一部分是来源于secs服务端厂商提供的具体业务的开发文档。

当然semi最开始定位的半导体设备,一些半导体的核心设备的功能肯定已经支持了,这个可以只需要按照协议来就能搞定.如果是类半导体行业使用secs协议,比如面板行业,通常都会有一些定制的交互.

4、secs的厂商测试流程

通常会分为:

1、基本对接:完成客户端和服务端连接,完成网络接入。

2、单元测试:首先会完成基本业务的消息交互测试,异常场景的消息交互测试。

3、in-line测试:真实跑料过程,测试大流量套餐真实的消息交互是否正常。

4、on-line测试:正式生产,管控正式生产的每一颗产品都能溯源,即上下游设备的通信,物料的识别关联,上报。

四、搞清楚手里的资源情况,选择开发模式,聚拢资源。

1、开发模式

secs协议的开发模式通常分两种:

1、完全自主开发。(开发周期长,需要secs,hsms,gem的详细协议文档,完全自主开发工作量,保守估计也要半年的工作量)

2、选用secs库供应商,在secs库基础上做二次开发。(开发周期短,基本不关心hsms,secs,gem协议详情,这个开发周期预期是1人月)

具体的开发模式选择,根据厂商自己的项目周期,人员配置,成本自行选择。

2、测试资源

开发了一定要能测,如何测大流量套餐也是一个问题。根据开发方式的不同,secs的测试的选择也会不同,

第一种自主开发会在测试端受阻,但可以去准备一个服务端模拟器,可以先期调通连接等基本的secs通讯。后期到厂家与厂商进行具体业务测试。

第二种可以找供应商要服务端测试程序,一般都会提供。

五、与Host连接

从协议栈,我可以看到,连接方式有两种:

串口连接:对应的是secs i 协议。串口参数,串口号,波特率,数据位,停止位,校验位。

网口连接:对应的是HSMS协议。对应的参数是Host IP 和Port。

由于串口连接的方式现在已经很少用了,本文重点讲解网口连接方式,即HSMS连接。

1、准备工作

准备好secs协议模拟器(ITRI CIM Em大流量套餐ulator)。

资源路径:ITRICIMEmulator模拟器.rar_-制造文档类资源-CSDN下载

准备好协议文档。

资源路径:Secs-II-E5-协议原文.zip_-互联网文档类资源-CSDN下载

2、基本概念扫盲

(1)连接方式

主动连接:这个是设备软件在启动后,会主动与Host服务端进行连接。

此时配置

remote IP / port :Host IP/Port

local IP / port :Equitment IP/Port

被动连接:设备不主动与Host连接,而是等待Host发起连接。

此时只需要配置

remote IP / port :Equitment IP/Port

local IP / 大流量套餐port :Equitment IP/Port

(2)超时时间设置

T3 回复超时

指发送指令到接收到回复指令的最大时间

T5 连接间隔

指断开连接和重新连接的最小时间

T6 控制指令超时时间

主要指连接选择,取消选择,连接检测等控制指令的回复最大时间

T7 连接超时

指TCP/IP连接成功后到连接选择之间的最大时间,也就是发送stype=1 到收到stype=2 回复的这段时间

T8 接收超时

指接收到的两个字符之间的最大时间

(3)在线,离线,连接,未连接

在线:设备与Host主机已对接成功,且设备在host的服务端状态为在线,可以接收Host命令。

离线:设备在host服务端设置的状态是离线,但连接是正常的。设备处大流量套餐于离线状态只响应S1F17和S1F13指令 其他指令都会返回设备离线响应

连接:设备与Host主机已对接成功。

未连接:设备与Host主机还未连接。

(4)基本概念

DeviceID:用于Host识别的设备号。

CEID:event ID 即事件ID

SVID:设备状态变量ID

ECID:设备常量ID

VID :变量ID

RPTID:report ID 即上报ID

PPID:recipe ID 即配方ID(工艺ID)

CHIPID:芯片ID

(5)命令字

secs的核心设计就是命令交互。secs对命令字的功能都有详细的定义。

命令字由S和F组成,S-Stream F-Function 简单理解,S是一级目录,F是二级目录大流量套餐

例如:

S1F5 命令字向请求设备状态。H->E

S1F6命令字响应S1F5,上报设备状态。E->H

3、连接交互

(1)通信确认存在

REQUEST: S1F1 are you there request

RESPONSE: S1F2 online data

(2)确认状态

REQUEST:S1F3

RESPONSE:S1F4

(3)建立连接

REQUEST:S1F13

RESPONSE:S1F14

(4)离线通知

REQUEST:S1F15

RESPONSE:S1F16

(5)上线通知

REQUEST:S1F17

RESPONSE:S1F18

六、SML格式讲解

这里我们不讨论secs i 和HSMS的格式,我们只讨论secs大流量套餐ii的协议,因为secs ii的报文内容的格式就是sml格式。

secs ii协议的消息报文分为两部分:消息命令字 + 消息体。其中消息体采用的是SML格式,本文对SML格式进行简单讲解,帮助大家了解SML的格式,方便理解和后续的开发。

sml格式有些像xml,都是属于纯文本格式,但与xml又不同,他定义了它自身的语法。例如下面一段报文:

// 命令字 S1F14: // 消息体 sml 格式 <L[2] <B[1] 0x00> <L[0]> >

SML以 <> 作为开始和结束。有自定义类型和元素个数。类型后面跟[],中括号里表示的元素的个数。多个的情况下,是空格间隔即可。字符类型A 的元素大流量套餐需要使用双引号引起来。

元素类型:

L:List 这个可以组织不同类型的元素在一起。可以嵌套List。 例:<L[3] //表示3个元素, <B[0] 0x00> <U1[0]> <L[2]> <U4[0]> <A[2] “ok”> > B:binary 例:<B[2] 0x00 0x01> U1: 1个字节的整形 例:<U1[2] 20 10> U2:2个字节的整形 :<U2[2] 20 10> U4:4个字节的整形例 例:<U4[2] 20 10> A: ASCII码字符 例: <A[5] “hello”> Boolean:布尔类型 例:<Boolean[1] 0>

七、交互测试

300mm晶圆是目前IC制造的主流,国际半导体装备和材料协会(SEMI)及全球半导体制大流量套餐造厂、设备供应商共同起草并制定了一系列300mm相关的自动化软件通信标准,规定了生产管理系统(MES/CIM)与IC装备之间的通信协议。

目前,与通信相关的SEMI软件标准有如下3类:

第一类:SECS/GEM标准:传统的主机设备通信标准,定义了通信的物理层(RS232, TCP/IP)、消息格式以及设备通信场景。

第二类:300mm相关标准:以SECS/GEM标准为基础,针对300mm晶圆加工过程中的特殊需求,定义了加工过程管理、批量物料的作业管理、物料跟踪、载体管理、载体并行I/O接口等。

第三类:Interface A标准:Interface A通信方法工具软件是设备系统的一部分,由Interf大流量套餐ace A接口、服务和数据类型,以及设备模型工具和设备控制系统组成。

基础库-设备端(C++版):

随着多个项目的实施,用户的需求也不断的增加,尤其是对设备端功能的需求日渐增加,因此开发库的设备端功能也得到了不断的完善,C++版本的开发库是既支持主机端又支持设备端的,此处演示设备端应用。由于设备端不像主机端一样有用户界面,因此为了说明可用性采取与第三方测试软件(“Swift Emulator”)通信的方式。

测试过程如下:

1. 首先启动第三方工具软件“Swift Emulator.exe”,点击“File”->”Open”,在弹出对话框中选择“Host.xml”,此时工具软件是作为主机端,如果作为设大流量套餐备端则选择“Equipment.xml”;

2. 然后选择“Commnuicaion“->”Settings“,弹出配置对话框,有”General“和”HSMS“两个标签;

3. “General“标签,主要是配置设备ID和通信协议,其中设备ID一定要与实际设备的ID一致,否则无法建立通信(默认为

1),此时需要把设备ID修改为0,因为设备端软件默认ID为0,如下图所示;

4. “HSMS“标签,是配置通信地址、端口号和超时信息(保持默认即可)等,如下图所示:

以上配置暂时不用修改,保持默认即可,此时主机端为主动模式“Active“;

5. 然后选择“Commnuicaion“->”Open Port“,大流量套餐软件进入监听状态;

6. 启动设备端软件“DEMOSecs.exe“,然后输入”E“(选择了作为设备),再输入”P“(选择了作为被动模式)。此处如果选择“H”代表的是作为主机,选择“A”代表的是主动模式。

7. 回车后,设备端软件将等待主机端主动建立连接,主机端软件主动和设备端软件建立连接后,消息显示如下图所示:

此处打印出了测试用的命令列表,可以输入进行测试。

8. 此时选择发送“S1F1“消息,则设备端会恢复”S1F2“消息,如下图所示;

9. 在设备端命令行界面输入“1”回车,设备将发送一个报警(S5F1)消息到主机端,如下图所示:

10. 目前设备端软件仅仅是一个Demo,支持的命令很有限,需要用大流量套餐户自行开发所要支持的命令。其实在使用此C++库开发Demo的过程本身就是在开发GEM功能,只是由于是DEMO的原因支持的命令比较少,但实际上可以提供对所有SxFx系列消息的支持。

扩展库-设备端(C#版):

C++版本的基础开发库由于没有提供对GEM(E30)的支持,需要用户自行开发,开发的工作量较大而且很多用户的开发能力有限、项目周期有限,因此开发库提供对GEM的支持就成为了必须。

C#版扩展库的测试基本同C++版本一致,只不过可以进行测试的命令更多,但是要强调一点使用此扩展库也并不是不需要进行任何的二次开发(没有任何一个库是可以不进行二次开发就可以直接使用的),都需要根据自己设备的实际情况进行相大流量套餐应的适配工作,比如设备SV、DV、EC的配置,还有各类事件、报警的配置等等,本DEMO测试的前提是已经对这些内容进行了模拟适配。

测试过程如下:

1. 启动第三方工具软件“Swift Emulator.exe”,过程与上述相同就不再重复介绍了;

2. 启动设备端DEMO程序“RapidSecsDemo.exe”,界面如下:

窗口中有3个部分:

SECS/GEM:此部分的按钮功能用于设备在通讯/控制状态机的各个状态之间进行切换(状态机的具体内容后面会讲);

State:此部分显示的是设备当前的状态;

Gem Command Test:此部分用于模拟测试设备主动向主机端发送的命令。

3. 点击“Enable”按钮大流量套餐后设备端Demo程序就进入了服务状态可以与主机端进行通信行了,主机端与设备端建立连接后消息显示如下:

之所以此处的消息比C++版的多是因为C#版本的扩展库支持了GEM,并且次Demo配置了事件上报(S6F11),所以此处出现了事件消息上报主机。

4. 后面在讲述Demo开发的时候将进行逐条命令的测试,此处不进行详细的测试。本设备端Demo程序支持的命令列表如下:


友情提醒: 请添加客服微信进行免费领取流量卡!
QQ交流群:226333560 站长微信:qgzmt2

原创文章,作者:sunyaqun,如若转载,请注明出处:https://www.dallk.cn/59931.html

(0)
sunyaqunsunyaqun
上一篇 2024年7月29日
下一篇 2024年7月29日

相关推荐

发表回复

登录后才能评论