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