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