基于ARM的腦血氧監(jiān)測(cè)儀的軟件設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
介紹了基于ARM的腦血氧監(jiān)測(cè)儀軟件的設(shè)計(jì)與實(shí)現(xiàn)。該軟件通過(guò)控制探頭對(duì)腦血氧信息進(jìn)行采集并通過(guò)無(wú)線方式將信息發(fā)送給終端,終端對(duì)接收到的信息進(jìn)行處理和顯示,同時(shí)將病人信息存儲(chǔ)在SQL Server CE2.0數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)病人信息的查詢(xún)、添加、刪除等功能。
氧是人體新陳代謝的重要物質(zhì),腦是人體新陳代謝最活躍的器官之一,正常人腦氧消耗量占全身氧消耗量的20%左右,在心腦血管疾病及腦外傷病人臨床搶救與治療中,如果缺乏對(duì)腦組織供氧的監(jiān)護(hù)手段,就有可能造成腦組織神經(jīng)功能的喪失或損害[1]。因此,研制一種連續(xù)監(jiān)測(cè)腦供氧狀況的臨床設(shè)備,對(duì)提高心腦血管和腦外傷病人的診斷和治療具有重大意義。本腦血氧監(jiān)測(cè)儀可實(shí)時(shí)地采集左右腦血氧信號(hào),把處理腦血氧信號(hào)得到的腦血氧飽和度實(shí)時(shí)地進(jìn)行波形顯示;還可對(duì)腦血氧信號(hào)進(jìn)行功率譜、互相關(guān)系數(shù)等處理,根據(jù)這些處理的結(jié)果判斷人的腦血氧狀況。
1 腦血氧監(jiān)測(cè)儀的系統(tǒng)結(jié)構(gòu)
腦血氧監(jiān)測(cè)儀包括探頭和終端兩個(gè)部分,其總體結(jié)構(gòu)如圖1所示。探頭采用ARM7系列微控制器,分時(shí)采集采樣數(shù)據(jù),同時(shí)通過(guò)無(wú)線收發(fā)模塊RF24L01實(shí)現(xiàn)與終端的數(shù)據(jù)傳遞和通信;終端采用ARM9系列微控制器,其主要功能包括數(shù)據(jù)接收、計(jì)算和實(shí)時(shí)顯示大腦組織的血氧飽和度、計(jì)算血氧互相關(guān)系數(shù)和功率譜并顯示結(jié)果。以下主要介紹腦血氧監(jiān)測(cè)儀的軟件設(shè)計(jì)與實(shí)現(xiàn)。
2 腦血氧監(jiān)測(cè)儀軟件設(shè)計(jì)
2.1 開(kāi)發(fā)環(huán)境的選擇
由于硬件條件的不同,腦血氧監(jiān)測(cè)儀軟件的探頭和終端采用不同的開(kāi)發(fā)環(huán)境。探頭軟件的開(kāi)發(fā)環(huán)境采用ADS1.2,ASD1.2支持ARM10之前的所有ARM系列微控制器,支持軟件調(diào)試及JTAG硬件仿真調(diào)試,支持匯編語(yǔ)言、C語(yǔ)言和C++源程序,具有編譯效率高、系統(tǒng)庫(kù)功能強(qiáng)等特點(diǎn)[2]。終端采用WinCE5.0嵌入式操作系統(tǒng),WinCE是一個(gè)Microsoft公司開(kāi)發(fā)的開(kāi)放、可升級(jí)的32 bit嵌入式操作系統(tǒng),適用于各種嵌入式系統(tǒng)和產(chǎn)品。WinCE的圖形界面出色,并且具有結(jié)構(gòu)化、模塊化和基于Win32應(yīng)用程序接口以及與處理器無(wú)關(guān)等特點(diǎn)[3]。終端軟件的開(kāi)發(fā)環(huán)境采用Embedded Visual C++(簡(jiǎn)稱(chēng)EVC),EVC是Microsoft公司推出的WinCE程序可視化開(kāi)發(fā)工具,支持SDK、MFC、ATL,兼有高級(jí)和低級(jí)語(yǔ)言的雙重性、靈活性,執(zhí)行效率高[4]。
2.2 軟件功能模塊設(shè)計(jì)
腦血氧監(jiān)測(cè)儀的軟件主要包括探頭和終端兩個(gè)部分,探頭軟件主要由數(shù)據(jù)采集模塊和無(wú)線收發(fā)模塊組成,如圖2所示。終端軟件主要由無(wú)線收發(fā)模塊、數(shù)據(jù)處理模塊、結(jié)果顯示模塊、數(shù)據(jù)存儲(chǔ)模塊組成,如圖3所示。
(1)數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊主要功能是采集通過(guò)光電轉(zhuǎn)換后的包含血氧信息的電壓信號(hào),并對(duì)信號(hào)做濾波、放大、A/D轉(zhuǎn)換等預(yù)期處理。
(2)無(wú)線收發(fā)模塊
無(wú)線收發(fā)模塊功能主要是通過(guò)RF24L01無(wú)線通信模塊的驅(qū)動(dòng)實(shí)現(xiàn),將探頭采集的經(jīng)過(guò)A/D轉(zhuǎn)換后的信號(hào)發(fā)送給終端。
(3)數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊主要是對(duì)采集到的血氧信號(hào)值進(jìn)行中值濾波、快速傅里葉變換,計(jì)算出功率譜、互相關(guān)系數(shù)、血氧飽和度等參數(shù)。
(4)結(jié)果顯示模塊
結(jié)果顯示模塊主要包括兩個(gè)方面:一方面實(shí)時(shí)地顯示血氧飽和度值;另一方面可以截取任意一段血氧波形做處理,其處理方式包括波形放大、功率譜顯示、互相關(guān)函數(shù)顯示等。
(5)數(shù)據(jù)存儲(chǔ)模塊
數(shù)據(jù)存儲(chǔ)模塊主要存儲(chǔ)病人基本信息和采集的血氧信息,并可以對(duì)其進(jìn)行添加、查詢(xún)和刪除。
2.3 軟件基本流程
探頭軟件的流程如圖4所示,探頭啟動(dòng)后初始化設(shè)備包括端口初始化、AD初始化、定時(shí)器初始化、SPI初始化、NRF24L01初始化和中斷初始化等,然后通過(guò)AD功能將采集到的電壓信號(hào)轉(zhuǎn)換成數(shù)值信號(hào),待一組數(shù)值采集完畢觸發(fā)中斷。中斷處理包括設(shè)置發(fā)送模式、發(fā)射數(shù)據(jù)和監(jiān)聽(tīng)?wèi)?yīng)答等功能,一組數(shù)值發(fā)送完畢后中斷返回,進(jìn)行下一組數(shù)值采樣。