數字無(wú)中心系統呼叫控制協(xié)議的設計和實(shí)現
無(wú)中心系統基本的數據傳輸單位是幀。呼叫控制信令由兩種幀結構構成,頭幀和尾幀。
頭幀中包含了信令中大部分的控制信息,其幀結構如下:本文引用地址:http://dyxdggzs.com/article/163753.htm
前導碼:用于接收機的同步。
幀同步:頭幀的識別和同步。
頭幀類(lèi)型:4 b,標識頭幀類(lèi)型,是頭幀的主要標識,也是信令的主要標識,其取值為:0000通話(huà)起始信令;0001呼叫建立請求信令;0010拆線(xiàn)請求信令;0011ACK信令;0100禁發(fā)和還原信令;0101禁收發(fā)信令。
接收方ID:被叫方移動(dòng)臺ID號,通過(guò)空中接口對7位數字呼號編碼得到。
發(fā)送方ID:主叫方移動(dòng)臺ID號,通過(guò)空中接口對7位數字呼號編碼得到。
通信模式:用于區別語(yǔ)音通信或者數據傳輸。
通信格式:用于區別全呼通信、點(diǎn)對點(diǎn)通信。
呼叫信息:11 b,用于區別單呼、組呼以及ACK信令的定義。
尾幀補充在頭幀之后構成完整的信令或單獨構成通信結束的信令,其幀結構如下:
尾幀同步碼:4 b,用于尾幀的發(fā)現和同步,固定為7D DF F5。
尾幀類(lèi)型:2 b,尾幀的主要標識。00表示普通尾幀;01表示帶有狀態(tài)信息的尾幀。
ACK請求:2 b,標識是否需要被呼方發(fā)送ACK信號。
Tx等待:4 b,標識是否需要一段時(shí)間來(lái)強制讓收到該尾幀的用戶(hù)的PTT失效,以便允許用戶(hù)發(fā)送插入請求。
狀態(tài)信息:5 b,用戶(hù)根據需要自己定義,共32種狀態(tài)信息。
3.2.2 呼叫控制信令的內容
呼叫建立請求信令是用戶(hù)發(fā)起呼叫時(shí)向被叫方以廣播方式發(fā)送的控制信息。該信令的組成為:頭幀(建立請求)+尾幀。
呼叫應答信令是被叫方接收到呼叫建立請求信令后,向主叫方發(fā)送的反饋控制信息。該信令結構為:頭幀(ACK)。
語(yǔ)音始發(fā)信令先于語(yǔ)音傳送,用于標識實(shí)際語(yǔ)音即將到來(lái),它的結構為:頭幀(通信起始)。
語(yǔ)音終結信令表示語(yǔ)音傳輸告一段落,它的位置在語(yǔ)音數據塊之后。語(yǔ)音終結信令結構為:尾幀(通信結束)。
拆線(xiàn)信令是當通信一方希望結束通話(huà)時(shí)所發(fā)送的通話(huà)結束信號,用于告知對方通話(huà)即將結束。拆線(xiàn)信令結構為:頭幀(拆線(xiàn))+尾幀+頭幀(拆線(xiàn))+尾幀。
3.3 應用狀態(tài)機實(shí)現呼叫控制協(xié)議
數字無(wú)中心呼叫控制協(xié)議利用有限狀態(tài)機的設計方案進(jìn)行描述和實(shí)現。有限狀態(tài)機克服了純硬件數字系統順序控制方式不靈活的缺點(diǎn),它能夠架構性能良好的時(shí)序邏輯模塊,以事件驅動(dòng)的簡(jiǎn)易方式來(lái)解決復雜的程序流程問(wèn)題。其可靠性?xún)?yōu)勢明顯,是目前嵌入式領(lǐng)域控制程序的通用解決方式。
通信流程中狀態(tài)的設計是呼叫控制層協(xié)議實(shí)現的關(guān)鍵。完整而合理的狀態(tài)轉移過(guò)程也是程序實(shí)現的重要前提。呼叫控制層狀態(tài)應包括呼叫控制流程周期中的每個(gè)典型狀況。并且狀態(tài)之間應該可以轉換,不應該存在不能達到的狀態(tài)或不能進(jìn)入再次過(guò)程的死狀態(tài),同時(shí)對于要描述的特性沒(méi)有意義的多余狀態(tài)也應該避免。
3.3.1 用戶(hù)A與B通信流程狀態(tài)事件機
根據呼叫控制流程和呼叫控制信令的特點(diǎn)以及無(wú)中心體制的技術(shù)規范,呼叫控制狀態(tài)機中共設計了S0~S4共5個(gè)狀態(tài)。S0(待機狀態(tài))表示移動(dòng)終端空閑時(shí)的默認狀態(tài);S1(發(fā)起呼叫中狀態(tài))為呼叫發(fā)起方撥號后的呼叫等待狀態(tài),S1被叫進(jìn)行中的狀態(tài)為被叫方接收到呼叫建立請求后的判斷等待狀態(tài);S2(呼叫已建立狀態(tài))表示呼叫已建立成功,正在等待下一步進(jìn)行通話(huà);S3(發(fā)話(huà)中狀態(tài))為用戶(hù)按下對講機PTT鍵后傳送通話(huà)語(yǔ)音的狀態(tài);S4(收話(huà)中狀態(tài))為用戶(hù)正在收聽(tīng)對方通話(huà)語(yǔ)音的狀態(tài)。通話(huà)結束后雙方返回到S0(待機狀態(tài))。該狀態(tài)機考慮了呼叫控制實(shí)際應用中的技術(shù)細節,實(shí)現了每一個(gè)狀態(tài)在各種動(dòng)作、事件激勵下的可預期性轉移。狀態(tài)機的具體內容如圖5,圖6所示(注:復位拆線(xiàn)后各狀態(tài)均轉換到待機狀態(tài))。
3.3.2 呼叫控制程序的實(shí)現
呼叫控制程序應用嵌入式C語(yǔ)言在A(yíng)RM7處理器中開(kāi)發(fā)。設變量ccl_state存儲當前狀態(tài)的代碼,next_state存儲下一狀態(tài)代碼,利用Switch_Case語(yǔ)句以及對事件判斷的if條件語(yǔ)句即可實(shí)現復雜的多條件、多分支的呼叫控制狀態(tài)機。
在程序的設計過(guò)程中加入了ARM定時(shí)器。定時(shí)器在嵌入式系統中起著(zhù)十分關(guān)鍵的作用。為節省頻率資源無(wú)中心體制加入了通話(huà)限時(shí)功能,在通話(huà)限時(shí)開(kāi)始后,需要啟動(dòng)定時(shí)器計時(shí)。定時(shí)器到時(shí)后產(chǎn)生IRQ中斷,執行終止通話(huà)操作。為增加程序的可靠性,防止死狀態(tài)的產(chǎn)生,在程序中也要加入對定時(shí)器超時(shí)事件的判斷動(dòng)作。各狀態(tài)(除待機狀態(tài))一旦處于等待下一步動(dòng)作的狀態(tài)時(shí),需要立即啟動(dòng)定時(shí)器進(jìn)行超時(shí)判斷。例如,呼叫建立時(shí)通過(guò)定時(shí)器檢測對方應答時(shí)間,超時(shí)則返回S0待機狀態(tài)。
4 呼叫控制協(xié)議的可行性和可靠性分析
呼叫控制流程、呼叫控制信令結構、呼叫控制的狀態(tài)機三部分密不可分,構成了實(shí)現呼叫控制協(xié)議的基本要素。呼叫流程的設計考慮了無(wú)中心體制以及傳統對講機工作流程。
呼叫控制信令借鑒了ETSI TS 102 490-DPMR標準中數據鏈路層的信令幀結構并進(jìn)行了改進(jìn)。呼叫控制狀態(tài)機應用UML模型設計了由通信事件、動(dòng)作觸發(fā)的五種可變遷狀態(tài)。在邏輯上此呼叫控制協(xié)議充分模擬了實(shí)際應用中的呼叫控制的各種工作情景,理論上能夠正確完成呼叫控制系統的功能。在實(shí)際嵌入式開(kāi)發(fā)過(guò)程中,利用ARM7處理器的高速運行優(yōu)勢,在數據傳輸中對誤碼率要求嚴格的控制信令增加了數據鏈路層的差錯控制編碼,CRC循環(huán)冗余校驗,漢明糾錯編碼,交織抑制連續突發(fā)干擾糾錯編碼,保證了控制信的準確傳輸。
令此外在呼叫控制程序中增加了防死狀態(tài)的定時(shí)器中斷,提高了程序的運行可靠性。本呼叫控制協(xié)議已實(shí)際應用到實(shí)驗室數字無(wú)中心對講機的樣機開(kāi)發(fā)中,運行穩定。
5 結 語(yǔ)
隨著(zhù)各種數字技術(shù)的迅猛發(fā)展,模擬的無(wú)中心系統在當前的技術(shù)環(huán)境下已顯得捉襟見(jiàn)肘,對其進(jìn)行全面數字化改造將是未來(lái)專(zhuān)網(wǎng)無(wú)線(xiàn)通信領(lǐng)域的重要工作內容。呼叫控制協(xié)議的數字化標準尚無(wú)正式版本推出,本文介紹的呼叫控制協(xié)議已應用到數字無(wú)中心對講機的產(chǎn)品開(kāi)發(fā)中,運行穩定,在功能上有待根據實(shí)際需求進(jìn)行進(jìn)一步的擴容和改進(jìn)。
評論