譚 亮
(天津市儀表無線電工業(yè)學(xué)校,天津 300350)
人體生命體征對于了解一個人的身體狀況具有重要的參考意義,特別是體溫和脈搏這些生命跡象對于臨床醫(yī)學(xué)具有診斷價值。了解和治療疾病是一個周期性的過程,那么測量體溫和脈搏就要長期反復(fù),這就給醫(yī)護(hù)工作者帶來繁重的工作任務(wù),特別是在臨時組建的醫(yī)院和隔離病房。因此,為了保護(hù)醫(yī)護(hù)人員和患者家屬不被傳染、降低醫(yī)護(hù)人員的工作強(qiáng)度、滿足突發(fā)情況下臨時組網(wǎng)要求,研究并設(shè)計非接觸人體生命體征采集系統(tǒng)勢在必行。
在物聯(lián)網(wǎng)技術(shù)逐漸成熟的時代,有線方式傳輸人體生命體征信息已經(jīng)過時;短距離、高速無線傳輸優(yōu)點(diǎn)明顯。但是現(xiàn)在好多醫(yī)院隔離病房監(jiān)護(hù)系統(tǒng)中,人體生命體征采集主要采用有線傳輸方式把病房的采集信息傳送到醫(yī)院的主控制臺。在緊急事件情況下,特別是在疫情高發(fā)時期,爭分奪秒的建好隔離病房顯得尤為重要,這對于有線傳輸來說,要穿墻布線就費(fèi)時費(fèi)力了。此外,因為有線通信,線纜和節(jié)點(diǎn)相對固定,對于移動性要求比較高的臨時救治醫(yī)院不太適用。從以上列出的有線通信的弊端,進(jìn)而就給本文設(shè)計的系統(tǒng)應(yīng)用提供了合適場合,同時本文的設(shè)計也是未來的發(fā)展趨勢。該系統(tǒng)采用性能穩(wěn)定、價格低廉的STC89C52單片機(jī)擔(dān)當(dāng)MCU,搭配射頻模塊nRF2401作為無線傳輸單元,完成患者體溫和脈搏的實(shí)時采集、無線傳輸和動態(tài)顯示。
生命體征監(jiān)測無線傳輸系統(tǒng)采用多點(diǎn)對單點(diǎn)的傳輸協(xié)議,數(shù)據(jù)采集點(diǎn)的病房數(shù)量較多,健康監(jiān)測數(shù)據(jù)匯聚點(diǎn)只有護(hù)士站一個,系統(tǒng)設(shè)計圖如圖1所示。對于病房采集節(jié)點(diǎn)有與病床數(shù)量相同的電子體溫計,一個病房采集節(jié)點(diǎn)只有一個脈搏采集器。體溫數(shù)據(jù)和脈搏數(shù)據(jù)不能同時采集;測體溫時,患者按照病床號依次在病房采集節(jié)點(diǎn)進(jìn)行溫度采集,采集后自己也可以從顯示單元看見溫度值。采集后數(shù)據(jù)通過射頻模塊nRF2401以無線的方式發(fā)送到護(hù)士站節(jié)點(diǎn),護(hù)士站節(jié)點(diǎn)與電腦相連,被采集的數(shù)據(jù)清晰地顯示在電腦屏幕上,如果患者的測量數(shù)據(jù)異常,護(hù)士站節(jié)點(diǎn)還有報警功能,這樣醫(yī)護(hù)人員不出護(hù)士站就可存儲和分析患者的體溫和脈搏,進(jìn)而做出初步診斷。醫(yī)護(hù)人員也不用擔(dān)心不同患者測量的數(shù)據(jù)混淆,因為每個電子體溫計和射頻模塊只有唯一的地址ID。
圖1 系統(tǒng)總體設(shè)計框圖
在本系統(tǒng)結(jié)構(gòu)中,硬件設(shè)計的難點(diǎn):因為沒有設(shè)計電源方案,那么芯片選型時要使用同一供電電壓,還要選擇對于上電時序沒有特殊要求的芯片,高低頻PCB布線時注意信號延遲的處理和信號干擾處理;軟件的設(shè)計難點(diǎn):多線程的客戶端程序和服務(wù)器程序;上位機(jī)的顯示程序注意多次采集數(shù)據(jù)后的死循環(huán)處理。
病房采集節(jié)點(diǎn)電路以單片機(jī)為核心,包括基帶電路和射頻電路。基帶電路由數(shù)據(jù)采集單元和顯示單元組成;射頻電路主要集成在射頻模塊上,通過雙排插針插在母板。數(shù)據(jù)采集單元包括電子體溫計和脈搏采集器,其中體溫計采用數(shù)字輸出的DS18b20,脈搏采集器為HKG-07A。
患者在測溫時,把含有金屬殼的一頭放在腋下,體溫計將采集的模擬信號轉(zhuǎn)換成數(shù)字信號通過INT1中斷傳到單片機(jī)。體溫采集中單片機(jī)和體溫計是C/S模式,通過單片機(jī)中斷引腳INT1完成主從模式的一個單片機(jī)對多個體溫計的控制。主從設(shè)備之間的數(shù)據(jù)交換通過一個三態(tài)門引腳信號線DQ實(shí)現(xiàn)。單總線協(xié)議主要定義了以下三種信號:分別為復(fù)位和存在脈沖、二進(jìn)制的讀寫。病房采集節(jié)點(diǎn)的單片機(jī)負(fù)責(zé)發(fā)出復(fù)位脈沖和讀寫信號??偩€上有一個溫度傳感器DS18b20和多個溫度傳感器DS18b20,這兩種情況節(jié)點(diǎn)的系統(tǒng)處理方式是不一樣的,可以選擇單線程或者多線程訪問。
溫度傳感器DS18b20器件具有模擬信號與數(shù)字信號的轉(zhuǎn)換功能,還可以小數(shù)據(jù)存儲,使用時需要配置,配置好才能正常工作,地址是唯一的,使用者不可隨意更改,是出廠前寫入。假如用2個字節(jié)存儲測得的溫度值,以12位轉(zhuǎn)化為例,前5位是符號位,其余11位足以存儲(-55-125攝氏度)測得的數(shù)據(jù)。溫度計的分辨率為0.0625攝氏度。DS18b20把采集溫度模擬值轉(zhuǎn)換成數(shù)字二進(jìn)制存儲的排列順序,其中bit0到bit10存儲無符號數(shù)的值,溫度的正負(fù)存儲在bit11到bit15是符號位S,人體的溫度大于0的,默認(rèn)值全是“1”,從bit0到bit10的二進(jìn)制值換算成是十進(jìn)制后乘以0.0625就能得到實(shí)際測量的人體溫度。
脈搏采集采用透射式光電傳感器,當(dāng)患者將手指放入測試平臺時,平臺上方的發(fā)光二極管將紅外線透射手指后,由下方的光敏三極管接收,隨著心臟的跳動,手指內(nèi)的血液飽和度會發(fā)生變化,紅外三極管通過感知手指血液飽和度變化來改變電流大小,這個模擬信號經(jīng)過脈搏采集器模數(shù)轉(zhuǎn)換后傳遞給單片機(jī)的中斷引腳INT0。
護(hù)士站節(jié)點(diǎn)電路以單片機(jī)為核心,包括基帶電路和射頻電路?;鶐щ娐酚纱翱陲@示單元和報警單元組成。窗口顯示單元采用共陰極四位七段數(shù)碼設(shè)計,可以顯示三位數(shù)字和一位小數(shù)點(diǎn);正常成人的脈搏是(60-100)次/分,體溫是(36-37)℃,當(dāng)患者有任何一項值超出該范圍時護(hù)士站就報警。射頻電路與病房采集節(jié)點(diǎn)的相同。
nRF2401具有小巧,功耗低,速率快,占用帶寬窄,性能穩(wěn)定的優(yōu)點(diǎn),特別適用于病房患者集中分布,環(huán)境布線不便,傳輸距離較短的醫(yī)院病房,能滿足于量小的數(shù)據(jù)采集傳輸手段??筛鶕?jù)不同的應(yīng)用場景,選擇內(nèi)置天線和外置天線。而且它和基帶板卡連接接口設(shè)計靈活,對于PCB布線的走線長度要求不高,PCB布線初學(xué)者就可勝任。外置天線傳輸距離遠(yuǎn),天線長度和高度都影響傳輸距離。nRF2401模塊與單片機(jī)硬件連接原理圖設(shè)計如圖2所示:
nRF2401在正常工作時有四種模式:1)配置;2)收發(fā);3)空閑;4)關(guān)機(jī)。本設(shè)計使用ShockBurst突發(fā)通信的收發(fā)模式,這種收發(fā)模式功耗低,速率快更適合醫(yī)院的應(yīng)用場景,器件配置字決定選用哪種工作模式,配置字的用處是使nRF2401能夠處理RF協(xié)議,nRF2401的配置字通過三線接口CS,CLK1,DATA送給配置寄存器。設(shè)計過程中選用突發(fā)通信技術(shù)收發(fā)模式,除了功耗低和速率快的優(yōu)點(diǎn)外,更為關(guān)鍵的是這種工作模式可以有效避免數(shù)據(jù)沖突,但是前提是進(jìn)行多線程通信時,要按照突發(fā)通信模式指定的通信格式封裝數(shù)據(jù)。
ShockBurst模式下的nRF2401數(shù)據(jù)格式包括數(shù)據(jù)頭、目的地址、數(shù)據(jù)和校正碼組成。ShockBurst 的數(shù)據(jù)包不能超過32個字節(jié)。ShockBurst 工作模式如下:
1.發(fā)送過程為:數(shù)據(jù)采集完畢,準(zhǔn)備要發(fā)送時,單片機(jī)控制CE引腳先置高再拉低,在將引腳置高時,單片機(jī)將接收節(jié)點(diǎn)地址和有效數(shù)據(jù)的脈沖信號傳遞到nRF2401的存儲器中;接下來單片機(jī)將控制使能端CE下拉,nRF2401的收發(fā)模式會被激活。發(fā)送之前會給RF前端上電,目的是對收到的數(shù)據(jù)進(jìn)行封裝(加上前綴位和CRC校驗位),數(shù)據(jù)發(fā)送完成后處于待機(jī)狀態(tài)。
2.接收過程為:接收數(shù)據(jù)前要先配置好本機(jī)的地址和設(shè)置接收數(shù)據(jù)包的閾值;單片機(jī)把CE置高,激活接收模式,200μs后,觸發(fā)子系統(tǒng)監(jiān)聽收到的數(shù)據(jù)脈沖;直到獲得一個正確的數(shù)據(jù)包(地址和校驗位正確),接收子系統(tǒng)自動解開封裝,提取數(shù)據(jù)。然后通過調(diào)高DR1告知單片機(jī)有效數(shù)據(jù)已收到,然后再將CE拉低,把射頻模塊調(diào)節(jié)為低功耗模式,這時單片機(jī)會以合適的時鐘頻率讀取出射頻模塊中的有效數(shù)據(jù)。數(shù)據(jù)的接收過程中,CE的電平狀態(tài)至關(guān)重要。本次傳輸?shù)氖窍聜€數(shù)據(jù)包,或是開始新一輪的接收是由CE的電平高低來決定。如果說是要接收下一個數(shù)據(jù)包,在保證CE持續(xù)高電平的前提下,還要滿足把DR1拉低。
生命體征監(jiān)測傳輸系統(tǒng)的軟件程序設(shè)計采用C/S模式:病房客戶端程序和護(hù)士站服務(wù)程序。護(hù)士站判斷患者的信息主要依據(jù)有兩個方面:一方面是電子體溫計出廠前的唯一地址信息(體溫計號與病床號對應(yīng));另一方面是射頻模塊的唯一地址序列碼(每個病房是唯一的)。只要把病房號和病床號鎖定了,那么找到患者的信息就不是難事了。程序設(shè)計包括病房節(jié)點(diǎn)客戶端和護(hù)士站服務(wù)器端兩套程序,節(jié)點(diǎn)上電后先進(jìn)行程序初始化配置。系統(tǒng)軟件結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)結(jié)構(gòu)圖
單片機(jī)內(nèi)部程序系統(tǒng)首先要進(jìn)行初始化設(shè)置,病房采集節(jié)點(diǎn)上電后,單片機(jī)先進(jìn)行初始化配置,之后再向電子體溫計和脈搏采集器發(fā)送起始配置命令;緊接著發(fā)送跳過 ROM命令,這一步的目的是將全部在線響應(yīng)的DS18b20地址序列號存入采集節(jié)點(diǎn)單片機(jī)存儲器中。此時nRF2401處于待命模式,直到接到護(hù)士站通過nRF2401發(fā)來中斷請求即轉(zhuǎn)入采集程序進(jìn)程,完成溫度和脈搏的數(shù)據(jù)讀取及脈搏數(shù)據(jù)的顯示。當(dāng)護(hù)士站與病房取得聯(lián)系后,就將測得的生命體征數(shù)據(jù)無線發(fā)送給護(hù)士站,護(hù)士站進(jìn)行下一步的處理,復(fù)位等待,準(zhǔn)備響應(yīng)下一次中斷請求。
設(shè)置串口通信參數(shù)、設(shè)備初始配置和控制命令的發(fā)送這些工作都由護(hù)士站節(jié)點(diǎn)完成?;就ㄐ琶钣袃蓚€:1)病房初始化命令;2)病房通信指令。病房收到初始化脈沖命令后,就回復(fù)給護(hù)士站,返回一個可以建立連接的口令,這樣兩者就建立了連接,下一步采集節(jié)點(diǎn)響應(yīng)護(hù)士站發(fā)送的控制命令,護(hù)士站開始處于待機(jī)狀態(tài),下一個幾百微秒的持續(xù)高電平后,護(hù)士站節(jié)點(diǎn)再次轉(zhuǎn)入數(shù)據(jù)接收狀態(tài),繼續(xù)接收返回的數(shù)據(jù)。護(hù)士站對收到的數(shù)據(jù)進(jìn)行比較,一旦超過安全閾值,接收節(jié)點(diǎn)就報警;護(hù)士站節(jié)點(diǎn)的單片機(jī)會將測得的數(shù)據(jù)上傳給電腦,接收節(jié)點(diǎn)之后處于待命狀態(tài)。
首先將所有采集節(jié)點(diǎn)單片機(jī)引腳SM2位拉高,為了使他們保持接收地址數(shù)據(jù)的狀態(tài),下一步護(hù)士站節(jié)點(diǎn)通過無線的方式發(fā)出查詢有效DS18b20信號的命令,只要碰到與護(hù)士站查詢地址相一致的DS18b20,這個DS18b20在做出響應(yīng)后,馬上回傳本機(jī)地址給護(hù)士站監(jiān)控中心,與此同時將病房單片機(jī)的多機(jī)通信位引腳SM2拉低,地址不符的采集點(diǎn)丟棄,SM2引腳持續(xù)保持高電平。病房節(jié)點(diǎn)的DS18b20采集完溫度數(shù)據(jù)后,通過nRF2401與護(hù)士站節(jié)點(diǎn)建立通信鏈路,同一個時間多個采集節(jié)點(diǎn)在線時,護(hù)士站節(jié)點(diǎn)以查詢的方式僅能讀取一個病房節(jié)點(diǎn)的地址,并完成數(shù)據(jù)的采集,讀取多個會引起數(shù)據(jù)競爭。所有病房采集節(jié)點(diǎn)的DS18b20地址序列號信息在護(hù)士站節(jié)點(diǎn)的初始化過程中存入RAM中。在護(hù)士站發(fā)出查詢命令后,病房節(jié)點(diǎn)開始讀取在線的DS18b20地址序列號,只有序列號匹配的DS18b20回傳溫度數(shù)據(jù),以無線的方式傳輸,放入接收節(jié)點(diǎn)單片機(jī)指定的RAM地址中。
本系統(tǒng)在實(shí)際的樓道和房間里進(jìn)行測試,房間的拓?fù)浣Y(jié)構(gòu)如圖4所示,點(diǎn)對點(diǎn)的最遠(yuǎn)傳輸距離是90米,這個距離是在鋼筋混凝土的房子測試的結(jié)果,要是換到空曠信號衰減不強(qiáng)的環(huán)境中傳輸距離可大大增加,這個半徑范圍內(nèi)節(jié)點(diǎn)可靈活移動,無需中繼設(shè)備,無需布線穿墻,硬件架構(gòu)搭建方便快捷,成本低,效率高,本系統(tǒng)特別適合小范圍臨時組網(wǎng),這種無線采集系統(tǒng)大大的降低醫(yī)患交叉感染概率的同時還節(jié)省人力的配置,這個設(shè)計方案通過更換采集傳感器類型還可應(yīng)用到其他場景,性能穩(wěn)定,未來可期。
圖4 實(shí)驗環(huán)境示意圖
圖5為用VC++編寫護(hù)士站體溫顯示控制界面,序號對應(yīng)病床號;脈搏的顯示在節(jié)點(diǎn)的LED數(shù)碼管上;軟件控制界面可以篩選最高溫度和最低溫度,并能計算出平均值,可以刷新界面和停止采集,管理員坐在電腦前就能了解每個患者的身體狀況并做出最快的處理,達(dá)到系統(tǒng)設(shè)計的初衷。經(jīng)過多個環(huán)境現(xiàn)場的實(shí)地測試,無線通信系統(tǒng)在障礙較多的環(huán)境下傳輸距離也能滿足,特別是在空曠的環(huán)境中傳輸距離大大增加;另外nRF2401采用2.4GHZ傳輸,抗干擾能力強(qiáng),誤碼率低,可靠性高,完全可以滿足緊急或者特定情況下迅速組網(wǎng)中的數(shù)據(jù)傳輸要求,特別適合應(yīng)用在臨時組建的戰(zhàn)地醫(yī)院、被隔離的傳染病區(qū)等,本系統(tǒng)稍微改動就可應(yīng)用到其它監(jiān)測系統(tǒng),應(yīng)用場景廣泛。
圖5 顯示控制界面
實(shí)驗結(jié)果表明:通過nRF2401模塊可以實(shí)現(xiàn)病房節(jié)點(diǎn)和護(hù)士站監(jiān)控中心的無線數(shù)據(jù)通信,監(jiān)控終端可以正確顯示患者的體溫和脈搏信息。本文設(shè)計了nRF2401模塊電路、閾值報警電路、脈搏采集電路和體溫采集電路。設(shè)計成本低、功耗小、具有很好的通用性,但系統(tǒng)也有以下兩個問題未解決:一是本次設(shè)計完成了星型的一級組網(wǎng)傳輸,對于更為復(fù)雜的多級傳輸問題還未解決。二是由于單片機(jī)性能的限制不能滿足同時多點(diǎn)對一點(diǎn)通信,因此檢測時要進(jìn)行分時間段檢測。
下一步技術(shù)改進(jìn):本設(shè)計中有待提高的地方可以總結(jié)為兩點(diǎn):一是節(jié)點(diǎn)的中央處理單元STC89C52性能不夠強(qiáng)大,太過復(fù)雜的程序處理速度太慢,后續(xù)升級可選用stm32代替。二是采集節(jié)點(diǎn)的生命體征監(jiān)測項目不夠全面,目前身體參數(shù)采集傳感器種類多樣,后續(xù)開發(fā)要增加監(jiān)測項目,完善采集功能。