李 飛,范林濤
(河北遠東哈里斯通信有限公司,河北石家莊 050200)
TETRA系統(tǒng)是ETSI為了滿足歐洲各國的專業(yè)部門對移動通信的需求而設計制訂的、采用統(tǒng)一標準的開放性系統(tǒng),可以提供集群、非集群通訊,支持話音、電路數(shù)據(jù)、短信息、分組數(shù)據(jù)等業(yè)務的直接模式通信,同時還支持多種附加業(yè)務。該系統(tǒng)以其良好的開放性、增強的保密性以及較高的頻譜資源利用率,在全球許多國家得到了廣泛的應用,近些年,在我國也得到了普遍重視并取得了快速發(fā)展。
如圖1所示,TETRA數(shù)字集群空中接口協(xié)議自上而下可以分為網絡層、數(shù)據(jù)鏈路層和物理層。UMAC層位于邏輯鏈路控制層(LLC)和下媒體接入控制層(LMAC)之間,3者共同構成了協(xié)議棧的數(shù)據(jù)鏈路層,完成數(shù)據(jù)從網絡層到物理層的映射。
圖1 UMAC在TETRA空中接口協(xié)議中的位置
根據(jù)標準描述,UMAC層協(xié)議的主要功能如下:
①隨機接入管理和維護;② 無線信道資源管理;③ 時隙保留和授予;④ 信令組合與分解;⑤ 業(yè)務信道挪用;⑥ 邏輯信道復用;⑦ 二層地址管理;⑧功率控制。
UMAC軟件的硬件環(huán)境選用了數(shù)字信號處理(DSP)/高級精簡指令處理器(ARM)器件(TI公司OMAP L138),該器件內部包含1個TMS320C674x浮點DSP核心和1個ARM926EJ-S ARM處理器核心。
如圖2所示,UMAC運行在ARM平臺上,平臺操作系統(tǒng)是Linux;LMAC運行在DSP上,DSP和ARM通過DSP-Link技術通信。
圖2 UMAC協(xié)議軟件的軟硬件環(huán)境
如圖3所示,將TETRA空中接口協(xié)議UMAC層軟件進行如下劃分。
圖3 UMAC層協(xié)議棧模塊劃
程序模塊用直角方框表示,模塊及模塊間存在互相調用關系和共享數(shù)據(jù)關系;數(shù)據(jù)塊用圓角方框表示,存儲了軟件所處理的各種數(shù)據(jù)。UMAC軟件各模塊功能說明如下:
①控制信令處理模塊:負責與LLC層直接交互控制信令,完成控制信令的基本收發(fā)功能;
②廣播信令處理模塊:負責接收處理來自LLC的廣播信令,完成廣播信令的基本收發(fā)功能;
③層管理模塊:負責接收來自LLC的時隙配置信令,設定UMAC層各時隙的工作模式;
④媒體處理模塊:負責媒體數(shù)據(jù)的發(fā)送處理和接收處理,完成媒體數(shù)據(jù)的基本收發(fā)功能;
⑤接入處理模塊:負責處理MS的隨機接入請求和時隙授予請求;
⑥用戶數(shù)據(jù)單元(PDU)/業(yè)務數(shù)據(jù)單元(SDU)操作模塊:負責下行信令的編碼與組合及上行信令的解碼與重建,負責生成或者解析處理 UMAC層PDU;
⑦信道挪用模塊:負責接收和發(fā)送采用挪用業(yè)務信道資源方式傳送的控制信令;
⑧MAC塊創(chuàng)建組裝模塊:負責邏輯信道與物理信道的映射、下行MAC塊的組裝工作;
⑨TMV數(shù)據(jù)發(fā)送接收模塊:負責與LMAC交互媒體接入控制(MAC)數(shù)據(jù)塊,完成MAC塊的基本收發(fā)功能。
圖中其他方塊代表了上述模塊需要處理的數(shù)據(jù)。
按照上述軟硬件設計,UMAC軟件需要解決如下幾個核心問題。
根據(jù)圖2可知,UMAC軟件位于ARM處理器的Linux操作系統(tǒng)中,LMAC固件位于DSP處理器中,設計要解決UMAC和LMAC的通信問題。
LMAC固件負責按照時隙定時進行空中接口數(shù)據(jù)的接收與發(fā)送??罩薪涌诘亩〞r操作非常嚴格,每個時隙長度為14.167 ms。UMAC需要在每個時隙組裝好的MAC塊發(fā)送到LMAC,Linux系統(tǒng)軟件定時器無法實現(xiàn)如此高精度的定時,所以,需要LMAC固件來為UMAC軟件提供時鐘同步,設計同時需要解決這一問題。
TETRA提供的最典型的業(yè)務是組呼與個呼,而UMAC負責將這些組呼和個呼的媒體數(shù)據(jù)發(fā)送到各個目標基站及錄音服務器。因此,如何將媒體數(shù)據(jù)分發(fā)到多個目的地址和如何同時從多個源地址接收數(shù)據(jù)并區(qū)分出數(shù)據(jù)所屬不同的信道是UMAC軟件需要解決的一個重要問題。
空中接口無線資源極其珍貴,每個時隙傳輸?shù)臄?shù)據(jù)量極為有限,每個時隙傳輸信令的最大長度僅為268 bit。有效地使用無線資源要求UMAC層軟件高效地將各種數(shù)據(jù)組裝進MAC塊,這是UMAC軟件需要解決的第3個問題。
為解決上述UMAC軟件的核心問題,提出如下解決方案。
DSPLINK是 TI基于 DAVICI架構處理器的ARM與DSP通信機制。DSPLlNK提供了一套通用的API,從應用層抽象出ARM與DSP的物理連接特性,從而降低用戶開發(fā)程序的復雜度。DSPLink提供了包括PROC、CHNL、MSGQ、POOL和 NOTIFY 等多種通信機制。
如圖4所示,LMAC底層靠硬件電路提供時隙定時和超幀復位定時,UMAC層無需啟動軟件定時,而是通過DSPLINK的NOTIFY通信機制實現(xiàn)與LMAC的同步,軟件定義了2個NOTIFY信號,分別為讀指示信號和寫指示信號。
圖4 UMAC和LMAC的通信機制
由于ARM與DSP核位于同一芯片上,2個內核共用1片存儲芯片,除了NOTIFY機制之外,UMA和LMAC可以直接使用共享內存通信,采用這種方式降低了系統(tǒng)設計的復雜度。
LMAC向UMAC發(fā)送數(shù)據(jù)時,首先將數(shù)據(jù)寫入共享內存,然后通過讀指示通知UMAC讀數(shù)據(jù),在指示消息中攜帶超幀號、復幀號、幀號和時隙號以保證UMAC和LMAC時隙同步。UMAC收到讀指示之后,從共享內存讀取進行數(shù)據(jù)。
同樣,當LMAC從共享內存中讀走一個時隙的數(shù)據(jù)之后,通過寫指示消息通知LMAC寫數(shù)據(jù),在指示消息中攜帶超幀號、復幀號、幀號和時隙號以保證UMAC和LMAC時隙同步。UMAC收到寫指示之后,將自己組織好的相應時隙的MAC塊寫入共享內存。
整個TETRA系統(tǒng)中心與各基站及錄音服務器采用IP網絡架構,基站及錄音服務器之間使用多播技術進行媒體數(shù)據(jù)的發(fā)送及接收。某個MS發(fā)起1個呼叫(組呼、個呼)時,交換中心會為該呼叫分配1個信道編號(C)、多播IP地址(A)、呼叫標簽標(F)以及上下行屬性(D)。
基站側的UMAC軟件收到攜帶多播地址的信道分配指令之后按照如下方法處理:
①加入多播地址A以向該多播地址發(fā)送數(shù)據(jù)及從該多播地址接收數(shù)據(jù);
②將信道編號(C)、多播地址(A),呼叫標簽(F)以及上下行屬性(D)加入多播地址--信道ID映射表中;
③UMAC從DSPLINK接口收到的某一個信道的媒體數(shù)據(jù),查找映射表中D為上行屬性的、C為該信道編號的A值和F值;為媒體數(shù)據(jù)添加RTP頭和F信息,將處理后的數(shù)據(jù)發(fā)送給多播地址A;
④UMAC從IP網絡收到多播數(shù)據(jù)之后,分離RTP頭及F信息;查找映射表中D為下行屬性的、F值相同的C值,表示該數(shù)據(jù)應該從信道C發(fā)送MS。
呼叫結束后,交換中心通知UMAC,UMAC退出多播樹,并將映射表中的相關信息刪除。
如圖5所示,MAC模塊在下行方向負責將控制信令原語(TMA)、廣播信令原語(TMB)、層管理信令原語(TMC)、媒體數(shù)據(jù)原語(TMD)接收到的數(shù)據(jù)及上層PDU、該層PDU組裝入下行MAC塊,以便通過LMAC原語(TMV)發(fā)送到LMAC。
圖5 MAC塊的組裝示意圖
每臺BS支持4臺收發(fā)信機,每個收發(fā)信機支持4時隙復用。因此每個UMAC協(xié)議棧最多支持16個時隙(TS0~TS15)的MAC塊構建。UMAC根據(jù)當前時隙的信道配置信息,將不同類型的數(shù)據(jù)組裝進當前MAC塊,這個過程被稱為邏輯信道的復用。UMAC同時將盡可能多的數(shù)據(jù)裝入MAC塊,以便充分利用無線資源。
MAC塊的組裝采取在每個時隙的時間內對每個載波的4個時隙各輪流組裝1次的策略。以1個載波為例描述MAC塊的創(chuàng)建組裝流程。將1個載波的4個時隙標志為:A、B、C、D。在UMAC將A時隙的MAC塊發(fā)送給LMAC之后,并沒有馬上開始組裝下一幀的A時隙數(shù)據(jù),而是采用如下流程:
①檢查有無數(shù)據(jù)需要裝入B時隙的MAC塊,如果有則裝入,由于B時隙數(shù)據(jù)緊跟即將發(fā)送,所以如果B的MAC塊尚未裝滿,需要將該MAC塊用空PDU填充,之后生成該時隙的AACH信息,并裝入MAC塊;② 檢查有無數(shù)據(jù)需要裝入C時隙的MAC塊,如果有則裝入;③ 檢查有無數(shù)據(jù)需要裝入D時隙的MAC塊,如果有則裝入;④由于A時隙的數(shù)據(jù)已經發(fā)送,所以需要重新初始化A時隙的MAC塊,然后檢查有無數(shù)據(jù)需要裝入A時隙的MAC塊,如果有則裝入。
這一流程,每個時隙的 MAC塊在一幀時間(56.67 ms)之內具有4次組裝機會,有利于提高MAC塊的利用效率,更重要的是頻繁的檢查可以將下行的數(shù)據(jù)盡快裝入MAC塊,有效縮短了數(shù)據(jù)在UMAC緩存的時間,提高了UMAC層發(fā)送數(shù)據(jù)的效率。
對UMAC層軟件的測試,分為3個步驟完成,分別是的軟件白盒測試、軟件黑盒測試及BS系統(tǒng)集成測試。軟件白盒測試,對每個函數(shù)編寫測試用例,要求達到所有函數(shù)語句覆蓋、核心處理函數(shù)判定/條件覆蓋;軟件黑盒測試,編寫程序模擬上層的LLC協(xié)議軟件以及下層的LMAC協(xié)議軟件,通過Socket發(fā)送數(shù)據(jù)驅動UMAC軟件的運行,要求為協(xié)議棧的每一個功能設計測試用例;集成測試是將BS作為一個整體進行測試。但是需要指出的是,以下幾個測試用例證明了上述幾個UMAC軟件的關鍵技術是正確的:
①MS開機,通過隨機接入向MS發(fā)送注冊請求,MS注冊成功;②某一BS下的MS發(fā)起個呼,呼叫建立、通話及釋放未出現(xiàn)異常;③ 某一BS下的MS發(fā)起組呼并講話,其他BS下的MS可以聽到清晰的話音;④MS連續(xù)發(fā)起100次呼叫,呼叫接通率100%,呼叫建立時間小于500 ms。
按照該設計方法實現(xiàn)的UMAC軟件具有傳輸延時低、資源利用率高的優(yōu)點,可以滿足協(xié)議要求的功能和在基站部署的需要。在國外TETRA設備完全占領中國市場的今天,為國內TETRA技術的發(fā)展,起到了極大的推動作用。隨著時間的推進,該軟件必將跟隨基站設備,廣泛應用在鐵路、民航和公安等多個領域,具有較強的實用性和先進性。
[1]ETSI EN 300392-2Terrestrial Trunked Radio(TETRA)Voice plus Data(V+D).Part 2:Air Interface(AI)[S].
[2]鄭祖輝,陸錦華,丁銳,等.數(shù)字集群移動通信系統(tǒng)[M].北京:電子工業(yè)出版社,2008:372-342.
[3]羅明.基于IP的TETRA系統(tǒng)的研究[D].武漢:武漢大學,2004.
[4]李延波.TETRA空中接口協(xié)議棧軟件設計與實現(xiàn)[D]. 天津:天津大學,2007.
[5]仲達帆.TETRA數(shù)字集群系統(tǒng)上MAC層上行信道的研究與開發(fā)[D].北京:北京交通大學,2008.
[6]宋政育,孫昕.TETRA數(shù)字集群系統(tǒng)上MAC層協(xié)議棧的開發(fā)[J].移動通信,2009(12):35-39.
[7]孫昕,李海.TETRA數(shù)字集群空中接口協(xié)議棧體系結構分析[J].移動通信,2008(3):34-37.