<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 醫(yī)療電子 > 設(shè)計應(yīng)用 > 基于GPRS的遠(yuǎn)程心電實時監(jiān)護儀軟件系統(tǒng)

          基于GPRS的遠(yuǎn)程心電實時監(jiān)護儀軟件系統(tǒng)

          作者: 時間:2011-12-27 來源:網(wǎng)絡(luò) 收藏
          當(dāng)今社會,心臟疾病已嚴(yán)重影響了人們的生命安全,許多突發(fā)患者因得不到及時救治而使生命受到威脅。傳統(tǒng)的心電監(jiān)護設(shè)備限制了患者的自由,動態(tài)心電記錄儀(Holter)雖能便攜地記錄患者日?;顒訒r的心電數(shù)據(jù),但是沒有功能,對于危及生命的突發(fā)心臟病變幫助不大。
          無線通信技術(shù)的日漸成熟使便攜式心電成為可能。利用無線數(shù)據(jù)通信技術(shù),可將功能與Holter結(jié)合起來。患者可以配戴監(jiān)護儀自由活動,同時可隨時隨地得到心電監(jiān)護。緊急情況發(fā)生時,患者掌握著可靠的求生路徑;而醫(yī)生可根據(jù)全面的心電數(shù)據(jù)分析患者心臟狀況,使患者的心臟疾病及時得到預(yù)防和救治。
          400Hz或500Hz采樣的心電數(shù)據(jù)是一種帶寬較大的數(shù)據(jù)源,同時心電監(jiān)護也有實時性要求。本文主要闡述在特定硬件平臺和整體系統(tǒng)設(shè)計下的心電實時監(jiān)護儀的設(shè)計。

          1 心電實時監(jiān)護系統(tǒng)概述
          心電實時監(jiān)護系統(tǒng)包括四個部分:監(jiān)護儀(病人終端)、PDA(醫(yī)生終端)、監(jiān)護服務(wù)器以及心電數(shù)據(jù)服務(wù)器。系統(tǒng)結(jié)構(gòu)如圖1所示。
          1.jpg
          監(jiān)護儀由患者隨身佩帶,以400Hz或500Hz的采樣頻率對患者心電信號采樣,并把心電數(shù)據(jù)通過GSM/網(wǎng)絡(luò)發(fā)送給監(jiān)護服務(wù)器,數(shù)據(jù)的實時性由監(jiān)護服務(wù)器和監(jiān)護儀之間的控制信息控制。PDA接收來自監(jiān)護服務(wù)器的數(shù)據(jù),并根據(jù)心電分析的結(jié)果通過數(shù)據(jù)服務(wù)(數(shù)據(jù)服務(wù))和短消息(SMS)通知監(jiān)護儀。監(jiān)護服務(wù)器負(fù)責(zé)接收轉(zhuǎn)存病人端全部心電數(shù)據(jù),實時分析及回放分析;同時向PDA轉(zhuǎn)發(fā)實時心電數(shù)據(jù),利用控制信息來協(xié)調(diào)實時心電數(shù)據(jù)的收發(fā)。心電數(shù)據(jù)服務(wù)器存儲所有心電數(shù)據(jù)、患者信息以及設(shè)備信息,除了在監(jiān)護過程中存儲心電數(shù)據(jù)外,心電數(shù)據(jù)服務(wù)器還負(fù)責(zé)注冊患者和設(shè)備信息及管理數(shù)據(jù)庫遠(yuǎn)程訪問等任務(wù)。
          2 監(jiān)護儀硬件平臺簡介
          監(jiān)護儀硬件主要由單片機、電源模塊、心電信號采集放大模塊、擴展NAND Flash、LCD驅(qū)動模塊及GSM/GPRS無線通信模塊組成。
          (1)單片機:PIC18系列單片機,低功耗,通過PLL倍頻指令頻率可達(dá)10MHz,自帶ADC采樣頻率最高可達(dá)幾十kHz。
          (2)電源模塊:為各模塊提供4V和3.3V兩種直流電壓源。
          (3)心電信號采集放大模塊:微弱心電信號采集并放大800倍,同時可檢測導(dǎo)聯(lián)脫落。
          (4)擴展NAND Flash:32M NAND Flash,最多可存儲長達(dá)23小時的原始心電數(shù)據(jù)。
          (5)LCD驅(qū)動模塊:驅(qū)動80×160點陣的LCD。
          (6)GSM/GPRS無線通信模塊:內(nèi)嵌TCP(UDP)/IP協(xié)議棧,利用Socket建立網(wǎng)絡(luò)連接,在應(yīng)用GPRS發(fā)送數(shù)據(jù)的同時,仍可以提供GSM語音、短信(SMS)服務(wù)。
          3 關(guān)鍵技術(shù)
          監(jiān)護儀的核心是管理Flash、GPRS網(wǎng)絡(luò)、無線模塊的GSM功能及LCD。
          3.1 Flash管理
          Flash存儲器用于存儲心電數(shù)據(jù)和控制信息,以保證心電數(shù)據(jù)在斷電時不遺失及日后查看監(jiān)護過程的相關(guān)控制信息。
          內(nèi)存映射(Memory Map)模型把Flash作為一個整體,各種不同數(shù)據(jù)按照類別預(yù)先分配存儲空間。操作Flash數(shù)據(jù)時,首先把內(nèi)部索引(譬如數(shù)據(jù)索引或者消息索引)映射到分區(qū)地址,剔除無效存儲單元,再通過Flash操作函數(shù)讀取或?qū)懭胂鄳?yīng)的數(shù)據(jù)。
          3.1.1 Flash分區(qū)結(jié)構(gòu)
          (1)Head Seg:大小為1個塊(Block),用于存儲分區(qū)版本號、壞塊表及其余分區(qū)的基本信息,包括分區(qū)起始地址(BaseAdd)、分區(qū)跨度(以塊為單位)、分區(qū)最高地址、數(shù)據(jù)區(qū)(Data Seg)中的數(shù)據(jù)范圍、數(shù)據(jù)區(qū)中數(shù)據(jù)的格式(FMT)、消息區(qū)(SMS Seg)所有消息的聯(lián)系人列表等,每個分區(qū)的基本信息占一頁(Page)。本分區(qū)占Flash存儲器的第一個塊。根據(jù)Flash的技術(shù)資料可知,第一塊正常使用時不會出現(xiàn)無效存儲單元,因此許多關(guān)鍵數(shù)據(jù)保存于此。
          (2)Data Seg:大小為1000個塊,即1000個連續(xù)的有效塊,用于存儲心電數(shù)據(jù)。如果采樣頻率為400Hz,采樣位數(shù)為8位,數(shù)據(jù)區(qū)可存儲11.37小時的原始心電數(shù)據(jù),所有的心電數(shù)據(jù)從采樣起始點0開始依次編號即心電數(shù)據(jù)索引,利用該索引尋址。
          (3)SMS Seg:大小為20個塊,即20個連續(xù)的有效塊。每個塊存儲一條消息的位圖,消息的到達(dá)時間、發(fā)送者存儲在該Block的第一頁(該塊中相對地址為0的頁)。消息存滿則從頭開始覆蓋已有消息,利用消息的索引號來尋址。
          Flash分區(qū)結(jié)構(gòu)示意圖如圖2所示。
          2.jpg
          3.1.2Flash接口函數(shù)
          Flash的讀操作,首先從存儲單元中以頁(page)為單位把數(shù)據(jù)讀入Flash內(nèi)部的寄存器中,然后再把數(shù)據(jù)導(dǎo)入處理器的存儲器。讀操作的操作耗時為幾十微秒,與單片機的指令周期大致匹配。讀操作以頁為基本單元,以讀取整頁數(shù)據(jù)效率最高。Flash頁讀取操作一般不會產(chǎn)生錯誤,F(xiàn)lash文件系統(tǒng)會有糾錯操作,最簡單的糾錯碼可以把非連續(xù)的單個位錯誤改正。而對于當(dāng)前處理器上的內(nèi)存映射模型,糾錯碼的引入將大大降低運行效率,因此不做糾錯處理。
          (1)FlashPageRead():首先鎖存起始操作字節(jié)的行列地址,送入Read指令,隨后的每個讀操作時序把當(dāng)前字節(jié)讀出,當(dāng)前地址指針加1并把數(shù)據(jù)存儲到讀操作緩沖區(qū)中,同時調(diào)用函數(shù)時須給出讀出字節(jié)的總數(shù)。
          Flash的寫操作,又稱為對Flash的編程,即把數(shù)據(jù)存儲到Flash存儲單元中。存儲單元事先必須已擦除(Erase)過才能寫入數(shù)據(jù)。寫操作耗時為幾百微秒,擦除操作耗時最多為幾毫秒,在數(shù)量級上已大大超過了RAM的寫操作。利用內(nèi)存映射模型操作Flash的難點在于合理調(diào)度使Flash存儲單個字節(jié)的耗時與處理器的指令周期相匹配。每次寫操作要盡可能多地寫入數(shù)據(jù),一般每頁(512B)寫入一次。寫操作與擦除操作可能產(chǎn)生壞塊,因此須通知主程序是否產(chǎn)生壞塊。
          (2)FlashProgram():首先鎖存寫入數(shù)據(jù)起始字節(jié)的行列地址,隨后按照函數(shù)調(diào)用時給定的寫入數(shù)據(jù)總數(shù),每個寫操作時序向Flash寄存器存儲一個字節(jié)的數(shù)據(jù)。當(dāng)寄存器滿,送入Program操作指令即可把寄存器中的數(shù)據(jù)存儲進入物理存儲單元中。
          (3)FlashECGDMap():根據(jù)分區(qū)內(nèi)頁索引和壞塊列表檢索出實際的操作頁地址。首先把分區(qū)內(nèi)頁地址換算為理想實際地址,即不考慮壞塊,然后檢索壞塊列表及剔除無效地址并給出實際操作地址。
          (4)FlashStoreECGData():在數(shù)據(jù)分區(qū)中存儲心電數(shù)據(jù),首先檢查Flash是否處于繁忙狀態(tài),若空閑則立即占用Flash,把采樣數(shù)據(jù)導(dǎo)入Flash寫緩沖。如果寫緩沖達(dá)到存儲操作條件,則調(diào)用FlashECGDMap()獲取實際的操作地址并檢查是否Flash的該操作塊需要擦除。若需要擦除,則調(diào)用FlashErase()函數(shù),擦除狀況檢查完畢即調(diào)用FlashProgram()保存數(shù)據(jù)。若所有操作完畢,則釋放Flash的控制權(quán)。
          (5)FlashLoadECGData():從數(shù)據(jù)分區(qū)中讀取一定字節(jié)數(shù)的心電數(shù)據(jù)。首先需要在Flash空閑狀態(tài)下獲取Flash的控制權(quán),隨后利用FlashECGDMap()獲取實際操作地址并判斷是否出現(xiàn)跨頁讀操作。如果不需跨頁,則調(diào)用FlashPageRead(),讀出相應(yīng)數(shù)據(jù)到讀緩沖即可;若跨頁,則分別在兩頁分兩次讀取規(guī)定字節(jié)個數(shù)的連續(xù)心電數(shù)據(jù)。
          3.2 GPRS網(wǎng)絡(luò)接口設(shè)計
          硬件平臺的通信模塊是Wavecom公司的2406B。GPRS又稱無線分組服務(wù),用于在GSM網(wǎng)絡(luò)上傳輸數(shù)據(jù)。在進行GPRS數(shù)據(jù)發(fā)送的同時,短消息和語音服務(wù)不會被禁止,但GPRS數(shù)據(jù)服務(wù)和GSM服務(wù)不能同時進行。2406B模塊的GPRS上行速率可以達(dá)到10kbps,通過設(shè)置數(shù)據(jù)發(fā)送串口的波特率為9 600bps,可使數(shù)據(jù)進出流量匹配。
          3.2.1 2406B模塊初始化
          首先設(shè)置2406B中兩個串口的波特率、綁定的數(shù)據(jù)類型及模塊時鐘。串口1綁定GPRS數(shù)據(jù),串口2綁定GSM數(shù)據(jù)。串口1的波特率設(shè)置為9 600即可使網(wǎng)絡(luò)與接口速率匹配;串口2返回模塊控制字,設(shè)置為19 200的波特率即可與處理器運行速度匹配。同時還要為模塊設(shè)置當(dāng)前時間。AT指令見表1中“AT指令序列1”。
          3.jpg
          其次通過AT指令連接GPRS網(wǎng)絡(luò)和服務(wù)器。AT指令見表1中“AT指令序列2”。
          模塊的OpenAT程序?qū)崿F(xiàn)了TCP/IP協(xié)議,同時把漢字字模加入模塊。指令序列2 中的AT指令按照順序設(shè)置成功后即建立TCP/IP連接,模塊即進入數(shù)據(jù)模式。此時通過串口送入的所有數(shù)據(jù)全部作為網(wǎng)絡(luò)數(shù)據(jù)送交網(wǎng)絡(luò),送入即Ctrl-C(0x03)將斷開TCP連接,若要向服務(wù)器發(fā)送0x03,須發(fā)送數(shù)據(jù)對,此時保持網(wǎng)絡(luò)并向服務(wù)器發(fā)送0x03。
          3.2.2 網(wǎng)絡(luò)模型及接口函數(shù)
          數(shù)據(jù)傳輸過程分為注冊階段和數(shù)據(jù)發(fā)送階段。
          在注冊階段,監(jiān)護儀向服務(wù)器發(fā)送注冊認(rèn)證數(shù)據(jù)報。內(nèi)容包括設(shè)備序列號(Machine ID)、數(shù)據(jù)格式(FMT)、采樣頻率、采樣位數(shù)、采樣環(huán)境工頻頻率、AD轉(zhuǎn)換高低電壓和直流偏置、數(shù)據(jù)壓縮方法以及采樣起始時間。服務(wù)器收到注冊數(shù)據(jù)后進行身份驗證,驗證通過則發(fā)送回應(yīng)消息,即為服務(wù)接納的時間和聯(lián)系人列表。監(jiān)護儀收到回應(yīng)消息即進入數(shù)據(jù)發(fā)送階段。
          數(shù)據(jù)發(fā)送階段,監(jiān)護儀向服務(wù)器發(fā)送實時心電數(shù)據(jù)。數(shù)據(jù)發(fā)送策略有兩種:注重“實時性”的發(fā)送策略,定義當(dāng)前采樣點至其前1分鐘的心電數(shù)據(jù)為“實時心電數(shù)據(jù)”,享有發(fā)送的優(yōu)先權(quán),“補發(fā)數(shù)據(jù)”在“實時心電數(shù)據(jù)”發(fā)送完畢以后發(fā)送;注重“連續(xù)性”的發(fā)送策略,以保持?jǐn)?shù)據(jù)完整性為目標(biāo),“補發(fā)數(shù)據(jù)”享有數(shù)據(jù)發(fā)送優(yōu)先權(quán),服務(wù)器申請的數(shù)據(jù)會被優(yōu)先發(fā)送。數(shù)據(jù)發(fā)送階段病人及設(shè)備的各種異常狀況定義為“報警消息”發(fā)送給服務(wù)器。
          網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)換圖如圖3,由此設(shè)計的網(wǎng)絡(luò)接口函數(shù)為:(1)TransData():負(fù)責(zé)發(fā)送實時數(shù)據(jù)、補發(fā)數(shù)據(jù)和發(fā)送報警消息,其中報警消息具有最高優(yōu)先級,連續(xù)性的發(fā)送策略補發(fā)數(shù)據(jù)優(yōu)先級高于實時數(shù)據(jù),實時性的發(fā)送策略發(fā)送優(yōu)先級與連續(xù)性策略相反;(2)ECGRegister():負(fù)責(zé)建立與服務(wù)器之間的ECG連接,函數(shù)定時發(fā)送注冊信息包和完成注冊過程確認(rèn)。
          4.jpg
          3.3 GSM功能接口
          GSM功能包括:短消息收發(fā)、信號強度獲取、時間獲取、電量獲取、按鍵消息通知、發(fā)聲。這些都依靠無線模塊串口2以AT指令進行配置和查詢。
          使用的AT指令有:“AT+CNMI=0,1,1,1,0”,配置短消息格式;“AT+CSMP=17,169,0,8”,文本采用Unicode編碼;“AT+CMGF=1”,短消息發(fā)送采用TXT格式;“AT+CSCA=短消息服務(wù)中心號碼>”,設(shè)置短消息服務(wù)中心號碼;“AT+CMGS=號碼>r短消息內(nèi)容>Ctrl-Z”,向號碼>發(fā)送短消息;“AT+CSQ”,獲取信號強度,格式為“+CSQ:信號強度>,xx”;“AT+CCLK?”,獲取當(dāng)前時間,格式為“+CCLK:yy/mm/dd hh:mm:ss”;“AT+ADC?”,獲取電池電量,以毫伏為單位,格式為“+ADC:xxxx,……”;“AT+CMER=,1”,配置模塊返回按鍵產(chǎn)生的消息,消息結(jié)構(gòu)為“+CKEY:,0 or 1>”;“AT+WTONE=1,2,4000”,讓蜂鳴器發(fā)出頻率為4000Hz的聲音;“AT+WTONE=0”,停止發(fā)聲。
          模塊接收到的短消息以0xAA為通知碼,接著是發(fā)送者號碼,隨后是短消息的Bitmap,可直接用于顯示,短消息不保存在模塊中,并僅在串口2給出通知。
          3.4 LCD顯示
          硬件平臺使用80×160點陣的單色LCD,軟件維護一個微型字庫,包括幾十個漢字以及所有ASCII符號中的可見字符,供界面顯示使用。無線模塊自帶漢字庫,可以直接顯示收到的SMS。預(yù)存的短消息維護在單片機的程序存儲器中,每條預(yù)存消息有Unicode和Bitmap兩種格式,Unicode用于發(fā)送,Bitmap用于顯示。
          4 監(jiān)護儀軟件功能
          利用中斷將數(shù)據(jù)采集與數(shù)據(jù)發(fā)送分離。數(shù)據(jù)采集、存儲和解析組成一個事務(wù)集;數(shù)據(jù)發(fā)送與短信瀏覽、監(jiān)護狀態(tài)顯示及緊急求救報警等事務(wù)組成另一個事務(wù)集。兩個事務(wù)集并行運行,F(xiàn)lash存儲器及其中的數(shù)據(jù)和消息為關(guān)鍵資源。
          4.1 心電實時監(jiān)護
          心電實時監(jiān)護即心電數(shù)據(jù)采集、存儲、發(fā)送。監(jiān)護程序流程圖如圖4。
          4.2 醫(yī)囑短信收發(fā)
          監(jiān)護儀可以向服務(wù)器、醫(yī)生、親人等發(fā)送預(yù)設(shè)消息,同時可以接收聯(lián)系人的短消息。圖5(a)為預(yù)設(shè)短消息發(fā)送界面。
          4.3 監(jiān)護狀態(tài)顯示
          監(jiān)護過程嵌入心電分析算法可獲得監(jiān)護狀態(tài)參數(shù),如嵌入了R波檢測算法,可以獲取心率參數(shù)。心電分析算法由算法組負(fù)責(zé),此處不加敘述,界面見圖5(b)。
          4.4 緊急求救報警
          病人感覺不適時可按下緊急求救按鈕,監(jiān)護儀即進入報警模式,可以向服務(wù)器、醫(yī)生、親屬以數(shù)據(jù)消息和短消息兩種方式求救,界面見圖5(c)。
          5.jpg
          監(jiān)護系統(tǒng)已經(jīng)通過內(nèi)部測試,即將進入臨床測試階段。隨著測試的深入,將對系統(tǒng)容錯性及實用性提出更高要求,因此終端軟件系統(tǒng)還要不斷地維護和改進以適應(yīng)不同需求。
          參考文獻
          [1] 姚湘平,張躍.基于GPRS的遠(yuǎn)程心電實時監(jiān)護終端[J].電子技術(shù)應(yīng)用,2006,32(4):77-79.
          [2] 代少升,張躍.便攜式遠(yuǎn)程心電實時監(jiān)護儀的研制[J].醫(yī)療衛(wèi)生裝備,2006,27(9):1-2.
          [3] Q2406 and Q2426 Product Specification.Wavecom Corporation,2003.
          [4] CEN/TC 251.Health informatics-Standard communication protocol-Computer-assisted electrocardiography EN 1064:2005[S].European Committee for Standardization,2005.
          蜂鳴器相關(guān)文章:蜂鳴器原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();