(漳州職業(yè)技術(shù)學(xué)院機(jī)械與自動(dòng)化工程系,福建 漳州363000)
傳統(tǒng)以太網(wǎng)和嵌入式以太網(wǎng)有許多相似之處,例如都遵循IEEE802.3標(biāo)準(zhǔn)且都使用TCP/IP協(xié)議,但傳統(tǒng)以太網(wǎng)基于工作站或PC機(jī)的軟硬件環(huán)境,而嵌入式以太網(wǎng)基于微處理器或微控制器的軟硬件環(huán)境。此外,傳統(tǒng)以太網(wǎng)使用的網(wǎng)絡(luò)協(xié)議內(nèi)嵌在Windows NT等操作系統(tǒng)之中,并且與工作站或PC機(jī)的硬件直接配合使用,而嵌入式以太網(wǎng)使用的網(wǎng)絡(luò)協(xié)議內(nèi)嵌在實(shí)時(shí)操作系統(tǒng)之中,這樣以便應(yīng)用于工業(yè)控制領(lǐng)域[1]?;诖?,筆者進(jìn)行了基于ARM7嵌入式系統(tǒng)的電動(dòng)機(jī)保護(hù)裝置設(shè)計(jì)。在硬件設(shè)計(jì)上,采用ARM嵌入式處理器作為保護(hù)裝置的核心CPU,將RTOS作為嵌入式應(yīng)用軟件開發(fā)平臺(tái),通過該保護(hù)裝置可以提高電動(dòng)機(jī)的安全可靠性。
硬件電路裝置設(shè)計(jì)的好壞直接影響保護(hù)裝置功能,對(duì)軟件系統(tǒng)的設(shè)計(jì)也有重要影響。筆者采用ARM+MCU結(jié)構(gòu),該裝置原理框圖如圖1所示,其中ARM主要負(fù)責(zé)數(shù)據(jù)的處理、采集、存儲(chǔ)、計(jì)算、故障的判斷、與上位機(jī)的通信等,MCU則負(fù)責(zé)人機(jī)接口的顯示。
根據(jù)該裝置的實(shí)際需要,通過建立相關(guān)的應(yīng)用程序,軟件部分在μC/OS-Ⅱ平臺(tái)上可以大大提高其可靠性[2]。將μC/OS-Ⅱ移植到LPC2292之后,微機(jī)保護(hù)裝置就可以實(shí)現(xiàn)其強(qiáng)大功能。應(yīng)用程序的總體結(jié)構(gòu)框圖如圖2所示。

圖1 電動(dòng)機(jī)保護(hù)裝置原理圖
主函數(shù)的主要功能是實(shí)現(xiàn)嵌入式實(shí)時(shí)操作系統(tǒng)的初始化、啟動(dòng)多任務(wù)調(diào)度及創(chuàng)建其他任務(wù)等,要實(shí)現(xiàn)上述功能,可以通過調(diào)用OSLnitO實(shí)現(xiàn)系統(tǒng)的初始化,同時(shí)通過調(diào)用OSStart()來達(dá)到啟動(dòng)多任務(wù)調(diào)度的目的[3]。由于定時(shí)采樣的中斷程序不能受干擾,否則會(huì)導(dǎo)致微機(jī)保護(hù)裝置產(chǎn)生嚴(yán)重錯(cuò)誤,因而對(duì)實(shí)時(shí)性和優(yōu)先權(quán)的要求很高。定時(shí)采樣的中斷程序圖如圖3所示。

圖2 應(yīng)用程序的總體結(jié)構(gòu)框圖

圖3 定時(shí)采樣的中斷程序圖
移植μC/OS-Ⅱ要求用戶編寫4個(gè)簡(jiǎn)單的匯編語(yǔ)言函數(shù):

OSStart()調(diào)用 OSStartHighRdy()函數(shù)來使就緒態(tài)任務(wù)中優(yōu)先級(jí)最高的任務(wù)開始運(yùn)行。中斷服務(wù)子程序、陷阱或異常處理的向量地址必須指向OSCtxSw()。OSIntExit()通過調(diào)用ISIntCtxSw()函數(shù)在OSTickISR()中執(zhí)行任務(wù)切換功能。還有一個(gè)函數(shù)是Include s.h主頭文件,其出現(xiàn)在每個(gè)文件的第1行,因?yàn)楣こ添?xiàng)目中的每個(gè).C文件需要頭文件,使用主頭文件可以增強(qiáng)代碼的可移植性。
對(duì)μC/OS-Ⅱ的相關(guān)函數(shù)處理完后,然后驗(yàn)證移植代碼是否能正常工作,一般應(yīng)該首先不加任何應(yīng)用代碼測(cè)試移植好的μC/OS-Ⅱ,也就是說先測(cè)試內(nèi)核自身運(yùn)行情況是否良好,具體步驟如下:首先要確保ADS編譯器和連接器的正常工作,然后需要驗(yàn)證OSTaskStkInit()和 OSStartHighRdy()和 OSCtxSw()函數(shù),最后驗(yàn)證ISIntCtxSw()和OSTick ISR()函數(shù)的正確運(yùn)行。
基于ARM嵌入式系統(tǒng)的電動(dòng)機(jī)保護(hù)裝置以μC/OS-Ⅱ?yàn)檐浖_發(fā)平臺(tái),該平臺(tái)的優(yōu)勢(shì)就是可以按實(shí)際的功能將各個(gè)任務(wù)劃分為不同的任務(wù)模塊,這樣可以相應(yīng)的對(duì)各個(gè)任務(wù)分別進(jìn)行編程和調(diào)試。相關(guān)軟件作為該裝置的一個(gè)重要組成部分,各個(gè)軟件模塊的獨(dú)立性和可移植性需要加強(qiáng)。為提高該保護(hù)裝置的處理速度和硬件電路的可靠性,利用ARM芯片完成保護(hù)測(cè)量功能,采用LPC2292嵌入式微處理器作為該裝置的主控芯片,通過MCS-51完成人機(jī)接口功能,最終提高電動(dòng)機(jī)的安全可靠性。
[1]周立功.ARM嵌入式系統(tǒng)軟件開發(fā)實(shí)例 [M].北京:北京航空航天大學(xué)出版社,2004.
[2]陳伯時(shí).電力拖動(dòng)自動(dòng)控制系統(tǒng) [M].北京:機(jī)械工業(yè)出版社,1991.
[3]楊蒔百.電力系統(tǒng)可靠性分析基礎(chǔ)及應(yīng)用 [M].北京:水利電力出版社,1985.