基于ARM的數(shù)字化病房呼叫系統(tǒng)
摘要:詳細介紹了基于ARM的數(shù)字化病房呼叫系統(tǒng)的設計。以微控制器STM3210為核心控制終端設備接收和發(fā)送,采用RS232、RS485及UDP通信技術,實現(xiàn)了終端設備與服務臺之間語音和通訊命令傳輸。該系統(tǒng)在實際使用中效果良好。
關鍵字:RS485;RS232;UDP;語音信息;通訊命令
數(shù)字化病房呼叫系統(tǒng)是一種應用于醫(yī)院病房、養(yǎng)老院等地方,用來聯(lián)系溝通醫(yī)護人員和病員的專用呼叫系統(tǒng),是提高醫(yī)院護理水平的必備設備之一。
目前市場上存在著許多醫(yī)院病房呼叫系統(tǒng),主要為有線式和無線式兩大類。
無線式系統(tǒng)采用無線傳輸,但是無線電波會干擾其它醫(yī)療儀器設備,同時醫(yī)療設備也會影響該呼叫系統(tǒng)的正常通訊,導致設備不能正常工作等狀況;傳統(tǒng)的有線式病房呼叫系統(tǒng)采用集中式結構,電源線、數(shù)據(jù)通信線、語音通信線分開傳輸,具有較好的穩(wěn)定性。目前大多數(shù)醫(yī)院采用此類有線呼叫系統(tǒng)。
本系統(tǒng)以ARM為核心設計,整個系統(tǒng)只需一條網(wǎng)線即可完成通訊。主機通過網(wǎng)線向各終端設備即分機提供數(shù)據(jù)通信和語音通信的通道,同時終端設備的供電也由該網(wǎng)線提供。在系統(tǒng)沒計中每臺主機最多可容納8臺分機,采用多種軟、硬件抗干擾措施,使得系統(tǒng)抗干擾能力強、實時性好、可靠性高。
該設備具有病人信息顯示、愛心提示、收聽廣播、音樂、語話等功能,具有可靠性高、穩(wěn)定性好、功能強大等優(yōu)點,在現(xiàn)代醫(yī)院具有實用價值。
1 系統(tǒng)設計
數(shù)字病房呼叫系統(tǒng)設計主要分為四部分,PC服務臺、主機、分機、語音解碼器。如圖1所示。
1.1 主機
主機采用YC2440芯片控制,主要功能如下所述。
(1)對分機上傳通訊命令分配ID,重新封裝后上傳給PC服務臺。
(2)對控制平臺發(fā)送的控制及提示信息進行下發(fā)。
(3)循環(huán)向該主機管理的所有終端設備發(fā)送詢問/查詢指令,查詢是否有設備存在通訊請求。
1.2 分機
分機即床頭終端設備,由STM3210控制。在終端設計中,通過跳線,經(jīng)A/D轉(zhuǎn)換后以查詢的方式而獲得床位信息。這種通過跳線配置床號的方式,有利于設備的安裝、調(diào)試及日后維修。由于系統(tǒng)設計中采用三個跳線,所以,同一臺主機最多可搭載8個終端沒備。
分機與主機的通訊通道主要由網(wǎng)線提供,網(wǎng)線由4組交叉線組成。兩組分別提供與主機之間通訊數(shù)據(jù)的接收和發(fā)送。采用這種交叉線的方式可減少信號傳輸過程中的噪聲干擾。剩余的兩組交叉線一組提供分機的電源,剩余一組備用。
分機設計有設備按鍵和呼叫手柄,及LCD顯示屏。設備按鍵和呼叫手柄的功能包括:呼叫、取消呼叫、改變LCD工作模式、取消信息提示等。LCD顯示屏主要用來顯示當前病人的基本信息,如:姓名,年齡,護理等級,病例信息以及由服務臺發(fā)送的提示消息。LCD顯示屏有三種工作模式,空床位、白天、夜間。用戶可以通過設備按鍵選擇其工作模式同時服務臺也可統(tǒng)一改變工作模式。
1.3 語音解碼器
語音解碼器主要用來播放終端設備的語音信息,采用STM3210主芯片控制。在本系統(tǒng)的設計中,分機上傳的語音信息由護士站PC服務臺通過RS232的方式轉(zhuǎn)發(fā)到語音解碼器,最終由解碼器進行解壓進行播放,由護士服務臺下傳的語音信息,則直接采用廣播的方式發(fā)送到病人所在的病房。采用這種方式,造成的不便之處是存護士站與某一個分機語音通信的過程中,會影響到其他病人的正常休息。
1.4 設備連接
在主機與分機的通信過程中采用RS485的通信方式,因為這種方式的傳輸距離可以達到上千米,為設備的正常通訊提供了基本得保障,同時由于它的接線方式,如果某一個分機出現(xiàn)故障,也不會影響其他分機的止常工作。RS485是一種串行的主從通信協(xié)議,具有“單主多從”的特點,所以網(wǎng)絡中只有一個設備(主機)能夠建立通信(稱為“查詢/命令”)。其它設備(從機)只能通過提供數(shù)據(jù)響應主機的查詢/命令,或根據(jù)主機的命令/查詢做出相應的動作。然而由于RS485采用的是異步串行、半雙工傳輸方式,在同一時刻主機和從機之間只能有一個發(fā)送數(shù)據(jù),而另一個只能接收數(shù)據(jù)。 為提高系統(tǒng)的實時性,在該系統(tǒng)的設計中,主機和分機的之間的數(shù)據(jù)的收發(fā)采用獨立的方式,即采用兩個獨立的SP13485芯片,可以保證主機或分機同時接收與發(fā)送數(shù)據(jù)。主機與分機通信接線如圖2所示。
主機同服務臺PC之間的通訊采用UDP方式。UDP方式是一種不可靠的無連接協(xié)議。在數(shù)據(jù)發(fā)送前,因為不需要進行連接,所以可以進行高效率的數(shù)據(jù)傳輸。與TCP協(xié)議相比,具有傳輸速度高的優(yōu)點,更好的滿足醫(yī)療呼叫系統(tǒng)的實時性要求。通過UDP方式直接連接護士站服務臺,由服務臺對終端設備的請求做出回復。
2 軟件設計
系統(tǒng)軟件結構主要分為主機和分機兩部分。
2.1 主機工作流程
主機采用wince5.0系統(tǒng),主要分為通訊數(shù)據(jù)接收、發(fā)送、查詢/詢問命令發(fā)送三個任務,其中主機查詢/詢問命令,通過RS485接口每間隔100ms發(fā)送一次。
主機通過RS485接口接收分機發(fā)送的數(shù)據(jù),經(jīng)過解析,確定接收的數(shù)據(jù)正確性,對接收數(shù)據(jù)重新封裝,添加標識符后通過UDP方式轉(zhuǎn)發(fā)到PC服務臺,等待服務臺對分機的請求做出相應。同時,主機將接收到的服務臺命令解析后下發(fā)到對應的分機,等待分機做出回應。
2.2 分機工作流程
分機采用μC/OS-Ⅱ操作系統(tǒng),主要分為RS485接收、協(xié)議解析、按鍵檢測、LCD顯示、語音通信五個任務。
在通訊過程中,分機通過RS485接收主機發(fā)送的數(shù)據(jù),獲取到數(shù)據(jù)后發(fā)送信號量,在協(xié)議解析任務獲得信號量后,開始對收到的命令進行協(xié)議解析,經(jīng)過協(xié)議解析,通知LCD顯示仟務、通話任務、信息提示燈提示任務等,RS485接收數(shù)據(jù)流程如圖3所示,協(xié)議解析流程如圖4所示。
按鍵任務通過檢測設備或者呼叫手柄來來判斷當前床位是否有通話請求,若檢測到呼叫鍵已按下,當接收到主機詢問/查詢命令后則向主機發(fā)送通話請求命令,服務臺收到通話請求后可選擇接聽或掛斷,服務臺發(fā)送接聽命令后,分機收到回復信息則建立通話通道,打開麥克風,進行通話,由于語音數(shù)據(jù)量太大,所以,必須對語音數(shù)據(jù)進行壓縮,本系統(tǒng)采用speex1.2壓縮方式進行8:1壓縮,壓縮后的數(shù)據(jù)通過RS485方式發(fā)送到主機,直接轉(zhuǎn)發(fā)到服務臺,服務臺將接收到的語音數(shù)據(jù)通過RS232的方式發(fā)送到語音解碼器,語音解碼器對數(shù)據(jù)進行解壓后完成播放。服務臺的語音數(shù)據(jù)則直接通過麥克及功放設備到傳送到病人所在的病房。語音通話流程如圖5所示。
LCD顯示任務當判斷有顯示需求時,將從由協(xié)議解析獲取到的信息重新封裝后顯示,如:顯示提示信息,病人基本信息,手術安排時間,當前住院費用等。其中提示信息采用滾動顯示的方式,當提示信息的內(nèi)容大于8個漢字時,則進行滾動處理并顯示。LCD顯示流程如圖6所示。
為避免出現(xiàn)總線競爭,分機不允許主動向主機發(fā)送數(shù)據(jù),由主機發(fā)送詢問/查詢命令,分機收到命令后做出回復的方式進行通信。在進入語音通話模式后,語音數(shù)據(jù)可不等待主機詢問/查詢命令直接通過RS485發(fā)送。
3 傳輸安全
由于信號在傳送過程中容易受到噪聲干擾,同時,采用UDP不可靠的網(wǎng)絡傳輸方式。所以,為保證系統(tǒng)正常通訊,對指令進行校驗是必不可少的。主機、分機、PC服務臺對指令進行校驗,判斷指令出錯的情況下,采用重發(fā)機制來保證系統(tǒng)正確、正常通訊。本系統(tǒng)采用循環(huán)校驗碼(CRC碼)校驗。
3.1 循環(huán)校驗碼(CRC碼)
循環(huán)校驗碼是數(shù)據(jù)通信領域中常用的一種差錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。
3.2 生成CRC碼的基本原理
任意一個由二進制位串組成的代碼都可以和一個系數(shù)僅為‘0’和‘1’取值的多項式一一對應。例如:代碼1010111對應的多項式為x5+x4+x2+x+1,而多項式為x5+x3+x2+x+1對應的代碼101111。
3.3 CRC碼集選擇的原則
若設碼字長度為N,信息字段為K位,校驗字段為R位(N=K+R),則對于CRC碼集中的任一碼字,存在且僅存在一個R次多項式g(x),使得
V(x)=A(x)g(x)=xRm(x)+r(x);
其中:m(x)為K次信息多項式,r(x)為R-1次校驗多項式,
g (x)稱為生成多項式:
g (x)=g0+g1x+g2x2+…+g(R-1)x(R-1)+gRxR
發(fā)送方通過指定的g(x)產(chǎn)生CRC碼字,接收方則通過該g(x)來驗證收到的CRC碼字。
4 結束語
系統(tǒng)利用單片機的自動控制特性,使得系統(tǒng)穩(wěn)定、可靠。系統(tǒng)采用的元器件均是常見的電子元器件,因此系統(tǒng)硬件成本較低。分機具有較低的功耗,并且具有較好的擴展性。主機與分機的通信穩(wěn)定,實時性好,能滿足各種規(guī)模醫(yī)院的要求,有很好的應用前景。