隨著信息化、智能化、網絡化的發展,嵌入式系統得到了前所未有的發展。由于嵌入式系統具有體積小、性能強、可靠性高等特點,目前廣泛應用于工業控制、控制儀表、通信等各個領域。擴散/氧化控制系統是為擴散氧化爐設計的控制系統。擴散/氧化爐是集成電路制造的重要的工藝設備之一。本系統主要由高精度的溫度控制系統、推拉舟控制系統、氣路控制系統組成。本系統為擴散/氧化爐提供高精度的擴散氧化環境,以生產出高質量的半導體產品。 本文采用的是ARM處理器S3C2440,它具有工作頻率高、片上資源豐富等特點,可以良好地應用于本系統。且系統設計中移植了嵌入式WinCE,使得控制系統具有實時性強、編程方便、可擴展性強等特點。 1 擴散/氧化控制系統的總體設計 如圖1所示,系統的CPU及擴展模塊是以S3C2440為核心的開發板。在系統中有溫度控制子系統、推拉舟控制子系統、氣路控制子系統。上述3個子系統為閉環系統,分別完成對溫度、步進電機、氣體質量流量計的檢測和控制。觸摸顯示屏作為人機界面,用于控制和監視系統的運行。 圖1 系統結構框圖 2 控制系統的硬件設計 2.1 ARM微處理器S3C2440 本設計采用三星S3C2440處理器。它的主頻為400 MHz,外擴存儲器NAND Flash為128 MB、SDRAM為64 MB,完全滿足控制系統運行的要求。該處理器片內資源有1個LCD控制器(支持TFT帶有觸摸屏的液晶顯示屏)、SDRAM控制器、117位通用I/O口和24位外部中斷源等。本系統觸摸屏為3.5英寸,分辨率240×320,滿足系統要求。 2.2 溫度控制子系統硬件設計 溫度控制子系統要求4路溫度采集,其中一路測量環境溫度,另外3路測量擴散/氧化爐的溫度。系統要求溫度測量范圍為0~1 700℃,全量程分辨率為0.1℃。 為滿足系統要求,測量擴散/氧化爐的傳感器可以選用熱電偶。為滿足系統測量精度的要求,同時系統A/D轉換的速度要求不是很快,所以采用雙積分型A/D轉換器ILC7135。ILC7135精度高、抗干擾性能好、價格低,應用十分廣泛。ICL7135其轉換數字范圍為-19 999~+19 999,即分辨率為1/40 000。為了增加測量精度,需要對熱電偶輸入的信號進行濾波。因為本系統主要受工頻信號的干擾,所以濾波過程主要濾掉工頻信號。信號放大時根據系統的要求可以選用OP07、OP27等高精度的放大器。圖2為ILC7135的A/D轉換原理圖。因為S3C2440的引腳高電平為3.3 V,所以此電路與CPU連接時可以使用電平轉換芯片SN74ALVCl64245或74LVC4254等。 在本系統中使用晶閘管控制的電阻絲給擴散/氧化爐加溫,為了防止市電對系統的影響,必須使用光電隔離器隔離本系統與市電的連接。 圖2 ILC7135 A/D轉換原理圖 2.3 氣路系統和推拉舟系統的硬件設計 在擴散/氧化工藝中,根據工藝的不同需要通入4種不同種類和質量的氣體。所以在氣路控制系統中,需要4路開關量控制4種不同氣體的通斷,以及4路模擬量控制氣體質量流量計。質量流量計能夠輸出4 mA~20 mA或0~5 V的氣體質量信號,在控制精度要求不高的系統中,可以不理會質量流量計輸出的氣體質量信號,為了保證控制精度,可以采集氣體質量信號。 在4路開關量控制中,可以使用繼電器控制通斷。 在4路模擬量控制氣體質量流量計中,需要4路D/A轉換。根據控制精度的要求,選用12位的D/A芯片DAC1230,因為控制信號為電壓信號,所以需要把電流信號轉換成電壓信號。圖3即為氣路控制系統D/A轉換原理圖。 圖3 氣路控制系統D/A轉換原理圖 在4路氣體質量流量測量中,因為氣體質量流量計可以輸出4 mA~20 mA或0~5 V兩種信號,所以要求A/D轉換芯片轉換這兩種信號。根據控制精度的要求,可以選用12位A/D轉換芯片AD574。 在擴散/氧化工藝中,推拉舟用于運送半導體芯片,由步進電機驅動。微處理器S3C2440有4路PWM輸出,可以輸出脈沖給步進電機的驅動器,控制步進電機的運動。同時需要通用I/O口控制步進電機的正反轉。 為了精確地獲得推拉舟的當前位置,使用位置編碼器記錄推拉舟的運動距離。為了獲得位置編碼器的脈沖,使用8254記錄脈沖數。CPU掃描讀取8254的數據,計算出推拉舟的當前位置。 3 控制系統的軟件設計 3.1 嵌入式操作系統 S3C2440微處理器基于ARM9內核,可以移植Windows CE、Linux、μC/OS-Ⅱ等嵌入式操作系統。本系統采用Windows CE操作系統。Microsoft Windows CE是一個緊湊、高效的可擴展操作系統,適用于各種嵌入式系統和產品。它擁有多線程、多任務、確定性的實時、完全搶先式優先級的操作系統環境,專門面向只有有限資源的硬件系統。 3.2 應用程序設計 在本系統中,根據工藝的不同,需要設置溫度、位置、氣體種類和質量等參數。所以,系統運行時需要設置的參數很多,并且為了實時觀察溫度參數,要求使用曲線顯示溫度。由此可知本系統中人機界面的重要性。圖4為溫度測量流程圖。圖5為系統運行總畫面。 圖4 溫度測量流程圖 圖5 系統運行總畫面 (1)曲線顯示是應用程序的重要組成部分,可以把曲線的繪制封裝到一個類中,本設計中封裝到CDline類。該類給定繼承與CWnd,因此曲線類也是一個窗口,可以在此窗口上繪制出曲線。首先使用EVC向導創建CDline類。在類中添加需要的變量,如存儲線中的點CList<CPoint、CPoint&>m_lstPoints,畫表格邊框設備環境CDCm_dcGrid,用來畫線的設備環境CDC m_dcLine等。然后為類添加構造函數,為類添加創建對話框的函數virtual BOOL Create(LPCTSTR lpszClassName,LPCTSTR lpszWindowName,DWORD dwStyle,const RECT& reet,CWnd*pParentWnd,UINT nID,CCreateContext* pContext)。然后為類添加繪圖函數把曲線、網格繪制到空間上。 曲線類完成之后,就可以在應用程序中初始化類的實例(如CDline m_Dline),接著調用創建函數(m_Dline.Create()等函數)。 (2)在本系統中為了存儲系統運行過程中的數據及設置的數據,為了方便地檢索數據,可以使用數據庫技術。由于本系統需要存儲的數據量較小,數據結構相對簡單,使用WinCE自帶的數據庫EDB是非常合適的。 EDB數據庫的編寫使用數據庫函數。 裝配數據庫卷: BOOL CeMountDBVol(PCEGUID pceguid,LPWSTR lpszDBVol,DWORD dwFlags); 卸載數據庫卷: BOOL CeUnmountDBVol(PCEGUID pceguid); 創建數據庫:CEOID CeCreateDatabaseEx (PCEGUID pceguid,CEDBASEINFO*lpCEDBInfo); 打開數據庫:HANDLE CeopenDatabaseEx(PCEGUID pceguid,PCEOID poid,LPWSTR lpszName,CEPROPID propid,DWORD dwFlags,CENOTIFYREQUEST *pReq); 寫數據庫:CEOID CeWriteRecordProps(HANDLE hDbase,CEOID oidRecord,WORD cProplD,CEPROPVAL *rgPropVal), 讀數據庫:CEOID CeReadRecordPropsEx(HANDLE hDbase,DWORD dwFlags,LPWORD lpcPropID,CEPROPID*rgPropID,LPBYTE *lplpBuffer,LPDWORD lpcbBuffer,HANDLE hHeap); 本設計使用的S3C2440微處理器工作頻率高、外圍電路豐富,能夠設計出友好的人機界面,易于監視和控制。本設計中溫度檢測精度高,整個系統的自動化程度高。系統運行證明,系統軟硬件完全滿足要求,運行良好。 |