陳小飛 謝政華 汪昌來



摘? 要: 為實現半導體設備接入工廠信息化管理平臺,提出一種半導體設備通訊標準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.