国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Windows CE的人體生理參數(shù)監(jiān)測系統(tǒng)設(shè)計(jì)

2011-05-08 11:51:12田志宏邱峰志
關(guān)鍵詞:對話框串口數(shù)據(jù)包

田志宏,胡 亮,邱峰志

(天津科技大學(xué)電子信息與自動(dòng)化學(xué)院,天津 300222)

當(dāng)前,人口老齡化已成為當(dāng)今世界的一個(gè)突出的社會(huì)問題.世界衛(wèi)生組織指出,在全世界 190多個(gè)國家和地區(qū)中,有 60多個(gè)已進(jìn)入老年型社會(huì).老年人健康的最大威脅——心血管疾病引起的死亡人數(shù),占全球死亡人數(shù)的三分之一[1].各種心血管疾病在發(fā)病前都會(huì)有相應(yīng)的征兆,而通過觀測病人的生理參數(shù)數(shù)據(jù)是能夠發(fā)現(xiàn)這些征兆的,因此設(shè)計(jì)一種可以監(jiān)測主要生理參數(shù)并兼有報(bào)警功能的醫(yī)療儀器,將為預(yù)防和治療各種突發(fā)性疾病提供一種新的手段[2].目前,生理參數(shù)監(jiān)測設(shè)備大多用于醫(yī)院監(jiān)護(hù)室、養(yǎng)老院等,可對病人或老年人的重要生理參數(shù)作實(shí)時(shí)、連續(xù)和長時(shí)間的監(jiān)護(hù)[3],有些監(jiān)護(hù)設(shè)備還帶有一定的本地報(bào)警功能.但其在遠(yuǎn)程無線報(bào)警功能方面卻略顯匱乏,不支持手機(jī)短信報(bào)警功能[4].

本監(jiān)護(hù)系統(tǒng)在擁有準(zhǔn)確的監(jiān)測功能的同時(shí)又有手機(jī) GPRS報(bào)警功能,可在日常家庭中使用,滿足老年人對此類儀器的需求.

1 硬件結(jié)構(gòu)

人體生理參數(shù)監(jiān)測系統(tǒng)硬件結(jié)構(gòu)如圖1所示.系統(tǒng)選用 CSN808作為生理參數(shù)采集模塊.CNS808是用來監(jiān)測心電波、心率、血壓、血氧飽和度、呼吸和體溫的參數(shù)采集模塊,并可按照RS232協(xié)議,通過串口向主控模塊發(fā)送生理參數(shù)數(shù)據(jù)包[5].選用 GTM900模塊作為生理參數(shù)的遠(yuǎn)程無線報(bào)警模塊,其支持標(biāo)準(zhǔn)及增強(qiáng)的 AT命令,與主控模塊通過串口相連.主控模塊主要負(fù)責(zé)對 CSN808模塊發(fā)送的數(shù)據(jù)包做相應(yīng)的處理,并對 CSN808模塊和 GTM900模塊進(jìn)行控制.選用Atmel公司的AT91SAM9263作為ARM主控模塊的核心CPU,其支持Windows CE操作系統(tǒng)和大容量的NAND flash.系統(tǒng)以LCD和觸摸屏作為人機(jī)交互裝置,并可以通過以太網(wǎng)接口芯片連接到Internet.

圖1 人體生理參數(shù)監(jiān)測系統(tǒng)硬件結(jié)構(gòu)圖Fig.1 Hardware structure of physiological parameter monitoring system

2 軟件設(shè)計(jì)

一個(gè)Windows CE系統(tǒng)從軟件角度通常可分為3個(gè)層次:引導(dǎo)加載程序、系統(tǒng)映像文件以及用戶應(yīng)用程序[6].本文重點(diǎn)介紹人體生理參數(shù)監(jiān)測軟件,即用戶應(yīng)用程序的開發(fā).

CSN808模塊的正常應(yīng)答方式是以50 Hz的頻率連續(xù)發(fā)送包含 25字節(jié)數(shù)據(jù)的數(shù)據(jù)包.其中,數(shù)據(jù)包的前兩個(gè)字節(jié)是數(shù)據(jù)頭,第20和第25字節(jié)為兩個(gè)校驗(yàn)和值,其余字節(jié)是各種生理參數(shù)的數(shù)據(jù)字節(jié).主控模塊接到串口數(shù)據(jù)后,首先對接收到的數(shù)據(jù)包進(jìn)行校驗(yàn),然后對通過校驗(yàn)的數(shù)據(jù)包進(jìn)行分析,最后把各種生理參數(shù)數(shù)值顯示到 LCD模塊上,并繪制多導(dǎo)聯(lián)心電圖(ECG).在監(jiān)測到病人出現(xiàn)異常時(shí),系統(tǒng)自動(dòng)對生理參數(shù)數(shù)據(jù)包進(jìn)行保存,同時(shí)主控模塊驅(qū)動(dòng)GPRS/GSM 模塊向外發(fā)送求救短消息和撥打求救電話.圖 2為人體生理參數(shù)監(jiān)測系統(tǒng)監(jiān)測軟件的主程序流程圖.

采用了EVC4.0作為上位機(jī)軟件的開發(fā)工具.它具有支持MFC類庫和ATL、COM組件,支持C/C++和匯編混合編程,所編寫的軟件運(yùn)行時(shí)占用內(nèi)存少、運(yùn)行速度快等特點(diǎn).

圖2 監(jiān)測軟件主程序流程圖Fig.2 Main program flow chart of monitoring software

2.1 基于API的串口通信功能

2.1.1 串口資源的打開和關(guān)閉

串口在Windows CE系統(tǒng)下屬于流接口設(shè)備,它是串行設(shè)備接口的常規(guī) I/O驅(qū)動(dòng)程序調(diào)用和與通信相關(guān)的具體函數(shù)的結(jié)合.串行設(shè)備被視為用于打開、關(guān)閉、讀寫串口的常規(guī)、可安裝的流設(shè)備[7].在所有的流設(shè)備驅(qū)動(dòng)程序中,均可使用 CreateFile()函數(shù)來打開串行端口設(shè)備.打開串口并正確設(shè)置 DCB結(jié)構(gòu)體中的參數(shù)以及異步讀寫的超時(shí)時(shí)限之后,串口即可正常工作.

關(guān)閉串口則可以調(diào)用 CloseHandle()函數(shù)來釋放串口資源.

2.1.2 多線程讀取串口數(shù)據(jù)

Windows CE系統(tǒng)不支持重疊 I/O,在主線程中進(jìn)行大量讀寫串口操作將會(huì)使整個(gè)系統(tǒng)陷入緩慢的串口等待[8].所以,系統(tǒng)采用多線程技術(shù)來進(jìn)行讀寫串口操作.在 Windows CE系統(tǒng)中,各個(gè)線程間共享絕大部分資源,其中就包括從串口接收到的數(shù)據(jù).

按照模塊化的編程思想,監(jiān)測軟件采用了3級結(jié)構(gòu)來實(shí)現(xiàn)串口數(shù)據(jù)的讀?。?/p>

(1)讀線程負(fù)責(zé)監(jiān)視串口事件,如果有串口事件,則通知回調(diào)函數(shù)接收串口數(shù)據(jù).

(2)回調(diào)函數(shù)接收串口數(shù)據(jù),并以消息形式通知主窗口的數(shù)據(jù)分析與繪圖函數(shù)處理其收到的數(shù)據(jù).

(3)數(shù)據(jù)分析與繪圖函數(shù)負(fù)責(zé)處理串口數(shù)據(jù)、顯示生理參數(shù)與繪制ECG等功能.

數(shù)據(jù)分析函數(shù)在接到數(shù)據(jù)后,首先定位數(shù)據(jù)包的數(shù)據(jù)頭.然后,以數(shù)據(jù)頭為定位標(biāo)志,找到這組數(shù)據(jù)的兩個(gè)校驗(yàn)和值.如果這組數(shù)據(jù)通過校驗(yàn),則將其存入一個(gè)包含25個(gè)元素的結(jié)構(gòu)體m_recv中,直接對結(jié)構(gòu)體中的數(shù)據(jù)進(jìn)行操作.

要理順關(guān)系。一年來我們感到,各種關(guān)系理順了,工作會(huì)事半功倍。要依靠集團(tuán)紀(jì)委的正確領(lǐng)導(dǎo)、職能部門的有力指導(dǎo),要積極利用地方紀(jì)委監(jiān)委專業(yè)資源和力量,更要得到監(jiān)督單位的充分理解配合,派駐優(yōu)勢才能得到最大發(fā)揮。

2.2 生理參數(shù)的數(shù)據(jù)分析

2.2.1 數(shù)據(jù)的實(shí)時(shí)顯示

普通對話框只能在實(shí)例化一個(gè)對象之前給其中的變量賦值.而 CDialogBar類對象則不同,它是由CControlBar類派生而來,在主窗口實(shí)例化一個(gè)CDialogBar類對象之后,它的句柄在程序運(yùn)行期間將一直有效,那么就可以對其中的變量進(jìn)行實(shí)時(shí)的賦值更新.系統(tǒng)使用一個(gè) DialogBar來顯示各種生理參數(shù)的數(shù)值,然后用函數(shù) SetDlgItemText()來實(shí)時(shí)更新DialogBar的數(shù)據(jù).

對于狀態(tài)欄,它的句柄在程序運(yùn)行期間也一直有效.所以,可以用其成員函數(shù)SetPaneText()來實(shí)時(shí)更新各種探頭的工作狀態(tài).

2.2.2 ECG繪制

為了避免數(shù)據(jù)在類與類之間的傳遞,串口數(shù)據(jù)的接收與處理等相關(guān)操作代碼都被添加到 MainFrame類中.由EVC的文檔/視圖結(jié)構(gòu)可知,View類窗體始終覆蓋在 Mainframe類窗體之上,所以必須使用View類的DC進(jìn)行繪圖.MFC提供GetActiveView()函數(shù),其返回值是當(dāng)前活動(dòng)窗口的指針,經(jīng)過轉(zhuǎn)化之后,便可以使用函數(shù)GetDC()來獲取View類的DC.

按照醫(yī)學(xué)標(biāo)準(zhǔn),一個(gè)心率為 60次/min的完整心電圖波形的寬度在屏幕上為 25,mm或者 50,mm.按照 CSN808模塊的通訊協(xié)議,CSN808模塊每秒向主控模塊發(fā)送200個(gè)心電波形數(shù)據(jù)點(diǎn).而LCD模塊的分辨率是 800像素×480像素,顯示區(qū)域的寬度為170,mm.可以計(jì)算出主控模塊板應(yīng)從串口 1中讀取數(shù)據(jù)包的頻率為

50×(800/50/4)/(170/25)≈25

2.3 生理參數(shù)的數(shù)據(jù)保存

以病人的呼吸和心跳兩項(xiàng)參數(shù)作為數(shù)據(jù)保存與否的標(biāo)志.如果這兩項(xiàng)參數(shù)中,有一項(xiàng)的數(shù)值超出了其安全域值,系統(tǒng)將以對話框的形式進(jìn)行本地報(bào)警,并即刻開始保存CSN808模塊傳來的數(shù)據(jù)包,直至報(bào)警參數(shù)均回到安全域值范圍之內(nèi).

與串口資源一樣,文件也屬于流接口設(shè)備,其創(chuàng)建與打開使用 CreateFile()函數(shù).在打開文件后,只需要將結(jié)構(gòu)體m_recv中的數(shù)據(jù)追加保存到文件末尾就可實(shí)現(xiàn)對數(shù)據(jù)包連續(xù)、規(guī)則地保存.

2.4 監(jiān)測系統(tǒng)的多種報(bào)警模式

系統(tǒng)采用 GTM900作為遠(yuǎn)程無線報(bào)警模塊.在監(jiān)測系統(tǒng)的報(bào)警設(shè)計(jì)對話框中,有用于設(shè)置報(bào)警電話號(hào)碼的文本編輯框.在初次使用系統(tǒng)時(shí),系統(tǒng)會(huì)以對話框的形式提醒醫(yī)護(hù)人員設(shè)置報(bào)警電話號(hào)碼.在正確設(shè)置報(bào)警號(hào)碼后,系統(tǒng)以文件形式將報(bào)警號(hào)碼存儲(chǔ)起來并作為默認(rèn)報(bào)警電話號(hào)碼,直至報(bào)警號(hào)碼被修改.圖 3為報(bào)警設(shè)置對話框,前兩組選項(xiàng)用來設(shè)定心跳和呼吸頻率的報(bào)警閾值,最后一個(gè)文本編輯框?yàn)轭A(yù)置的報(bào)警號(hào)碼.

圖3 監(jiān)測系統(tǒng)的報(bào)警設(shè)置對話框Fig.3 Alarm Setting dialog box of monitoring system

當(dāng)監(jiān)測到作為報(bào)警標(biāo)志的生理參數(shù)出現(xiàn)異常時(shí),主控模塊就會(huì)驅(qū)動(dòng) GTM900模塊向預(yù)置的報(bào)警號(hào)碼發(fā)出包含報(bào)警原因及報(bào)警生理參數(shù)數(shù)值的求救短信息.圖4為監(jiān)測軟件的報(bào)警模塊程序流程圖.

圖4 監(jiān)測軟件報(bào)警模塊流程圖Fig.4 Alarm module flow chart of monitoring software

2.5 生理參數(shù)的數(shù)據(jù)重現(xiàn)

生理參數(shù)數(shù)據(jù)包的儲(chǔ)存為重現(xiàn)病人發(fā)病時(shí)各種生理參數(shù)提供了基礎(chǔ).?dāng)?shù)據(jù)重現(xiàn)策略是:在打開生理參數(shù)數(shù)據(jù)文件后,每次順序讀取 25個(gè)字節(jié)的數(shù)據(jù),并賦值給 m_recv結(jié)構(gòu)體.然后,調(diào)用數(shù)據(jù)分析與繪圖函數(shù)處理 m_recv結(jié)構(gòu)體中的數(shù)據(jù),并在屏幕上刷新數(shù)據(jù)和繪制曲線.為模擬 CSN808模塊的應(yīng)答方式,系統(tǒng)采用時(shí)間控件,按照 50,Hz的頻率重復(fù)執(zhí)行上述過程,直至文件指針移動(dòng)至生理參數(shù)數(shù)據(jù)文件的結(jié)尾.

3 實(shí) 驗(yàn)

3.1 調(diào)試與監(jiān)測效果

讓被監(jiān)測者同時(shí)佩戴醫(yī)用監(jiān)護(hù)設(shè)備和本監(jiān)測系統(tǒng),然后不斷的對比兩系統(tǒng)的數(shù)據(jù)以及各導(dǎo)聯(lián)心電圖.并以此作為依據(jù)近一步微調(diào)人體生理參數(shù)監(jiān)測系統(tǒng),直至兩套系統(tǒng)得出相同的數(shù)據(jù)、曲線.圖 5是監(jiān)測系統(tǒng)在微調(diào)完成之后的效果圖.

圖5 部分監(jiān)測界面Fig.5 Monitoring interface example

圖5(a)為I導(dǎo)聯(lián)心電圖,主界面右側(cè)區(qū)域?yàn)橛靡燥@示病人各種生理參數(shù)數(shù)值的對話框;主界面上方為系統(tǒng)設(shè)置區(qū)域;主界面下方為顯示各種探頭佩戴狀況的狀態(tài)欄.圖5(b)是AVR導(dǎo)聯(lián)圖曲線.圖5(c)是呼吸波曲線,為方便醫(yī)護(hù)人員對呼吸波曲線的觀察,已將對話框隱藏.

3.2 報(bào)警實(shí)驗(yàn)

按照CSN808模塊的通訊協(xié)議,編輯一組心跳數(shù)值為 0的測試數(shù)據(jù)來測試本地報(bào)警模式及遠(yuǎn)程無線報(bào)警模式,以驗(yàn)證系統(tǒng)的實(shí)時(shí)性和準(zhǔn)確性.本地報(bào)警對話框的文本信息指明了報(bào)警原因以及報(bào)警參數(shù)的數(shù)值.

在本地報(bào)警對話框出現(xiàn)的 12 s之后,求救短信息發(fā)送到了預(yù)置報(bào)警號(hào)碼的手機(jī)上,短信內(nèi)容與報(bào)警對話框給出的文本內(nèi)容相同.5 min后停止測試,在此期間系統(tǒng)運(yùn)行正常.在 Nand Flash中存儲(chǔ)有大小為 22.3 kB的文本文件Rec00,它保存了測試期間的生理參數(shù)數(shù)據(jù)包.選擇數(shù)據(jù)復(fù)現(xiàn)功能后,數(shù)據(jù)開始重現(xiàn),各項(xiàng)參數(shù)均正確無誤.

4 結(jié) 語

本文設(shè)計(jì)了一種基于 Windows CE的人體生理參數(shù)監(jiān)測系統(tǒng).系統(tǒng)實(shí)現(xiàn)了多種人體生理參數(shù)的實(shí)時(shí)采集、顯示,并可選擇性地進(jìn)行對包括 ECG曲線在內(nèi)的 9種生理參數(shù)曲線的繪制.同時(shí),系統(tǒng)在必要的時(shí)候能夠自動(dòng)進(jìn)行人體生理參數(shù)數(shù)據(jù)的保存.在此基礎(chǔ)上,還實(shí)現(xiàn)了包括本地報(bào)警和遠(yuǎn)程無線報(bào)警的兩種報(bào)警方式.上位機(jī)軟件以 EVC4.0作為開發(fā)平臺(tái),并采用了模塊化的編程思想,所編寫的程序,可移植性好、功能完善、易于維護(hù).目前,系統(tǒng)已經(jīng)運(yùn)用到了智能輪椅車上,并取得了較好的效果.

[1] Dakun L,F(xiàn)ang Z. Real-time remote monitoring of out-ofhospital with high patients especially risk heart diseases[C]//Proceeding of the 2007 International IEEE/ICME Conference on Complex Medical Engineering.Piscataway:IEEE,2007:332–335.

[2] 車琳琳. 常用生理參數(shù)測量方法的原理及改進(jìn)[J]. 中國醫(yī)療設(shè)備,2008,23(8):53–54,77.

[3] 巫琦. 監(jiān)護(hù)儀的臨床應(yīng)用和發(fā)展[J]. 醫(yī)療裝備,2004,17(3):10–12.

[4] 謝存禧. 基于人口老齡化的智能化健康護(hù)理、監(jiān)控裝備的研發(fā)[J]. 電機(jī)工程技術(shù),2010,39(11):86–89.

[5] 趙玉曉,徐志玲,唐川,等. 醫(yī)院患者無線監(jiān)控系統(tǒng)的軟件設(shè)計(jì)[J]. 實(shí)驗(yàn)室科學(xué),2011,14(1):100–102,106.

[6] 張自明. 基于WinCE的嵌入式平臺(tái)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2007.

[7] 張毅,王學(xué)思. 基于 WinCE的流接口驅(qū)動(dòng)程序開發(fā)[J]. 工業(yè)控制計(jì)算機(jī),2008,21(6):47–48.

[8] 汪兵. Windows CE 嵌入式高級編程及其實(shí)例詳解[M].北京:中國水利水電出版社,2008:114–129.

猜你喜歡
對話框串口數(shù)據(jù)包
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
正?;謴?fù)虛擬機(jī)
Bootlace Worms’Secret etc.
SmartSniff
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
地礦測繪(2015年3期)2015-12-22 06:27:26
基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
快速抓取對話框中的完整信息
電腦迷(2012年22期)2012-04-29 20:30:54
荆州市| 奎屯市| 咸阳市| 淅川县| 微博| 江都市| 河津市| 巢湖市| 周宁县| 浮山县| 名山县| 方正县| 贵南县| 江西省| 合川市| 读书| 东山县| 九寨沟县| 松原市| 南乐县| 平度市| 曲靖市| 曲麻莱县| 霍州市| 鸡泽县| 玉田县| 全椒县| 静乐县| 晋宁县| 进贤县| 河津市| 揭西县| 上杭县| 阿坝| 闵行区| 五台县| 乡城县| 治多县| 宣汉县| 柳林县| 孟村|