基于AT89C51的無線病房呼叫系統(tǒng)設(shè)計
病房呼叫系統(tǒng)作為一種基本醫(yī)療陪護(hù)設(shè)備已逐步得到普及并不斷得到改進(jìn)。傳統(tǒng)的病房呼叫系統(tǒng)采用PC 機(jī)聯(lián)網(wǎng)監(jiān)控和有線控制, 雖然具備很強(qiáng)的專業(yè)服務(wù)功能和監(jiān)護(hù)能力, 但是其實現(xiàn)方法復(fù)雜, 前期投資和后期維護(hù)的費用都很高。
本文引用地址:http://www.ex-cimer.com/article/273488.htm本文采用單片機(jī)實現(xiàn)無線數(shù)據(jù)傳輸通信和實時報警功能, 設(shè)計一套低成本通用型的病房呼叫系統(tǒng)。整個系統(tǒng)采用無線通信的方式, 降低了復(fù)雜的布線、安裝檢修和拆卸的難度, 并可監(jiān)控多個病房且便于擴(kuò)充升級。
1 系統(tǒng)方案設(shè)計
本設(shè)計采用從機(jī)和主機(jī)相分離的模式。從機(jī)安裝于各個病房, 主機(jī)安裝于醫(yī)務(wù)室或值班室。多個從機(jī)處于等待外部呼叫信號的狀態(tài), 主機(jī)則時刻處于等待接收從機(jī)呼叫信息的狀態(tài), 并且從機(jī)與主機(jī)之間采用無線數(shù)據(jù)
傳輸通信。當(dāng)病人按動安裝在床頭的從機(jī)按鍵時, 安裝在護(hù)士站的主機(jī)收到信號后發(fā)出提示音, 同時發(fā)光二極管亮, 數(shù)碼管顯示呼叫病人的床位號和呼叫次數(shù), 醫(yī)生或護(hù)士根據(jù)顯示床位號進(jìn)行治療與服務(wù)。
該病房呼叫系統(tǒng)的硬件設(shè)計主要包括主機(jī)硬件設(shè)計和從機(jī)硬件設(shè)計兩部分。主機(jī)硬件設(shè)計包含了射頻芯片
外圍電路、顯示部分、警報部分及AT89C51 芯片的簡單外圍電路的設(shè)計。從機(jī)硬件設(shè)計則包含射頻芯片外圍電路、外部輸入電路及AT89C51 芯片的簡單外圍電路的設(shè)計。
1.1 主機(jī)硬件電路設(shè)計
本系統(tǒng)以AT89C51 為控制器, 采用射頻芯片nRF401設(shè)計接收/發(fā)射電路,實現(xiàn)與從機(jī)的數(shù)據(jù)傳輸[1]。當(dāng)nRF401芯片接收并處理完接收數(shù)據(jù)后或控制器向nRF401 芯片傳輸發(fā)送信息時,nRF401 芯片與控制器之間的通信采用的是異步串行通信的方式。在這種通信方式下, 單片機(jī)的RXD 端和TXD 端分別與nRF401 芯片的DOUT 端和DIN 端連接, 用作兩者之間的數(shù)據(jù)串行傳輸通道。而P1.1 口與nRF401 芯片的TXEN 口連接,用來選擇nRF401芯片的工作狀態(tài)( 發(fā)射狀態(tài)或接收狀態(tài))。P1.2 口與nRF401 芯片的PWR-UP 口連接, 用來控制nRF401 芯片的節(jié)電狀態(tài)。P1.3 口與nRF401 芯片的CS 口連接, 用來選擇nRF401 芯片的發(fā)射頻率(該芯片有兩種發(fā)射頻率)。
此外,nRF401 芯片的ANT1 和ANT2 兩個端口與發(fā)射天線連接。nRF401 外圍電路如圖1 所示, 為了便于使用較低成本的PCB 天線, 本設(shè)計中的天線接口設(shè)計為差分天線[ 2]。本系統(tǒng)主機(jī)硬件電路設(shè)計如圖2 所示。
1.2 從機(jī)硬件電路設(shè)計
本設(shè)計中的一套病房呼叫系統(tǒng)擁有一個主機(jī)和多個從機(jī), 以此實現(xiàn)多個病房對安裝在醫(yī)務(wù)人員值班室中的主機(jī)的實時呼叫。從機(jī)控制器的外圍電路設(shè)計、射頻芯片nRF401 與控制器的連接方式及其外圍電路的設(shè)計都與主機(jī)一致, 不同是少了顯示和警報硬件電路而多了一個外部請求信息的接收電路。從機(jī)中的外部請求信息接收電路設(shè)計只是依靠一個P0.0 端口等待接收外部的高電平,一旦SB2 按下,發(fā)光二極管點亮,P0.0 口接到外部高電平,就迅速地進(jìn)行信息的發(fā)送,并且直到接收到主機(jī)反饋回來的發(fā)送成功信息后才自動結(jié)束本次呼叫, 繼續(xù)進(jìn)入等待外部請求信號的狀態(tài)。
2 系統(tǒng)軟件設(shè)計
在軟件設(shè)計的過程中必須考慮到系統(tǒng)通信的抗干擾性能和正常通信識別的具體實現(xiàn)方法, 以及解決信息碰撞的具體軟件實現(xiàn)方法。
2.1 主機(jī)程序設(shè)計
主機(jī)程序設(shè)計主要包括初始化程序、發(fā)送數(shù)據(jù)程序、接收數(shù)據(jù)程序、延時程序、LED 顯示程序及蜂鳴器報警程序等。這些程序并沒有以子程序的方式來實現(xiàn), 這是因為每一個功能的實現(xiàn)并不完全獨立, 而是相互交織在一起, 這就使得采用調(diào)用子程序的方式去實現(xiàn)變得相當(dāng)困難。本設(shè)計中采用單片機(jī)匯編語言編寫系統(tǒng)功能模塊程序。主機(jī)的主程序流程如圖3 所示。
2.2 從機(jī)程序設(shè)計
從機(jī)的程序設(shè)計主要包括初始化程序、外部呼叫信號等待程序、數(shù)據(jù)接收程序、數(shù)據(jù)發(fā)送程序、延時程序等主要程序。這里需要說明的是在設(shè)計外部呼叫信號等待程序時, 在接收到外部呼叫信息后, 需要經(jīng)過一段延時(約30 ms)后再進(jìn)行采樣看是否是瞬時干擾信號。
3 系統(tǒng)通信協(xié)議設(shè)計
3.1 系統(tǒng)無線通信協(xié)議設(shè)計
由于本設(shè)計的無線網(wǎng)絡(luò)系統(tǒng)中存在一個中心( 主機(jī))和多個用戶端( 從機(jī)) , 因此本系統(tǒng)呈現(xiàn)為點對多點的通信方式, 協(xié)議為點到多點的通信協(xié)議。在整個病房呼叫系統(tǒng)所設(shè)計的通信系統(tǒng)中, 無論是在發(fā)射請求信息還是在發(fā)射應(yīng)答信息時, 發(fā)射的數(shù)據(jù)量始終保持固定的字節(jié)數(shù)且信息結(jié)構(gòu)簡單, 數(shù)據(jù)量較小; 而且為了降低發(fā)射信息出現(xiàn)碰撞的概率, 在該系統(tǒng)中從機(jī)的數(shù)量有一定限制, 因此在本設(shè)計中采用了比較簡單的純ALOHA 法來解決信息碰撞的問題[ 3]。
3.2 通信協(xié)議數(shù)據(jù)幀設(shè)計
本系統(tǒng)采用固定字節(jié)長度的數(shù)據(jù)幀, 并使得請求信息數(shù)據(jù)幀和應(yīng)答信息數(shù)據(jù)幀格式相互對應(yīng), 從機(jī)請求信息數(shù)據(jù)傳輸采用引導(dǎo)字頭、接收地址、發(fā)送地址和校驗字的數(shù)據(jù)幀格式, 而主機(jī)應(yīng)答信息數(shù)據(jù)傳輸采用引導(dǎo)字頭、接收地址、確認(rèn)指令和校驗字的數(shù)據(jù)幀格式。
(1) 引導(dǎo)字頭: 對主機(jī)而言, 為了隨時接收從機(jī)發(fā)送的請求信息, 其射頻芯片nRF401 總是處于接收狀態(tài)。本設(shè)計的傳輸協(xié)議中, 數(shù)據(jù)幀的引導(dǎo)字采用OxFF 后跟OxAA 作為通信同步碼, 接收協(xié)議只能夠接收以O(shè)xFF 后跟OxAA 開始的數(shù)據(jù)包。要注意的是, 上面已經(jīng)說明的引導(dǎo)字頭前還要再加一個隨機(jī)字節(jié), 因為起始傳輸時第一個字節(jié)往往是接收不到的, 它的作用是使接收機(jī)進(jìn)入狀態(tài)抑制噪聲, 在本設(shè)計中該隨機(jī)字節(jié)采用Ox00 。
(2) 接收地址: 接收地址既包括從機(jī)發(fā)送請求信息中的接收地址, 也包括主機(jī)發(fā)送應(yīng)答信息中的接收地址。在醫(yī)院的病房樓中, 很可能存在多套同規(guī)格的射頻無線病房呼叫系統(tǒng)同時工作。這樣就必須給每一個主機(jī)編上代碼, 才能使主機(jī)確認(rèn)接收的信息是否是發(fā)送給自己的, 這個主機(jī)編號同時也就作為了從機(jī)發(fā)送請求信息時的接收地址。而每個主機(jī)下的從機(jī)也會有一個對應(yīng)的編號, 這個編號在本設(shè)計中就采用病房號, 也就是主機(jī)發(fā)送應(yīng)答信息時的接收地址。
(3) 發(fā)送地址: 發(fā)送地址既存在于從機(jī)發(fā)送的請求信息中也存在于主機(jī)回復(fù)的應(yīng)答信息中。從機(jī)請求信息中的發(fā)送地址是提供給主機(jī)用于顯示的病房號, 也是在主機(jī)發(fā)送應(yīng)答信息時的接收地址。通過應(yīng)答信息中的接收地址, 從機(jī)可以判斷出該接收到的信息是否是發(fā)給自己的。如果不是, 從機(jī)將重新發(fā)送一遍請求信息, 否則將繼續(xù)接收確認(rèn)信息。同理, 主機(jī)也可以根據(jù)請求信息中的發(fā)送地址確認(rèn)發(fā)送信息的是否是自己轄區(qū)內(nèi)的從機(jī), 如果不是將不予以接收顯示。
(4) 確認(rèn)指令: 確認(rèn)指令用于主機(jī)通告從機(jī)信息發(fā)送是否正確。在本設(shè)計中,采用OxFF 作為信息發(fā)送正確的指令,而采用OxEE 作為信息發(fā)送錯誤的指令。事實上,在本設(shè)計的軟件設(shè)計中,為了確保信息的準(zhǔn)確發(fā)送,只要確認(rèn)信息不是OxFF,則從機(jī)就會自動地重新發(fā)送信息。
(5) 校驗字: 校驗方法包括奇偶校驗、CRC 校驗等, 但是本設(shè)計中采用一種相加校驗的方法。這種方法的具體實現(xiàn)是: 發(fā)送機(jī)把除了引導(dǎo)字以外的數(shù)字幀信息相加作為校驗字發(fā)送給接收機(jī), 接收機(jī)在接收信息時也把除了引導(dǎo)字和校驗字以外的數(shù)字幀信息相加并把相加結(jié)果與校驗字比較看是否相等, 若相等則說明發(fā)送成功, 否則說明發(fā)送失敗。
4 系統(tǒng)混合信號PCB 板設(shè)計
系統(tǒng)印制電路板(PCB) 設(shè)計對于獲得優(yōu)良的RF 性能是至關(guān)重要的, 本系統(tǒng)PCB 使用雙面板, 分為元件面和底面, 具體設(shè)計時充分注意了以下兩點:
(1) 保證系統(tǒng)充分接地。在底面設(shè)計一個連續(xù)的接地面, 元件面的接地面保證元件充分接地, 大量的通孔鏈
接元件面的接地面和底面的接地面。
(2) 零件的布局要盡量合理, 模擬電源和數(shù)字電源要分離以避免互相干擾。射頻電路的電源使用高性能的射頻電容去耦, 去耦電容盡可能靠近nRF401 的VDD 端。一般還在較大容量的表面貼裝電容旁并聯(lián)一個小數(shù)值的電容。nRF401 的電源必需經(jīng)過很好的濾波, 并且與數(shù)字電路供電分離。
蜂鳴器相關(guān)文章:蜂鳴器原理
評論