GPRS在生理數(shù)據(jù)遠(yuǎn)程傳輸中的應(yīng)用研究
摘要:介紹一種通過GPRS技術(shù)傳輸生理數(shù)據(jù)的方法。采用網(wǎng)絡(luò)協(xié)議處理器芯片E5112實現(xiàn)TCP/IP協(xié)議,單片機(jī)檢測出人體的心率數(shù)據(jù),同時通過串行口發(fā)出的命令字符串控制E5112,由E5112再控制GPRS數(shù)傳模塊G18,實現(xiàn)心率數(shù)據(jù)的發(fā)送。接收端采用撥號上網(wǎng)的計算機(jī)接收心率數(shù)據(jù)。這種方法費用少,傳輸穩(wěn)定,且傳輸距離可達(dá)到GSM網(wǎng)絡(luò)能達(dá)到的區(qū)域。
關(guān)鍵詞:GPRS 串行口心率 網(wǎng)絡(luò)協(xié)議處理 E5112 G18 引言 GPRS(General Packet Radio Service)是通用分組無線業(yè)務(wù)的簡稱,是一種以全球手機(jī)系統(tǒng)(GSM)為基礎(chǔ)的數(shù)據(jù)傳輸技術(shù)。GPRS和以往連續(xù)在頻道傳輸?shù)姆绞剑ㄈ鏕SM)不同,是以分包(packet)的形式來傳輸,信道是共享使用的,需要的時候才有數(shù)據(jù)包產(chǎn)生。用戶可以隨時進(jìn)行數(shù)據(jù)傳輸,而不是每次都需要撥號上網(wǎng)。GPRS的數(shù)據(jù)傳輸速率可提升到56Kbps,甚至114Kbps。 隨著醫(yī)療事業(yè)的發(fā)展,遠(yuǎn)程醫(yī)療(telemedicine)逐漸成為發(fā)展的方向。在很多情況下,都要求將現(xiàn)場采集的病人的各種生理參數(shù)傳到醫(yī)療或中心站。如將急求車上病人的數(shù)據(jù)傳輸?shù)结t(yī)院,以及對一般非住院病人的病情監(jiān)護(hù)(社區(qū)監(jiān)護(hù))等。由于GPRS技術(shù)的特點,使得它非常適合這一類應(yīng)用。 本文中,將介紹一種基于GPRS技術(shù)的生理數(shù)據(jù)傳輸?shù)姆椒ā?/P> 1 方法 實驗中,采用GPRS數(shù)據(jù)模塊G18來完成通信的任務(wù),所以傳輸?shù)纳頂?shù)據(jù)為心率。由于GPRS技術(shù)是一種基于TCP/IP協(xié)議的分包傳輸技術(shù),所以數(shù)據(jù)在傳輸前必須進(jìn)行TCP/IP協(xié)議的封裝處理。這個任務(wù)由協(xié)議處理芯片E5112完成。單片機(jī)測量心率數(shù)據(jù),然后通過串行口,送至E5112進(jìn)行TCP/IP協(xié)議的處理和封裝,再送至G18發(fā)送。 (1)G18 Motorola G18是摩托羅拉嵌入式三頻900/1800/1900MHz GSM/GPRS模塊。該模塊具有如下特點:①體積?。?0mm×80.2mm×7.5mm)、質(zhì)量軟(22g);②天線插座(型號MMCX)支持直線或直角連接;③支持9針RS-232串行接口(3V CMOS電平);④內(nèi)含用戶識別卡(Subscriber Identity Module,SIM)讀卡器;⑤3.0~6.0V工作電壓;⑥支持語音、數(shù)據(jù)、傳真、短消息和WAP功能;⑦GPRS分組交換速率可達(dá)到57.6Kb/s;⑧待機(jī)電流7.2±0.5mA,使用時平均電流300mA;⑨支持CSD模式(AT命令集,包括GSM 07.07和GSM07.05)和GPRS模式(AT命令集,支持GSM07.60和07.07 7.5版)。 G19通過36針ZIF插座(或28針雙排針式插座)與外部連接。36針插座中包括模擬語音輸入/輸出和數(shù)字語音輸入/輸出接口,外部SIM卡讀卡器接口,以及RS-232串行通信 接口(3V CMOS邏輯電平)。由于本實驗只用到了數(shù)據(jù)傳輸功能,且模塊具有內(nèi)置SIM卡讀卡器,所以所有接口中只用到了RS-232串行通信接口。該接口采用串行異步通信方式,能自動識別波特率(300bps、1200bps、2400bps、4800bps、9600bps、19200bps)。在數(shù)據(jù)傳輸模式下,G18的初始化、功能控制以及數(shù)據(jù)的通信都通過RS-232串行異步通信接口進(jìn)行,因此,該模塊與外部的硬件接口相對簡單,是標(biāo)準(zhǔn)的RS-232接口接法。 相比之下,該模塊使用的通信協(xié)議則較為復(fù)雜,模塊與外部所有的數(shù)據(jù)和控制信息都通過一套由字符組成的命令串(AT 命令集)來完成,而這些命令串就是通過RS-232串行異步通信接口進(jìn)行傳遞的。命令串都以特定的字符(AT)開始;以特定的字符結(jié)束;中間部分根據(jù)命令的類型、長度不定,主要包括下列指令類型:模塊管理(模塊開、關(guān)機(jī),狀態(tài)檢測等),語音通信 (撥號控制、通信狀態(tài)報告等),數(shù)據(jù)、傳真控制,短信息功能(短信息的撰寫、管理和收發(fā))。 (2)網(wǎng)絡(luò)協(xié)議處理器E5112 E5112是上海精致科技有限公司研制的網(wǎng)絡(luò)協(xié)議處理器,是完成TCP/IP協(xié)議的專用芯片,支持TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)文報協(xié)議)協(xié)議,實現(xiàn)將嵌入式系統(tǒng)直接與Internet相連。E5112具有客戶機(jī)功能,可以主動請求TCP連接遠(yuǎn)方服務(wù)器通信。E5112也具有服務(wù)器功能,可以監(jiān)聽來自客戶機(jī)的TCP連接請求,建立TCP連接通信。因此,使用E5112的系統(tǒng)之間只要知道對方IP地址和端口號就可以通過Internet進(jìn)行通信。 E5112一端通過RS-232接口與G18連接,另一端通過并口與上位機(jī)相連。E5112提供透明通道和非透明通道兩種工作模式。在透明通道模式下,E5112對單片機(jī)發(fā)出的數(shù)據(jù)不進(jìn)行處理直接將數(shù)據(jù)發(fā)送到G18,收到的數(shù)據(jù)也原封不動地傳遞給單片機(jī)。在這個模式下,短消息和語音功能可以由用戶自己通過AT命令來實現(xiàn)。在非透明通道模式下,單片機(jī)通過串口采用幀格式與E5112通信。 E5112幀格式以十六進(jìn)制數(shù)7E開始,然后是類型、長度、數(shù)據(jù)三個字段,最后以十六進(jìn)制數(shù)7E結(jié)束。類型字段表示本幀的類型。E5112共有輸入和輸出兩大類型。輸入幀有讀網(wǎng)關(guān)IP地址幀、設(shè)置服務(wù)器端口幀、設(shè)置ISP電話號碼和用戶名用戶密碼幀、設(shè)置SOCKET插口幀、發(fā)送TCP數(shù)據(jù)幀、發(fā)送UDP數(shù)據(jù)幀、讀源IP地址幀等共13種。輸出幀有物理層失敗幀、PPP協(xié)商失敗幀、PPP協(xié)商成功幀、SOCKET關(guān)閉幀、接收SOCKET數(shù)據(jù)幀、接收源IP地址幀等共16種。長度字符存有類型、長度、數(shù)據(jù)三個字段的長度(字節(jié)數(shù))。數(shù)據(jù)字段只有當(dāng)有數(shù)據(jù)發(fā)送和接收時才存在。類型、長度、數(shù)據(jù)三個字段中如含有十六進(jìn)制數(shù)7E,則必須進(jìn)行轉(zhuǎn)義處理。 由于E5112能進(jìn)行TCP/IP協(xié)議和AT命令集的處理,所以編程者完全不需了解TCP/IP協(xié)議和AT命令集,只需向E5112發(fā)送符合 幀格式的字符串,或接收E5112發(fā)出的幀,即可實現(xiàn)GPRS數(shù)據(jù)通信。 (3)單片機(jī)、E5112、G18之間的連接 E5112的接口是5V邏輯,而G18是3V邏輯,兩者要連接起來使用必須要進(jìn)行電平轉(zhuǎn)換G18的RS-232接口輸入針(TXD、DTR、RTS)具有5V的容限,最大可接收5.5V的電壓,所以E5112的這三個輸出腳可直接連接至G18相應(yīng)引腳。G18的輸出最大值不能達(dá)到E5112的輸入容限,應(yīng)進(jìn)行電平轉(zhuǎn)換,我們采用漏極開路的驅(qū)動芯片74LVC07完成這一功能。圖2為某一路信號進(jìn)行電平轉(zhuǎn)換的電路,74LVC07電源為3V,所以可以接收3V輸入;而輸出端經(jīng)一上拉電阻連至5V,所以輸出被上拉至5V。 由于上位機(jī)只提供并口與上位機(jī)連接,所以在單片機(jī)與E5112之間插入一個串并轉(zhuǎn)換芯片16C550,進(jìn)行串行和并行數(shù)據(jù)的轉(zhuǎn)換單片機(jī)、E5112之間的連接見圖3。 (4)心率采集 心率采集采用了從心電信號中提取的方法。采集得到的心電信號放大后,經(jīng)心率檢測電路轉(zhuǎn)化與心電R波同步的脈沖,再由單片機(jī)計時測量其頻率,求倒數(shù)可得心率值。心率數(shù)據(jù)經(jīng)單片機(jī)測量完成后,存儲在單片機(jī)的存儲器中,需要時經(jīng)串行口發(fā)送,進(jìn)行無線傳輸。 (5)單片機(jī)采用了AT89C51,單片機(jī)的軟件采用C語言編制。心率脈沖連接至0號外部中斷引腳(INT0),定時器0設(shè)為連續(xù)計時。每當(dāng)INT0產(chǎn)生中斷,即將定時器0數(shù)值記錄下來,減去上次的記錄值,計算心率數(shù)值。 單片機(jī)串行口設(shè)為方式1,波特率為9600bps,1位停止位,無奇偶校驗。上電后,首先向E5112(通過16C550串并轉(zhuǎn)換)發(fā)送設(shè)置ISP電話號碼、用戶名及用戶密碼幀,其中ISP電話號碼必須為“*99#”,用戶名和用戶密碼可以任意設(shè)置,但不能為空。成功后,再向E5112發(fā)送撥號指令,等待應(yīng)答幀,當(dāng)接收到PPP協(xié)議成功幀,則撥號成功,否則需繼續(xù)撥號直至成功為止(撥號成功后,網(wǎng)絡(luò)連接就一直建立,有數(shù)據(jù)發(fā)送時即可即時發(fā)送,不需要撥號)。然后,向E5112發(fā)送SOCKET設(shè)置幀,設(shè)置本地、遠(yuǎn)端的IP地址和端口,如成功,則點和點通信環(huán)境已建立,調(diào)用發(fā)送TCP數(shù)據(jù)幀和發(fā)送UDP數(shù)據(jù)幀就可以發(fā)送心率數(shù)據(jù)了,其中心率數(shù)據(jù)置于TCP和UDP數(shù)據(jù)幀的數(shù)據(jù)字段中。 (6)接收端編程 在接收端的計算機(jī)上,主要應(yīng)用VB的一個Winsock控件來實現(xiàn)接收發(fā)送的生理參數(shù)。利用WinSock控件可以與遠(yuǎn)程計算機(jī)建立連接,并通過UDP或者TCP協(xié)議進(jìn)行數(shù)據(jù)交換。這兩種協(xié)議都可以用來創(chuàng)建客戶與服務(wù)器應(yīng)用程序。 使用時,只需在接收窗體中插入一個Winsock控件,將Protocol屬性設(shè)定為使用的協(xié)議(TCP或UDP),設(shè)置遠(yuǎn)程(單片機(jī)端)IP地址和端口,調(diào)用Bind方法,即可建立雙方的連接。當(dāng)單片機(jī)端發(fā)送心率數(shù)據(jù)時,將觸發(fā)Winsock控件的DataArrival事件,在事件處理程序中讀取GetData屬性的內(nèi)容,即可獲得遠(yuǎn)端發(fā)來的心率數(shù)據(jù)。 端口的設(shè)置可以任意,但最好大于1000,以避開與常用的端口沖突。 (7)實驗過程 由于條件限制,接收端計算機(jī)上網(wǎng)方式選擇了有線電話撥號方式,以獲得公網(wǎng)IP。實驗時,首先接收端需撥號上網(wǎng),獲得本地的IP地址,運行VB接收程序。然后,在單片機(jī)程序中設(shè)定遠(yuǎn)端IP地址和端口,運行單片機(jī)C語言程序,檢測心率并發(fā)送。這時接收端計算機(jī)就能收到心率數(shù)據(jù)并顯示。 2 結(jié)果與討論 實驗中,傳送的心率數(shù)據(jù)都準(zhǔn)確地?zé)o誤地到達(dá)了接收方,傳輸質(zhì)量非常穩(wěn)定,且傳輸距離可以達(dá)到GSM網(wǎng)絡(luò)能達(dá)到的地方。GPRS能實現(xiàn)“永遠(yuǎn)在線”,所以一旦建立GPRS連接,就可以隨時發(fā)送數(shù)據(jù),不需再撥號。由于心率數(shù)據(jù)傳輸?shù)念l率和數(shù)據(jù)量不大,所以耗費的GPRS通信費也是很少的。 利用GPRS技術(shù)傳輸生理數(shù)據(jù),可以不用考慮建立無線網(wǎng)絡(luò)的巨額投資,費用只是GPRS模塊的一次性投資和傳輸時的GPRS通信費,且可隨時發(fā)送,使用非常方便;GSM網(wǎng)絡(luò)是一個非常成熟的網(wǎng)絡(luò),具有完善的糾錯機(jī)制,因此傳輸?shù)姆€(wěn)定性很好。由于GSM已經(jīng)得到非常廣泛的應(yīng)用,傳輸?shù)木嚯x由網(wǎng)絡(luò)的漫游功能而能達(dá)到全部的城市和絕大部分鄉(xiāng)村??梢灶A(yù)見,GPRS技術(shù)將在各類數(shù)據(jù)傳輸應(yīng)用(包括生理數(shù)據(jù)傳輸)中得到越來越廣泛的應(yīng)用。 由于條件限制,本實驗在接收端采取了撥號上網(wǎng)的方式,撥號上網(wǎng),得到的都是動態(tài)IP地址,所以單片機(jī)程序每一次撥號后都要更改IP地址,重新編譯運行,在實際的系統(tǒng)中,接收端可租用固定的IP地址,單片機(jī)的程序就不需再修改。另外,采用專用網(wǎng)絡(luò)協(xié)議處理器芯片,可以降低開發(fā)難度,但增加了系統(tǒng)成本、體積和功耗,如能用軟件實現(xiàn)TCP/IP協(xié)議,或采用帶TCP/IP協(xié)議棧的單片機(jī),則可解決這一矛盾。 |