基于以太網的醫(yī)院病人體溫遠程自動檢測系統(tǒng)設計
3.1 DS18B20驅動程序設計
單總線通信時只需要1根信號線,并嚴格按照特定的時序要求逐位交換信息,主機和從機允許數據雙向傳輸,但在同一時刻數據的傳輸只能是一個方向的。
(1)初始化時序
初始化時CPU首先發(fā)出一個復位信號將單線總線上所有DS18B20復位;然后釋放總線,改成接收狀態(tài),單線被上拉電阻R拉成高電平。在檢測到此上升沿后,DS18B20需要等待15~60μs才向CPU發(fā)出響應脈沖,此后便可對ROM,RAM進行操作。
(2)讀/寫時序
①寫時序。CPU把I/O線從高電平拉至低電平時,作為一個寫周期的開始。寫時序包括2種類型即寫1時序和寫0時序。
②讀時序。當CPU將I/O線從高電平拉成低電平時,就作為一個讀周期的開始,并且I/O線保持低電平至少為1μs。DS18B20的輸出數據至讀時序下降沿后的15μs內有效。經過15μs后讀時序結束,I/O線經外部上拉電阻又變成高電平。讀/寫1位數據至少需要60μs,并在兩位數據之間至少要有1μs的恢復期。讀/寫1位數據時序的波形如圖5所示。本文引用地址:http://butianyuan.cn/article/199728.htm
3.2 液晶顯示驅動程序設計
利用點陣液晶顯示模塊LM6038D的串口模式,其時序圖如圖6所示。
LM6038D的顯示驅動程序包含了字符庫,由于系統(tǒng)只是簡單地顯示溫度數據,所以字符庫做的比較小,只有“0~9”,“.”,“:”,“℃”,“+”以及“-”的字符編碼,采用16×16的字符大小。液晶每一頁只顯示4路DS18B20的數據,通過兩個按鍵可以上下翻頁查看其他DS18B20的數據。數據顯示格式:“1:+36.7℃”。
3.3 串口和網絡通信驅動程序設計
單片機和ZNE-100T‘模塊之間通過RS 232接口通信,采用中斷的方式進行串口通信。單片機串口初始化波特率為9 600 b/s,單片機在初始化時,就先通過串口對ZNE-100T進行初始化操作,包括設置服務器IP地址,本機IP地址、網關、掩碼以及服務器端口號等,連網成功后,綠色發(fā)光二極管會亮起。單片機單元加上ZNE-100T模塊,就構成了病房主機,它和醫(yī)院監(jiān)控中心之間的通信協(xié)議如下:
每個病房主機都有一個ID號。單片機每隔1 min把采集到的8路溫度數據按照通信協(xié)議打包之后通過串口發(fā)送給ZNE-100T,ZNE-100T則通過網口把數據發(fā)送到醫(yī)院監(jiān)控中心,此時紅色發(fā)光二極管會不斷的閃,表示正在發(fā)送數據。
4 醫(yī)院監(jiān)控中心
醫(yī)院監(jiān)控中心包括數據庫和監(jiān)控平臺。數據庫記錄從個病房主機發(fā)過來的病人的體溫數據,并且與病人的其他數據庫同步,便于醫(yī)生分析病人的病情變化。監(jiān)控平臺則實時顯示各床號病人的體溫數據,并對體溫變化異常的病床號進行預警,同時顯示相應的編號和床位信息,提示醫(yī)護人員注意檢查病人身體狀況。
5 測試結果和實際使用情況
(1)DS18B20溫度測量精度
在測試過程中選用了水銀體溫計同時測量溫度,以檢驗DS18B20的測量精度。在此測量20次體溫,DS18B20的測量結果和水銀體溫記的測量結果基本一致。
(2)監(jiān)控中心溫度顯示
在實際測試過程中,用5臺病房主機和監(jiān)控中心組成了一個測試網絡,可以在監(jiān)控中心實時看到各病房主機發(fā)送過來的溫度數據,每路溫度數據都可以以曲線或者數字的方式顯示。
6 結語
實踐表明,該系統(tǒng)可以穩(wěn)定地測量多個人體溫度,可以正常與監(jiān)控中心通信,并且可以實時地在病房主機上顯示測量的溫度數據。該系統(tǒng)具備穩(wěn)定性好,成本低廉,采用單總線測溫技術和以太網通信技術,便于實現分布式溫度測量,可以作為子系統(tǒng)模塊在醫(yī)院信息系統(tǒng)中應。
評論