2018-08-15 10:18:07
4935
DMR 通信協(xié)議是一個適用于數(shù)字集群通信系統(tǒng)的新型通信協(xié)議。基于 DMR 通信協(xié)議的數(shù)字對講機(jī)中 DMR 高層協(xié)議的硬件平臺,通過DMR 高層協(xié)議的軟件實(shí)現(xiàn)DMR 呼叫控制層 (CCL 層 ) 協(xié)議的完整性與正確性。
DMR高層協(xié)議如何在數(shù)字對講機(jī)上的實(shí)現(xiàn)?
DMR 協(xié)議的簡要介紹DMR 協(xié)議采用 2 時隙的 TDMA 結(jié)構(gòu) , 其中每個突發(fā)包含兩個時隙 , 每個時隙 30 ms , 每個突發(fā)60 ms 。DMR 協(xié)議包含直通和轉(zhuǎn)發(fā)兩種模式 , 顧名思義 ,直通模式是指所有 DMR 終端實(shí)體都是等價的 , 都是移動臺。而轉(zhuǎn)發(fā)模式除了移動臺之外 , 還需要有基站來進(jìn)行中繼和轉(zhuǎn)發(fā)。本次數(shù)字對講機(jī)的設(shè)計是針對直通模式的 , 沒有特別指明的話 , 以下所述的內(nèi)容都是針對DMR 直通模型的。
DMR高層協(xié)議的介紹
DMR 協(xié)議的高層不止包括呼叫控制層 , 還包括數(shù)據(jù)鏈路層的信道接入部分 , 當(dāng)然廣義的說高層與用戶接口也是有關(guān)系的。呼叫控制層主要完成對整個呼叫過程的控制 , 對呼叫建立、 呼叫保持和呼叫結(jié)束進(jìn)行管理 , 主要實(shí)現(xiàn)的是信令之間的通信 , 呼叫控制層呼叫流程
當(dāng)用戶按下 PTT 之后 , 發(fā)端發(fā)送呼叫請求信令( TXCSBK) , 并等待收端的呼叫請求應(yīng)答信令(UUAns) , 收到應(yīng)答并且收端允許呼叫 (proceed) , 則發(fā)端按照 impolite 型的信道接入準(zhǔn)則進(jìn)行信道接入 , 之后便是語音通話的開始 , 語音通話之前總是要有一個語音幀頭(LCHeader) 由發(fā)端發(fā)往收端。當(dāng)用戶松開PTT , 發(fā)端向收端發(fā)送呼叫結(jié)束信令 (EOTX), 收端收到后結(jié)束本次呼叫。
DMR高層協(xié)議的數(shù)字對講機(jī)硬件平臺介紹
其中信號處理器件選用TI的DSP:TMS320VC5510,控制器件選用TI的 MCU :MSP430FG4619 , 語音編碼器件選用高性能的多速率語音編解碼芯片 AMBE 2 2000 。整個系統(tǒng)的核心器件是DSP 和 MCU ,DSP 完成 DMR 底層通信 ( 編解碼、幀同步、 調(diào)制解調(diào)、 數(shù)據(jù)收發(fā)等 ) ,MCU 主要完成 DMR高層控制以及人機(jī)接口等功能 (高層協(xié)議、鍵盤、顯示、對射頻的控制和檢測等 ) 。 MSP430 系列 MCU 是 TI 公司推出的一種超低功耗的 16 位單片機(jī) , 具有豐富的片內(nèi)外圍資源 , 有豐富的定時器、 各類串口、 顯示驅(qū)動、 AD/DA等功能, 通用端口也可對位進(jìn)行操作。信令所走的路線是人機(jī)接口2 MCU 2 DSP 2 AD/ DA 2射頻, 語音所走的路線是麥克風(fēng) / 耳機(jī)2 AMBE 2 DSP 2AD/ DA 2射頻??梢钥吹?, 對于 DMR 高層協(xié)議來說 ,都是在 MCU 中實(shí)現(xiàn) , 因此 MCU 與 DSP 之間的通信就顯得格外重要。VC5510 片內(nèi)有增強(qiáng)型主機(jī)接口 ( EHPI) , 因此可以很方便的與 MCU 進(jìn)行連接 , 其電路連接原理圖如圖 4 所示。
其中HCS為 EHPI使能引腳 , 拉低表示始終使能 ;HMODE是復(fù)用選擇引腳 , 為低表示 HPI 工作在地址、數(shù)據(jù)復(fù)用模式下; HBE0 、HBE1 為低高字節(jié)使能,都接地表示高低字節(jié)均使能 ; HDS2 拉之后 , HDS1 來確定 HPI 的工作模式; HR/ W確定HPI的讀寫模式 ;HCNTL0、HCN TL1聯(lián)合用來確定主機(jī)訪問HPI的哪個寄存器:地址寄存器HPIA、數(shù)據(jù)寄存器 HPID 、 控制寄存器 HPIC;HRDY 為從機(jī) (DSP) 數(shù)據(jù)準(zhǔn)備好信號;HINT 用于從機(jī) (DSP) 中斷主機(jī) (MCU) 。
DMR高層協(xié)議的具體硬件實(shí)現(xiàn)
DMR高層協(xié)議的軟件編寫都是在MSP430下完成的, 使用的開發(fā)工具是IAR 。以下便是呼叫控制層的信令傳輸?shù)膶?shí)驗(yàn)具體實(shí)現(xiàn)。
MCU在檢測到鍵盤有 PTT 按下之后便進(jìn)入主叫模式 , 立即組幀 TX CSBK, 并向 DSP 發(fā)送80 b 的信令數(shù)據(jù) , 同時給DSP一個中斷讓其響應(yīng) ,DSP收到中斷后進(jìn)行信號處理并向收端發(fā)送出去。收端DSP 收到發(fā)端來的數(shù)據(jù)并且數(shù)據(jù)處理之后 , 給 MCU一個中斷 ,MCU 讀數(shù)據(jù)并判斷是否為 TX CSBK, 若是則進(jìn)入被叫模式 , 并向發(fā)端返回一個呼叫應(yīng)答(UUAns) 信令。同樣的處理(DSP 接收數(shù)據(jù)給 MCU 中斷或者 DSP 接到 MCU 信令向?qū)Ψ桨l(fā)送) ,發(fā)端收到 UUAns 之后便可進(jìn)行語音傳輸 , 首先要發(fā)送 72 b 長度的語音頭信令(LHeader) , 之后信令通信可暫時停止 ,因?yàn)檎Z音通信不經(jīng)過 MCU 而且也不屬于高層。在發(fā)端檢測到 PTT 松開之后 , 向收端發(fā)送 EOTX( Termi 2nate)信令來終止呼叫 , 收端收到發(fā)端的EOTX 之后同樣也結(jié)束呼叫。至此, 一次完整的通話過程結(jié)束。
當(dāng)然, 上面所述的是呼叫完全暢通的情況,偶爾會出現(xiàn)信令傳輸丟失或者幀出錯的情況 , 程序中使用定時器來定時 , 定時時間到之后則做相應(yīng)處理, 部分程序段如下 :
TACTL=TASSEL1+TACLR;//開定時器A,用于等待UUAnsCCTL0=CCIE;CCR0=16384;//定時時間 16384/ 32. 768 = 500msTACTL | = MC 1 ; / / 增計數(shù)模式MCU 與 DSP 之間的通信也是很關(guān)鍵的一個環(huán)節(jié)。