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