一种SECS/GEM协议的实现方法

2019-12-06 08:48陈小飞谢政华汪昌来
软件 2019年10期

陈小飞 谢政华 汪昌来

摘  要: 为实现半导体设备接入工厂信息化管理平台,提出一种半导体设备通讯标准SECS/GEM协议的实现方法。通过对协议的整体分析,将各层协议的通讯状态合并,并在动态链接库中实现状态间的转换,应用程序通过调用动态链接库的方式实现与设备本身特性相关的协议。详述了动态链接库的实现方法,实测结果验证了方法的有效性,具有良好的实用性和可移植性,适应于各种半导体设备的联网实现。

关键词: SECS/GEM;半导体设备通讯标准;半导体协议;设备联网

中图分类号: TN305    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2019.10.023

本文著录格式:陈小飞,谢政华,汪昌来. 一种SECS/GEM协议的实现方法[J]. 软件,2019,40(10):103106

An Implementation Method of SECS/GEM Protocol

CHEN Xiao-fei, XIE Zheng-hua, WANG Chang-lai

(Anhui Dahua Semiconductor Technology Co., Ltd., Hefei 230009, China)

【Abstract】: In order to realize semiconductor equipment access to factory information management platform, a method of implementing SECS/GEM protocol, which is the communication standard of semiconductor equipment, is proposed. Through the overall analysis of the protocol, the communication state of each layer protocol is merged, and the state transition is realized in the dynamic link library. The application program implements the protocol related to the characteristics of the device itself by calling the dynamic link library. The implementation method of the dynamic link library is described in detail. The experimental results verify the effectiveness of the method. It has good practicability and portability, and is suitable for the Network Realization of Various Semiconductor Equipment.

【Key words】: SECS/GEM; Semiconductor equipment communication standard; Semiconductor protocol; Equipment networking

0  引言

隨着半导体集成电路产业的持续发展和科技水平的不断提高,以全自动生产设备为主体半导体制造工厂的设备管理水平的高低将直接影响到工厂的未来发展。随着工厂中各种生产设备规模的日渐庞大,设备的信息化管理系统,能够降低设备管理方面的资源消耗,改善设备利用率,提高工厂在市场经济下的竞争能力[1]。

针对半导体设备和工厂资讯和控制系统间的通讯,国际半导体设备与材料协会(SEMI)制定了连接性标准SECS/GEM(SEMI Equipment Communication

Standard/Generic Equipment Model)[2]。目前,国内领先的半导体封装工厂已经开始建立生产设备信息化管理系统。但是由于半导体设备种类繁多,设备商的技术团队水平参差不齐,很多半导体生产设备暂不支持SECS/GEM协议,这使得工厂的生产设备信息化建设的完整性严重受阻。

为了方便快捷的实现各种半导体设备的联网,本文介绍一种SECS/GEM协议的实现方法,将SECS/ GEM与设备生产工艺无关的底层协议封装在动态链接库中,各种设备都可在调用此动态链接库的基础上进行二次开发。

1  SECS/GEM标准简介

SECS/GEM标准是半导体生产流程中最基本的标准,用来统一各种生产设备之间以及生产设备与控制设备之间的通讯协议[3][4]。SECS/GEM是一组协议的统称。SECS/GEM协议框架如图1所示,包括SECS-1,HSMS,SECS-II和GEM。

SECS-I协议处于整个协议簇的最底层,它利用RS-232串口通信为基础,通讯速率慢,仅适应早期的自动化设备。

HSMS(High-Speed SECS Message Services)采用TCP/IP协议传输信息,主要目的是替换掉速度慢的SECS-I。

SECS-II规定了特定的信息格式以及在设备和主机间传送这种信息的方式方法。

GEM(Generic Model for Communications and Control of Manufacturing Equipment)可以理解成是SECS-II协议的一个子集或扩展。根据具体设备特点定义使用哪些SECS-II消息、在什么条件下使用等[4]。

鉴于SECS-I的通讯速率慢,文中不再赘述,本设计底层采用高速的HSMS协议。

2  SECS/GEM协议状态分析

SECS/GEM协议簇每层协议都有自身的通讯状态,与设备本身特点相关的信息交互主要体现在SECE-II协议和GEM,且信息交互的权限建立在不同通讯状态上,而高一层协议的通讯状态的基础是以底层建立良好通讯的基础上。通讯状态的转化与设备本身的参数无关,所以本设计通过对各层协议的通讯状态进行合并,简化成一条贯穿整个协议的状态。其中SECS/GEM变换后的状态转换图如图2所示。

HSMS协议的信息传输建立在TCP/IP的基础上,且作为设备端,以被动模式(Passive Mode)与后台主机进行交互,所以TCP/IP协议以服务端的形式进行实现。本文以设备端为例介绍变换后的状态转换。从状态最初始开始,配置TCP/IP信息,完成初始化进入监听状态,即设备进入Not Connected状态;当主机端请求建立连接后,设备进入Not Selected状态(同Connected状态),此状态下已建立了一个真正的TCP/IP连接;接收到主机HSMS协议的Selected命令后,进入Selected状态,此状态与原SECS-II的Not Communication 状态为同一状态;再通过SECS-II协议的消息格式在OFF-LINE、ON-LINE/LOCAL、ON-LINE/REMOTE状态间转换。

3  动态链接库的设计

C#语言功能强大,简单易学,对于人机界面的设计具有较强的优势,一般作为自动化设备界面设计的首选语言。本设计以C#作为工具语言完成所有的软件设计。动态链接库主要完成整个SECS/GEM协议的各种通讯状态转换,并留用应用程序可调用的接口。

3.1  TCP/IP服务器端程序实现

建立通讯连接的基础是TCP/IP协议,TCP/IP服务器端程序框图如图3所示,利用System.Net. Sockets库可方便的以异步方式实现TCP/IP服务器端程序[5-6]。首先利用Socket()构造函数创建服务器端套接字实例,并绑定到本系统特定的地址。再用Listen()启动监听客户端请求连接的线程。本设计作为设备端,设定最多允许一个客户端的连接,当监听到客户端连接后,建立连接并用BeginReceive()回调函数异步接收客户端的数据。当连接线路发生异常或客户端主动断开连接时,释放此连接,便于接收新的客户端连接。如收到正常的数据,解包成HSMS格式的数据,调用进一步的数据处理函数。

3.2  协议状态转换的实现

3.2.1  正常命令状态变化的实现

在处理解包后的HSMS数据帧时,根据帧头数据SType的值的不通,执行不同的程序段。当SType不等于0时,表示HSMS控制命令,进行HSMS控制命令的解析。当SType=0时,即为数据消息,将数据进一步解包成SECS-II格式的数据,根据SECS-II命令的种类,将与协议通讯状态相关的命令直接解析与回复,其余命令以事件委托的方式交由应用程序完成解析与回复。其中允许最高权限的ON-LINE/REMOTE由界面进行设定。正常命令处理的状态转换表如表1所示。

3.2.2  异常超时的状态变化实现

在通讯过程中难免由于网络传输原因或消息阻塞导致通讯的异常,这些网络传输的异常超时,也将导致通讯状态的变化。在程序中增加100 ms的定时器,用于实现超时处理。根据超时时间的定义,对各种异常超时处理的状态转换表如表2所示。

3.3  动态链接库的接口设计

应用程序调用的动态链接库控件的属性页如图4所示,本设计动态链接库与应用程序交互的接口如下。

(1)输入参数:包括本机IP地址、端口号,本设备ID号(Device ID)、超时域值T3、T5、T6、T7、T8,定时发送心跳包的时间TLinkTest,在Selected状态下如未建立通讯的定时发送S1F13命令的定时器TGEM。

(2)输出接口:设计了两个事件委托向应用程序发送消息:打印消息事件和SECS-II消息处理  事件。

(3)可被直接访问的公有变量:包括当前的通讯状态标志、服务器是否在运行标志。

(4)可被直接调用的共有函数:包括通讯的启用、停止函数,SECS-II命令的发送函数。

4  应用程序的设计

应用程序通过调用动态链接库的方式接收主机发送的SECS-II格式的消息。GEM定义了从主机方看到的半导体设备的行为,定义了哪些SECS-II消息在何种状态下被使用。应用程序根据当前的通讯状态,按照GEM所指定的规范与功能需求处理或回复主机的SECS-II消息[7],一般具备如下的功能及通讯处理能力[8][9]。

(1)建立連接(动态链接库实现);

(2)资料收集:具体分为时间告知、动态事件回报规划、变数资料收集、追踪资料收集、极限监控、状态资料收集、线上辨识等;

(3)警报管理:是主机可以通告与管理在设备上锁发生的紧急情况;

(4)远端控制:提供主机一个比设备更高的控制权限;

(5)其他功能:如设备常数、制程程式管理、材料搬移、设备终端服务、错误讯息、时间等。

5  结果验证

利用SECS/GEM调试工具SECSEmulator作为主机端,主机设为Active/Host模式,配置为HSMS通讯模式,设置远程地址、端口号、Devive ID与本设计的设备端的配置对应。建立连接后,主机端和设备端通讯过程的测试打印信息如图5所示。设备端调用动态链接库,配置输入参数后调用启动函数,无需再添加任何代码即可自动完成与主机端通讯状态的转换,同时将SECS-II协议层与设备通讯状态无关的消息传送给应用程序进一步的处理。

6  结论

SECS/GEM是半导体行业里广泛应用的标准,也是半导体行业发展的趋势所在。本文将SECS/ GEM协议的与通讯状态相关的协议实现封装在动态链接库中,在应用程序中实现与设备本身特性相关的协议,这种将协议分开实现的方法,可快速实现不同半导体设备的联网功能,具有良好的移植性,可广泛应用于半导体设备的联网实现。

参考文献

[1]龚荟卓. 半导体生产设备信息化管理系统设计与实现[D]. 大连: 大连理工大学, 2016.

[2]张鹏程. SECS/GEM半导体设备自动化系统设计[D]. 成都: 电子科技大学, 2012.

[3]张鹏程, 张红雨, 陈杨. SECS/GEM标准模型分析及应用[J]. 电子设计工程. 2011(7): 23-26.

[4]贺从愿. 基于SECS/GEM标准的半导体后段SDT系统设计与实现[D]. 南京: 东南大学, 2017.

[5]戴宁. 基于TCP/IP协议的网络通信服务器设计[D]. 西安: 西安电子科技大学, 2014.

[6]王延辉, 姜建国, 王宇. 基于GEM/SECS协议的数据采集系统设计与实现[J]. 计算机工程与设计, 2018(12): 3218- 3220.

[7]魏秋雨、张志胜. 基于SECS/GEM标准的半导体设备配方管理[J]. 机械设计与制造工程. 2019(4). 60-62.

[8]张旭华. 基于SECS/GEM协议的芯片焊线机监控系统的实现[D]. 成都: 电子科技大学, 2014.

[9]魏秋雨. 基于SECS/GEM标准的半导体封测设备RMS系统设计与实现[D]. 南京: 东南大学, 2018.