石建國(guó),馬云輝
(電子科技大學(xué)中山學(xué)院,中山 528402)
體溫和脈搏是反映人體健康狀況的重要生理指標(biāo),對(duì)病人的這些生理指標(biāo)進(jìn)行連續(xù)監(jiān)測(cè),可為疾病的正確診療提供重要依據(jù)。隨著傳感器技術(shù)、嵌入式計(jì)算技術(shù)和無(wú)線通信技術(shù)的發(fā)展,基于無(wú)線傳感器網(wǎng)絡(luò)的生命體征監(jiān)測(cè)系統(tǒng)受到越來(lái)越多的關(guān)注。其中,基于普通射頻芯片和自定義傳輸協(xié)議的系統(tǒng)具有實(shí)現(xiàn)簡(jiǎn)單和成本較低的優(yōu)點(diǎn),缺點(diǎn)是可靠性較低、通用性較差[1-2];基于Bluetooth協(xié)議的系統(tǒng)數(shù)據(jù)傳輸率較高,但作用距離短,功耗高,組網(wǎng)能力弱[3-4];ZigBee作為建立在IEEE 802.15.4通信標(biāo)準(zhǔn)之上的低速無(wú)線個(gè)域網(wǎng)(Low-Rate Wireless Personal Network,LR-WPAN)協(xié)議規(guī)范,構(gòu)成的系統(tǒng)具有復(fù)雜度低、功耗低、可靠性高、組網(wǎng)能力強(qiáng)等優(yōu)點(diǎn),成為本領(lǐng)域應(yīng)用研究的熱點(diǎn)[5-8]。
本文提出一種支持體溫與脈搏監(jiān)測(cè)的ZigBee無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng),可通過(guò)網(wǎng)絡(luò)定時(shí)收集現(xiàn)場(chǎng)測(cè)得的多路體溫和脈搏參數(shù),并利用計(jì)算機(jī)進(jìn)行集中存儲(chǔ)和管理,提高了病情監(jiān)測(cè)的效率和質(zhì)量。該系統(tǒng)具有可靠性高、可擴(kuò)展性強(qiáng)、功耗低、成本低等優(yōu)點(diǎn)。
監(jiān)測(cè)系統(tǒng)包括傳感器終端、無(wú)線路由器和基站共三類節(jié)點(diǎn)設(shè)備,以自組織方式構(gòu)成ZigBee網(wǎng)狀無(wú)線傳感器網(wǎng)絡(luò),如圖1所示。傳感器終端負(fù)責(zé)檢測(cè)體溫和脈搏,檢測(cè)結(jié)果通過(guò)各自的父節(jié)點(diǎn)路由器發(fā)送到基站?;窘柚衔槐O(jiān)控軟件對(duì)收到的數(shù)據(jù)進(jìn)行存儲(chǔ)和顯示,并可根據(jù)用戶需要顯示網(wǎng)絡(luò)結(jié)構(gòu)及設(shè)備當(dāng)前狀態(tài),設(shè)置采樣周期及報(bào)警門(mén)限,輸出反映病情變化的記錄報(bào)表和歷史曲線。
圖1 監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)示意圖
ZigBee節(jié)點(diǎn)設(shè)備的硬件實(shí)現(xiàn)方案主要分為兩大類:一類是將射頻收發(fā)器和微控制器分開(kāi),各使用1塊芯片,由用戶根據(jù)設(shè)備類型(Coordinator、Router、End Device)和功能分別選型,實(shí)現(xiàn)最佳搭配;另一類是將兩者集成在一塊芯片上,可簡(jiǎn)化設(shè)備硬件設(shè)計(jì),提高系統(tǒng)的硬件可靠性。
JN5139是Jennic公司推出的第二代IEEE 802.15.4/ZigBee單片無(wú)線微控制器,內(nèi)含 32位 RISC CPU、2.4 GHz IEEE 802.15.4射頻收發(fā)器、192 KB ROM、96 KB RAM,以及豐富的并口、串口、定時(shí)器、A/D、D/A 等接口資源。為提高產(chǎn)品電磁兼容性,將JN5139芯片、16 M Hz晶振、128 KB串行Flash存儲(chǔ)器、陶瓷天線等元器件整合成為通用模塊,以其為核心,配以相應(yīng)的外設(shè)、協(xié)議棧和應(yīng)用代碼,便可實(shí)現(xiàn)不同類型的ZigBee節(jié)點(diǎn)設(shè)備。
如圖2所示,傳感器終端由JN5139最小系統(tǒng)、體溫檢測(cè)電路、脈搏檢測(cè)電路組成,采用3.6 V鎳氫電池供電。最小系統(tǒng)包括JN5139模塊、復(fù)位元件R1及C1、狀態(tài)指示燈D1和程序下載接口J1。上電復(fù)位后,JN5139內(nèi)部ROM中的Bootloader自動(dòng)檢測(cè)MISO引腳電平。若為高,則直接將片外串行Flash中的程序代碼加載到片內(nèi)RAM中運(yùn)行;若為低,則進(jìn)入編程狀態(tài),通過(guò)串口0下載PC機(jī)上的最新代碼,并將其寫(xiě)入串行Flash。
圖2 傳感器終端原理圖
體溫檢測(cè)電路由高精度NTC熱敏電阻RT和精密電阻R3~R5構(gòu)成。JN5139通過(guò)使DIO1輸出低電平來(lái)控制測(cè)溫電路工作,利用3個(gè)12位A/D轉(zhuǎn)換通道分別測(cè)出3個(gè)點(diǎn)的電位,求出熱敏電阻的阻值,再利用熱敏電阻RT關(guān)系表及分段線性化公式得到相應(yīng)的溫度。
脈搏檢測(cè)電路包括光電傳感器及其信號(hào)調(diào)理電路,如圖3所示。光電傳感器由紅光發(fā)射管D1和光敏三極管Q1構(gòu)成,兩者相對(duì)安裝于遮光指套內(nèi)。測(cè)量脈搏時(shí),發(fā)射光中的一部分透過(guò)指尖,照射到光敏三極管的受光面,透射光強(qiáng)隨脈搏起伏呈現(xiàn)極微小變化,經(jīng)光敏三極管光—電轉(zhuǎn)換后,輸出直流和微弱交流相疊加的混合電壓信號(hào)。該信號(hào)經(jīng)隔直、低通濾波和放大處理后,成為峰值接近VCC/2的模擬脈搏信號(hào),再由JN5139進(jìn)行A/D轉(zhuǎn)換、數(shù)字濾波和周期判定,最終得到以min為單位的脈率值。為解決個(gè)體差異等原因?qū)е旅}搏輸出信號(hào)飽和或過(guò)小的問(wèn)題,發(fā)射管的工作電流由JN5139通過(guò)D/A轉(zhuǎn)換器自動(dòng)調(diào)節(jié)。
圖3 脈搏檢測(cè)電路
無(wú)線路由器主要負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā),本身并不承擔(dān)數(shù)據(jù)采集任務(wù),因此其硬件僅涉及JN5139最小系統(tǒng)(采用3.6 V直流電源供電),不需額外配置其他外設(shè)。
基站采用上、下位機(jī)結(jié)構(gòu),如圖4所示。作為網(wǎng)絡(luò)協(xié)調(diào)器的下位機(jī)為JN5139最小系統(tǒng),上位機(jī)采用PC機(jī),兩者通過(guò)異步串口進(jìn)行通信(波特率為115.2 kbps)。圖中JN5139最小系統(tǒng)和MAX232電平轉(zhuǎn)換器均采用 3.6 V直流電源供電。
圖4 基站原理圖
ZigBee支持KVP和MSG兩種數(shù)據(jù)幀格式,KVP適用于標(biāo)準(zhǔn)應(yīng)用框架系統(tǒng)中簡(jiǎn)單屬性值的傳輸,MSG則更適用于一般應(yīng)用系統(tǒng)以及需要傳輸批量數(shù)據(jù)的場(chǎng)合。本系統(tǒng)采用MSG傳輸幀,其數(shù)據(jù)定義如下:
監(jiān)測(cè)系統(tǒng)支持體溫脈搏數(shù)據(jù)幀、采樣控制幀、新節(jié)點(diǎn)加入指示幀的傳輸,傳輸幀的一般格式如下:
MSG幀長(zhǎng) 源節(jié)點(diǎn)MAC地址 幀類型 幀參數(shù)1字節(jié) 8字節(jié) 1字節(jié) N字節(jié)
每個(gè)ZigBee節(jié)點(diǎn)均具有唯一的64位M AC地址。網(wǎng)絡(luò)建立以后,所有加入到網(wǎng)絡(luò)的新節(jié)點(diǎn)都由其父節(jié)點(diǎn)動(dòng)態(tài)分配一個(gè)16位邏輯地址,此后,節(jié)點(diǎn)之間的通信默認(rèn)使用16位邏輯地址。由于節(jié)點(diǎn)意外斷電、重啟等原因,網(wǎng)絡(luò)中可能出現(xiàn)一個(gè)節(jié)點(diǎn)在不同時(shí)段具有不同邏輯地址,或不同節(jié)點(diǎn)在同一時(shí)段使用同一邏輯地址的情形。為確保數(shù)據(jù)源識(shí)別的可靠性,將傳感器終端的64位MAC地址也作為MSG幀負(fù)載的一部分,隨 MSG幀一同傳到基站?;拘枋孪葘?duì)傳感器終端進(jìn)行注冊(cè),為每個(gè)MAC地址建立相應(yīng)的標(biāo)識(shí),如住院病人的床位號(hào)等。
基于JN5139的各類ZigBee節(jié)點(diǎn)設(shè)備具有相類似的程序結(jié)構(gòu),均通過(guò)非搶占式簡(jiǎn)單任務(wù)調(diào)度器BOS來(lái)控制ZigBee協(xié)議棧和用戶任務(wù)的執(zhí)行,任務(wù)之間利用事件進(jìn)行通信。ZigBee協(xié)議棧負(fù)責(zé)網(wǎng)絡(luò)組織與維護(hù)、路由選擇、數(shù)據(jù)傳輸?shù)裙ぷ?而網(wǎng)絡(luò)初始化設(shè)置、數(shù)據(jù)發(fā)送控制、接收處理等工作則依靠各設(shè)備的用戶任務(wù)來(lái)完成。
傳感器終端的軟件流程如圖5所示。
圖5 傳感器終端的軟件流程
可利用Jennic公司提供的CodeBlocks IDE、C語(yǔ)言編譯器、鏈接器、下載器、IEEE 802.15.4協(xié)議棧、ZigBee協(xié)議棧、芯片驅(qū)動(dòng)庫(kù)、BOS操作系統(tǒng)等開(kāi)發(fā)工具和軟件資源,完成ZigBee節(jié)點(diǎn)應(yīng)用程序的設(shè)計(jì)以及代碼的生成與下載。
基站上位監(jiān)控軟件采用C++Builder 6.0開(kāi)發(fā),部分功能(如LCD數(shù)碼顯示、二進(jìn)制串口收發(fā))通過(guò)移植Delphi第三方控件實(shí)現(xiàn)。監(jiān)控軟件通過(guò)串口接收網(wǎng)絡(luò)協(xié)調(diào)器發(fā)來(lái)的二進(jìn)制數(shù)據(jù)幀,按約定的格式提取源節(jié)點(diǎn)MAC地址以及體溫、脈搏等信息,將其存入數(shù)據(jù)表并進(jìn)行實(shí)時(shí)顯示和報(bào)警判斷。程序中定義了3個(gè)數(shù)據(jù)表,分別存儲(chǔ)設(shè)備注冊(cè)信息、網(wǎng)絡(luò)結(jié)構(gòu)信息和體溫脈搏信息,各數(shù)據(jù)表通過(guò)設(shè)備的MAC地址相互關(guān)聯(lián)。歷史曲線的繪制采用TChart控件,網(wǎng)絡(luò)拓?fù)鋱D通過(guò)TCanvas繪制,顯示刷新周期為1 s。
在室內(nèi)環(huán)境下對(duì)1個(gè)基站、5個(gè)無(wú)線路由器、10個(gè)傳感器終端組成的系統(tǒng)進(jìn)行多次組網(wǎng)實(shí)驗(yàn)和性能測(cè)試。圖6為基站上位監(jiān)控軟件實(shí)時(shí)監(jiān)護(hù)窗口的運(yùn)行界面,該窗口可同時(shí)顯示5個(gè)傳感器終端采集的最新數(shù)據(jù)。
圖6 實(shí)時(shí)監(jiān)護(hù)窗口運(yùn)行界面
測(cè)試結(jié)果:傳感器終端峰值工作電流為39 mA,休眠狀態(tài)下電流為0.46 mA,體溫測(cè)量精度為±0.1℃(32.0~43.0℃范圍內(nèi)),脈搏測(cè)量精度為±5 bpm(40~220 bpm范圍內(nèi)),數(shù)據(jù)幀單跳傳輸距離不小于20 m。
測(cè)試表明,該系統(tǒng)能在ZigBee協(xié)議的支持下快速組成所期望的網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu)。節(jié)點(diǎn)正常供電情況下,網(wǎng)絡(luò)能長(zhǎng)時(shí)間保持良好的連通性,各傳感器終端能夠按基站所設(shè)定的采樣周期,將測(cè)得的體溫和脈搏數(shù)據(jù)經(jīng)路由器傳送到基站,并利用計(jì)算機(jī)進(jìn)行存儲(chǔ)、顯示和分析。
實(shí)驗(yàn)中發(fā)現(xiàn),任何一個(gè)路由器斷電后再重啟,會(huì)造成其下屬傳感器終端無(wú)法接收基站下達(dá)的采樣控制命令,而數(shù)據(jù)上傳功能卻不受影響。經(jīng)分析,這是由于路由器斷電后其內(nèi)存中的鄰居表信息丟失所致。解決的方法是,在有新節(jié)點(diǎn)加入時(shí)將最新的路由器鄰居表信息存入片外串行Flash,并在下次啟動(dòng)時(shí)重新加載到內(nèi)存使用。
本文設(shè)計(jì)的體溫與脈搏監(jiān)測(cè)系統(tǒng),采用基于ZigBee的無(wú)線傳感器網(wǎng)絡(luò)技術(shù),并以JN5139無(wú)線微控制器構(gòu)建3類節(jié)點(diǎn)設(shè)備,以較低的成本實(shí)現(xiàn)了體溫、脈搏參數(shù)的分布式無(wú)線采集與集中處理,同時(shí)具備高精度、高可靠性、低功耗等優(yōu)點(diǎn)。后續(xù)工作包括利用JN5139的接口資源和處理能力支持更多生理指標(biāo)的采集,以及進(jìn)一步驗(yàn)證更大規(guī)模監(jiān)測(cè)系統(tǒng)的實(shí)用性。
[1]張?chǎng)?王培勇,時(shí)永樂(lè).基于nRF9E5的運(yùn)動(dòng)心率采集和無(wú)線發(fā)送處理系統(tǒng)[J].北京生物醫(yī)學(xué)工程,2008,27(1):78-81.
[2]王桂靜,梁得勝,田錫天.基于nRF24E1的生命信號(hào)實(shí)時(shí)無(wú)線采集系統(tǒng)設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置,2005(3):38-40.
[3]Krco S,Delic V.Personal wireless sensor network for mobile health care monitoring:Proc of Telecommunications in Modern Satellite,Cable and Broadcasting Service,2003[C]:471-474.
[4]王柏祥,戴燕云,施劍鋒,等.基于藍(lán)牙的心音、呼吸音無(wú)線電子聽(tīng)診監(jiān)護(hù)系統(tǒng)[J].國(guó)防科技大學(xué)學(xué)報(bào),2006,28(6):134-138.
[5]Zhao Ze,Cui Li.EasiMed:a remote health care solution:Proc of IEEE Engineering in Medicine and Biology Society,2005[C]:2145-2148.
[6]郭世富,馬樹(shù)元,吳平東,等.基于Zigbee技術(shù)的無(wú)線傳感器網(wǎng)絡(luò)在遠(yuǎn)程家庭監(jiān)護(hù)系統(tǒng)中的應(yīng)用研究[J].電子技術(shù)應(yīng)用,2006(6):28-30.
[7]石道生,任毅,羅惠謙.基于ZigBee技術(shù)的遠(yuǎn)程醫(yī)療監(jiān)護(hù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].武漢理工大學(xué)學(xué)報(bào):信息與管理工程版,2008,30(3):394-397.
[8]楊易華,吳效明,岑人經(jīng).基于Zigbee技術(shù)的穿戴式脈搏波檢測(cè)模塊的研制[J].傳感技術(shù)學(xué)報(bào),2009,22(11):1538-1541.