薛 超 魏 昕 謝小柱
(廣東工業大學機電工程學院 ,廣東 廣州 510006)
化學機械拋光(CMP)是一種新興的超精密無損傷表面特種加工技術,該技術能有效的實現工件表面全局平坦化和局部平坦化,在計算機硬磁盤、晶圓及集成電路芯片的表面平整化加工等工業領域有著廣泛的應用。因此,CMP工藝對CMP設備的性能提出了更高的要求,高性能CMP設備是實現高效、高精度和高表面質量CMP工藝必不可少的硬件基礎[2-4]。
在CMP設備中位置檢測有著廣泛的需求,在拋光過程中需要對拋光的位置進行實時檢測,以保證對拋光頭行程進行精確地控制。在工業應用中距離檢測主要分為接觸式與非接觸式兩種,而非接觸式檢測常常用于一些復雜的環境和特殊的工作場合。考慮到拋光設備實驗平臺的復雜環境采用非接觸的方式檢測拋光頭的行程。在工業現場中非接觸測距手段主要有:激光、毫米波和超聲波等測量介質。較前兩種而言,超聲波具有指向性強、能耗慢、受環境影響小、傳播距離遠,對光線、電磁干擾不敏感等優點[5];結合微電子技術信息處理簡單,成本低,可準確、快速地計算出距離值,便于實時控制。因此在機器人避障、車輛導航及定位等領域應用廣泛。
本文針對CMP設備拋光頭位置檢測需求,應用超聲波測距原理設計了基于ARM的拋光頭位置實時檢測系統。

檢測系統由上位機和下位機兩層結構,分別為嵌入式現場數據采集終端和PC端上位機顯示界面。整個系統結構如圖1所示。拋光頭在氣缸的控制下實現上下運動,使得超聲波傳感器與氣缸安裝臺發生距離變化,通過檢測距離值就可以測得拋光頭的位置變化。
現場嵌入式檢測終端,主要是完成拋光頭位置參數和現場環境溫度的采集及數據的傳輸等工作。主要的工作是實時采集超聲波傳感器、溫度傳感器DS18B20的數據信號,并進行數據處理,再通過串口RS232將處理好的數據傳輸到上位機。上位機基于Qt設計實時顯示界面,實時顯示溫度及拋光頭位置信息。
系統設計主要工作內容:檢測系統硬件平臺的搭建;基于Linux2.6內核編寫超聲波模塊、溫度模塊、串口傳輸等驅動程序;基于Qt的實時顯示界面的設計。

檢測系統以超聲波模塊作為檢測元件實時監控拋光頭的位置,超聲波測距原理是基于回波時間法,如圖2所示。具體過程是:超聲波測距模塊在被觸發時會產生20 kHz 以上的聲波,聲波在傳輸過程中遇到障礙物后反射回來[7]。通過測取聲波傳輸的時間t,再乘以聲波在空氣介質中傳播的速度c除以2,就可以換算出拋光頭的行程位置[8]。即:
d=c·t/2
(1)
式中:d拋光頭行程;c為空氣中聲波傳播速率。在空氣中,聲波的傳輸速率為:
(2)
式中:T為絕對溫度;c0=331.4 m/s,一般認為c為常數340 m/s[9]。
聲速在不同的溫度下傳播速度有所不同,為了提高系統的檢測精度需要考慮溫度補償,以減小誤差[10]。
ARM公司是全球領先的16/32位微處理器供應商。ARM處理器采用先進的精簡指令集,具有能耗低、性價比高等優點。本系統選用的ARM處理器為Cortex-A8系列32位處理器S5PV210,該處理器采用ARM V7指令集,主頻可達1 GHz,并擴展有兩片512MB的 DDR2共1GB RAM內存,板載1GB NAND Flash,掉電非易失[1]。
檢測系統的硬件部分主要包括:ARM處理器S5PV210、溫度傳感器DS18B20、超聲測距模塊、RS232串口傳輸、上位機界面等組成,系統構成如圖3所示。各模塊與微處理器的硬件連接如圖4所示。

超聲波模塊有4個引腳分別為:VCC(電源)、TRIG(控制端)、ECHO(接收端)、GND(接地)。控制端TRIG接處理器的GPA12引腳,接收端ECHO接處理器的GPA13引腳。通過控制GPA12、GPA13引腳實現超聲波模塊的驅動及距離數據的讀取。由其控制時序圖(如圖5所示)可知,控制GPA12引腳輸出大于10 μs時長的高電平信號驅動超聲波模塊,該模塊將自動發送8個40 kHz的方波,等待信號返回,當GPA13檢測到信號返回,GPA13輸出高電平,高電平持續的時間即超聲波從出發到遇到障礙物返回所經歷的時間[10],即可由式(1)計算出距離值。


DS18B20是數字式溫度傳感器,采用單總線1-wire,與微處理器連接時僅需要一條口線即可實現處理器與DS18B20的雙向通訊。DS18B20的DQ端連接處理器GPH31引腳,如圖4所示。DS18B20測溫范圍為-55~+125 ℃,在-10~85 ℃范圍內精確度為±0.5 ℃。DS18B20有9~12位編程分辨率供選擇,對應的溫度值分辨率分別為0.5 ℃,0.25 ℃,0.125 ℃和0.062 5 ℃[5]。系統采用9位分辨率時,把溫度轉換為數字最多需要93.75 ms,最小分辨率為0.5 ℃,在正常的溫度環境下DS18B20完全滿足測量條件。
通用異步收發器(Universal Asynchronous Receiver and Transmitter,UART )是處理器中最常用、最重要的部件之一,可以用來實現不同處理器的數據通信。本系統通過RS232將下位機采集到的數據傳輸到上位機。S5PV210有4個獨立的UART接口,系統采用UART1通過MAX232芯片轉換,再依據RS232通信協議實現數據的傳輸。RS232串口硬件連接圖如圖4所示。其中RXD1為接收端,TXD1為發送端。RS232串口波特率設置為115200,8位數據位異步通信,一幀數據共10位,其中包括8位數據位,1位數據起始位(0)和1位數據停止位(1)。
要實現很好的交互,需要設計上位機用戶界面,下位機采集的數據經過RS232串口傳輸顯示在PC上。在PC端需要實時顯示距離數據,動態顯示一段關于時間的動態曲線,同時記錄歷史距離數據,方便查閱。本系統的監視界面是采用QT來設計的。QT有著比較強的跨平臺特性,開源的QT給自由開發提供了很大的便利。
檢測系統是在S5PV210上移植了Linux2.6操作系統。Linux操作系統是一種完全開源、多用戶、多任務環境的實時操作系統,內核采用模塊化的思想,可根據外設需要進行配置、裁剪。
利用Linux內核模塊化的思想,開發超聲波傳感器、溫度傳感器、RS232串口通信等設備的驅動程序,動態加載驅動模塊,再編寫好相應的應用層代碼,就可以實現對外設的調試控制了。
3.2.1 超聲測距模塊驅動程序設計
在開發Linux內核模塊驅動程序時,將超聲波模塊視作只讀設備,編寫好驅動程序后,設備只需要通過應用層傳來控制參數,在驅動層即可完成測距。驅動層通過相應的函數將距離值傳給應用層,即可在用戶態讀取并操作距離值[10]。
Linux內核將一切外設均視為文件,在具體開發驅動程序時只需要初始化結構體file_operations中的成員即可。file_operations中的成員變量主要是用來實現對設備節點的打開、讀寫、偏移、關閉等操作,為了便于操作代碼實現時將超聲波傳感器注冊為雜項設備的形式,其驅動中定義的le_operations與miscdevice的成員實現如下:
static struct file_operations sonar_drv_fops = {
.owner = THIS_MODULE,
.open =sonar_open,
.ioctl = sonar_ioctl,
.read =sonar_read,
.write =sonar_write,
.release =sonar_close,
};
static struct miscdevice sr04_drv_misc = {
.minor = MISC_DYNAMIC_MINOR,
.name = "sr04_drv",
.fops = &sr04_drv_fops,
};
open()函數是用于打開設備產生超聲波設備節點的文件描述符,是設備的入口,sonar_open()申請中斷資源, sonar_ioctl用于設置GPA12輸出是0還是1,sonar_read()通過控制定時中斷得到時間值,最后通過copy_to_user()將換算的距離值返回給應用程序。
3.2.2 溫度傳感器驅動程序設計
DS18B20是一種智能傳感器,采用1-Wire的方式傳輸數據,只需要一個引腳即可實現數據的輸入 /輸出。DS18B20的操作需要嚴格按照時序驅動,使用時需使其復位,其復位時序圖如圖6所示。如圖4 所示DS18B20接于S5PV210的GPH31,復位操作如下:首先控制GPH31輸出480~960 μs低電平,然后釋放數據線,再將GPH31設置為低電平保持15~60 μs,等待DS18B20返回存在脈沖,脈沖持續時間為60~240 μs, 這樣就完成了DS18B20的復位操作。

如圖7、8所示為DS18B20的讀、寫程序,采用循環移位的辦法,實現字節讀、寫。
為了驗證位置檢測系統的穩定性與精確程度,需要對檢測系統進行實驗驗證,實驗采用對比上位機讀數與高度尺讀取實際測量距離進行對比驗證。表1列出了系統上位機讀數與對應的實際值:(實驗環境:室內;室溫:22 ℃)

表1 上位機讀取值與實際值
試驗中每組數據測量5次,求取平均值,以減小偶然誤差影響,并計算系統的誤差范圍。由實驗數據可知,系統測量誤差在2%以內,誤差沒有出現較大的波動,也沒有隨距離的增加而變大,系統滿足拋光頭位置檢測使用要求,而且精度比較高。


將設計好的檢測系統嵌入到CMP設備中進行拋光實驗。在系統初始化后,開始檢測按鍵狀態,當檢測到“開始按鍵”按下時開始一次加載過程中記錄拋光頭的運行軌跡,部分軌跡如圖9所示。

實驗研究表明系統調試通過、運行正常,滿足CMP設備拋光頭位置實時檢測與顯示的需求。
本文設計的拋光頭位置檢測系統能夠實現拋光頭運行過程中位置、環境溫度的實時檢測及動態顯示。詳細分析了基于S5PV210—Linux平臺測距系統的軟硬件設計。經過反復實驗該系統在實際拋光實驗中運行穩定,能夠實現對拋光頭行程位置進行實時顯示與監控,解決了拋光設備拋光頭位置檢測的需求。同時該系統可移植性強,可擴展到整個CMP設備的自動化控制系統中,應用前景好。
[1]周立功. ARM嵌入式系統基礎教程[M]. 北京:航空航天大學出版社, 2005.
[2]Chandra A,Bastawros A, Wang X, et al. An integrated wafer surface evolution model for chemical mechanical planarization (CMP)[M].Micromanufacturing Processes, 2012.
[3]Doi T, Philipossian A, Denardis D. Polishing apparatus and method of polishing work piece: US, US7195546[P]. 2007.
[4]武昌壕, 郭冰, 姚光,等. 硬脆材料的化學機械拋光機理研究[J]. 機械設計與制造, 2014(2):37-39.
[5]黨元一, 何思遠, 富璇. 基于ARM的高精度超聲波測距系統設計[J]. 科技風, 2009(1X):67-67.
[6]洪松, 朱龍英. 基于ARM—Linux的超聲波測距系統設計與實現[J]. 自動化與儀表, 2013, 28(3):21-24.
[7]王浩, 譚振文, 王治彪,等. 基于STM32的分體式超聲測距與目標定位系統[J]. 儀表技術與傳感器, 2017(2):58-61.
[8]趙廣濤, 程蔭杭. 基于超聲波傳感器的測距系統設計[J]. 微計算機信息, 2006, 22(1):129-130.
[9]李駒光, 張華. 基于ARM的工業以太網控制系統智能節點的設計[J]. 電子技術, 2003, 30(7):17-18.
[10]Wen ZZ, Li F N, Xia Z B. High-precision ultrasonic ranging system design and research[J]. Applied Mechanics & Materials, 2012, 127:501-505.