醫(yī)院護理呼叫系統(tǒng)是傳輸臨床信息的重要手段,是提高護理人員的工作效率和保證醫(yī)院服務(wù)質(zhì)量的有效途徑,也是提高醫(yī)院信息化管理水平的重要措施。本系統(tǒng)采用模塊化設(shè)計,具備易操作性、易維護性、易擴展性等特點。系統(tǒng)采用三層結(jié)構(gòu),分別是后臺服務(wù)器層、護士工作站層和病區(qū)呼叫系統(tǒng)層。病區(qū)呼叫系統(tǒng)由一臺主機和多臺分機組成,采用RS485通訊總線相連,實現(xiàn)各種病房呼叫信息、衛(wèi)生間呼叫信息和電生理檢測數(shù)據(jù)的采集,并通過主機和護士工作站連接。護士工作站由普通PC機組成,其功能是響應(yīng)和處理各類呼叫信息。后臺服務(wù)器和護士工作站之間采用通用以太網(wǎng)連接,呼叫和處理信息可以以電子文檔形式存儲在后臺服務(wù)器中。本文主要討論病區(qū)呼叫系統(tǒng)的通訊系統(tǒng)設(shè)計。
1 通訊系統(tǒng)體系結(jié)構(gòu)
一個病床呼叫分機管理一間病房的呼叫信息,包括衛(wèi)生間呼叫和病床呼叫等。每個呼叫點均有呼叫按鈕、取消按鈕和LED指示燈。呼叫分機還留有電生理信息標準接口,可以連接心電圖儀、呼吸機和血壓儀等生理檢測設(shè)備,以監(jiān)視和記錄病人的生理信息。病區(qū)呼叫系統(tǒng)主機放置在護士工作站內(nèi),負責整個系統(tǒng)的控制與通信。呼叫主機一邊將病房的呼叫信息傳輸?shù)絃ED顯示屏上并蜂鳴提醒,一邊把呼叫信息傳輸?shù)絇C機。系統(tǒng)為護士工作站PC機提供良好的人機界面,可以向醫(yī)護人員顯示系統(tǒng)的工作狀態(tài),病員的基本醫(yī)療信息和呼叫信息以及一些基本的處理數(shù)據(jù)功能。
病區(qū)呼叫系統(tǒng)結(jié)構(gòu)如圖1所示。病區(qū)呼叫系統(tǒng)主機和病房呼叫系統(tǒng)分機以MCS-51單片機為主控制器,分機之間通過RS-485通訊總線相連。RS-485是美國電氣工業(yè)聯(lián)合會(EIA)制定的利用平衡雙絞線作傳輸線的多點通訊標準,它采用差分信號進行傳輸,具有傳輸速率高、傳送距離遠、可靠性高、擴展容易等特點。RS485通訊器件采用MAX487-CP,MAX487是MAXIM公司生產(chǎn)的用于RS485和RS422通信的差分總線小功率收發(fā)器,它含有一個驅(qū)動器和一個接收器,具有驅(qū)動器/接收器使能功能,輸入阻抗為1/4負載,總線節(jié)點數(shù)為128,即每個的驅(qū)動器可驅(qū)動128個標準負載。MAX487的驅(qū)動器設(shè)計成限斜率方式,使輸出信號邊沿不至于過陡,以避免在傳輸線產(chǎn)生過多的高頻分量,從而有效扼制了干擾現(xiàn)象。
系統(tǒng)通訊的數(shù)據(jù)幀格式參考 MS/TP 協(xié)議標準, 具體設(shè)計如下:
前同步碼 2 字節(jié):55H,0FFH;幀類型 1 字節(jié);目的地址1字節(jié);源地址1字節(jié);頭部CRC 1字節(jié);數(shù)據(jù) 8 字節(jié);數(shù)據(jù) CRC 2字節(jié)。一幀數(shù)據(jù)共16字節(jié),128位。
2 基于“錯時退避”策略的防沖突算法
在一臺病房分機請求發(fā)送數(shù)據(jù)的同時,另一臺病房分機請求發(fā)送數(shù)據(jù),或在一臺病房分機在發(fā)送數(shù)據(jù)的過程中,另一臺病房分機請求發(fā)送數(shù)據(jù),都就會造成通訊沖突。為了防止因通訊沖突而造成的數(shù)據(jù)傳輸錯誤,本系統(tǒng)參考CSMA/CD(Carrier Scnse Multiple Access /Collision Detect)技術(shù)。CSMA/CD即載波監(jiān)聽多路訪問/沖突檢測,它的工作原理可用8個字來表示:“先聽后說,邊聽邊說”。病房呼叫分機在發(fā)送數(shù)據(jù)前,先檢測信道是否空閑,若空閑,則發(fā)送數(shù)據(jù)。在發(fā)送數(shù)據(jù)的同時,仍繼續(xù)監(jiān)聽信道,以檢測是否存在沖突。一旦檢測到?jīng)_突,就立即停止發(fā)送,并向總線上發(fā)一串阻塞信號,通知總線上其他各有關(guān)站點停止數(shù)據(jù)傳輸。這樣,通道容量就不致因白白傳送已受損的幀而浪費。CSMA/CD的工作流程如圖2所示。
一般而言,普通網(wǎng)絡(luò)上傳輸?shù)男畔⒘勘容^大,因此,普通網(wǎng)絡(luò)追求的是信道的使用率和信息的吞吐量。生理呼叫系統(tǒng)的傳輸信息量很小,系統(tǒng)要求的是信息傳輸?shù)膶崟r性,同時又互不干擾。要解決這個問題,必須盡可能避免重復沖突現(xiàn)象的發(fā)生。即要求如果發(fā)生多臺通訊沖突現(xiàn)象,各分機的退避時間應(yīng)不同。本文分別討論的延時退避算法和沖突退避算法有“錯時退避”的特點,能有效地解決重復沖突問題。
2.1 延時退避算法
系統(tǒng)采用“先聽后說”的工作方式,分機在發(fā)送呼叫信息前,先監(jiān)聽信道狀態(tài)。如果信道忙,說明有其他分機正在占用信道傳輸數(shù)據(jù)。根據(jù)前述數(shù)據(jù)幀格式,一幀數(shù)據(jù)共128位,一臺分機傳輸數(shù)據(jù)所需的時間為:T=128 bit/波特率。
因此,本次數(shù)據(jù)傳輸還需占用0到T的信道時間。為了避免同時監(jiān)聽到信道空閑而發(fā)生的沖突現(xiàn)象,各分機采用下列延時退避公式?jīng)Q定延時監(jiān)聽時間:
上式中,ti為第i臺分機的延時時間,n是分機的總臺數(shù),rand(0,1)為一個0到1的隨機數(shù),E是應(yīng)急呼叫設(shè)置位(若為應(yīng)急呼叫,則設(shè)置E為1)。系統(tǒng)將衛(wèi)生間呼叫默認設(shè)置為應(yīng)急呼叫,一些重癥病人的呼叫也可由系統(tǒng)呼叫主機設(shè)定設(shè)置為應(yīng)急狀態(tài)。
分機i以ti的間隔時間監(jiān)聽信道,當監(jiān)聽到信道處于空閑狀態(tài)時,即可進行到工作流程的下一步。
2.2 沖突退避算法
盡管系統(tǒng)采用“先聽后說”的工作方式,但也可能發(fā)生兩個站點因同時監(jiān)聽到信道空閑而同時發(fā)送數(shù)據(jù)的現(xiàn)象,即發(fā)生通訊沖突。檢測通訊沖突的方法是:發(fā)送數(shù)據(jù)的呼叫分機將接收到的信息與原來發(fā)送的信息逐個比特位進行比較,如果兩者一致,說明沒有沖突;如果兩者不一致,則說明發(fā)生了沖突。
造成這種通訊沖突的原因與信號在信道上的傳播時延有關(guān)。傳播時延是信號由信道上的一個站點傳播到另一個站點的時間,信息傳播時延可由式(2)計算:
設(shè)A、B是系統(tǒng)中的兩臺呼叫分機,它們之間的傳播時延是tpab。分機A檢測到信道空閑后,就發(fā)送數(shù)據(jù);分機B在分機A開始發(fā)送數(shù)據(jù)的(0,tpab)的時間內(nèi)檢測信道,由于信號還沒有傳播到分機B,因此分機B檢測到信道狀態(tài)仍處于空閑狀態(tài),分機B也發(fā)送數(shù)據(jù),造成通訊沖突。分機檢測到通訊沖突后,立即停止發(fā)送,并向總線上發(fā)一串阻塞信號,用以通知總線上其他各有關(guān)站點退避。沖突退避時延采用式(3)計算:
tj=tpmax(j+1-E×j)×[rand(0,1)+1] (3)
上式中,tj為第j臺分機時延檢測時間,tpmax為任意兩個站之間的最大傳播時延,由公式(2)計算得到。E、rand(0,1)的含義同式(1)。
無論是(1)式還是(3)式,i( j )值小的分機先檢測信道,在數(shù)據(jù)傳輸比較繁忙的時段,i( j )值大的分機總是要持續(xù)一個較長的時延才能檢測信道,這就會造成系統(tǒng)中各分機競爭不均衡的現(xiàn)象。為了避免這種現(xiàn)象,我們將i( j )設(shè)置為分機檢測總線的優(yōu)先級別,并把系統(tǒng)設(shè)置成優(yōu)先級循環(huán)的工作方式。初試狀態(tài),i( j )的值為分機編號,優(yōu)先級分別為1、2、……、n。當優(yōu)先級為k的分機傳輸數(shù)據(jù)后,系統(tǒng)主機將原來優(yōu)先級為k+1至n的分機的優(yōu)先級分別設(shè)置為1至n-k,將原優(yōu)先級為1至k的分機的優(yōu)先級設(shè)置為n-k+1至n。
2.3 退避算法性能分析
醫(yī)院護理呼叫系統(tǒng)的信息傳輸量很小,追求的是呼叫響應(yīng)時間。為此,我們假設(shè)出現(xiàn)最不利的情況來分析本文算法的性能:系統(tǒng)共有64臺分機,設(shè)在一臺分機剛開始傳輸數(shù)據(jù)時,其它63臺分機同時申請傳輸數(shù)據(jù)。那么,傳輸64臺分機的數(shù)據(jù)的總時間t為:
上式中,第1項為n臺分機的數(shù)據(jù)傳輸時間,第二項為每臺分機檢測總線延時退避空閑間隔的最大值之和,第3項為每臺分機沖突退避空閑間隔的最大值之和。
將相關(guān)的數(shù)據(jù)帶入(4)式,得t=0.3s,完全能滿足醫(yī)院護理呼叫的時間響應(yīng)要求。
CSMA/CD技術(shù)及相應(yīng)的退避算法能有效地解決普通網(wǎng)絡(luò)信道占用沖突的退避問題,從而提高信道的使用率和信息的吞吐量。但小型的自組織網(wǎng)絡(luò)的信息吞吐量往往不大,因而信道的使用率和信息的吞吐量不是系統(tǒng)追求的主要目標。對于一些信息傳輸實時性要求比較高的自組織網(wǎng)絡(luò),如何及時傳輸信息是提高系統(tǒng)性能的關(guān)鍵因素。醫(yī)院護理系統(tǒng)中的通訊系統(tǒng)采用RS485總線結(jié)構(gòu),參考CSMA/CD構(gòu)建載波監(jiān)聽多路訪問/沖突檢測工作原理,設(shè)計基于“錯時退避”策略的延時退避算法和沖突退避算法,有效地降低信道爭用的沖突問題。特別是處理信道爭用二次沖突方面,與一般的CSMA/CD退避算法比較,有著明顯的優(yōu)勢,從而大大提高了信息傳輸?shù)膶崟r性。論文中的算法已應(yīng)用于多家醫(yī)院和養(yǎng)老院的護理呼叫系統(tǒng)中,性能可靠,達到預(yù)期的技術(shù)指標要求。
參考文獻
[1] 黎瓊,徐海峰. 智能家居中紅外控制系統(tǒng)通訊協(xié)議分析[J]. 微計算機信息(測控自動化),2007(1).
[2] 劉宏立,段正華. 具有動態(tài)分配重傳策略的CSMA/CD訪問協(xié)議性能分析[J]. 通信學報(計算機通信專集),1998.
[3] 鄭德華,陶繼偉. RS-485通訊協(xié)議在集散控制系統(tǒng)中的應(yīng)用[J]. 中國儀器儀表,2005(9).
[4] 劉宏立,童調(diào)生,段正華. CSMA/CD/RR協(xié)議模型分析及其在以太網(wǎng)絡(luò)中的應(yīng)用[J]. 長沙湖南大學學報 (自然科學版),2000(6).