劉婷婷,趙志偉,李戰(zhàn)偉,閆啟亮
(北京中電科電子裝備有限公司,北京100176)
全自動晶圓劃片機是集成電路半導體加工后封裝工藝中的重要組成部分,利用金剛石薄片砂輪在高速旋轉時的切削能力,對硅片、鈮酸鋰、石英等脆硬材料進行開槽劃片加工,也可用于劃片和切割各種陶瓷、玻璃、金屬等。
我國在全自動劃片機這一領域,目前主要依賴于進口,如DISCO,TSK等設備,且操作界面不是全中文界面,這樣對普通操作人員的文化程度要求較高。
全自動晶圓劃片機是集自動上下料,自動圖像對準,自動劃切和自動清洗等工序為一體的設備,不僅滿足劃切工藝的要求,更節(jié)省了劃切過程中操作工人多次手動放料、對準,以及拿料、清洗等工序的時間,從而有效提高了劃切效率。全自動晶圓劃片機主體結構可分為主機部件、預對準部件、自動上下片部件和自動清洗部件4個單元,其核心部分是主機部件。主機部件通過驅動X,Y,Z,θ四個軸,及主軸、其它相關閥等實現(xiàn)自動劃切、自動圖像對準等功能。自動上下片部件通過驅動晶片盒,上、下機械臂,X軸,θ軸、預對準來實現(xiàn)自動上下料功能。自動清洗部件實現(xiàn)自動清洗功能。如圖1所示。
圖1 設備外觀圖
按照物理結構可分為三部分:上位機、下位機、執(zhí)行部件。如圖2。操作人員通過人機交互界面下達指令,由can總線控制卡來驅動多個機械模塊運動,并通過總線IO控制來獲得各個閥及傳感器的狀態(tài)。根據(jù)用戶在實際操作過程中使用的功能和便于維護,界面設置模塊如圖3所示。
圖2 物理結構圖
圖3 設備主界面圖
在以往的設計理念中,程序員會直接調用控制卡商家提供的函數(shù),如圖4。忽略了在設備硬件前期設計過程中,一些IO口甚至卡的采用可能發(fā)生變更,一旦更換了控制卡則程序代碼要作大量的修改,且如果運動控制模塊封裝的不好,人機交互界面的代碼也要隨之發(fā)生改動,不便于維護,因此在系統(tǒng)設計中引入了“二次封裝”這一概念。
圖4 舊層次圖
“二次封裝”是把與硬件相關的函數(shù)進行封裝,這個封裝并不是把控制卡廠商提供的函數(shù)進行簡單的封裝,而是根據(jù)需求分析作出需要用到控制卡的哪些功能,將這些功能逐一封裝在動態(tài)庫中,這一層的封裝與硬件是息息相關的。如圖5。運動控制模塊完全脫離硬件部分實現(xiàn)全自動晶圓劃片機工作過程中動作,當需要更換硬件時只需要修改卡功能封裝層代碼,并且調通即可,不需要更改實現(xiàn)層和應用層代碼。
圖5 新層次圖
系統(tǒng)執(zhí)行全自動晶圓劃切過程如圖6,開始執(zhí)行全自動晶圓劃切過程,檢測設備狀態(tài),掃描晶片盒,晶片盒中有片,則取片到劃切工作臺,執(zhí)行自動對準、自動劃切動作,自動劃切完成,取片到清洗工作臺,自動清洗完成,下片到晶片盒。從流程圖可以看出,在全自動劃切過程中,當機械臂把工件放置到劃切工作臺上,在自動對準和自動劃切過程中機械臂是空閑的,此時再執(zhí)行晶片盒掃描,機械臂取片,同時清洗工作臺也可以執(zhí)行自動清洗動作。為了提高設備工作效率,并有良好的交互性,程序中大量使用多線程設計,使得多個工序同時進行。
圖6 全自動流程圖
全自動晶圓劃片機動作復雜,一個功能的實現(xiàn)需要幾個軸的聯(lián)動配合,且存在多個工序同時工作,當操作員熟悉設備后,他可能會快速地點擊界面上的按鈕,而不去理會上個動作是否執(zhí)行完成,況且操作員也不會去考慮運動到位及各個軸的安全位置。因此程序員需要考慮當前動作是否可以執(zhí)行。以前的劃片機設計是把運動功能的實現(xiàn)和運動邏輯判斷都放在界面上,無疑加重了界面的負擔,模塊劃分不明確,且后期維護困難。因此把邏輯功能分為兩類:界面邏輯和運動邏輯。界面邏輯判斷文件是否完整,參數(shù)是否合理,運動邏輯則判斷運動功能是否正確、安全,以及功能是否可以執(zhí)行等。此時的運動和界面的聯(lián)系不是太過于密切,如果設備需要改進,由于運動庫和界面庫各具有邏輯功能,它們是相對獨立的,如果覺得界面不符合要求需要重新設計那么運動庫即應用層是不需要更改的,同樣,如果覺得運動庫不符合要求,重新設計應用層即可。
如圖3,全自動晶圓劃片機控制系統(tǒng)主要由7個功能模塊組成。其中,自動劃切功能、手動劃切功能、劃切參數(shù)功能、刀片維護功能、操作員維護功能對操作員開放;裝置維護功能對普通維護人員開放;工程維護功能開放給設備生產(chǎn)商,部分開放給設備維護人員。
(1)自動劃切功能模塊實現(xiàn)全自動劃切功能。
(2)手動劃切功能模塊將全自動劃切功能分解,增加半自動劃切功能如圖7所示。
(3)劃切參數(shù)設置模塊包括劃切參數(shù)、對準參數(shù)、清洗參數(shù)。負責對與劃切、對準、清洗功能相關文件的設置、修改、刪除、拷貝、復制、重命名、移動、文件選定功能。
(4)刀片維護功能模塊執(zhí)行換刀、測高、NCS傳感器清掃、傳感器校正、基準線調整、刀破檢測裝置調節(jié)以及這些功能相關文件的存儲、查看、設置等功能。
(5)操作員維護功能模塊進行預劃切文件設置、拷貝、刪除功能實現(xiàn),測量功能實現(xiàn),功能參數(shù)文件設置。
(6)裝置維護功能模塊進行回轉軸中心位置獲取并設置、像素尺寸測量、顯微鏡偏差獲取設置,以及模擬傳感器參數(shù)設置,上下料部件功能檢查。
(7)工程維護功能模塊開放給設備生產(chǎn)商進行各個部件的檢測和調試,以及設備出廠參數(shù)的設置。
圖7 手動劃切功能
系統(tǒng)設計中采用動態(tài)庫和模塊化設計使得程序設計思路清晰,調試過程中容易發(fā)現(xiàn)問題。引入“二次封裝”的概念使得項目在開始代碼編寫的過程中可以脫離硬件,且后期設備改進和維護過程中更換硬件后方便程序修改。人機交互界面脫離運動邏輯功能更方便了軟件的靈活性。
[1]謝新華.軟件架構設計的思想與模式[DB/OL].http://www.TCICT.cn.2012-2-3/2012-05-06.
[2]齊舒創(chuàng)作室.VisualC++6.0用戶界面制作技術與應用實例[M].北京:中國水利水電出版社,1999.
[3]駱斌,費翔林.多線程技術的研究與應用[J].計算機研究與發(fā)展,2000(4):407-412.
[4]吳劍強,榮岡.先進控制軟件集成實時數(shù)據(jù)平臺的分析與設計[J].計算機應用研究,2004,21(12):53-55.