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