基于ARM的數字化病房呼叫系統
按鍵任務通過檢測設備或者呼叫手柄來來判斷當前床位是否有通話請求,若檢測到呼叫鍵已按下,當接收到主機詢問/查詢命令后則向主機發送通話請求命令,服務臺收到通話請求后可選擇接聽或掛斷,服務臺發送接聽命令后,分機收到回復信息則建立通話通道,打開麥克風,進行通話,由于語音數據量太大,所以,必須對語音數據進行壓縮,本系統采用speex1.2壓縮方式進行8:1壓縮,壓縮后的數據通過RS485方式發送到主機,直接轉發到服務臺,服務臺將接收到的語音數據通過RS232的方式發送到語音解碼器,語音解碼器對數據進行解壓后完成播放。服務臺的語音數據則直接通過麥克及功放設備到傳送到病人所在的病房。語音通話流程如圖5所示。本文引用地址:http://www.104case.com/article/198951.htm
LCD顯示任務當判斷有顯示需求時,將從由協議解析獲取到的信息重新封裝后顯示,如:顯示提示信息,病人基本信息,手術安排時間,當前住院費用等。其中提示信息采用滾動顯示的方式,當提示信息的內容大于8個漢字時,則進行滾動處理并顯示。LCD顯示流程如圖6所示。
為避免出現總線競爭,分機不允許主動向主機發送數據,由主機發送詢問/查詢命令,分機收到命令后做出回復的方式進行通信。在進入語音通話模式后,語音數據可不等待主機詢問/查詢命令直接通過RS485發送。
3 傳輸安全
由于信號在傳送過程中容易受到噪聲干擾,同時,采用UDP不可靠的網絡傳輸方式。所以,為保證系統正常通訊,對指令進行校驗是必不可少的。主機、分機、PC服務臺對指令進行校驗,判斷指令出錯的情況下,采用重發機制來保證系統正確、正常通訊。本系統采用循環校驗碼(CRC碼)校驗。
3.1 循環校驗碼(CRC碼)
循環校驗碼是數據通信領域中常用的一種差錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。
3.2 生成CRC碼的基本原理
任意一個由二進制位串組成的代碼都可以和一個系數僅為‘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
發送方通過指定的g(x)產生CRC碼字,接收方則通過該g(x)來驗證收到的CRC碼字。
4 結束語
系統利用單片機的自動控制特性,使得系統穩定、可靠。系統采用的元器件均是常見的電子元器件,因此系統硬件成本較低。分機具有較低的功耗,并且具有較好的擴展性。主機與分機的通信穩定,實時性好,能滿足各種規模醫院的要求,有很好的應用前景。
評論