無線病房呼叫系統(tǒng)的設(shè)計
關(guān)鍵詞:無線發(fā)射;串行通訊;呼叫系統(tǒng);單片機(jī)
1 引言
目前醫(yī)院使用的病房呼叫系統(tǒng)多為有線呼叫系統(tǒng),存在布線復(fù)雜、布線費用較高、易出故障、維修不便、明線不雅觀等缺陷。本文介紹的無線呼叫系統(tǒng)沒有上述缺點,安裝方便,成本低,使用簡單。
2 系統(tǒng)硬件設(shè)計
本系統(tǒng)利用MCS-51系列單片機(jī)的串行傳輸功能,將串行輸出信號傳送到發(fā)射電路,當(dāng)信號為高電平時高頻發(fā)射電路工作,并發(fā)射433 MHz等幅高頻信號,當(dāng)信號為低平時高頻發(fā)射電路停止工作,所以高頻發(fā)射電路完全受控于單片機(jī)串行輸出的數(shù)字信號,對高頻電路完成幅度鍵控(ASK調(diào)制)。采用超載波接收板接收高頻信號,信號解碼、聲光報警、動態(tài)顯示等功能由單片機(jī)完成。
2.1 系統(tǒng)主機(jī)的設(shè)計
本系統(tǒng)的主機(jī)以AT89C51為核心,電路如圖1所示,電源電路與從機(jī)電路電源部分(見圖2)相同。
主機(jī)電路包括高頻發(fā)射模塊、超載波接收模塊、數(shù)碼顯示驅(qū)動模塊、鍵盤掃描、聲光報警、復(fù)位電路等。待機(jī)情況下,數(shù)碼管顯示全零,聲光報警電路均不工作。當(dāng)病人按動安裝在床頭的從機(jī)按鍵時,安裝在護(hù)士站的主機(jī)收到信號后發(fā)出3聲“嘀”的提示音,同時發(fā)光二極管亮,數(shù)碼管顯示呼叫病人的床位號和呼叫次數(shù),醫(yī)生或護(hù)士根據(jù)顯示床位號進(jìn)行治療與服務(wù)。主機(jī)具有記憶最近呼叫的9組床位號及其呼叫次數(shù)的功能。
AT89C51中有一個全雙工異步串行通信接口,可用作UATR(通用異步接收和發(fā)送器),也可用作同步移位寄存器。在本系統(tǒng)設(shè)計中,UATR為串行工作方式1。單片機(jī)以串行通信方式工作時,串行口檢測到1個由“l(fā)”到“0”的跳變時開始啟動串行接收,且單片機(jī)在非串行通信時段內(nèi)的輸出為“1”,所以在發(fā)射電路之前和接收模塊之后均需再加1個非門,防止發(fā)射電路在非通信時一直處于發(fā)射狀態(tài),同時滿足單片機(jī)串行通信要求,保證單片機(jī)能夠正常收發(fā)數(shù)據(jù)。需要發(fā)射的數(shù)據(jù)信號從AT89C51的11引腳輸出經(jīng)反相后送到433MHz高頻發(fā)射電路發(fā)射。該高頻發(fā)射電路采用聲表面波(SAW)諧振器穩(wěn)頻,性能穩(wěn)定,無需任何調(diào)試即可正常工作。因為高頻接收電路易受干擾,不易調(diào)試,而市售成品接收模塊性能穩(wěn)定,價格低,故本系統(tǒng)中采用成品接收模塊,該接收模塊收到的信號經(jīng)反相后送入AT89C51的10引腳進(jìn)行解碼。
2.2 系統(tǒng)從機(jī)的設(shè)計
從機(jī)采用AT89C2051作為核心,主要完成串行通信、按鍵掃描、聲光警報等功能。單片機(jī)的Pl口設(shè)定為用戶可任意修改的數(shù)據(jù)腳,用戶通過撥碼器根據(jù)需要任意設(shè)定Pl口為高電平或低電平,共256種設(shè)置表示256個床位號,如圖2所示。
電路中設(shè)有1個呼叫按鍵,當(dāng)病人要呼叫護(hù)理總臺時,只要按下按鍵,此時指示燈閃亮。主機(jī)收到呼叫后發(fā)出聲光報警提醒值班醫(yī)生或護(hù)士,如果值班醫(yī)生或護(hù)士按主機(jī)回復(fù)鍵,則從機(jī)收到信號后發(fā)出聲光警報,指示燈閃4次,蜂鳴器發(fā)出3聲“嘀”,以提示病人醫(yī)生或護(hù)士已經(jīng)收到呼叫。從機(jī)的串行信號發(fā)射和接收電路與主機(jī)相同,不再詳述。
3 軟件設(shè)計
3.1 發(fā)射數(shù)據(jù)格式
單片機(jī)和接收模塊工作時,通常用戶可以自定義傳輸協(xié)議,不論用何種調(diào)制方式,所要傳遞的信息碼格式都很重要,它將直接影響數(shù)據(jù)收發(fā)的可靠性。常用信息碼格式為:前導(dǎo)碼+同步碼+數(shù)據(jù)幀。
前導(dǎo)碼發(fā)射時間應(yīng)大于10 ms,以避開背景噪聲,因為接收模塊接收到的第一位數(shù)據(jù)極易被干擾(即零電平干擾)而引起接收數(shù)據(jù)錯誤。所以在發(fā)射同步碼前加一些前導(dǎo)碼以抑制零電平干擾。同步碼主要用于區(qū)別前導(dǎo)碼及數(shù)據(jù),有一定的特征,使軟件通過一定的算法鑒別出同步碼,同時做好接收數(shù)據(jù)準(zhǔn)備。數(shù)據(jù)幀即是要傳送的信號。
本系統(tǒng)是運(yùn)用單片機(jī)的串行通信,數(shù)據(jù)每次發(fā)送4幀,第一幀為8位全0碼,第二幀為8位全1碼,這2幀數(shù)據(jù)是前導(dǎo)碼,實踐證明能良好抑制零電平干擾;第三幀為8位同步碼,以不同的同步碼構(gòu)成256組不同的呼叫系統(tǒng);第四幀8位表示256個不同的床位號。經(jīng)過軟件比較后,發(fā)現(xiàn)接收到的前2幀為全0碼和全l碼后才開始接收同步幀和數(shù)據(jù)幀。軟件判斷同步幀數(shù)據(jù)為本呼叫系統(tǒng)的同步碼后解碼數(shù)據(jù)幀,顯示床位號和呼叫次數(shù),并以聲光報警。
3.2 主機(jī)軟件設(shè)計
主機(jī)主程序主要完成系統(tǒng)參數(shù)的初始化、串口中斷配置、按鍵掃描、鍵值處理、聲光報警和掃描顯示等,其流程如圖3所示。串行發(fā)射和接收中斷子程序的流程圖如圖4和圖5所示。
3.3 從機(jī)軟件設(shè)計
從機(jī)主程序流程如圖6所示。從機(jī)串行發(fā)射和接收中斷子程序的流程同主機(jī)相同。
4 幾個可靠性問題的處理
選擇合理的通信速率。接收數(shù)據(jù)模塊的最大數(shù)據(jù)率為9.6K字節(jié),一般控制在2.5K字節(jié)左右,過高的數(shù)據(jù)速率會降低接收靈敏度及增大誤碼率,甚至使系統(tǒng)根本無法正常工作。本系統(tǒng)的波特率為2 604 b/s。
51系列單片機(jī)工作時,會產(chǎn)生比較強(qiáng)的電磁輻射,主要頻率在9 MHz~900 MHz,它會影響無線接收模塊的靈敏度。解決方法:一是對接收模塊采用獨立的5 V電源;二是布板時應(yīng)在單片機(jī)周圍增加大面積地層以減小單片機(jī)的電磁輻射;三是使用盡量低的單片機(jī)振蕩頻率,本系統(tǒng)采用4 MHz晶體振蕩器;四是對單片機(jī)進(jìn)行屏蔽。同時采用這些措施能較好地解決靈敏度干擾問題。
另外,采用軟件陷阱和軟件冗余等技術(shù)可提高系統(tǒng)抗干擾能力。
5 結(jié)束語
本系統(tǒng)目前已投入生產(chǎn),實際使用證明該系統(tǒng)工作可靠,故障率低,易于安裝維護(hù),使用方便。經(jīng)實測,穩(wěn)定可靠的呼叫距離可達(dá)100 m以上,能滿足實際使用要求。只需延長發(fā)射信號的同步碼和數(shù)據(jù)幀長度,就可方便地對系統(tǒng)進(jìn)行功能擴(kuò)展。
本系統(tǒng)不僅適用于醫(yī)院病房,稍加改進(jìn)還可廣泛應(yīng)用于需要多路防范戒備的防盜、大型停車場管理、酒店客房對總臺呼叫、教學(xué)提問搶答、無線航模、多種動作控制的無線遙控玩具等場合。