基于ARM的胎兒心電信號(hào)數(shù)據(jù)采集系統(tǒng)
4.1 µC/OS-Ⅱ在S3C44BOX上的移植
µC/OS-Ⅱ是源代碼公開的嵌入式操作系統(tǒng),是基于優(yōu)先級(jí)的搶占式實(shí)時(shí)多任務(wù)內(nèi)核,代碼采用ANSIC編寫,具有很強(qiáng)的可移植性和較好的可裁剪性。µC/OS-Ⅱ提供了實(shí)時(shí)系統(tǒng)所需的基本功能包括任務(wù)調(diào)度、任務(wù)管理、時(shí)間管理、任務(wù)間的通信與同步及內(nèi)存管理等,總是執(zhí)行處于就緒條件下優(yōu)先級(jí)最高的任務(wù),最多可以管理64個(gè)任務(wù),它把連續(xù)的大塊內(nèi)存按分區(qū)來進(jìn)行動(dòng)態(tài)管理,可以有效地解決內(nèi)存碎片的問題。在移植過程中只需對(duì)與處理器相關(guān)的一些代碼進(jìn)行修改,包括:
(1)處理器頭文件OS_ CPU.H ,其中包括了用#define定義的與處理器相關(guān)的變量、宏和定義類型;
(2)在OS_CPU_A.ASM中編寫4個(gè)簡單的匯編語言函數(shù):OSStartHighRdy(),OSCtxSw(),OSIntCtxSw()和OSTickISR(),分別用于啟動(dòng)當(dāng)前就緒的優(yōu)先級(jí)最高的任務(wù)、任務(wù)間的切換,從ISR中執(zhí)行切換功能以及時(shí)鐘節(jié)拍ISR功能;
(3)在OS_ CPU_C. C中編寫任務(wù)堆棧初始化函數(shù)OSTaskStInit()和5個(gè)必須聲明但不需包含代碼的HOOK()函數(shù)。
4.2 應(yīng)用程序設(shè)計(jì)
根據(jù)胎兒心電采集系統(tǒng)的特性.將系統(tǒng)主要任務(wù)劃分如下:系統(tǒng)監(jiān)控任務(wù)(優(yōu)先級(jí)4),按鍵掃描任務(wù)(優(yōu)先級(jí)5),LCD顯示刷新任務(wù)(優(yōu)先級(jí)6)、存儲(chǔ)任務(wù)(優(yōu)先級(jí)7),優(yōu)先級(jí)0,1,2,3保留以供系統(tǒng)使用。系統(tǒng)初始化以后,µC/OS-Ⅱ根據(jù)優(yōu)先級(jí)和就緒狀態(tài)對(duì)任務(wù)進(jìn)行調(diào)度和執(zhí)行。初始化工作包括初始化所有數(shù)據(jù)結(jié)構(gòu)、分配堆??臻g、建立任務(wù)及任務(wù)間通信的信號(hào)量、消息隊(duì)列和優(yōu)先級(jí)。在運(yùn)行OSStart()函數(shù)后,最先運(yùn)行優(yōu)先級(jí)最高的系統(tǒng)監(jiān)控任務(wù),查詢其他任務(wù)是否向其發(fā)送消息.如果沒有則將監(jiān)控任務(wù)掛起。此時(shí),鍵盤掃描任務(wù)從就緒態(tài)切換到運(yùn)行態(tài)。該任務(wù)執(zhí)行完畢,如果檢測到有按鍵操作,則向響應(yīng)任務(wù)發(fā)送消息,使它們進(jìn)入就緒態(tài),同時(shí)向監(jiān)控任務(wù)發(fā)送消息以示此任務(wù)工作正常,并且調(diào)用延時(shí)函數(shù)OSTimedly()使該任務(wù)進(jìn)入掛起態(tài)。由于監(jiān)控任務(wù)收到消息,將再次進(jìn)入運(yùn)行態(tài),重新查詢其他被監(jiān)視任務(wù)的運(yùn)行信息,沒有則進(jìn)入掛起態(tài)。此時(shí)其他處于就緒態(tài)中優(yōu)先級(jí)相對(duì)較高的任務(wù)開始執(zhí)行。當(dāng)鍵盤延時(shí)時(shí)間到,系統(tǒng)內(nèi)核自動(dòng)將該任務(wù)轉(zhuǎn)入就緒態(tài)。如果在運(yùn)行過程中出現(xiàn)異常,監(jiān)控任務(wù)將按照設(shè)定處理表對(duì)其進(jìn)行相應(yīng)處理.使系統(tǒng)順利運(yùn)行。
5結(jié)束語
本文設(shè)計(jì)的胎兒心電信號(hào)數(shù)據(jù)采集系統(tǒng)在Embest S3CEV4O開發(fā)板的基礎(chǔ)上進(jìn)行改進(jìn)和實(shí)驗(yàn),充分利用其本身提供的硬件資源,在實(shí)時(shí)操作系統(tǒng)µC/OS-Ⅱ基礎(chǔ)上進(jìn)行應(yīng)用程序開發(fā),顯示與存儲(chǔ)胎兒心電數(shù)據(jù)。
本文作者創(chuàng)新點(diǎn):合理有效設(shè)計(jì)胎兒心電信號(hào)提取電路,結(jié)合ARM微處理器自身的優(yōu)勢,進(jìn)行算法分離,具有良好的工程意義。
評(píng)論