主頁(http://www.by236.com):數字無中心系統呼叫控制協議的設計和實現(2) 3.3 應用狀態機實現呼叫控制協議 數字無中心呼叫控制協議利用有限狀態機的設計方案進行描述和實現。有限狀態機克服了純硬件數字系統順序控制方式不靈活的缺點,它能夠架構性能良好的時序邏輯模塊,以事件驅動的簡易方式來解決復雜的程序流程問題。其可靠性優勢明顯,是目前嵌入式領域控制程序的通用解決方式。 通信流程中狀態的設計是呼叫控制層協議實現的關鍵。完整而合理的狀態轉移過程也是程序實現的重要前提。呼叫控制層狀態應包括呼叫控制流程周期中的每個典型狀況。并且狀態之間應該可以轉換,不應該存在不能達到的狀態或不能進入再次過程的死狀態,同時對于要描述的特性沒有意義的多余狀態也應該避免。 3.3.1 用戶A與B通信流程狀態事件機 根據呼叫控制流程和呼叫控制信令的特點以及無中心體制的技術規范,呼叫控制狀態機中共設計了S0~S4共5個狀態。S0(待機狀態)表示移動終端空閑時的默認狀態;S1(發起呼叫中狀態)為呼叫發起方撥號后的呼叫等待狀態,S1被叫進行中的狀態為被叫方接收到呼叫建立請求后的判斷等待狀態;S2(呼叫已建立狀態)表示呼叫已建立成功,正在等待下一步進行通話;S3(發話中狀態)為用戶按下對講機PTT鍵后傳送通話語音的狀態;S4(收話中狀態)為用戶正在收聽對方通話語音的狀態。通話結束后雙方返回到S0(待機狀態)。該狀態機考慮了呼叫控制實際應用中的技術細節,實現了每一個狀態在各種動作、事件激勵下的可預期性轉移。 3.3.2 呼叫控制程序的實現 呼叫控制程序應用嵌入式C語言在ARM7處理器中開發。設變量ccl_state存儲當前狀態的代碼,next_state存儲下一狀態代碼,利用Switch_Case語句以及對事件判斷的if條件語句即可實現復雜的多條件、多分支的呼叫控制狀態機。 在程序的設計過程中加入了ARM定時器。定時器在嵌入式系統中起著十分關鍵的作用。為節省頻率資源無中心體制加入了通話限時功能,在通話限時開始后,需要啟動定時器計時。定時器到時后產生IRQ中斷,執行終止通話操作。為增加程序的可靠性,防止死狀態的產生,在程序中也要加入對定時器超時事件的判斷動作。各狀態(除待機狀態)一旦處于等待下一步動作的狀態時,需要立即啟動定時器進行超時判斷。例如,呼叫建立時通過定時器檢測對方應答時間,超時則返回S0待機狀態。 4 呼叫控制協議的可行性和可靠性分析 呼叫控制流程、呼叫控制信令結構、呼叫控制的狀態機三部分密不可分,構成了實現呼叫控制協議的基本要素。呼叫流程的設計考慮了無中心體制以及傳統對講機工作流程。 呼叫控制信令借鑒了ETSI TS 102 490-DPMR標準中數據鏈路層的信令幀結構并進行了改進。呼叫控制狀態機應用UML模型設計了由通信事件、動作觸發的五種可變遷狀態。在邏輯上此呼叫控制協議充分模擬了實際應用中的呼叫控制的各種工作情景,理論上能夠正確完成呼叫控制系統的功能。在實際嵌入式開發過程中,利用ARM7處理器的高速運行優勢,在數據傳輸中對誤碼率要求嚴格的控制信令增加了數據鏈路層的差錯控制編碼,CRC循環冗余校驗,漢明糾錯編碼,交織抑制連續突發干擾糾錯編碼,保證了控制信的準確傳輸。 令此外在呼叫控制程序中增加了防死狀態的定時器中斷,提高了程序的運行可靠性。本呼叫控制協議已實際應用到實驗室數字無中心對講機的樣機開發中,運行穩定。 5 結 語 隨著各種數字技術的迅猛發展,模擬的無中心系統在當前的技術環境下已顯得捉襟見肘,對其進行全面數字化改造將是未來專網無線通信領域的重要工作內容。呼叫控制協議的數字化標準尚無正式版本推出,本文介紹的呼叫控制協議已應用到數字無中心對講機的產品開發中,運行穩定,在功能上有待根據實際需求進行進一步的擴容和改進。 (中國集群通信網 | 責任編輯:陳曉亮) |



