《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于平板電腦的家庭醫(yī)療監(jiān)護系統(tǒng)
基于平板電腦的家庭醫(yī)療監(jiān)護系統(tǒng)
來源:微型機與應用2012年第24期
楊 鵬, 王文俊
(河北工業(yè)大學 控制科學與工程學院, 天津 300130)
摘要: 以基于Windows CE的平板電腦為硬件開發(fā)平臺,,采用VS2005集成開發(fā)環(huán)境開發(fā)了基于Windows CE操作系統(tǒng)的USB驅動和基于Windows CE系統(tǒng)的生理參數(shù)監(jiān)護圖形界面軟件,并利用平板電腦常見的USB接口作為數(shù)據(jù)傳輸接口與生理參數(shù)采集模塊進行數(shù)據(jù)通信,,以對人體的主要生理參數(shù)進行實時監(jiān)控,。經(jīng)試驗顯示,,該監(jiān)護系統(tǒng)基本達到了預期的要求。
Abstract:
Key words :

摘   要: 以基于Windows CE平板電腦為硬件開發(fā)平臺,采用VS2005集成開發(fā)環(huán)境開發(fā)了基于Windows CE操作系統(tǒng)的USB驅動和基于Windows CE系統(tǒng)的生理參數(shù)監(jiān)護圖形界面軟件,,并利用平板電腦常見的USB接口作為數(shù)據(jù)傳輸接口與生理參數(shù)采集模塊進行數(shù)據(jù)通信,,以對人體的主要生理參數(shù)進行實時監(jiān)控。經(jīng)試驗顯示,,該監(jiān)護系統(tǒng)基本達到了預期的要求,。
關鍵詞: 平板電腦; Windows CE,; 生理參數(shù),; 家庭醫(yī)療監(jiān)護系統(tǒng)

    隨著生活水平的日益提高,人們越來越關注自己和家人的健康情況,。家庭醫(yī)療保健的興起,,使簡單便攜、功能強大的醫(yī)療設備進入了越來越多的家庭,。而嵌入式智能終端(如平板電腦)的飛速發(fā)展已經(jīng)將人們帶入了一個后PC時代,,將體積小、可靠性高,、功耗低,、應用靈活、功能強大的平板電腦等智能終端運用于家庭醫(yī)療監(jiān)護設備已經(jīng)成為一個矚目的焦點[1],。
    本系統(tǒng)利用平板電腦作為監(jiān)護系統(tǒng)的主控系統(tǒng),,采用Windows CE操作系統(tǒng)。Windows CE作為一個開放的,、可裁剪的,、32 bit的實時嵌入式窗口操作系統(tǒng),其多線程,、多任務,、多優(yōu)先級專門針對資源有限的硬件平臺而設計,具有可靠性好,、實時性高,、內核體積小等特點,被廣泛應用于各個領域[2],。
1 基于平板電腦的醫(yī)療監(jiān)護的系統(tǒng)結構
    圖1所示是基于平板電腦的家庭醫(yī)療監(jiān)護系統(tǒng)的結構框圖,。將平板電腦作為主控系統(tǒng)利用USB接口的數(shù)據(jù)傳輸方式與生理參數(shù)采集模塊進行數(shù)據(jù)通信,USB主控制器將采集的人體的心電,、血氧,、呼吸、體溫,、血壓等主要生理參數(shù)通過內核中USB的驅動模塊與操作系統(tǒng)交互,,操作系統(tǒng)將其再傳遞給上層的監(jiān)護系統(tǒng)的圖形界面處理應用模塊,,外界可通過平板電腦的帶觸摸功能的顯示屏實現(xiàn)與監(jiān)護系統(tǒng)的人機交互,以達到實時監(jiān)護效果,。

2 監(jiān)護系統(tǒng)的軟件系統(tǒng)
    基于平板電腦的家庭醫(yī)療監(jiān)護系統(tǒng)的軟件系統(tǒng)分為兩個部分:一部分是基于該平板操作系統(tǒng)Windows CE下的USB驅動模塊,另一部分是基于該系統(tǒng)的圖形界面處理部分的應用,。圖形界面處理應用程序通過操作系統(tǒng)間接調用USB驅動模塊與系統(tǒng)硬件平臺交互,進而與外部生理參數(shù)采集模塊進行數(shù)據(jù)傳輸交換,,以實現(xiàn)實時醫(yī)療監(jiān)護的功能。
2.1 基于Windows CE下的USB驅動的設計
     Windows CE的USB驅動可以詳細地分為三層:上層的USB設備驅動程序,,被稱為USB Client Driver,,對應具有USB接口的外圍設備;中間層的USBD,,即USB總線驅動,;下層的主機控制器驅動[3],即HCD,。如圖2所示,。

    HCD提供了抽象的主機控制器,為USBD提供了訪問底層功能的服務;USBD位于HCD的上層,,利用HCD提供的服務為USB Client Driver提供較高層次抽象的功能,;USB設備驅動程序則使用USBD接口函數(shù)與外圍設備進行數(shù)據(jù)通信。大部分USB外圍設備由于功能性更適合流接口驅動的結構,,所以一般都采用加載式流接口驅動程序模型來開發(fā)USB設備驅動程序[4],。
    下面簡要介紹開發(fā)該系統(tǒng)的USB驅動用到的幾個重要函數(shù)[5]:
   (1)USBDeviceAttach:設備加載時由系統(tǒng)調用,該函數(shù)用于初始化設備,、取得USB設備信息和配置USB設備,,并且申請必需的資源。
   (2)USBInstallDrive:Windows CE系統(tǒng)在第一次加載USB設備驅動程序時首先被調用,,創(chuàng)建需要的注冊鍵,,將USB驅動程序所需的注冊表信息(如設備名稱)寫入到HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers目錄下。
   (3)USBUninstallDriver:在用戶刪除USB設備驅動程序時調用,,主要負責刪除注冊鍵并釋放其在USBDeviceAttach申請的相關資源,。
   (4)USB_Init:當驅動被Windows CE加載時將調用該函數(shù)。
   (5)USB_Deinit:當驅動被Windows CE卸載時將調用該函數(shù),。
   (6)USB_Read:應用程序調用ReadFile()函數(shù)時將調用此接口,,本驅動在此接口中調用IssueInterruptTransfer以實現(xiàn)USB的中斷讀傳輸模式。
   (7)USB_Write:應用程序調用WriteFile()函數(shù)時將調用此接口,,本驅動同樣在此接口中調用IssueInterruptTransfer以實現(xiàn)USB的中斷寫傳輸模式,。
   (8)USB_IOControl:應用程序調用DeviceIOControl()函數(shù)時將調用此函數(shù),本USB驅動中將此接口調用IssueBulkTransfer以實現(xiàn)批量傳輸模式,。
2.2 基于Windows CE系統(tǒng)的生理參數(shù)監(jiān)護軟件的設計
   本系統(tǒng)采用VS2005集成開發(fā)環(huán)境,,利用微軟提供的基礎類庫MFC,以面向對象的程序設計和多線程的思想方法來完成生理參數(shù)監(jiān)護上層應用軟件的開發(fā)[6]。主要軟件流程圖如圖3所示,。

2.2.1 打開USB設備
    當點擊界面連接設備按鈕時將調用hDriver=CreateFile(_T("USBn:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);打開USB設備,,并獲取該設備驅動句柄,此后便可利用該句柄對此設備進行操作,,當不用該句柄時(即釋放資源時)則調用CloseHandle( )關閉該句柄,。然后調用WriteFile( )函數(shù)對設備進行上電操作,之后設備處于運行狀態(tài),。
2.2.2 實現(xiàn)對外圍設備的讀寫功能和分析繪圖功能
      在完成打開設備操作并運行正常后,,就可以對設備進行數(shù)據(jù)傳輸操作,操作主要包括對外圍設備的讀,、寫,、分析和繪圖。利用Windows CE操作系統(tǒng)的多任務,、多線程機制,,將這些操作分配到不同的線程中[7],創(chuàng)建線程函數(shù)為:    CWinThread*AfxBeginThread(AFX_THREADPROC pfnThreadProc,LPVOID pParam,int nPriority,UINT nStackSize, DWORD dwCreateFlags, LPSECURITY_ATTRIBUTES lpSecurityAttrs),。其中,pfnThreadProc是要創(chuàng)建線程的函數(shù)的指針,,pParam是要傳遞給生成線程的參數(shù),nPriority將設置生成線程的優(yōu)先級,一般設置為普通優(yōu)先級 THERAD_PRIORITY_NORMAL, nStackSize設置新線程堆棧大小,,dwCreateFlags表示創(chuàng)建的線程創(chuàng)建時的狀態(tài),,最后一個參數(shù)安全屬性設置為NULL。在創(chuàng)建三個線程函數(shù)中將當前類的this指針傳遞給新線程,,這樣新線程可以獲取當前類的部分成員變量,,創(chuàng)建的進程都設置處于掛起狀態(tài),等到執(zhí)行時才將其切換運行狀態(tài),。

 

 

    讀接口數(shù)據(jù)線程將得到的數(shù)據(jù)暫存至緩沖buffer,,該結構類型為typedef struct _frame_data_
{    
    UINT16 EcgW_I;
    UINT16 EcgW_II;
    UINT16 HeartRate;
        …
} FRAME_DATA,*pFRAME_DATA;該結構體對應的外圍采集設備的一幀數(shù)據(jù),分析和繪圖線程根據(jù)生理參數(shù)    采集設備的數(shù)據(jù)協(xié)議確認沒有丟包的前提下,,調用WriteFile()函數(shù)保存數(shù)據(jù),,并調用微軟提供的MFC類庫中的CDC、CPaintDC,、CClientDC,、CWindowDC、CPen,、CBrush等類
    設置圖形畫筆,、畫刷屬性,利用這些屬性并繪制圖形,。
3 實驗結果
    在實驗室條件下進行測試,驗證基于平板電腦的監(jiān)護系統(tǒng)的可靠性,、實時性,、穩(wěn)定性。如圖4所示,,運行監(jiān)護界面軟件,,同時檢測各個參數(shù),均無出現(xiàn)丟包等數(shù)據(jù)傳輸問題,,能實時地反應被監(jiān)護者的血壓,、呼吸、血氧等人體主要參數(shù)及波形,。實驗表明該家庭醫(yī)療監(jiān)護系統(tǒng)工作穩(wěn)定,并能實現(xiàn)對人體六大參數(shù)的監(jiān)護功能,。
參考文獻
[1] 何宗建.Windows CE嵌入式系統(tǒng)[M].北京:北京航空航 天大學出版社,2006.
[2] 汪兵. Windows CE嵌入式高級編程及實例詳解[M]. 北京:中國水利水電出版社, 2008.
[3] 張東泉,譚南林,蘇樹強.Windows CE實用開發(fā)技術[M]. 北京:電子工業(yè)出版社,2009.
[4] Microsoft. Microsoft Windows CE.net help[S]. 2000.
[5] Windows CE device driver kit[M].Microsoft Press,1999.
[6] Liu Ning,Yang Zhenyu,Li Rong,et al. An optimization me thod for real-time natural phenomena simulation on Windows CE platform[C]. 31st Annual IEEE International Computer  Software and Application Conference,2007,2:57-62.
[7] Jiang Min. A design of embedded terminal unit based on ARM and Windows CE [C]. Electronic Measurement and  Instruments,2007.ICEMI International Conference,2007:336-340.

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。