半導體廠自動化之通訊協定SECS I/II & GEM
李文猶陳玉雲蔡嘉鴻
870508@itri.tw
半導體機台與CIM(Computer Integrated Manufacturing,電腦整合製造)主機之通訊協定為SECS(SEMI Equipment Communication Standard,半導體設備通訊標準),此協定乃是由SEMI(Semiconductor Equipment and Materials International,半導體設備與材料國際連盟)[1]所製定。半導體機台必須於運轉生產期間與主機保持密切的通連,以接受來自主機電腦的控制或詢問,並且能即時回應主機之要求與回報執行結果;除此之外亦需主動回報目前機台的異常狀況。
SECS 通訊之SECS Message(Stream Function)
一顆專用IC(Integrated Circuit)由HDL(Hardware Description Language,硬體描述語言)進行電路設計,而後送到半導體廠進行生產製造。IC由矽砂到封裝完成,所需的製造程序繁複,所需用到的半導體機台或半導體材料種類超過千種。為確保晶圓在每一道製程均能做到完美,或排除前一製程的不良品,生產的過程中不斷地有來自主機或機台的運轉訊息要相互傳遞,因此SEMI將SECS 的主要訊息分類為:
月饼的制作方法和配料
1.機台狀態(Equipment Status)。
2.機台控制及診斷(Equipment Control and Diagnostics)。寒湿重
3.材料狀態(Material Status)
4.材料控制(Material Control)。
5.例外處置(Exception Handling)。
6.資料收集(Data Collection)。
7.機台操作管理(Process Program Management, Recipe)。
8.控制程式傳送(Control Program Transfer)。
9.系統錯誤(System Errors)。
10.終端機服務(Terminal Services)。陶谢
11.主機檔案服務(Host File Services)。
西塞罗
如白驹过隙12.晶圓定位(Wafer Mapping)。
13.資料組傳送(Data Set Transfers)。
14.物件服務(Object Services)。
15.配方管理(Recipe Management)。
16.程序處理管理(Processing Management)。
17.子系統控制與資料(Subsystem Control and Data)。
這些主要訊息內所包含的常用子訊息為:
1.要求建立連線(Establish Communication):主機與機台建立連線。
2.機台操作配方:指定機台的運作的程序及執行參數。
3.遠端控制(Remote Control):由主機主動下令機台進行局部區域之
操作。
dvd光驱
4.錯誤訊息(Error Message):回報主機所傳送的Stream Function或
參數有誤。
5.警報訊息(Alarm Message):機台回報警報訊息給主機。
6.動態事件回報(Dynamic Event Report):機台主動回報特殊狀況訊少林寺攻略
息給主機。
7.變數資料收集(Variable Data Collection):收集機台耗材或零件損
耗及變化之資料。
8.狀態資料收集(Status Data Collection):收集目前機台之操作狀
態。
9.晶圓訊息:傳遞與晶圓或晶舟相關的訊息。
10.緩衝暫存(Spooling):主機與機台之連線在通訊中斷的時間內或通
訊的狀況下,機台會將指定為Spooled的訊息放入緩衝暫存區,
待回復連線後由主機以S6F23來詢問通訊中斷時間內機台所要
發出的訊息,主機則可用S2F43來指定保留於緩衝暫存區的訊
息。一般Stream one(S1Fx)不適合Spooled,一旦主機致能
Spooling功能後,在連線過程中被指定為Spooled的Steam
Function都會放入緩衝暫存區內,等待主機自行來取得,而不是
如其它訊息一樣直接傳給主機。
在SECS的標準中又將這些訊息分以不同的Stream Number搭配不同的Function Number來表示,其先以Stream Number來區分不同訊息種類,再以Function Number 來分類訊息意涵。二者的編號範圍Stream Number為0~127 ;Function Number為 0~255,並以Sn,Fm來表達。目前在SEMI中並未完全定義,其對應方式如下所示。
表一 Steam Function 對照表
訊息種類習用訊息種類Stream Number (n)Function Number (m)機台狀態10~20
機台控制及診斷20~50
材料狀態晶圓狀態30~26
培训文案材料控制晶圓控制40~42
例外處置警報訊息50~18
資料收集動態事件回報60~30
機台操作管理配方管理70~36
控制程式傳送80~4
系統錯誤錯誤訊息90~14
終端機服務100~10
主機檔案服務11已被SEMI刪除
晶圓定位120~20
資料組傳送130~16
物件服務140~18
配方管理150~48
程序處理管理160~28
機台控制及診斷170~14
子系統控制與資料180~14
常見的Stream Number為1、2、3、4、5、6、7、9與10。SECS以RS232通訊協定做為其傳輸標準,為使命令均能有效的傳達,主機與設備機台間採半雙工一問一答的方式相互溝通。發話者以單數之Function Number(Primary Message)做為其訊息代號,而受話者(回話者)若必須回覆發話者則以Function Number + 1(Secondary Message)做為其回覆訊息代號,所以表一的Function Number均以偶數結束。每一半導體機台所用到的Stream Function並不會相同,而且大部份機台實際所用到的Stream Function總數約為50個(單數之Function Number),這完全依機台操作的複雜度及動作需求來決定。
Stream Function之發送接收,主機或設備機台並非每一代號均可使用,有些只有主機才可以發送,部份則為設備專屬,當然也有二者均可發送的Stream Function,收話者若必需回話則一律以Function Number + 1回覆,常用的Stream Function如表二所示,表中灰色項目為具有標準機台介面(Standard Mechanical InterFace ,SMIF)的自動化生產系統( Automatic Manufacturing system)較常選用之Stream Function通訊訊息。
表二常用的Stream Function
Stream Function訊息意涵HostÅÆEquip. S1F1Are you ThereÅÆ
S1F2On Line DataÅÆ
S1F3Selected Status RequestÆ
S1F4Selected Status RequestÅ
S1F5Formatted Status RequestÆ
S1F6Formatted Status DataÅ
S1F9Material Transfer Status DataÆ
S1F10Material Transfer Status DataÅ
S1F11Status Variable Namelist RequestÆ
S1F12Status Variable Namelist ReplyÅ
S1F13Connect RequestÅÆ
S1F14Connect Request AcknowledgeÅÆ
S2F13Equipment Constant RequestÆ
S2F14Equipment Constant DataÅ
S2F15New Equipment Constant SendÆ
S2F16New Equipment Constant Send AcknowledgeÅ
S2F17Date and Time RequestÅÆ
S2F18Date and Time DataÅÆ
S2F21Remote Command SendÆ
S2F22Remote Command AcknowledgeÅS2F23Trace Initial SendÆS2F24Trace Initial AcknowledgeÅS2F25Diagnostic Loopback RequestÆS2F26Diagnostic Loopback DataÅS2F27Initiate Processing RequestÆS2F28Initiate Processing AcknowledgeÅS2F29Equipment Constant Namelist RequestÆS2F30Equipment Constant Namelist ReplyÅS2F31Date and Time SendÆS2F32Date and Time AcknowledgeÅS2F33Define ReportÆS2F34Define Report AcknowledgeÅS2F35Link Event ReportÆS2F36Link Event Report AcknowledgeÅS2F37Enable/Disable Event ReportÆS2F38Enable/Disable Event Report AcknowledgeÅS2F39Multi-Block InquireÆS2F40Multi-Block GrantÅS2F41Remote Command with ParametersÆS2F42Remote Command AcknowledgeÅS2F43Ret Spooling Streams and FunctionsÆS2F44Ret Spooling AcknowledgeÅS2F47Variable Limit Attribute RequestÆS2F48Variable Limit Attribute SendÅS2F49Enhanced Remote CommandÆS2F50Enhanced Remote Command AcknowledgeÅS2F65Ret Spooling Streams and FunctionsÆS2F66Ret Spooling Streams and Functions Ack.ÅS2F85Variable Limit Attribute RequestÆS2F86Variable Limit Attribute SendÅS2F87Define Variable Limit AttributesÆS2F88Define Variable Limit Attributes AckÅS3F1Material Status RequestÆS3F2Material Status DataÅS3F11Mate
rial ID RequestÅS3F12Material ID Request AcknowledgeÆS3F13Material ID SendÆS3F14Material ID AcknowledgeÅS4F1Ready to Send MaterialÅÆS4F2Ready to Send AcknowledgeÅÆS4F3Handshake CompleteÅÆS4F5Not Ready to SendÅÆS4F17Request to Receive MaterialÅÆS4F18Request to Receive Material AcknowledgeÅÆS5F1Alarm Report SendÅS5F2Alarm Report AcknowledgeÆS5F3Enable/Disable Alarm SendÆ
S5F4Enable/Disable Alarm AcknowledgeÅS5F5List Alarm RequestÆS5F6List Alarm DataÅS5F7List Enable Alarm RequestÆS5F8List Enable Alarm AcknowledgeÅS5F73Alarm Notification SendÅS5F73Alarm Notification AcknowledgeÆS6F1Trace Data SendÅS6F2Trace Data AcknowledgeÆS6F3Discrete Variable Data SendÅS6F4Discrete Variable Data AcknowledgeÆS6F5Multi-block Data Send InquireÅS6F6Multi-block GrantÆS6F9Formatted Variable SendÅS6F10Formatted Variable AcknowledgeÆS6F11Event Report SendÅS6F12Event Report AcknowledgeÆS6F13Annotated Event Report SendÅS6F14Annotated Event Report AcknowledgeÆS6F15Event Report RequestÆS6F16Event Report DataÅS6F17Annotated Event Report RequestÆS6F18Annotated Event Report DataÅS6F19Individual Report RequestÆS6F20Individual Report DataÅS6F21Annotated Individual Report RequestÆS6F22Annotated Individual Report DataÅS6F23Request Spooled DataÆS6F24Request
Spooled Data Acknowledgement SendÅS6F65Request Spooled DataÆS6F66Request Spooled Data AcknowledgeÅS7F1Process Program Load InquireÆS7F2Process Program Load GrantÅS7F3Process Program SendÆS7F4Process Program AcknowledgeÅS7F5Process Program RequestÆS7F6Process Program DataÅS7F7Process Program ID RequestÅS7F8Process Program ID DataÆS7F17Delete Process Program SendÆS7F18Delete Process Program AcknowledgeÅS7F19Current EPPID RequestÆS7F20Current EPPID DataÅS9F1Unrecognized Device IDÅS9F3Unrecognized Stream TypeÅS9F5Unrecognized Function TypeÅS9F7Illegal DataÅS9F9Transaction Timer TimeoutÅ