??? 摘? 要: 介紹了一種基于無線收發(fā)模塊和單片機(jī)的監(jiān)護(hù)系統(tǒng)的設(shè)計(jì),闡述了系統(tǒng)的基本原理及硬件的實(shí)現(xiàn)。?
??? 關(guān)鍵詞: 無線收發(fā)? 心電" title="心電">心電監(jiān)測? PTR2000? 數(shù)字溫度傳感器?
?
??? 心電和體溫是臨床上對病人監(jiān)測比較頻繁的項(xiàng)目。傳統(tǒng)的有線監(jiān)護(hù)和床頭監(jiān)護(hù)大大限制了康復(fù)期病人的活動范圍,而且醫(yī)護(hù)人員工作強(qiáng)度也很大,為此設(shè)計(jì)了一種臨床無線監(jiān)護(hù)系統(tǒng),對病人進(jìn)行實(shí)時跟蹤監(jiān)護(hù)。本系統(tǒng)前端部分采用單片機(jī)進(jìn)行生理信息的采集和簡單的數(shù)據(jù)處理,而后將數(shù)據(jù)傳給PC機(jī),利用PC機(jī)強(qiáng)大的運(yùn)算能力進(jìn)行數(shù)據(jù)處理和分析,從而達(dá)到實(shí)時監(jiān)護(hù)的目的。?
1 系統(tǒng)硬件總體框圖?
??? 系統(tǒng)硬件總體框圖如圖1所示。系統(tǒng)主要由以下幾部分組成:主控單片機(jī)及其外部存儲器擴(kuò)展部分;體溫及心電檢測部分;PTR2000無線收發(fā)部分;接口轉(zhuǎn)換、報警輸出及PC機(jī)處理部分。?
?
?
??? 體溫檢測部分利用SWC三線溫度傳感器測量患者體溫,然后將體溫信號傳給單片機(jī)。心電信號" title="心電信號">心電信號由于比較微弱,所以先通過前處理部分進(jìn)行放大和濾波處理,然后將心電信號數(shù)字化后傳給單片機(jī)進(jìn)行下一步處理。由于體溫不需要進(jìn)一步處理,在單片機(jī)里就可以判斷其是否正常,故直接由單片機(jī)處理后給出體溫異常的報警提示。主控單片機(jī)通過PTR2000將體溫和心電信號傳給PC機(jī)進(jìn)行顯示和進(jìn)一步處理。下面分別介紹系統(tǒng)各個組成的部分。?
2 PTR2000無線收發(fā)模塊及功能?
2.1 PTR2000產(chǎn)品特性?
??? 該模塊是傳統(tǒng)的無線模塊的換代產(chǎn)品,它將發(fā)送和接收集成在一起,大大減小了系統(tǒng)的體積。其工作頻率為國際通用的數(shù)傳頻段433MHz、FSK調(diào)制,抗干擾能力強(qiáng);采用DDS+PLL頻率合成技術(shù),頻率穩(wěn)定性極好,工作速率最高可達(dá)20kbit/s;可以直接和微處器串口相接,也可以接計(jì)算機(jī)的RS232接口,軟件編程很方便;由于采用了低發(fā)射功率、高接收靈敏度的設(shè)計(jì),故使用時無需申請?jiān)S可證。?
2.2 PTR2000電氣特性?
??? PTR2000電氣特性如表1所示。?
?
?
2.3 PTR2000內(nèi)部原理圖及引腳圖?
??? PTR2000的核心部件是Nordic公司的nrf401模塊,其內(nèi)部原理圖如圖2所示,引腳如圖3所示。?
?
?
?
??? Pin1:Vcc? ? 正電源,接2.7~5.25V?
??? Pin2:CS?? ? 頻道選擇,0:選擇433.92MHz,1:選擇?434.33MHz?
??? Pin3:DO?? ? 數(shù)據(jù)輸出?
??? Pin4:DI??? ?數(shù)據(jù)輸入?
??? Pin5:GND? ? 電源地?
??? Pin6:PWR? ? 節(jié)能控制。1:正常工作狀態(tài),0:待機(jī)微功耗狀態(tài)?
??? Pin7:TXEN?? 收發(fā)控制。1:處于發(fā)射狀態(tài),0:處于接收狀態(tài)?
2.4 PTR2000使用注意事項(xiàng)?
??? 由于PTR2000集接收和發(fā)送于一體,所以在發(fā)送和接收之間相互轉(zhuǎn)換的時候需要一定的轉(zhuǎn)換穩(wěn)定時間,通常不超過5ms,故在程序設(shè)計(jì)" title="程序設(shè)計(jì)">程序設(shè)計(jì)的時候要安排必要的等待時間。當(dāng)系統(tǒng)處于發(fā)送的狀態(tài)時,若沒有數(shù)據(jù)發(fā)送,則系統(tǒng)會發(fā)送隨機(jī)數(shù)據(jù),為此需要自己在程序設(shè)計(jì)中定義一個簡單的協(xié)議。如剛開始發(fā)送,需要先發(fā)送一個報頭,此報頭用于建立雙方間可靠的數(shù)據(jù)傳輸通道,在此報頭之后可以自己設(shè)定一個數(shù)據(jù)起始位,然后就可以發(fā)送自己的數(shù)據(jù)了。系統(tǒng)在測試時應(yīng)該注意,兩個模塊之間的距離要大于1m,否則會由于嚴(yán)重的相互干擾而導(dǎo)致數(shù)據(jù)接收錯誤。PTR2000在空曠地區(qū)的最大傳送距離為300m;在有障礙物的情況下,最大有效通信距離為100~120m。在此距離內(nèi),數(shù)據(jù)接收正確率高于97%。這樣的距離和正確率對于醫(yī)院和病人來說完全可以滿足。當(dāng)然,如果再加裝功率放大部分,通信距離還可以增加。下面是PTR2000用于發(fā)送時的子程序:?
??????? ;PTR發(fā)送子程序?
??????? PWR?? EQU???? P1.5?
??? ??? TXEN? EQU???? P1.4?
??????? SendCounter?? EQU? R2?
??????? MOV? R1, #30H???? ;數(shù)據(jù)存儲區(qū)首址?
??????? MOV? R0, #30H???? ;計(jì)數(shù)控制變量?
??????? CALL PTR2000??? ??? ;調(diào)用PTR2000初始化程序?
??????? SETB??? PWR??????? ;置PTR為工作方式?
??????? SETB??? TXEN?????? ;使PTR處于發(fā)射方式?
??????? ;串口設(shè)置及初始化?
??????? MOV? TMOD, #20H?? ?;波特率設(shè)置為4800?
??????? MOV? TH1,? #0F3H?
??????? MOV? TL1,? #0F3H?
??????? SETB? TR1?
??????? MOV SCON,? #50H?
??????? MOV PCON, #80H? ??????? ;置SMOD為1?
??????? MOV SendCounter,#0AAH?? ;置報頭數(shù)據(jù)個數(shù)?
??????? MOV? A,? #0FFH??????? ? ;報頭內(nèi)容?
SEND:? ?MOV? SBUF, A?
WAIT:?? JBC? TI,? NEXT? ??????? ;等待發(fā)送結(jié)束?
??????? SJMP?? WAIT?
NEXT:?? DJNZ SendCounter, SEND? ?
???????????? ?
??????? MOV? A, #00H???? ?????? ;發(fā)送0作為接收方有效數(shù)據(jù)的起始標(biāo)志?
??????? MOV SBUF,? A?
WAIT1:? JBC? TI, NEXT1?
? ???? ?SJMP? WAIT1???????????? ;開始發(fā)送有效數(shù)據(jù)?
NEXT1: ?MOV?? A,? @R1?????????? ;開始發(fā)送?
??? ??? MOV?? SBUF, A ?
WAIT2:? JBC TI,? NEXT2?
??????? SJMP?? WAIT2?
NEXT2:? INC? R1????? ?????????? ;數(shù)據(jù)區(qū)地址加1?
??????? DJNZ R0,? NEXT1?????? ? ;未發(fā)完則繼續(xù)?
??????? SJMP??? RETURN?
;PTR初始化?
PTR2000:CLR?? PWR???????? ????? ;PTR處于休眠狀態(tài)?
????????CLR?? TXEN?????????? ?? ;PTR處于接收方式?
??? ??? RET????????????????? ?? ;返回調(diào)用程序?
RETURN:RET????????????????????? ;返回調(diào)用主程序?
3 系統(tǒng)擴(kuò)展?
??? 由于51系列單片機(jī)本身的數(shù)據(jù)和存儲空間都極其有限,所以為了適應(yīng)數(shù)據(jù)和程序存儲的要求,需要對系統(tǒng)進(jìn)行擴(kuò)展,主要包括數(shù)據(jù)區(qū)的擴(kuò)展和程序區(qū)的擴(kuò)展。本系統(tǒng)采用6264外擴(kuò)了8KB的數(shù)據(jù)存儲空間。6264為8K×8位的靜態(tài)隨機(jī)存儲器,它采用CMOS工藝制造,單一+5V供電,額定功耗為200mW,典型的存取時間為200為μs??紤]到將來的程序擴(kuò)展,所以選用了8KB和27c64作為程序存儲器。其功耗在Standby狀態(tài)下的典型值為5μW,在Active狀態(tài)下為40mW/MHz,可以滿足系統(tǒng)對功耗的要求。系統(tǒng)中將80c51單片機(jī)的P0口用作數(shù)據(jù)/低位字節(jié)地址分時使用,利用ALE信號進(jìn)行數(shù)據(jù)/地址分離,將低位地址鎖存在74LS373中,并配合P2口提供的高位字節(jié)地址尋址外部程序存儲器和數(shù)據(jù)存儲器空間。P3口是雙功能口,該口的每一位均可獨(dú)立地定義為第一功能或是第二功能。?
4 心電信號的監(jiān)測?
在醫(yī)學(xué)臨床上,ECG信號(50μV~5mV)由常規(guī)的三電極導(dǎo)程導(dǎo)入,而后將信號放大和濾波,進(jìn)入單片機(jī)測控系統(tǒng)。心電監(jiān)測前處理部分見圖4。由于人體的動態(tài)心電信號只有3~5mV,因此心電信號在輸入到A/D" title="A/D">A/D轉(zhuǎn)換器之前要進(jìn)行預(yù)處理放大才能滿足系統(tǒng)的要求。常規(guī)心電前置放大電路采用由三運(yùn)放構(gòu)成的同相并聯(lián)差動放大電路以獲得高輸入阻抗與共模抑制比。這里采用了具有此結(jié)構(gòu)的集成型低壓低功耗儀表放大器INA118,其內(nèi)部各運(yùn)放、電阻的嚴(yán)格匹配與校準(zhǔn)使其具有極高的工作性能,最大偏置電流為5nA,共模抑制比大于100dB,放大倍數(shù)1~1000可調(diào),電源電壓范圍寬,從±1.35V到±18V,靜態(tài)工作電流最大為380μA,非常適用于由電池供電系統(tǒng),其輸入端還具有高達(dá)±40V的過電壓保護(hù)功能。由INA118獲取的信號經(jīng)隔直電路進(jìn)入下一級由MAX494構(gòu)成的放大器。MAX494是一種低壓微功耗的運(yùn)算放大器,其電源電壓可從2.7V到6V或從±1.35V到±3V,靜態(tài)電流僅為150μΑ,由它構(gòu)成的二級放大與電平調(diào)整電路可獲得0~5V范圍的ECG信號,再通過50Hz雙T陷波及二階低通濾波后,就可將此信號送入A/D轉(zhuǎn)換器進(jìn)行模/數(shù)轉(zhuǎn)換。關(guān)于A/D轉(zhuǎn)換器在此不再介紹。
?
?
5 體溫檢測、系統(tǒng)開關(guān)和報警部分?
??? SWC又稱集成數(shù)字脈沖式感溫探頭,是一種新型的三端溫度變送器件。它可以將被測溫" title="測溫">測溫度轉(zhuǎn)換為數(shù)字脈沖信號輸出。SWC的三條管腳的名稱分別為:控制線(K)、信號線(S)和公共線(G),其K端實(shí)際上也是電源線,其工作方式為加電啟動或?qū)捗}沖觸發(fā)式。SWC傳感器出廠時均嚴(yán)格約定每個脈沖為0.1度,這個精度完全能滿足人體測溫的要求。SWC的脈沖頻率為15kHz左右,若單片機(jī)系統(tǒng)的晶振為6MHz,則12MHz/24>>15kHz,所以計(jì)15kHz的脈沖是沒有任何問題的。15kHz的脈沖周期為0.067ms,SWC傳感器的測溫上限為150°C,150°C需要計(jì)1500個脈沖,大約100ms,即在控制線K端加電的脈寬應(yīng)大于100ms,否則會引起誤差。重復(fù)對SWC進(jìn)行加電啟動,可實(shí)現(xiàn)對被測溫度的連續(xù)采樣。在本系統(tǒng)中利用單片機(jī)的P3.4腳對外部輸入脈沖進(jìn)行計(jì)數(shù)從而測出體溫。開關(guān)電路與報警系統(tǒng)占用了80C51 P1口的四根線,分配情況如表2所示。該部分硬件連接見圖5。?
?
?
?
6 微機(jī)接口部分?
??? 為了與PTR2000輸出的電平取得一致,微機(jī)的串口部分需要進(jìn)行電平的變換,由RS232電平變?yōu)門TL電平。?
7 系統(tǒng)軟件部分?
??? 微機(jī)的軟件采用現(xiàn)在廣為使用的VB語言編寫。由于VB自帶通信控件,對于編寫通信程序很方便。前端單片機(jī)軟件用MCS-51系列匯編語言編寫,這對單片機(jī)數(shù)據(jù)處理速度的提高很有用處。由于篇幅所限,具體編寫過程省略。?
參考文獻(xiàn)?
1 李 華. MCS-51系列單片機(jī)實(shí)用接口技術(shù). 北京:北京航空航天大學(xué)出版社,2000?
2 王建校.51系列單片機(jī)及C 51程序設(shè)計(jì).西安: 西安交通大學(xué)出版社,2002?
3 范逸之,漢文賢,陳立元. C++ Builder與RS232串行通信控制.北京:清華大學(xué)出版社,2002?
4 李光明.中文Visual Basic程序設(shè)計(jì)教程.北京:冶金工業(yè)出版社,2000