關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 數(shù)字無中心系統(tǒng)呼叫控制協(xié)議的設計和實現(xiàn)

數(shù)字無中心系統(tǒng)呼叫控制協(xié)議的設計和實現(xiàn)

作者: 時間:2009-07-06 來源:網(wǎng)絡 收藏
3.2.1 信令的幀結構
基本的數(shù)據(jù)傳輸單位是幀。信令由兩種幀結構構成,頭幀和尾幀。
頭幀中包含了信令中大部分的信息,其幀結構如下:

本文引用地址:http://m.butianyuan.cn/article/163753.htm

前導碼:用于接收機的同步。
幀同步:頭幀的識別和同步。
頭幀類型:4 b,標識頭幀類型,是頭幀的主要標識,也是信令的主要標識,其取值為:0000通話起始信令;0001建立請求信令;0010拆線請求信令;0011ACK信令;0100禁發(fā)和還原信令;0101禁收發(fā)信令。
接收方ID:被叫方移動臺ID號,通過空中接口對7位呼號編碼得到。
發(fā)送方ID:主叫方移動臺ID號,通過空中接口對7位呼號編碼得到。
通信模式:用于區(qū)別語音通信或者數(shù)據(jù)傳輸。
通信格式:用于區(qū)別全呼通信、點對點通信。
信息:11 b,用于區(qū)別單呼、組呼以及ACK信令的定義。
尾幀補充在頭幀之后構成完整的信令或單獨構成通信結束的信令,其幀結構如下:

尾幀同步碼: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ā)送的反饋控制信息。該信令結構為:頭幀(ACK)。
語音始發(fā)信令先于語音傳送,用于標識實際語音即將到來,它的結構為:頭幀(通信起始)。
語音終結信令表示語音傳輸告一段落,它的位置在語音數(shù)據(jù)塊之后。語音終結信令結構為:尾幀(通信結束)。
拆線信令是當通信一方希望結束通話時所發(fā)送的通話結束信號,用于告知對方通話即將結束。拆線信令結構為:頭幀(拆線)+尾幀+頭幀(拆線)+尾幀。
3.3 應用狀態(tài)機呼叫控制
呼叫控制利用有限狀態(tài)機的方案進行描述和。有限狀態(tài)機克服了純硬件數(shù)字順序控制方式不靈活的缺點,它能夠架構性能良好的時序邏輯模塊,以事件驅(qū)動的簡易方式來解決復雜的程序流程問題。其可靠性優(yōu)勢明顯,是目前嵌入式領域控制程序的通用解決方式。
通信流程中狀態(tài)的是呼叫控制層的關鍵。完整而合理的狀態(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ù)呼叫控制流程和呼叫控制信令的特點以及無體制的技術規(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)。通話結束后雙方返回到S0(待機狀態(tài))。該狀態(tài)機考慮了呼叫控制實際應用中的技術細節(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定時器。定時器在嵌入式中起著十分關鍵的作用。為節(jié)省頻率資源無中心體制加入了通話限時功能,在通話限時開始后,需要啟動定時器計時。定時器到時后產(chǎn)生IRQ中斷,執(zhí)行終止通話操作。為增加程序的可靠性,防止死狀態(tài)的產(chǎn)生,在程序中也要加入對定時器超時事件的判斷動作。各狀態(tài)(除待機狀態(tài))一旦處于等待下一步動作的狀態(tài)時,需要立即啟動定時器進行超時判斷。例如,呼叫建立時通過定時器檢測對方應答時間,超時則返回S0待機狀態(tài)。

4 呼叫控制協(xié)議的可行性和可靠性分析
呼叫控制流程、呼叫控制信令結構、呼叫控制的狀態(tài)機三部分密不可分,構成了實現(xiàn)呼叫控制協(xié)議的基本要素。呼叫流程的設計考慮了無中心體制以及傳統(tǒng)對講機工作流程。
呼叫控制信令借鑒了ETSI TS 102 490-DPMR標準中數(shù)據(jù)鏈路層的信令幀結構并進行了改進。呼叫控制狀態(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 結 語
隨著各種數(shù)字技術的迅猛發(fā)展,模擬的無中心系統(tǒng)在當前的技術環(huán)境下已顯得捉襟見肘,對其進行全面數(shù)字化改造將是未來專網(wǎng)無線通信領域的重要工作內(nèi)容。呼叫控制協(xié)議的數(shù)字化標準尚無正式版本推出,本文介紹的呼叫控制協(xié)議已應用到數(shù)字無中心對講機的產(chǎn)品開發(fā)中,運行穩(wěn)定,在功能上有待根據(jù)實際需求進行進一步的擴容和改進。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉