基于PIC單片機的永磁無(wú)刷直流電動(dòng)機控制系統的開(kāi)發(fā)
值得說(shuō)明的是:
① 系統中的換相邏輯由可編程邏輯器件完成,主要是為了提高系統的可靠性,從功能上講,完全可由單片機實(shí)現;
② 電機的速度檢測,可根據位置信號利用軟件計算得來(lái),故省略了速度傳感器;
③ 模擬輸入為電機的速度給定信號。
3.嵌入式系統軟件開(kāi)發(fā)模式
對于簡(jiǎn)單的應用系統,系統的軟件開(kāi)發(fā)模式通常如圖2所示,稱(chēng)為前后臺系統(也叫無(wú)限循環(huán)系統)。
前后臺系統中,應用程序就是一個(gè)無(wú)限循環(huán)。循環(huán)中調用函數完成相應的操作,這些操作稱(chēng)為后臺任務(wù);中斷服務(wù)程序處理異步事件,這部分稱(chēng)為前臺行為。因為中斷服務(wù)程序提供的信息一直要等到后臺程序運行到該處理這個(gè)信息時(shí)才得到處理,所以最壞情況下的任務(wù)響應時(shí)間等于整個(gè)循環(huán)的執行時(shí)間。因為后臺循環(huán)的執行周期不是常數,所以基于前后臺模式的應用軟件開(kāi)發(fā),雖然設計過(guò)程簡(jiǎn)單,但系統的實(shí)時(shí)性得不到保障。
為了提高系統的實(shí)時(shí)性,可以采用基于嵌入式實(shí)時(shí)操作系統(RTOS)的軟件開(kāi)發(fā)模式。RTOS分為兩類(lèi):非可剝奪型內核和可剝奪型內核,一般商用的都是可剝奪型內核,所以本文只討論此類(lèi)RTOS,其內核結構如圖3所示。
RTOS將整個(gè)應用細分為多個(gè)任務(wù),每個(gè)任務(wù)完成特定的功能,并被賦予一定的優(yōu)先級,擁有自己的任務(wù)控制塊和??臻g。一般地,每個(gè)任務(wù)在程序結構上都是一個(gè)無(wú)限循環(huán),它有多個(gè)狀態(tài)——休眠態(tài)、就緒態(tài)、運行態(tài)、掛起態(tài)和中斷態(tài)等。系統內核總是讓就緒態(tài)的高優(yōu)先級任務(wù)先運行,中斷服務(wù)程序可搶占CPU,中斷服務(wù)程序完成時(shí),系統內核讓此時(shí)就緒態(tài)中優(yōu)先級最高的任務(wù)運行(不一定是被中斷的任務(wù))??梢?jiàn),基于RTOS的軟件開(kāi)發(fā)模式使系統的任務(wù)響應時(shí)間得到了最優(yōu)化。更重要的是,這種開(kāi)發(fā)模式將以往面向功能的應用開(kāi)發(fā)轉化為面相任務(wù)的應用開(kāi)發(fā),簡(jiǎn)化了系統設計的邏輯結構;同時(shí),由于有了RTOS,屏蔽了應用軟件對底層硬件的可見(jiàn)性,將以往軟件系統的兩層結構轉化為三層結構(如圖4所示),極大地方便了系統的軟件擴展與硬件升級。
對于PIC18F系列單片機,目前常用的嵌入式實(shí)時(shí)操作系統有:μC/OS-II、Salvo、CMX、PIC18OS等。它們都是可剝奪型的實(shí)時(shí)內核,詳細的比較如表1所示。
評論