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