數(shù)字無中心系統(tǒng)呼叫控制協(xié)議的設計和實現(xiàn)
無中心移動通信系統(tǒng)是我國專業(yè)移動通信系統(tǒng)的重要組成部分。它使用單工對講方式工作,工作頻率在915.012 5~916.087 5 MHz之間。該系統(tǒng)具有無中心組網(wǎng)、數(shù)字選呼、自動接續(xù)、多址用戶多信道共用、鏈路分散控制等諸多技術(shù)特點,擁有廣闊的實際應用前景和深入開發(fā)潛力。該系統(tǒng)網(wǎng)絡結(jié)構(gòu)圖如圖1所示。目前我國的900 MHz無中心移動通信系統(tǒng)尚處在以模擬話音加數(shù)字信令為主導技術(shù)的模擬階段。針對無中心呼叫控制協(xié)議的數(shù)字化研究尚處于空白。
無中心系統(tǒng)的數(shù)字化是將語音和控制信令進行數(shù)字化編碼,以二進制碼流形式傳播。本系統(tǒng)平臺使用CML公司MX618芯片進行語音編碼,MX7041芯片對語音和信令進行4FSK基帶調(diào)制,ARM7處理器作為系統(tǒng)的運算控制核心。在此開發(fā)環(huán)境下,本文以數(shù)字無中心呼叫控制層協(xié)議為研究對象,提出并設計了一套基于無中心體制的呼叫控制協(xié)議數(shù)字化解決方案。該方案已應用于數(shù)字無中心對講機的嵌入式系統(tǒng)開發(fā)中。
1 數(shù)字無中心呼叫控制協(xié)議概述
ETSITS 102490-DPMR標準描述了無中心系統(tǒng)的協(xié)議分層結(jié)構(gòu),如圖2所示。呼叫控制協(xié)議處于無中心系統(tǒng)協(xié)議棧第三層,位于數(shù)據(jù)鏈路層之上,應用層之下,是無中心系統(tǒng)的控制核心。
它為整個系統(tǒng)提供基本通話的建立、保持、拆線;點對點通話以及組呼;通話對象的選擇;遲后進入、呼叫轉(zhuǎn)移等功能的支持。同時為承載數(shù)據(jù)、語音業(yè)務的數(shù)據(jù)鏈路層以及實施具體功能的應用層提供接口,并且需要提供完備的上下層通用接口為將來的協(xié)議升級預留空間。
呼叫控制協(xié)議的設計包括呼叫控制流程、呼叫控制信令的設計以及后期的程序?qū)崿F(xiàn)編碼,繼而形成獨立的呼叫控制協(xié)議功能模塊。
2 呼叫控制流程的設計
按照數(shù)字無中心對講機的工作原理,設計了一套符合實際應用的呼叫控制流程。呼叫控制流程描述了通信終端從通話建立到通話終結(jié)過程中產(chǎn)生的一系列動作和事件。
處于待機狀態(tài)的移動臺A和移動臺B在控制信道守候。當移動臺A按呼叫鍵呼叫移動臺B,A在控制信道廣播發(fā)送針對B的呼叫建立請求信令,并轉(zhuǎn)到選擇的通話信道接收。B收到呼叫建立請求信令后若同意建立連接則轉(zhuǎn)到信令中標識的通話信道,同時在此通話信道向A發(fā)送確認信令。A接收到確認信令后,雙方都進入可通話狀態(tài)。若A按下PTT會向B發(fā)送語音頭幀+語音幀。
松開PTT后,發(fā)送尾幀表示此次A方的通話結(jié)束。B此時進行語音幀的接收直至收到尾幀,A,B都進入可通話狀態(tài)。之后雙方重復如上過程進行通話。一旦A按下拆線鍵,就會向B發(fā)送拆線信令,雙方回到待機狀態(tài)。此流程如圖3所示。
3 呼叫控制協(xié)議的設計和實現(xiàn)
呼叫控制信令和隨路信令分別在控制信道和通話信道進行傳輸。根據(jù)無中心多信道選址移動通信系統(tǒng)體制,控制信令傳輸通道(控制信道)與通話信道完全分開,它整合若干條通話線路的控制信令,獨占一條公共的控制信道進行傳送控制信令。
3.1 信道
控制信道控制信道主要用于廣播傳輸呼叫建立信令以及作為其他用途的信令的發(fā)送通道??刂菩诺赖姆阵w制采用順序等待制原則,待前一條信令在控制信道中傳送完成后,接續(xù)的信令才能正常傳送。否則,進行等待直到判斷出控制信道空閑。
通話信道通話信道負責傳送呼叫建立后雙方的語音、數(shù)據(jù),同時通話信道也用于傳輸隨路信令。隨路信令包括了通話過程中一系列必要的控制信令。通話信道的服務體制采用呼損制原則,兩臺終端設備建立連接并占用一條通話信道后,此信道不能再被其他終端使用,直到終端拆線并釋放次通話信道。
如圖4所示,頻率為915.012 5 MHz的控制信道只用于通信雙方傳輸呼叫建立信令,通話信道則可以傳輸拆線信令、應答信令等隨路信令。移動臺在兩種信道間轉(zhuǎn)換,通話時守候在通話信道,通話結(jié)束或待機時返回控制信道。
無中心多信道選址移動通信系統(tǒng)的信道間隔為12.5 kHz時,系統(tǒng)共有158個信道。其中第一個信道915.012 5 MHz為控制信道,所有的呼叫信令都在該信道發(fā)出,其余157個為通話信道。呼叫控制的流程由控制信道和通話信道中控制信令的傳輸而貫通。由此,如何制定控制信令,如何處理通話信令流程中的所有狀態(tài)轉(zhuǎn)移事件便成為呼叫控制協(xié)議設計的主要內(nèi)容。
3.2 無中心呼叫控制信令的設計
呼叫控制信令是無中心系統(tǒng)中各種狀態(tài)轉(zhuǎn)換的控制信號,傳遞系統(tǒng)消息和命令。呼叫控制信令按照功能分為呼叫建立請求信令、呼叫應答信令、拆線信令、語音始發(fā)信令、語音終結(jié)信令。
[!--empirenews.page--]3.2.1 控制信令的幀結(jié)構(gòu)
無中心系統(tǒng)基本的數(shù)據(jù)傳輸單位是幀。呼叫控制信令由兩種幀結(jié)構(gòu)構(gòu)成,頭幀和尾幀。
頭幀中包含了信令中大部分的控制信息,其幀結(jié)構(gòu)如下:
前導碼:用于接收機的同步。
幀同步:頭幀的識別和同步。
頭幀類型:4 b,標識頭幀類型,是頭幀的主要標識,也是信令的主要標識,其取值為:0000通話起始信令;0001呼叫建立請求信令;0010拆線請求信令;0011ACK信令;0100禁發(fā)和還原信令;0101禁收發(fā)信令。
接收方ID:被叫方移動臺ID號,通過空中接口對7位數(shù)字呼號編碼得到。
發(fā)送方ID:主叫方移動臺ID號,通過空中接口對7位數(shù)字呼號編碼得到。
通信模式:用于區(qū)別語音通信或者數(shù)據(jù)傳輸。
通信格式:用于區(qū)別全呼通信、點對點通信。
呼叫信息:11 b,用于區(qū)別單呼、組呼以及ACK信令的定義。
尾幀補充在頭幀之后構(gòu)成完整的信令或單獨構(gòu)成通信結(jié)束的信令,其幀結(jié)構(gòu)如下:
尾幀同步碼:4 b,用于尾幀的發(fā)現(xiàn)和同步,固定為7D DF F5。
尾幀類型:2 b,尾幀的主要標識。00表示普通尾幀;01表示帶有狀態(tài)信息的尾幀。
ACK請求:2 b,標識是否需要被呼方發(fā)送ACK信號。
Tx等待:4 b,標識是否需要一段時間來強制讓收到該尾幀的用戶的PTT失效,以便允許用戶發(fā)送插入請求。
狀態(tài)信息:5 b,用戶根據(jù)需要自己定義,共32種狀態(tài)信息。
3.2.2 呼叫控制信令的內(nèi)容
呼叫建立請求信令是用戶發(fā)起呼叫時向被叫方以廣播方式發(fā)送的控制信息。該信令的組成為:頭幀(建立請求)+尾幀。
呼叫應答信令是被叫方接收到呼叫建立請求信令后,向主叫方發(fā)送的反饋控制信息。該信令結(jié)構(gòu)為:頭幀(ACK)。
語音始發(fā)信令先于語音傳送,用于標識實際語音即將到來,它的結(jié)構(gòu)為:頭幀(通信起始)。
語音終結(jié)信令表示語音傳輸告一段落,它的位置在語音數(shù)據(jù)塊之后。語音終結(jié)信令結(jié)構(gòu)為:尾幀(通信結(jié)束)。
拆線信令是當通信一方希望結(jié)束通話時所發(fā)送的通話結(jié)束信號,用于告知對方通話即將結(jié)束。拆線信令結(jié)構(gòu)為:頭幀(拆線)+尾幀+頭幀(拆線)+尾幀。
3.3 應用狀態(tài)機實現(xiàn)呼叫控制協(xié)議
數(shù)字無中心呼叫控制協(xié)議利用有限狀態(tài)機的設計方案進行描述和實現(xiàn)。有限狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序控制方式不靈活的缺點,它能夠架構(gòu)性能良好的時序邏輯模塊,以事件驅(qū)動的簡易方式來解決復雜的程序流程問題。其可靠性優(yōu)勢明顯,是目前嵌入式領域控制程序的通用解決方式。
通信流程中狀態(tài)的設計是呼叫控制層協(xié)議實現(xiàn)的關鍵。完整而合理的狀態(tài)轉(zhuǎn)移過程也是程序?qū)崿F(xiàn)的重要前提。呼叫控制層狀態(tài)應包括呼叫控制流程周期中的每個典型狀況。并且狀態(tài)之間應該可以轉(zhuǎn)換,不應該存在不能達到的狀態(tài)或不能進入再次過程的死狀態(tài),同時對于要描述的特性沒有意義的多余狀態(tài)也應該避免。
3.3.1 用戶A與B通信流程狀態(tài)事件機
根據(jù)呼叫控制流程和呼叫控制信令的特點以及無中心體制的技術(shù)規(guī)范,呼叫控制狀態(tài)機中共設計了S0~S4共5個狀態(tài)。S0(待機狀態(tài))表示移動終端空閑時的默認狀態(tài);S1(發(fā)起呼叫中狀態(tài))為呼叫發(fā)起方撥號后的呼叫等待狀態(tài),S1被叫進行中的狀態(tài)為被叫方接收到呼叫建立請求后的判斷等待狀態(tài);S2(呼叫已建立狀態(tài))表示呼叫已建立成功,正在等待下一步進行通話;S3(發(fā)話中狀態(tài))為用戶按下對講機PTT鍵后傳送通話語音的狀態(tài);S4(收話中狀態(tài))為用戶正在收聽對方通話語音的狀態(tài)。通話結(jié)束后雙方返回到S0(待機狀態(tài))。該狀態(tài)機考慮了呼叫控制實際應用中的技術(shù)細節(jié),實現(xiàn)了每一個狀態(tài)在各種動作、事件激勵下的可預期性轉(zhuǎn)移。狀態(tài)機的具體內(nèi)容如圖5,圖6所示(注:復位拆線后各狀態(tài)均轉(zhuǎn)換到待機狀態(tài))。
3.3.2 呼叫控制程序的實現(xiàn)
呼叫控制程序應用嵌入式C語言在ARM7處理器中開發(fā)。設變量ccl_state存儲當前狀態(tài)的代碼,next_state存儲下一狀態(tài)代碼,利用Switch_Case語句以及對事件判斷的if條件語句即可實現(xiàn)復雜的多條件、多分支的呼叫控制狀態(tài)機。
在程序的設計過程中加入了ARM定時器。定時器在嵌入式系統(tǒng)中起著十分關鍵的作用。為節(jié)省頻率資源無中心體制加入了通話限時功能,在通話限時開始后,需要啟動定時器計時。定時器到時后產(chǎn)生IRQ中斷,執(zhí)行終止通話操作。為增加程序的可靠性,防止死狀態(tài)的產(chǎn)生,在程序中也要加入對定時器超時事件的判斷動作。各狀態(tài)(除待機狀態(tài))一旦處于等待下一步動作的狀態(tài)時,需要立即啟動定時器進行超時判斷。例如,呼叫建立時通過定時器檢測對方應答時間,超時則返回S0待機狀態(tài)。
4 呼叫控制協(xié)議的可行性和可靠性分析
呼叫控制流程、呼叫控制信令結(jié)構(gòu)、呼叫控制的狀態(tài)機三部分密不可分,構(gòu)成了實現(xiàn)呼叫控制協(xié)議的基本要素。呼叫流程的設計考慮了無中心體制以及傳統(tǒng)對講機工作流程。
呼叫控制信令借鑒了ETSI TS 102 490-DPMR標準中數(shù)據(jù)鏈路層的信令幀結(jié)構(gòu)并進行了改進。呼叫控制狀態(tài)機應用UML模型設計了由通信事件、動作觸發(fā)的五種可變遷狀態(tài)。在邏輯上此呼叫控制協(xié)議充分模擬了實際應用中的呼叫控制的各種工作情景,理論上能夠正確完成呼叫控制系統(tǒng)的功能。在實際嵌入式開發(fā)過程中,利用ARM7處理器的高速運行優(yōu)勢,在數(shù)據(jù)傳輸中對誤碼率要求嚴格的控制信令增加了數(shù)據(jù)鏈路層的差錯控制編碼,CRC循環(huán)冗余校驗,漢明糾錯編碼,交織抑制連續(xù)突發(fā)干擾糾錯編碼,保證了控制信的準確傳輸。
令此外在呼叫控制程序中增加了防死狀態(tài)的定時器中斷,提高了程序的運行可靠性。本呼叫控制協(xié)議已實際應用到實驗室數(shù)字無中心對講機的樣機開發(fā)中,運行穩(wěn)定。
5 結(jié) 語
隨著各種數(shù)字技術(shù)的迅猛發(fā)展,模擬的無中心系統(tǒng)在當前的技術(shù)環(huán)境下已顯得捉襟見肘,對其進行全面數(shù)字化改造將是未來專網(wǎng)無線通信領域的重要工作內(nèi)容。呼叫控制協(xié)議的數(shù)字化標準尚無正式版本推出,本文介紹的呼叫控制協(xié)議已應用到數(shù)字無中心對講機的產(chǎn)品開發(fā)中,運行穩(wěn)定,在功能上有待根據(jù)實際需求進行進一步的擴容和改進。