一種多功能錄擴音系統(tǒng)的設(shè)計方案
3 軟件設(shè)計
目前,可供選擇的操作系統(tǒng)很多,在這里我們采用µC/OS-II.µC/OS-II具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴展性強等特點,最小內(nèi)核可編譯至2KB.
3.1 µC/OS-II初始化啟動設(shè)計
在使用µC/OS-I的所有服務(wù)之前,必須使用函數(shù)OSInit()實現(xiàn)初始化,對所有全局變量和數(shù)據(jù)結(jié)構(gòu)進行初始化。同時OSInit()函數(shù)會創(chuàng)建一個空閑任務(wù)OSTaskIdle,為該任務(wù)分配最低優(yōu)先級并使之處于就緒狀態(tài)。如果用戶應(yīng)用程序還要使用統(tǒng)計任務(wù),則建立統(tǒng)計任務(wù)OSTaskstat()并讓它進入就緒態(tài),此任務(wù)的優(yōu)先級設(shè)為OS_LOWESTPRIG_1,系統(tǒng)的初始化過程如圖6所示。
3.2 μC/OS-II的移植設(shè)計
mC/OS-II的文件系統(tǒng)結(jié)構(gòu)包括核心代碼部分、設(shè)置代碼部分、與處理器相關(guān)的移植代碼部分。其中最上邊的軟件應(yīng)用層是mC/OS-II上的代碼。核心代碼部分包括7個源代碼文件和1個頭文件。功能分別是內(nèi)核管理、事件管理、消息隊列管理、存儲管理、消息管理、信號量處理、任務(wù)調(diào)度和定時管理。設(shè)置代碼部分包括2個頭文件,用來配置事件控制塊的數(shù)目以及是否包含消息管理相關(guān)代碼。而與處理器相關(guān)的移植代碼部分則是進行移植過程中需要更改的部分,包括1個頭文件OS_CPU.H,1個匯編文件OS_CPU_A.S和1個C代碼文件。
實際上將mC/OS-II移植到AT91RM9263處理器上,需要完成的工作主要是以下三個與體系結(jié)構(gòu)相關(guān)的文件:OS_CPU.H,OS_CPU.C以及OS_CPU_A.S.
3.3 主程序流程
控制程序主程序流程圖如圖7所示,其中包括時間校正、錄音、放音、播放時間設(shè)置、播放選擇等六個子程序。
4 結(jié)束語
本文提出的一種多功能錄擴音系統(tǒng)的設(shè)計方案,該方案充分發(fā)揮了ARM接口豐富的特點,移植了高效、穩(wěn)定的µC/OS-II操作系統(tǒng)后,具有擴音、錄音、放音等多種功能,適應(yīng)了電力系統(tǒng)安全生產(chǎn)的需要。經(jīng)實驗證明,本方案具有較強的實用性。
評論