腦血氧監測儀的設計研究
介紹了基于ARM的腦血氧監測儀軟件的設計與實(shí)現。該軟件通過(guò)控制探頭對腦血氧信息進(jìn)行采集并通過(guò)無(wú)線(xiàn)方式將信息發(fā)送給終端,終端對接收到的信息進(jìn)行處理和顯示,同時(shí)將病人信息存儲在SQL Server CE2.0數據庫中,實(shí)現病人信息的查詢(xún)、添加、刪除等功能。
氧是人體新陳代謝的重要物質(zhì),腦是人體新陳代謝最活躍的器官之一,正常人腦氧消耗量占全身氧消耗量的20%左右,在心腦血管疾病及腦外傷病人臨床搶救與治療中,如果缺乏對腦組織供氧的監護手段,就有可能造成腦組織神經(jīng)功能的喪失或損害[1]。因此,研制一種連續監測腦供氧狀況的臨床設備,對提高心腦血管和腦外傷病人的診斷和治療具有重大意義。本腦血氧監測儀可實(shí)時(shí)地采集左右腦血氧信號,把處理腦血氧信號得到的腦血氧飽和度實(shí)時(shí)地進(jìn)行波形顯示;還可對腦血氧信號進(jìn)行功率譜、互相關(guān)系數等處理,根據這些處理的結果判斷人的腦血氧狀況。
1 腦血氧監測儀的系統結構
腦血氧監測儀包括探頭和終端兩個(gè)部分,其總體結構如圖1所示。探頭采用ARM7系列微控制器,分時(shí)采集采樣數據,同時(shí)通過(guò)無(wú)線(xiàn)收發(fā)模塊RF24L01實(shí)現與終端的數據傳遞和通信;終端采用ARM9系列微控制器,其主要功能包括數據接收、計算和實(shí)時(shí)顯示大腦組織的血氧飽和度、計算血氧互相關(guān)系數和功率譜并顯示結果。以下主要介紹腦血氧監測儀的軟件設計與實(shí)現。
2 腦血氧監測儀軟件設計
2.1 開(kāi)發(fā)環(huán)境的選擇
由于硬件條件的不同,腦血氧監測儀軟件的探頭和終端采用不同的開(kāi)發(fā)環(huán)境。探頭軟件的開(kāi)發(fā)環(huán)境采用ADS1.2,ASD1.2支持ARM10之前的所有ARM系列微控制器,支持軟件調試及JTAG硬件仿真調試,支持匯編語(yǔ)言、C語(yǔ)言和C++源程序,具有編譯效率高、系統庫功能強等特點(diǎn)[2]。終端采用WinCE5.0嵌入式操作系統,WinCE是一個(gè)Microsoft公司開(kāi)發(fā)的開(kāi)放、可升級的32bit嵌入式操作系統,適用于各種嵌入式系統和產(chǎn)品。WinCE的圖形界面出色,并且具有結構化、模塊化和基于Win32應用程序接口以及與處理器無(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,兼有高級和低級語(yǔ)言的雙重性、靈活性,執行效率高[4]。
2.2 軟件功能模塊設計
腦血氧監測儀的軟件主要包括探頭和終端兩個(gè)部分,探頭軟件主要由數據采集模塊和無(wú)線(xiàn)收發(fā)模塊組成,如圖2所示。終端軟件主要由無(wú)線(xiàn)收發(fā)模塊、數據處理模塊、結果顯示模塊、數據存儲模塊組成,如圖3所示。
(1)數據采集模塊
數據采集模塊主要功能是采集通過(guò)光電轉換后的包含血氧信息的電壓信號,并對信號做濾波、放大、A/D轉換等預期處理。
(2)無(wú)線(xiàn)收發(fā)模塊
無(wú)線(xiàn)收發(fā)模塊功能主要是通過(guò)RF24L01無(wú)線(xiàn)通信模塊的驅動(dòng)實(shí)現,將探頭采集的經(jīng)過(guò)A/D轉換后的信號發(fā)送給終端。
(3)數據處理模塊
數據處理模塊主要是對采集到的血氧信號值進(jìn)行中值濾波、快速傅里葉變換,計算出功率譜、互相關(guān)系數、血氧飽和度等參數。
(4)結果顯示模塊
結果顯示模塊主要包括兩個(gè)方面:一方面實(shí)時(shí)地顯示血氧飽和度值;另一方面可以截取任意一段血氧波形做處理,其處理方式包括波形放大、功率譜顯示、互相關(guān)函數顯示等。
(5)數據存儲模
數據存儲模塊主要存儲病人基本信息和采集的血氧信息,并可以對其進(jìn)行添加、查詢(xún)和刪除。
2.3 軟件基本流程
探頭軟件的流程如圖4所示,探頭啟動(dòng)后初始化設備包括端口初始化、AD初始化、定時(shí)器初始化、SPI初始化、NRF24L01初始化和中斷初始化等,然后通過(guò)AD功能將采集到的電壓信號轉換成數值信號,待一組數值采集完畢觸發(fā)中斷。中斷處理包括設置發(fā)送模式、發(fā)射數據和監聽(tīng)應答等功能,一組數值發(fā)送完畢后中斷返回,進(jìn)行下一組數值采樣。
終端軟件的流程如圖5所示。終端軟件啟動(dòng)后初始化設備包括界面控件初始化、定時(shí)器初始化、線(xiàn)程初始化和驅動(dòng)的加載,驅動(dòng)中包含端口初始化、SPI初始化、NRF24L01初始化等,然后啟動(dòng)定時(shí)器,定時(shí)器溢出處理包括設置接收模式、接收數據、保存數據、數據處理、更新顯示控件等功能。
3 數據庫設計
3.1 數據庫記錄及字段設計
本軟件采用SQL Server CE 2.0數據庫。SQL Server CE 2.0是一個(gè)小型的數據庫產(chǎn)品,功能強大,支持結構化查詢(xún)語(yǔ)言,提供了與SQL Server一致的開(kāi)發(fā)模型和API,是一款適用于嵌入到移動(dòng)應用的精簡(jiǎn)數據庫產(chǎn)品。
根據實(shí)際需求設計了病人信息數據表,用來(lái)存儲病人的基本信息。包含的數據字段分別為:病人編號、姓名、性別、年齡、檢測日期、數據文件路徑。血氧信息存儲在數據文件路徑下的文本文檔中,其目的是使SQL Server CE 2.0在添加記錄后關(guān)閉連接,以減少對終端平臺內存的使用。
3.2 數據庫管理
采用SQL Server CE 2.0數據庫,需要在PC端和終端平臺安裝相應的軟件。PC端需要的軟件環(huán)境是Windows XP+IIS+SQL Server 2000+SQL Server 2000 SP3+SQL Server CE 2.0+SQL Server CE 2 SP3,將PC端安裝SQL Server CE 2.0生成的ssce2.0.dll、Adoce31.dll、Adoceoledb31.dll、Adoxce31.dll、Isqlw20.exe、dllregister.exe拷貝到終端Windows目錄下,運行dllregister.exe完成SQL Server CE 2.0的注冊安裝。Isqlw20.exe是SQL Server CE 2.0的查詢(xún)分析器,可以用來(lái)創(chuàng )建數據庫,數據庫后綴名為.sdf。
數據庫的連接用到了安裝SQL Server CE 2.0時(shí)生成的voconnection.h、voconnection.cpp、vorecordset.h、vorecordset.cpp文件,通過(guò)CVOConnection和CVORecordset兩個(gè)類(lèi)實(shí)現數據庫的連接。其關(guān)鍵語(yǔ)句如下:
m_strDataSource=”P(pán)rovider=Microsoft.SQLSERVER.OLEDB.CE.2.0;data source=\My Document\database.sdf”,m_strDataSource代表數據源。
使用CVORecordset類(lèi)的Open方法來(lái)實(shí)現數據庫記錄的查詢(xún)、添加、刪除等操作。其關(guān)鍵語(yǔ)句如下:
CVORecordset*dbRecordset;創(chuàng )建記錄集。
CString SQL;定義用來(lái)查詢(xún)、添加、刪除的SQl語(yǔ)句。
SQL=_T(“select from patient_table order by patient_ID”);查詢(xún)所有記錄并按照patient_ID排序的SQL語(yǔ)句。
SQL.Format(_T(“Insert into patient_table values(%d,’%s’,’%s’,’%s’,’%s’,’%s’)”),NewID,patient_name,patient_gender,patient_age,examination_date,datapath;添加記錄SQL語(yǔ)句,病人信息存儲到索引為NewID的記錄中。
SQL.Format(_T(“delete from patient_table where patient_ID=%d”),id);刪除記錄SQL語(yǔ)句,數據庫中索引為id的記錄被刪除。
dbRecordset->Open(SQL);執行SQL語(yǔ)句,實(shí)現數據庫記錄的查詢(xún)、添加、刪除功能。
本文詳細介紹了基于A(yíng)RM的腦血氧監測儀軟件的系統結構,各軟件功能模塊的設計與實(shí)現。采用了無(wú)線(xiàn)通信芯片NRF24L01,這使醫生不需到病房即可了解病人的腦血氧狀況,提高了醫生在處理心腦血管病人病情方面的效率;終端采用SQL Server CE 2.0,類(lèi)似于PC平臺下的SQL Server 2000,功能強大、管理方便,對以后的版本升級是很好的鋪墊。目前,基于A(yíng)RM的腦血氧監測儀硬件已設計完畢,處于測試階段,成功后即可與軟件銜接測試,并進(jìn)行臨床試驗。
參考文獻
[1] 李良成,李凱揚,秦釗.新型近紅外腦血氧檢測設備的研制[J].激光與紅外,2006(8).
[2] 周立功.ARM嵌入式系統實(shí)驗教程[M].北京:北京航空航天大學(xué)出版社,2004.
[3] 周立功.ARMWinCE實(shí)驗與實(shí)踐-基于S3C2410[M].北京:北京航空航天大學(xué)出版社,2007.
[4] 汪兵,李存斌,陳鵬,等.EVC高級編程及其應用開(kāi)發(fā)[M].北京:中國水利水電出版社,2005.
評論