心電監護儀應用案例之遠程心電實(shí)時(shí)監護系統設計
(5)FlashLoadECGData():從數據分區中讀取一定字節數的心電數據。首先需要在Flash空閑狀態(tài)下獲取Flash的控制權,隨后利用 FlashECGDMap()獲取實(shí)際操作地址并判斷是否出現跨頁(yè)讀操作。如果不需跨頁(yè),則調用FlashPageRead(),讀出相應數據到讀緩沖即可;若跨頁(yè),則分別在兩頁(yè)分兩次讀取規定字節個(gè)數的連續心電數據。
3.2 GPRS網(wǎng)絡(luò )接口設計
硬件平臺的通信模塊是Wavecom公司的2406B。GPRS又稱(chēng)無(wú)線(xiàn)分組服務(wù),用于在GSM網(wǎng)絡(luò )上傳輸數據。在進(jìn)行GPRS數據發(fā)送的同時(shí),短消息和語(yǔ)音服務(wù)不會(huì )被禁止,但GPRS數據服務(wù)和GSM服務(wù)不能同時(shí)進(jìn)行。2406B模塊的GPRS上行速率可以達到10kbps,通過(guò)設置數據發(fā)送串口的波特率為9 600bps,可使數據進(jìn)出流量匹配。
3.2.1 2406B模塊初始化
首先設置2406B中兩個(gè)串口的波特率、綁定的數據類(lèi)型及模塊時(shí)鐘。串口1綁定GPRS數據,串口2綁定GSM數據。串口1的波特率設置為9 600即可使網(wǎng)絡(luò )與接口速率匹配;串口2返回模塊控制字,設置為19 200的波特率即可與處理器運行速度匹配。同時(shí)還要為模塊設置當前時(shí)間。
AT指令見(jiàn)表1中“AT指令序列1”。其次通過(guò)AT指令連接GPRS網(wǎng)絡(luò )和服務(wù)器。AT指令見(jiàn)表1中“AT指令序列2”。
模塊的OpenAT程序實(shí)現了TCP/IP協(xié)議,同時(shí)把漢字字模加入模塊。指令序列2 中的AT指令按照順序設置成功后即建立TCP/IP連接,模塊即進(jìn)入數據模式。
此時(shí)通過(guò)串口送入的所有數據全部作為網(wǎng)絡(luò )數據送交網(wǎng)絡(luò ),送入即Ctrl-C(0x03)將斷開(kāi)TCP連接,若要向服務(wù)器發(fā)送0x03,須發(fā)送數據對,此時(shí)保持網(wǎng)絡(luò )并向服務(wù)器發(fā)送0x03。
3.2.2 網(wǎng)絡(luò )模型及接口函數
數據傳輸過(guò)程分為注冊階段和數據發(fā)送階段。
在注冊階段,監護儀向服務(wù)器發(fā)送注冊認證數據報。內容包括設備序列號(Machine ID)、數據格式(FMT)、采樣頻率、采樣位數、采樣環(huán)境工頻頻率、AD轉換高低電壓和直流偏置、數據壓縮方法以及采樣起始時(shí)間。服務(wù)器收到注冊數據后進(jìn)行身份驗證,驗證通過(guò)則發(fā)送回應消息,即為服務(wù)接納的時(shí)間和聯(lián)系人列表。監護儀收到回應消息即進(jìn)入數據發(fā)送階段。
數據發(fā)送階段,監護儀向服務(wù)器發(fā)送實(shí)時(shí)心電數據。數據發(fā)送策略有兩種:注重“實(shí)時(shí)性”的發(fā)送策略,定義當前采樣點(diǎn)至其前1分鐘的心電數據為“實(shí)時(shí)心電數據”,享有發(fā)送的優(yōu)先權,“補發(fā)數據”在“實(shí)時(shí)心電數據”發(fā)送完畢以后發(fā)送;注重“連續性”的發(fā)送策略,以保持數據完整性為目標,“補發(fā)數據”享有數據發(fā)送優(yōu)先權,服務(wù)器申請的數據會(huì )被優(yōu)先發(fā)送。數據發(fā)送階段病人及設備的各種異常狀況定義為“報警消息”發(fā)送給服務(wù)器。
網(wǎng)絡(luò )狀態(tài)轉換圖如圖3,由此設計的網(wǎng)絡(luò )接口函數為:(1)TransData():負責發(fā)送實(shí)時(shí)數據、補發(fā)數據和發(fā)送報警消息,其中報警消息具有最高優(yōu)先級,連續性的發(fā)送策略補發(fā)數據優(yōu)先級高于實(shí)時(shí)數據,實(shí)時(shí)性的發(fā)送策略發(fā)送優(yōu)先級與連續性策略相反;(2)ECGRegister():負責建立與服務(wù)器之間的ECG連接,函數定時(shí)發(fā)送注冊信息包和完成注冊過(guò)程確認。
3.3 GSM功能接口
GSM功能包括:短消息收發(fā)、信號強度獲取、時(shí)間獲取、電量獲取、按鍵消息通知、發(fā)聲。這些都依靠無(wú)線(xiàn)模塊串口2以AT指令進(jìn)行配置和查詢(xún)。
使用的AT指令有:“AT+CNMI=0,1,1,1,0”,配置短消息格式;“AT+CSMP=17,169,0,8”,文本采用Unicode編碼; “AT+CMGF=1”,短消息發(fā)送采用TXT格式;“AT+CSCA=短消息服務(wù)中心號碼>”,設置短消息服務(wù)中心號碼。
“AT+ CMGS=號碼>r短消息內容>Ctrl-Z”,向號碼>發(fā)送短消息;“AT+CSQ”,獲取信號強度,格式為“+CSQ:信號強度>,xx”;“AT+CCLK?”,獲取當前時(shí)間,格式為“+CCLK:yy/mm/dd hh:mm:ss”。
“AT+ADC?”,獲取電池電量,以毫伏為單位,格式為“+ADC:xxxx,……”;“AT+CMER=,1”,配置模塊返回按鍵產(chǎn)生的消息,消息結構為“+CKEY:,0 or 1>”;“AT+WTONE=1,2,4000”,讓蜂鳴器發(fā)出頻率為4000Hz的聲音;“AT+WTONE=0”,停止發(fā)聲。
模塊接收到的短消息以0xAA為通知碼,接著(zhù)是發(fā)送者號碼,隨后是短消息的Bitmap,可直接用于顯示,短消息不保存在模塊中,并僅在串口2給出通知。
3.4 LCD顯示
硬件平臺使用80×160點(diǎn)陣的單色LCD,軟件維護一個(gè)微型字庫,包括幾十個(gè)漢字以及所有ASCII符號中的可見(jiàn)字符,供界面顯示使用。無(wú)線(xiàn)模塊自帶漢字庫,可以直接顯示收到的SMS。預存的短消息維護在單片機的程序存儲器中,每條預存消息有Unicode和Bitmap兩種格式,Unicode用于發(fā)送,Bitmap用于顯示。
四、 監護儀軟件功能
利用中斷將數據采集與數據發(fā)送分離。數據采集、存儲和解析組成一個(gè)事務(wù)集;數據發(fā)送與短信瀏覽、監護狀態(tài)顯示及緊急求救報警等事務(wù)組成另一個(gè)事務(wù)集。兩個(gè)事務(wù)集并行運行,Flash存儲器及其中的數據和消息為關(guān)鍵資源。
4.1 心電實(shí)時(shí)監護
心電實(shí)時(shí)監護即心電數據采集、存儲、發(fā)送。監護程序流程圖如圖4。
4.2 醫囑短信收發(fā)
監護儀可以向服務(wù)器、醫生、親人等發(fā)送預設消息,同時(shí)可以接收聯(lián)系人的短消息。圖5(a)為預設短消息發(fā)送界面。
評論