目前世界上 有很多心臟疾病患者由于得不到及時的救助,生命常常受到威脅。傳統的心電監護儀(什么是心電監護儀)限制了患者的自由,而且不具備實時監護功能,對于那些威脅到患者生命的突發疾病幫助不大。隨著無線通信技術的不斷發展,現在已經有了便攜式監護儀(監護儀原理),這類儀器讓實時監護成為可能。本文主要介紹了心電監護儀應用案例之遠程心電實時監護系統設計。
利用GPRS無線數據通信技術,可以將實時監護與Holter相結合,患者佩戴這種便攜式監護儀(心電監護儀的維護)可以自由活動,而且還能隨時隨地得到心電監護。當有緊急情況發生時,醫生可以根據全面的心電數據分析患者心臟狀況,使患者得到即時的救助。
一、遠程心電實時監護系統概述
遠程心電實時監護系統包括四個部分:監護儀(病人終端)、PDA(醫生終端)、監護服務器以及心電數據服務器。系統結構如圖1所示。

監護儀由患者隨身佩帶,以400Hz或500Hz的采樣頻率對患者心電信號采樣,并把心電數據通過GSM/GPRS網絡發送給監護服務器,數據的實時性由監護服務器和監護儀之間的控制信息控制。
PDA接收來自監護服務器的數據,并根據心電分析的結果通過數據服務(GPRS數據服務)和短消息(SMS)通知監護儀。監護服務器負責接收轉存病人端全部心電數據,實時分析及回放分析;同時向PDA轉發實時心電數據,利用控制信息來協調實時心電數據的收發。
心電數據服務器存儲所有心電數據、患者信息以及設備信息,除了在監護過程中存儲心電數據外,心電數據服務器還負責注冊患者和設備信息及管理數據庫遠程訪問等任務。
二、 監護儀硬件平臺簡介
監護儀硬件主要由單片機、電源模塊、心電信號采集放大模塊、擴展NAND Flash、LCD驅動模塊及GSM/GPRS無線通信模塊組成。
三、軟件系統關鍵技術
監護儀軟件系統的核心是管理Flash、GPRS網絡、無線模塊的GSM功能及LCD。
3.1 Flash管理
Flash存儲器用于存儲心電數據和控制信息,以保證心電數據在斷電時不遺失及日后查看監護過程的相關控制信息。
內存映射(Memory Map)模型把Flash作為一個整體,各種不同數據按照類別預先分配存儲空間。操作Flash數據時,首先把內部索引(譬如數據索引或者消息索引)映射到分區地址,剔除無效存儲單元,再通過Flash操作函數讀取或寫入相應的數據。
3.1.1 Flash分區結構
(1)Head Seg:大小為1個塊(Block),用于存儲分區版本號、壞塊表及其余分區的基本信息,包括分區起始地址(BaseAdd)、分區跨度(以塊為單位)、分區最高地址、數據區(Data Seg)中的數據范圍、數據區中數據的格式(FMT)、消息區(SMS Seg)所有消息的聯系人列表等,每個分區的基本信息占一頁(Page)。
本分區占Flash存儲器的第一個塊。根據Flash的技術資料可知,第一塊正常使用時不會出現無效存儲單元,因此許多關鍵數據保存于此。
(2)SMS Seg:大小為20個塊,即20個連續的有效塊。每個塊存儲一條消息的位圖,消息的到達時間、發送者存儲在該Block的第一頁(該塊中相對地址為0的頁)。消息存滿則從頭開始覆蓋已有消息,利用消息的索引號來尋址。
(3)Data Seg:大小為1000個塊,即1000個連續的有效塊,用于存儲心電數據。如果采樣頻率為400Hz,采樣位數為8位,數據區可存儲11.37小時的原始心電數據,所有的心電數據從采樣起始點0開始依次編號即心電數據索引,利用該索引尋址。
Flash分區結構示意圖如圖2所示。

3.1.2 Flash接口函數
Flash的讀操作,首先從存儲單元中以頁(page)為單位把數據讀入Flash內部的寄存器中,然后再把數據導入處理器的存儲器。讀操作的操作耗時為幾十微秒,與單片機的指令周期大致匹配。讀操作以頁為基本單元,以讀取整頁數據效率最高。Flash頁讀取操作一般不會產生錯誤,Flash文件系統會有糾錯操作,最簡單的糾錯碼可以把非連續的單個位錯誤改正。而對于當前處理器上的內存映射模型,糾錯碼的引入將大大降低運行效率,因此不做糾錯處理。
(1)FlashPageRead():首先鎖存起始操作字節的行列地址,送入Read指令,隨后的每個讀操作時序把當前字節讀出,當前地址指針加1并把數據存儲到讀操作緩沖區中,同時調用函數時須給出讀出字節的總數。
Flash的寫操作,又稱為對Flash的編程,即把數據存儲到Flash存儲單元中。存儲單元事先必須已擦除(Erase)過才能寫入數據。寫操作耗時為幾百微秒,擦除操作耗時最多為幾毫秒,在數量級上已大大超過了RAM的寫操作。
利用內存映射模型操作Flash的難點在于合理調度使Flash存儲單個字節的耗時與處理器的指令周期相匹配。每次寫操作要盡可能多地寫入數據,一般每頁(512B)寫入一次。寫操作與擦除操作可能產生壞塊,因此須通知主程序是否產生壞塊。
(2)FlashProgram():首先鎖存寫入數據起始字節的行列地址,隨后按照函數調用時給定的寫入數據總數,每個寫操作時序向Flash寄存器存儲一個字節的數據。當寄存器滿,送入Program操作指令即可把寄存器中的數據存儲進入物理存儲單元中。
(3)FlashECGDMap():根據分區內頁索引和壞塊列表檢索出實際的操作頁地址。首先把分區內頁地址換算為理想實際地址,即不考慮壞塊,然后檢索壞塊列表及剔除無效地址并給出實際操作地址。
(4)FlashStoreECGData():在數據分區中存儲心電數據,首先檢查Flash是否處于繁忙狀態,若空閑則立即占用Flash,把采樣數據導入Flash寫緩沖。
如果寫緩沖達到存儲操作條件,則調用FlashECGDMap()獲取實際的操作地址并檢查是否Flash的該操作塊需要擦除。若需要擦除,則調用FlashErase()函數,擦除狀況檢查完畢即調用FlashProgram()保存數據。若所有操作完畢,則釋放Flash的控制權。
5)FlashLoadECGData():從數據分區中讀取一定字節數的心電數據。首先需要在Flash空閑狀態下獲取Flash的控制權,隨后利用 FlashECGDMap()獲取實際操作地址并判斷是否出現跨頁讀操作。如果不需跨頁,則調用FlashPageRead(),讀出相應數據到讀緩沖即可;若跨頁,則分別在兩頁分兩次讀取規定字節個數的連續心電數據。
3.2 GPRS網絡接口設計
硬件平臺的通信模塊是Wavecom公司的2406B。GPRS又稱無線分組服務,用于在GSM網絡上傳輸數據。在進行GPRS數據發送的同時,短消息和語音服務不會被禁止,但GPRS數據服務和GSM服務不能同時進行。2406B模塊的GPRS上行速率可以達到10kbps,通過設置數據發送串口的波特率為9 600bps,可使數據進出流量匹配。
3.2.1 2406B模塊初始化
首先設置2406B中兩個串口的波特率、綁定的數據類型及模塊時鐘。串口1綁定GPRS數據,串口2綁定GSM數據。串口1的波特率設置為9 600即可使網絡與接口速率匹配;串口2返回模塊控制字,設置為19 200的波特率即可與處理器運行速度匹配。同時還要為模塊設置當前時間。
AT指令見表1中“AT指令序列1”。其次通過AT指令連接GPRS網絡和服務器。AT指令見表1中“AT指令序列2”。
模塊的OpenAT程序實現了TCP/IP協議,同時把漢字字模加入模塊。指令序列2 中的AT指令按照順序設置成功后即建立TCP/IP連接,模塊即進入數據模式。
此時通過串口送入的所有數據全部作為網絡數據送交網絡,送入即Ctrl-C(0x03)將斷開TCP連接,若要向服務器發送0x03,須發送數據對,此時保持網絡并向服務器發送0x03。
3.2.2 網絡模型及接口函數
數據傳輸過程分為注冊階段和數據發送階段。
在注冊階段,監護儀向服務器發送注冊認證數據報。內容包括設備序列號(Machine ID)、數據格式(FMT)、采樣頻率、采樣位數、采樣環境工頻頻率、AD轉換高低電壓和直流偏置、數據壓縮方法以及采樣起始時間。服務器收到注冊數據后進行身份驗證,驗證通過則發送回應消息,即為服務接納的時間和聯系人列表。監護儀收到回應消息即進入數據發送階段。
數據發送階段,監護儀向服務器發送實時心電數據。數據發送策略有兩種:注重“實時性”的發送策略,定義當前采樣點至其前1分鐘的心電數據為“實時心電數據”,享有發送的優先權,“補發數據”在“實時心電數據”發送完畢以后發送;注重“連續性”的發送策略,以保持數據完整性為目標,“補發數據”享有數據發送優先權,服務器申請的數據會被優先發送。數據發送階段病人及設備的各種異常狀況定義為“報警消息”發送給服務器。

網絡狀態轉換圖如圖3,由此設計的網絡接口函數為:(1)TransData():負責發送實時數據、補發數據和發送報警消息,其中報警消息具有最高優先級,連續性的發送策略補發數據優先級高于實時數據,實時性的發送策略發送優先級與連續性策略相反;(2)ECGRegister():負責建立與服務器之間的ECG連接,函數定時發送注冊信息包和完成注冊過程確認。
3.3 GSM功能接口
GSM功能包括:短消息收發、信號強度獲取、時間獲取、電量獲取、按鍵消息通知、發聲。這些都依靠無線模塊串口2以AT指令進行配置和查詢。
使用的AT指令有:“AT+CNMI=0,1,1,1,0”,配置短消息格式;“AT+CSMP=17,169,0,8”,文本采用Unicode編碼; “AT+CMGF=1”,短消息發送采用TXT格式;“AT+CSCA=<短消息服務中心號碼>”,設置短消息服務中心號碼。
“AT+ CMGS=<號碼>r<短消息內容>Ctrl-Z”,向<號碼>發送短消息;“AT+CSQ”,獲取信號強度,格式為“+CSQ:<信號強度>,xx”;“AT+CCLK?”,獲取當前時間,格式為“+CCLK:yy/mm/dd hh:mm:ss”。
“AT+ADC?”,獲取電池電量,以毫伏為單位,格式為“+ADC:xxxx,……”;“AT+CMER=,1”,配置模塊返回按鍵產生的消息,消息結構為“+CKEY:,<0 or 1>”;“AT+WTONE=1,2,4000”,讓蜂鳴器發出頻率為4000Hz的聲音;“AT+WTONE=0”,停止發聲。
模塊接收到的短消息以0xAA為通知碼,接著是發送者號碼,隨后是短消息的Bitmap,可直接用于顯示,短消息不保存在模塊中,并僅在串口2給出通知。
3.4 LCD顯示
硬件平臺使用80×160點陣的單色LCD,軟件維護一個微型字庫,包括幾十個漢字以及所有ASCII符號中的可見字符,供界面顯示使用。無線模塊自帶漢字庫,可以直接顯示收到的SMS。預存的短消息維護在單片機的程序存儲器中,每條預存消息有Unicode和Bitmap兩種格式,Unicode用于發送,Bitmap用于顯示。
四、 監護儀軟件功能
利用中斷將數據采集與數據發送分離。數據采集、存儲和解析組成一個事務集;數據發送與短信瀏覽、監護狀態顯示及緊急求救報警等事務組成另一個事務集。兩個事務集并行運行,Flash存儲器及其中的數據和消息為關鍵資源。
4.1 心電實時監護
心電實時監護即心電數據采集、存儲、發送。監護程序流程圖如圖4。


4.2 醫囑短信收發
監護儀可以向服務器、醫生、親人等發送預設消息,同時可以接收聯系人的短消息。圖5(a)為預設短消息發送界面。

4.3 監護狀態顯示
監護過程嵌入心電分析算法可獲得監護狀態參數,如嵌入了R波檢測算法,可以獲取心率參數。心電分析算法由算法組負責,此處不加敘述,界面見圖5(b)。
4.4 緊急求救報警
病人感覺不適時可按下緊急求救按鈕,監護儀即進入報警模式,可以向服務器、醫生、親屬以數據消息和短消息兩種方式求救,界面見圖5(c)。
以上就是小編為大家介紹的心電監護儀應用案例之遠程心電實時監護系統設計,相信各位讀者朋友對此都有了更進一步的認識吧。這種監護系統已經通過內部測試,而且隨著測試的深入,我們將對系統容錯性及實用性提出更高的要求。
-
醫療電子
+關注
關注
31文章
1439瀏覽量
92154 -
心電監護系統
+關注
關注
0文章
7瀏覽量
6917
發布評論請先 登錄
壓氣站SCADA數據采集遠程監控系統方案
基于CW32 MCU的I2C接口優化穩定讀寫EEPROM關鍵技術
解碼LCD液晶屏的關鍵技術指標
無人機巡檢系統在風電運維中的關鍵技術解析
微型氣象站系統:為智慧氣象建設和應急管理體系現代化提供關鍵技術支撐
無人值守光伏電站管理系統實現的關鍵技術
揭秘LuatOS:實時操作系統RTOS核心庫的關鍵技術剖析!
遠程心電實時監護系統設計關鍵技術介紹
評論