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