主頁(yè)(http://www.130131.com):數(shù)字無中心系統(tǒng)呼叫控制協(xié)議的設(shè)計(jì)和實(shí)現(xiàn)(2) 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鍵后傳送通話語音的狀態(tài);S4(收話中狀態(tài))為用戶正在收聽對(duì)方通話語音的狀態(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)移。 3.3.2 呼叫控制程序的實(shí)現(xiàn) 呼叫控制程序應(yīng)用嵌入式C語言在ARM7處理器中開發(fā)。設(shè)變量ccl_state存儲(chǔ)當(dāng)前狀態(tài)的代碼,next_state存儲(chǔ)下一狀態(tài)代碼,利用Switch_Case語句以及對(duì)事件判斷的if條件語句即可實(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é) 語 隨著各種數(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)。 (中國(guó)集群通信網(wǎng) | 責(zé)任編輯:陳曉亮) |



