张鹏程,张红雨,陈 杨
(电子科技大学 电子工程学院,四川 成都 611731)
一颗专用IC由HDL语言进行电路设计,然后送到半导体厂进行生产加工。IC由矽砂到封装完成,所需的制造程序十分复杂,所需的半导体设备和半导体材料超过千种。如何让这些种类繁多的设备协调一致的工作,就需要制定相关的标准。
在高度自动化的半导体制造行业中,CIM(Computer Integrated Manufacturing)统一管理协调个半导体设备的生产状况,负责他们之间的通信联络,这样可以做到半导体生产的高度自动化,以减少过程失误进而降低成本并推动产品质量的提升[1]。
但设备种类繁多,并且设备提供商的队伍也十分壮大,这就在一定程度上阻碍了半导体生产的自动化并且增加了整个行业的成本。
采用一个统一的标准势在必行,在这种趋势下,行业协会SEMI已经开始于1980年出版了关于制造设备和主控计算机间的通信标准SECS(SEMI Equipment Communication Standards, E4 and E5),后来于 1992 年出版了 GEM(Gen-eral Equipment Model)标准。在上世纪90年代末以前,高度自动化的制造厂开始考虑对它们的成功极为关键的SECS/GEM兼容的设备。
SEMI通信标准(SECS/GEM)定义了半导体设备与主机(Host)间、设备与设备间的通信规范。其中SECS-Ⅰ或者HSMS处于模型的最底层,提供了半导体设备通信的链路规范,但SECS-Ⅰ是基于RS-232串行链路,后者基于TCP/IP。SECS-Ⅱ定义了半导体设备的通信格式,GEM则定义了半导体生产制造过程中的通用情景下的交互行为,标准模型如图1 所示。 其中 E4、E5、E30、E37 为这些标准在 SEMI的编号[2]。
图1 SECS/GEM标准结构Fig.1 Standard structure of SECS/GEM
E4:SECS-Ⅰ,基于串行链路的半导体设备点对点通信标准,定义了包括物理连接,传输包格式,传输速率等物理层和数据链路层得特性。
E5:SECS-Ⅱ,定义了半导体设备通信会话、消息和数据格式,通信格式包括设备状态、设备控制、物料状态、物料控制、过程处理、配方管理、异常处理等。
E30:GEM,用户层应用的通用设备模型,基于SECS-Ⅱ消息,改标准定义了一套通用的半导体设备行为、交互机制和典型的情景。
E37:HSMS,定义了基于以太网TCP/IP协议的半导体设备通信标准,替代E4标准,主要用于高速链路的数据通信需求。
SECS-Ⅰ定义了SECS通信的电气特性、传输封包格式、握手信号及其他一些通信控制信号,SECS-Ⅰ规范主要有以下内容[3]:
1)基于RS-232串行通信,采用半双工的通信方式,一位起始位,一位终止位,无奇偶校验,数据位为8位;通信传输波特率150~19 200,目前均以9 600波特率最为常见,少数使用19 200波特率。
2)交握码:即设备和主机进行通信之前的握手信号。当主机或者设备要开始传送SECS信号之前要先送一个ENQ(请求发送)告知对方要传送资料,等到对方回应一个EQT(准备好接收)时才开始传送资料,而待资料收齐后则对比Checksum(校验和)是否相等,若相等则发出ACK(确认正确接收)告知对方;若不符则发出NAK(接收错误)告知对方重传一次。
3)资料长度,为一个字节,以此表示一个块内含有多少个字节长度,不含资料长度的1个字节及校验和的2个字节,其值为10~254个字节。SECS-Ⅰ报文格式如图2所示。
4)信息头部,共10个字节。SECS-Ⅰ报文格式如图2所示。每个字节都有其特定的含义,为转换为SECS-Ⅱ的内容和格式提供了所需的信息。
图2 SECS-Ⅰ报文格式Fig.2 Message format of SECS-Ⅰ
5)等待时间限制:在数据传送过程中,由于设备资料传送的延迟或因设备故障无法再传送数据时,都会造成数据的不完整。必须重传或高柱主机通知设备工程师维修设备。等待时间有4种,它们分别是T1(内部字符传输超时),用于数据接收方限定一个数据块中字符间最大的时间延迟;T2(协议超时)对于发送者,发出ENQ后,等待EQT的时间,或发出一个数据块后,等待ACK货NAK的时间,对于接受者,发出EQT后,等待第一个数据块(数据长度字节)的时间;T3(回复超时)定义了发送者等待接受者回复相关的第二信息的时间限定;T4(内部数据块传输超时)定义了接受者在多数据块信息中接收下一个数据块的时间限定。
在SECS协议中SECS-Ⅱ的功能相当于OSI协议层中的表示层。它把SECS-Ⅰ传输的二进制串翻译成形象直观的格式表示出来,SECS-Ⅱ规范传输资料的标准结构和现实内容,使信息的传递更人性化,方面使用者查看数据内容。其重要功能有:
1)定义了在设备和主机之间交换信息的格式;
2)所有信息根据活动进行分类组织,叫Stream;
3)每一个Steam包含特定的信息,叫Function;
4)每个信息由各项组成。
SECS-Ⅱ定义了SECS协议的报文格式和表示内容[4],通常叫做StreamFunction报文格式。所有报文(Message)都用SNFM(N 为 Stream Number,M 为 Function Number)形式表示。 其中每次通信SNFM报文都成对出现,分别称为Primary Message(其中 M 为奇数)和 Secondary Message(SNFM)。 SECS-Ⅱ还规范了Stream Function的使用范围和功能。在SECS-Ⅱ中以Stream来区分不同信息的种类,再以Function来区分同一种类下信息不通的含义。二者编号范围Stream Number为0~127;Function Number为0~255。发话者必须以M为奇数,而接收者必须以M+1进行回复。
SECS-Ⅱ其实相当于SECS-Ⅰ数据报的数据区,相当于将SECS-Ⅱ封装到了SECS-Ⅰ报文里,只不过SECS-Ⅱ以更加直观的方式将SECS-Ⅰ所传达的信息以更直观的形式进行表示。SECS-Ⅱ的报文头部格式如图3所示。其中格式码(Format Code)共15种,可指定14种格式形态及一个分支码,分支码可使Message具有树状结构,更容易以文字表达说明,由此所形成的结构语言称之为SML(SECS Message Language)。这一语言是GW Associates为了描述SECS-Ⅱ消息而开发的符号语言,该语言和SEMI标准的符号相似但更精确更规则,常用语半导体设备手册中。其格式为SNFMWitems,其中SNFM为Strem和Function的编码,W为格式中的W位,items为SECSSECS-Ⅱ的数据项。
图3 SECS-Ⅱ报文头部数据结构Fig.3 Data structures of SECS-Ⅱmessage header
SECS-Ⅱ有自己的标准会话格式,每一个会话可能包含几个相关消息,每次会话总是从一个单块、Primary Message开始。SECS-Ⅱ定义了基本的7中会话模式。它们分别是无需回应的会话、要求/资料的会话、传送/确认的会话、要求/同意/发送/确认的会话、具体未格式化的资料在主机与设备间的交谈、在设备间有关晶体管控的交谈、话中插话。
GEM标准其实就是SECS-Ⅱ的一个子集。GEM定义了从主机放看到的半导体设备的行为,定义了哪些SECS-Ⅱ消息在何种状态下被使用,在SECS-Ⅱ标准中选出最通用的通讯控制方式并加以规范化。Global Information&Control Committee在1992年提出了GEM规范,只要满足GEM所指定的规范与功能需求的设备或主机,即可称之为满足SECS和GEM的设备。符合GEM标准的设备应具有如下功能及通信处理能力[5]:
1)建立连接 主机与设备相互要求对方建立通信连接。对应的 SF 为 S1,F1/F2,S1,F13/F14。
2)资料收集 具体分为时间告知、动态事件回报规划、变数资料收集、追踪资料收集、极限监控、状态资料收集、线上辨识等。
3)警报管理 是主机可以通告与管理在设备上锁发生的紧急情况。对应的 SF 为 S5,F3/F4;S5,F5/F6;S5,F1/F2 与 S6,F11/F12。
4)远端控制 提供主机一个比设备更高的控制权限。
5)其他功能 如设备常数、制程程式管理、材料搬移、设备终端服务、错误讯息、时间等。
HSMS,定义了基于以太网TCP/IP协议的半导体设备通信标准,替代SECS-Ⅰ,主要用于高速链路的数据通信需求,如图4为HSMS的状态转换图。总共有4种状态[6],它们分别是:
图4 HSMS状态转换图Fig.4 State conversion diagram of HSMS
1)未连接状态(NOT CONNECTED)HSMS是基于TCP/IP的一个协议,在该状态下设备和主机或设备和设备间试图去初始化一个TCP/IP连接,但是连接还未真正建立,或者一个已有的TCP/IP连接被终止将进入该状态。
2)连接状态(CONNECTED)在此状态下已经建立了一个真正的TCP/IP连接。
3)未选择状态(NOT SELECTED)是连接状态的一个子状态,此时虽然连接已建立,但是还未真正建立一个HSMS会话。
4)选择状态(SELECTED)连接状态的一个子状态,此时HSMS会话建立。
HSMS传送的信息分为控制信息和数据信息。其数据包格式如图5所示。长度字节控制着整个报文的长度,HSMS信息头部控制着整个报文的属性,而数据区则是按SECS-Ⅱ通信数据,最多可携带4GB的数据。控制信息分为选择请求、选择应答、连接请求、连接应答和断开连接5种,刚好对应了HSMS的5种状态。
图5 HSMS消息格式Fig.5 Message format of HSMS
在主机与设备的通信过程中,总避免不了异常状态的发生,比如TCP/IP连接断开、收到错误字符、网络传输错误、物理异常、断开以及受到其他异常情况的干扰等。为保证通信的正常进行,SECS/GEM对超时作出了具体的定义,同时,SECS/GEM通信的执行必须提供时间参数设置。
HSMS协议里有5种很重要的超时,它们分别是应答超时(T3)、断开连接超时(T5)、控制超时(T6)、未选择超时(T7)、内部字符超时(T8)。主机与设备的通信过程中通信状态分为TCP的连接与未连接,HSMS的选择与为选择4种状态。各个通信的各个阶段因为所处状态不同,超时的设置也不同。各个状态超时的处理和异常状态的超时处理流程如下[7]:
1)TCP/IP连接 主机与设备建立TCP/IP连接后,由主机向设备发送控制指令,并且开始T6计时,如果主机收到设备在小于T6时间内的相应回复,则主机与设备的通信状态进入HSMS选择状态。
2)HSMS未选择 如果主机未在小于T6的时间间隔内收到相应的回复,则开始T5计时,如果在小于T5时间内收到设备端得TCP/IP连接请求,则主机与设备的连接成功,由主机重新发送相应的控制指令,进入HSMS状态选择尝试。
3)HSMS选择成功 主机与设备进入HSMS选择成功状态之后,撤销T6。由主机向设备发送数据指令,开始数据通信。发送数据指令后,开始T3计时,如果在小于T3的时间间隔内收到相应的回复,主机与设备数据通信无误,根据实际需要发送下一条指令。
4)数据传输状态异常处理 如果主机在小于T3时间间隔内未收到相应的回复,则开始T8计时。如果在小于T8的时间间隔内收到设备端的TCP/IP连接请求,则主机与设备的连接未断开,但由于产生的T8超时,需重新进行HSMS状态的选择过程。如果在小于T8的时间间隔内未收到设备端的TCP/IP连接请求,则网络可能断开,为保证主机与设备通信的正常进行,需重新建立连接。
由于HSMS是基于TCP/IP的一个协议,所以更适合网络控制,通信流量更大,所以非常适合技术的发展,大有取代SECS-Ⅰ的趋势。当然,其中很细节的通讯控制也是非常复杂的。
SECS/GEM标准是在国外半导体行业里广泛运用的一个标准,是SEMI标准的一部分。目前支持该标准的厂商达到1 600家。SECS/GEM标准最初出现在美国,后来在全球范围内得到了发展,在欧洲和日本也得到了广泛的支持。其应用范围从最初的芯片尺寸控制到如今渗透到半导体生产的各个方面,不仅降低了半导体生产的成本,提高了生产效率和芯片的性能,也为整个行业的规范化生产提供了一个可以广泛参考的模式。但目前,由于我国半导体工业起步较晚,该标准未能得到普及,这就是我们在生产自动化和国际上先进的生产工艺之间存在了巨大差距,使我国半导体行业在国际上的竞争中处于劣势。所以此时我们应该认识到差距,接收先进的生产标准,为我国半导体产业的整体提升打下坚实的基础。
SECS/GEM是半导体[8]行业里得到广泛应用的标准,也是我国半导体行业发展的趋势所在。本文对SECS/GEM的提出、应用发展前景、标准的整体架构以及各层所实现的功能都作了详尽的描述。目前我国半导体产业还未全面符合该标准,半导体生产的自动化程度还处于较低水平,这对这个行业的发展是不利的。所以势必要和国际接轨,采用国际上最先进的半导体生产控制标准,提高国内的半导体产业水平。
[1]李文狄,陈玉云,蔡嘉鸿.半导体厂自动化之通讯协定SECSⅠ/Ⅱ&GEM[EB/OL]. (2001)[2011-05-23].http://secs.itri.org.tw/files/Paper/paper.htm.
[2]刘明哲,徐皑冬,于海斌.半导体设备控制中SEMI标准模型研究[J].仪器仪表学报,2008,29(4):687-690.
LIU Ming-zhe,XU Ai-dong,YU Hai-bin.Research of SEMI standard model in IC equipment control[J].Chinese Journal of Scientific Instrument,2008,29(4):687-690.
[3]王戟,王兵,李瑞东.半导体后端制造自动化[J].半导体行业,2008(2):53-55.
WANG Ji,WANG Bing,LI Rui-dong.The automation of the back semiconductor manufacturing[J].Semiconductor Industry,2008(2):53-55.
[4]邓珂,王宏.一种面向对象的SECS-Ⅱ消息实现方法[J].微计算机信息,2008,24(4-3):197-204.
DENG Ke,WANG Hong.Implementation of SECS-Ⅱ messages using OOP[J].Control&Automation,2008,24(4-3):197-204.
[5]赵炜,张浩,汤光强.基于SECS标准的Linux平台下串口通讯的实现[J].计算机应用研究,2002(4):27-29.
ZHAO Wei,ZHANG Hao,TANG Guang-qiang.Serial communication based on linux[J].Application Research of Computers,2002(4):27-29.
[6]王戟.SECS/GEM在半导体生产计算机集成制造系统中的应用研究[D].杭州:浙江工业大学,2008.
[7]王延辉.表面贴装设备数据采集技术的研究与应用[D].西安:西安电子科技大学,2008.
[8]刘昆,符影杰,洪俊明.半导体制冷温度控制算法的实验研究[J].工业仪表与自动化装置,2010(1):55-57.
LIU Kun,FU Ying-jie,HONG Jun-ming.Experiment research of temperature controlling algorithms embedded intelligent controller for thermoelectic cooling[J].Industrial Instrumentation&Automation,2010(1):55-57.