淺析基于以太網(wǎng)的病人體溫遠程自動(dòng)檢測系統設計方案
醫院病人體溫等參數的遠程自動(dòng)檢測系統是醫院數字化建設中的一個(gè)重要項目。該設計主要是針對醫院病人體溫進(jìn)行遠程自動(dòng)檢測,采用分布式多點(diǎn)溫度采集技術(shù),并通過(guò)以太網(wǎng)通信技術(shù)傳輸到醫院監控中心,值班醫生和護士通過(guò)監控中心可以實(shí)時(shí)了解病人的體溫變化,監控中心可以對病人的體溫異常進(jìn)行報警和相應的記錄,并且與病人數據庫同步,方便醫生對病人病情的分析。
本文引用地址:http://dyxdggzs.com/article/201809/388760.htm1 系統總體設計方案
該系統總體設計框圖如圖1所示。整個(gè)系統采用三級結構,即醫院監控中心、病房主機和溫度傳感器。其中病房主機采用單片機AT89C52為主控單元,主要實(shí)現網(wǎng)絡(luò )通信、溫度采集和顯示。網(wǎng)絡(luò )通信是通過(guò)周立功公司開(kāi)發(fā)的以太網(wǎng)轉串口模塊ZNE-100T實(shí)現的,每臺ZNE-100T都可以設定IP地址和服務(wù)器 IP地址,便于構成分布式測溫網(wǎng)絡(luò )。測溫元件采用美國DALLAS半導體公司生產(chǎn)的數字溫度傳感器DS18B20,每個(gè)DS18 B20都有惟一的ID號,體積小,可以封裝成普通溫度計大小,其拉線(xiàn)最長(cháng)距離可達80 m,便于分布式安放在病人身上。溫度數據可以在病房主機的液晶上滾動(dòng)顯示。醫院監控中心和各病房主機之間的網(wǎng)絡(luò )通信,采用C-S架構,病房主機每分鐘向醫院監控中心發(fā)送各路溫度數據。醫院監控中心接收來(lái)自各病房主機的數據,可以以曲線(xiàn)或者數字的方式實(shí)時(shí)顯示各病人溫度變化情況,并進(jìn)行異常處理和相應信息記錄,并且與病人數據庫同步,及時(shí)提醒值班醫生和護士關(guān)注病人情況。
2 硬件設計
2.1 單片機主控單元設計
單片機AT89C52是一個(gè)低電壓,高性能CMOS8位單片機,片內含8 KB的FLASH和256 B的RAM,片內置通用8位中央處理器,具備32個(gè)雙向I/O口。其中單片機的P0口用于現場(chǎng)顯示電路,采用點(diǎn)陣液晶顯示模塊LM6038D,可以滾動(dòng)顯示各個(gè)病人的體溫;P1口用于接單總線(xiàn)數字溫度傳感器DS18B20;P2口用于現場(chǎng)控制電路,包括按鍵、指示燈等;P3口的P3.0(RXD)和 P3.1(TXD)用于和ZNE-100T的串口通信。系統采用5V供電。
2.2 單總線(xiàn)溫度采集電路設計
DS18B20的測量范圍為-55~+125℃;在-10~+85℃時(shí),它的精度為±0.625℃,通過(guò)特殊處理,可以達到0.1℃。
單總線(xiàn)數字溫度傳感器DS18B20的電路連接方式主要有兩種,如圖2所示。該設計采用外接電源方式,如圖2(b)所示。理論上單片機的每個(gè)端口可以接無(wú)數個(gè)DS18B20,但是單片機端口負載能力有限,P1口的每個(gè)端口(P1.0至P1.7)只能推動(dòng)8個(gè)DS18B20。該設計中只用P1.0端口接了8 只DS18B20。
2.3 以太網(wǎng)通信電路設計
ZNE-100T是采用RS 232接口(DB9接頭)與單片機通信的,而單片機只能用TTL電平,因此,必須設計一個(gè)RS 232轉換電路與之通信。RS 232轉換芯片選用Maxim公司的MAX232E。其轉換電路如圖3所示。
2.4 液晶顯示電路設計
液晶顯示模塊采用拓譜微公司生產(chǎn)的LM6038D點(diǎn)陣液晶模塊,該模塊有128(列)×64(行)個(gè)像素點(diǎn),另外每列多設計了4個(gè)像素點(diǎn),實(shí)際上是 132×64個(gè)像素點(diǎn),分成9頁(yè)。該設計充分利用了多出的4個(gè)像素點(diǎn),做成了一個(gè)滾動(dòng)條,通過(guò)按鍵可以操作滾動(dòng)條,以便用戶(hù)翻頁(yè)查看顯示的內容。
2.5 控制電路設計
該設計設計了兩個(gè)按鍵,分別接在單片機的P2.0和P2.1引腳上,分別用于控制液晶顯示屏滾動(dòng)條的上下拉。還設計了兩個(gè)指示燈,分別接在單片機的P2.2和P2.3引腳上,分別用于指示發(fā)送數據指示(紅色發(fā)光二極管)和連網(wǎng)成功指示(綠色發(fā)光二極管)。
2.6 看門(mén)狗電路設計
為防止系統死循環(huán),提高系統的可靠性,采用了MAX813L看門(mén)狗電路。其最大超時(shí)為1.6 s,高電平復位,即RESET腳保持狀態(tài)1.6 s后就發(fā)一復位信號。因此,程序中必須每1.6 s內改變RESET狀態(tài)1次。
3 單片機程序設計
該系統單片機程序采用C語(yǔ)言編寫(xiě)。程序首先對硬件進(jìn)行初始化,包括對單片機AT89C52寄存器的初始化、DS18B20內部RAM的初始化、液晶顯示模塊LM6038D的初始化以及對以太網(wǎng)通信模塊ZNE-100T的初始化。程序通過(guò)分時(shí)法輪流采集8只DS18B20的溫度讀數,并實(shí)時(shí)在液晶上顯示,用戶(hù)通過(guò)操作按鍵可以翻頁(yè)查看8只DS18B20的溫度數據,單片機每隔1min通過(guò)串口把8路溫度數據打包后發(fā)送給以ZNE-100T,ZNE- 100T、實(shí)時(shí)把數據傳輸到醫院監控中心。系統流程圖如圖4所示。主要的子程序有:DS18B20驅動(dòng)程序、液晶顯示驅動(dòng)程序和串口和網(wǎng)絡(luò )通信驅動(dòng)程序。
3.1 DS18B20驅動(dòng)程序設計
單總線(xiàn)通信時(shí)只需要1根信號線(xiàn),并嚴格按照特定的時(shí)序要求逐位交換信息,主機和從機允許數據雙向傳輸,但在同一時(shí)刻數據的傳輸只能是一個(gè)方向的。
(1)初始化時(shí)序
初始化時(shí)CPU首先發(fā)出一個(gè)復位信號將單線(xiàn)總線(xiàn)上所有DS18B20復位;然后釋放總線(xiàn),改成接收狀態(tài),單線(xiàn)被上拉電阻R拉成高電平。在檢測到此上升沿后,DS18B20需要等待15~60μs才向CPU發(fā)出響應脈沖,此后便可對ROM,RAM進(jìn)行操作。
(2)讀/寫(xiě)時(shí)序
①寫(xiě)時(shí)序。CPU把I/O線(xiàn)從高電平拉至低電平時(shí),作為一個(gè)寫(xiě)周期的開(kāi)始。寫(xiě)時(shí)序包括2種類(lèi)型即寫(xiě)1時(shí)序和寫(xiě)0時(shí)序。
②讀時(shí)序。當CPU將I/O線(xiàn)從高電平拉成低電平時(shí),就作為一個(gè)讀周期的開(kāi)始,并且I/O線(xiàn)保持低電平至少為1μs。DS18B20的輸出數據至讀時(shí)序下降沿后的15μs內有效。經(jīng)過(guò)15μs后讀時(shí)序結束,I/O線(xiàn)經(jīng)外部上拉電阻又變成高電平。讀/寫(xiě)1位數據至少需要60μs,并在兩位數據之間至少要有 1μs的恢復期。讀/寫(xiě)1位數據時(shí)序的波形如圖5所示。
3.2 液晶顯示驅動(dòng)程序設計
利用點(diǎn)陣液晶顯示模塊LM6038D的串口模式,其時(shí)序圖如圖6所示。
LM6038D的顯示驅動(dòng)程序包含了字符庫,由于系統只是簡(jiǎn)單地顯示溫度數據,所以字符庫做的比較小,只有“0~9”,“.”,“:”,“℃”,“+”以及“-”的字符編碼,采用16×16的字符大小。液晶每一頁(yè)只顯示4路DS18B20的數據,通過(guò)兩個(gè)按鍵可以上下翻頁(yè)查看其他DS18B20的數據。數據顯示格式:“1:+36.7℃”。
3.3 串口和網(wǎng)絡(luò )通信驅動(dòng)程序設計
單片機和ZNE-100T‘模塊之間通過(guò)RS 232接口通信,采用中斷的方式進(jìn)行串口通信。單片機串口初始化波特率為9 600 b/s,單片機在初始化時(shí),就先通過(guò)串口對ZNE-100T進(jìn)行初始化操作,包括設置服務(wù)器IP地址,本機IP地址、網(wǎng)關(guān)、掩碼以及服務(wù)器端口號等,連網(wǎng)成功后,綠色發(fā)光二極管會(huì )亮起。單片機單元加上ZNE-100T模塊,就構成了病房主機,它和醫院監控中心之間的通信協(xié)議如下:
每個(gè)病房主機都有一個(gè)ID號。單片機每隔1 min把采集到的8路溫度數據按照通信協(xié)議打包之后通過(guò)串口發(fā)送給ZNE-100T,ZNE-100T則通過(guò)網(wǎng)口把數據發(fā)送到醫院監控中心,此時(shí)紅色發(fā)光二極管會(huì )不斷的閃,表示正在發(fā)送數據。
4 醫院監控中心
醫院監控中心包括數據庫和監控平臺。數據庫記錄從個(gè)病房主機發(fā)過(guò)來(lái)的病人的體溫數據,并且與病人的其他數據庫同步,便于醫生分析病人的病情變化。監控平臺則實(shí)時(shí)顯示各床號病人的體溫數據,并對體溫變化異常的病床號進(jìn)行預警,同時(shí)顯示相應的編號和床位信息,提示醫護人員注意檢查病人身體狀況。
5 測試結果和實(shí)際使用情況
(1)DS18B20溫度測量精度
在測試過(guò)程中選用了水銀體溫計同時(shí)測量溫度,以檢驗DS18B20的測量精度。在此測量20次體溫,DS18B20的測量結果和水銀體溫記的測量結果基本一致。
(2)監控中心溫度顯示
在實(shí)際測試過(guò)程中,用5臺病房主機和監控中心組成了一個(gè)測試網(wǎng)絡(luò ),可以在監控中心實(shí)時(shí)看到各病房主機發(fā)送過(guò)來(lái)的溫度數據,每路溫度數據都可以以曲線(xiàn)或者數字的方式顯示。
6 結語(yǔ)
實(shí)踐表明,該系統可以穩定地測量多個(gè)人體溫度,可以正常與監控中心通信,并且可以實(shí)時(shí)地在病房主機上顯示測量的溫度數據。該系統具備穩定性好,成本低廉,采用單總線(xiàn)測溫技術(shù)和以太網(wǎng)通信技術(shù),便于實(shí)現分布式溫度測量,可以作為子系統模塊在醫院信息系統中應。
評論