宋政育 孫 昕
【摘要】文章首先描述了TETRA空中接口協(xié)議棧的結(jié)構(gòu)和主要功能,然后詳細闡述了上MAC協(xié)議棧的功能、工作原理及其開發(fā)過程,最后對所開發(fā)的協(xié)議棧進行了仿真和測試。仿真測試結(jié)果與《ETSI TS 100 392-2 TETRA V+D Part 2: Air Interface》協(xié)議一致。
【關(guān)鍵詞】TETRA數(shù)字集群 空中接口 上MAC層 協(xié)議棧
1 引言
集群通信系統(tǒng)是多信道共用的專業(yè)移動通信系統(tǒng),向正在申請服務的設(shè)備或用戶自動分配信道,主要用于指揮調(diào)度等業(yè)務。它通過頻率共用緩解頻率資源緊缺的狀態(tài),同時又通過基站集中使用、統(tǒng)一控制,有效地降低用戶組網(wǎng)費用。2000年原信息產(chǎn)業(yè)部推薦了TETRA和iDen兩種數(shù)字集群的標準,其中TETRA數(shù)字集群系統(tǒng)以其開放性好、保密性強以及頻譜利用率高等優(yōu)點,在全球許多國家得到了廣泛的應用。
上MAC是TETRA數(shù)字集群移動通信系統(tǒng)的重要組成部分,TETRA數(shù)字集群協(xié)議棧上MAC功能的開發(fā)對TETRA數(shù)字集群通信系統(tǒng)國產(chǎn)化具有重要意義。
2 TETRA數(shù)字集群協(xié)議棧的結(jié)構(gòu)
TETRA數(shù)字集群空中接口協(xié)議棧參照ISO/OSI七層模型,自下而上可分為物理層、數(shù)據(jù)鏈路層和網(wǎng)絡層,如圖1所示:
TETRA數(shù)字集群空中接口的第一層為物理層,負責調(diào)制和解調(diào)、收/發(fā)轉(zhuǎn)換、頻率校正、碼元同步及移動臺功率控制等。
第二層為數(shù)據(jù)鏈路層(DLL),完成從網(wǎng)絡層至物理層的映射,可分為媒體接入控制層(MAC)和邏輯鏈路層(LLC),其中MAC層又可分為上MAC層和下MAC層。MAC負責信道分配及物理層的數(shù)據(jù)復用,用數(shù)據(jù)原語與高層進行通信,用邏輯信道與低層進行通信。MAC實現(xiàn)TDMA的幀同步、交織/去交織、信道編碼、隨機接入過程、分片/重組、AACH上無線鏈路質(zhì)量的RSSI(接收信號強度指示)和MER(消息刪除率)測量、支持LLC重傳過程的MER測量。在上MAC層實現(xiàn)控制面(C面)和用戶面(U面)的分離,用戶面的業(yè)務傳送至用戶面,而控制面的信息則傳送至協(xié)議棧。LLC負責處理多路邏輯鏈路以支持同時發(fā)生的業(yè)務,并負責數(shù)據(jù)傳送與重傳、分段/合段以及邏輯鏈路處理。DLL經(jīng)三個業(yè)務接入點(SAP)與上一層進行通信,經(jīng)兩個SAP與物理層進行通信。
第三層為網(wǎng)絡層,可分為兩個子層:較低子層稱為移動鏈路實體(MLE),負責控制較低層與無線電相關(guān)的功能;較高子層包括移動性管理(MM)、電路控制實體(CMCE)以及分組數(shù)據(jù)(PD)三部分,它們被統(tǒng)稱為子網(wǎng)接入功能(SNAF)。
空中接口各層之間通過業(yè)務接入點相互訪問,通過原語進行數(shù)據(jù)交換,對等層之間通過協(xié)議數(shù)據(jù)單元(PDU)進行數(shù)據(jù)與信息交互。
3 上MAC的主要功能及工作原理
上MAC主要具有隨機接入控制、信令分片和重組、無線信道管理和維護、保留時隙授予和管理、業(yè)務信道竊用、邏輯信道復用和解復用、第二層地址管理以及功率控制等功能。
(1)隨機接入控制
在公共控制信道(MCCH)的上行鏈路上,當多個移動臺發(fā)送信令時,可采取隨機接入或保留接入的方式。當移動臺發(fā)起初始接入時,則必須使用隨機接入的方式。
因為隨機接入采用ALOHA協(xié)議,移動臺接入的成功率與接入?yún)?shù)的設(shè)置密切相關(guān),所以基站側(cè)上MAC應合理設(shè)置這些參數(shù),通過廣播PDU將其發(fā)送給移動臺。移動臺側(cè)上MAC根據(jù)這些參數(shù),決定何時開始進行隨機接入。通過基站和移動臺上MAC信息交互,實現(xiàn)上行信令的隨機接入,并保證較高的接入成功率。
(2)信令分片和重組
當上層所發(fā)送信令的長度超過一個物理時隙所能承載的長度時,上MAC需要緩存該信令,并進行分片,然后在多個時隙上利用多個MAC塊來傳輸這些分片。
當上MAC從下層接收到分片的信令時,不能直接將該信令向上層傳遞,而應在相應的信道上接收到所有的分片之后,在本層對這些分片進行重組,然后向上層傳遞重組的完整信令。由于每個信令的分片沒有序號,所以上MAC必須順序地發(fā)射或接收這些分片。如果在傳輸中有任何一個分片發(fā)生錯誤,那么就放棄這個信令傳輸過程,發(fā)送側(cè)LLC必須請求重新發(fā)送該信令。
當發(fā)送分片信令的第一個分片時,應該使用完整MAC首部(在下行鏈路上使用MAC-RESOURCE PDU,在上行鏈路上使用MAC-ACCESS或者MAC-DATA PDU);當發(fā)送后續(xù)的分片(MAC-FRAG PDU)和最后的分片(MAC-END或者MAC-END-HU PDU)時,只需使用簡化MAC首部。
(3)無線信道管理和維護
無線信道管理和維護是上MAC的核心功能之一。上MAC負責為電路模式的呼叫分配業(yè)務信道,為分組數(shù)據(jù)業(yè)務提供PDCH信道;并且在業(yè)務和分組數(shù)據(jù)傳輸過程中維護這些信道,在完成傳輸之后釋放這些信道。
(4)保留時隙授予和管理
在隨機接入之后,當移動臺要求發(fā)送更多的信令消息時,或者當基站向移動臺發(fā)送請求移動臺側(cè)LLC進行響應的消息時(例如:基站側(cè)LLC基本鏈路和高級鏈路確認消息的發(fā)送),使用保留接入?;緜?cè)上MAC根據(jù)當前信道的時隙使用情況,授予移動臺保留時隙,并管理這些保留時隙。移動臺側(cè)上MAC就可以在這些保留時隙中向基站發(fā)送信令。在完成保留接入之后,移動臺重新返回到隨機接入狀態(tài)。
(5)業(yè)務信道竊用
如果需要在處于業(yè)務模式的信道上傳輸端到端的U面信令(例如同步和加密等)、C面信令(例如越區(qū)切換)以及MAC本層的控制信令,那么利用竊用信道(STCH)來傳輸這些信令。通常,利用STCH發(fā)送重要的、緊急的以及需要立即發(fā)送的消息。
盡管在STCH上不需要等待就可以傳輸信息,但是頻繁地竊用信道將降低業(yè)務的QoS,因此需謹慎使用STCH。對于高層的信令,通過原語中的竊用許可參數(shù),指示是否允許竊用。對于不需要立即傳輸?shù)男帕睿ɡ绻β士刂疲?,可以?8幀的慢相關(guān)信道(SACCH)上延遲發(fā)送這些信令。
(6)邏輯信道復用和解復用
在上MAC和下MAC接口,定義了不同類型的邏輯信道,每類邏輯信道有不同的差錯控制方法和突發(fā)形成方式。通常,邏輯信道可分為業(yè)務信道(TCH)和信令信道(SCH),其中業(yè)務信道攜帶電路模式數(shù)據(jù);信令信道攜帶控制信息,主要包括BNCH(攜帶網(wǎng)絡信息)、BSCH(攜帶同步信息)、BLCH(用于基站線性化)、CLCH(用于MS功放線性化)、SCH/F(攜帶雙向全時隙MAC塊控制信息)、SCH/HD(攜帶下行半時隙MAC塊控制信息)、SCH/HU(攜帶上行半時隙MAC塊控制信息)、AACH(攜帶下行ACCESS-ASSIGN PDU,占據(jù)廣播塊)以及STCH(攜帶TMA和TMB接入點的消息,占據(jù)業(yè)務信道的半時隙)。
在上行鏈路中,下MAC將接收到的數(shù)據(jù)傳送至上MAC,其邏輯信道復用的方式為SCH/HU+SCH/HU、SCH/F、STCH+STCH、STCH+TCH、TCH以及CLCH+SCH/HU。
在下行鏈路中,上MAC按時隙(MAC塊)將數(shù)據(jù)傳送至下MAC,一個時隙內(nèi)的若干邏輯信道按一定的準則復用,形成突發(fā)。下行鏈路的邏輯信道復用方式為SCH/F+AACH、SCH/HD+SCH/HD+AACH、SCH/HD+BNCH+AACH、STCH+STCH+AACH、STCH+TCH+AACH、BSCH+BNCH+AACH、BSCH+SCH/HD+AACH、BLCH+SCH/HD+AACH以及BLCH+BNCH+AACH。
(7)第二層地址管理
在上MAC層中,上行鏈路和下行鏈路TMA接入點的地址使用方法不同。
在上行鏈路中,上MAC從MAC PDU中提取地址和地址類型,并將其傳送至網(wǎng)絡層。上MAC所使用的上行地址類型為SSI、USSI、SMI以及Event Lab。
在下行鏈路中,上MAC從TMA原語中提取地址和地址類型,并將其轉(zhuǎn)化為MAC PDU中的地址。上MAC所使用的下行地址類型為SSI、USSI、SMI、Event Lab、SSI+Event Label、SSI+Usage Marker、SMI+Event Label以及廣播地址(全1)。
(8)功率控制
功率控制分開環(huán)功率控制和閉環(huán)功率控制兩種。通過功率控制,可以降低鄰道干擾和同頻干擾。
開環(huán)功率控制由移動臺獨立完成,移動臺測量下行鏈路的信號質(zhì)量和信號強度等,并根據(jù)測量結(jié)果調(diào)節(jié)上行鏈路發(fā)射功率。由于上行和下行鏈路的衰落往往是不相關(guān)的,因此這種方法并不可靠。
為了更可靠地控制移動臺的發(fā)射功率,可以采用閉環(huán)功率控制?;究赏ㄟ^發(fā)送包含“功率控制”元素的MAC-RESOURCE PDU控制移動臺的發(fā)射功率。當移動臺發(fā)射信令或業(yè)務數(shù)據(jù)時,必須服從基站的功率控制命令。
4 上MAC協(xié)議棧的開發(fā)
4.1 開發(fā)工具
由于TETRA數(shù)字集群空中接口協(xié)議棧開發(fā)具有較高的復雜性,若采用純?nèi)斯ぞ幋a,則會由于開發(fā)人員風格不一致,水平不相同,而導致協(xié)議棧存在較多的潛在錯誤,且調(diào)試困難。因此,必須利用軟件開發(fā)工具,通過系統(tǒng)工程的方法來管理協(xié)議軟件的整個開發(fā)過程,加速協(xié)議棧的開發(fā),使生成的代碼具有較高的可靠性和較好的一致性?;诖?,選用Telelogic公司的通信開發(fā)軟件Tau G2進行TETRA數(shù)字集群協(xié)議棧的開發(fā)。Tau G2將通信軟件開發(fā)中常用的SDL/MSC引入到了UML語言中,開發(fā)人員只需要通過UML建模和編寫相對較少的代碼,就可以實現(xiàn)一個復雜的協(xié)議棧開發(fā)。
4.2 開發(fā)流程
為了方便程序的開發(fā)、升級以及維護,首先根據(jù)上MAC的功能將其分為Transmitter和Receiver兩個模塊,分別負責數(shù)據(jù)的發(fā)送和接收。如果Transmitter和Receiver兩個模塊協(xié)同工作處理一些信令,那么需要定義一些全局變量,并使用這些全局變量進行兩個模塊之間的交互。TETRA數(shù)字集群協(xié)議只定義了空中接口部分,因此上MAC實體與LLC和下MAC通信的原語需自行定義,將原語和PDU定義為結(jié)構(gòu)體,并將其作為層與層之間信號的參數(shù)來實現(xiàn)各層之間的通信。然后編寫PDU的編解碼函數(shù),協(xié)議棧對等層之間通過PDU傳遞信息,上MAC要分解來自對等層的PDU,對PDU中的請求做出應答,將應答后的指令以PDU的形式發(fā)出。隨后使用圖形化的UML和SDL語言描述協(xié)議,實現(xiàn)協(xié)議棧的功能。最后,編寫測試用例進行協(xié)議一致性測試。圖2示出了上MAC協(xié)議棧開發(fā)的流程:
4.3 仿真測試
在完成上MAC協(xié)議棧功能開發(fā)之后,需要編寫各種測試用例,對所開發(fā)的上MAC協(xié)議棧進行協(xié)議一致性測試。由于TAU G2中含有TTCN Suite測試套件,因此利用測試語言TTCN-3設(shè)計測試用例。圖3示出了上MAC下行鏈路發(fā)送信令的仿真測試過程:
在運行該測試用例之后,圖3所示的仿真測試過程與《ETSI TS 100 392-2 TETRA V+D Part 2: Air Interface》協(xié)議的描述一致,該測試過程分為下列四個階段:
(1)第一階段:LLC向上MAC發(fā)送TMA-DATA-IN-BUFFER信號,該信號表示上層有待傳輸?shù)男帕睿却螹AC的響應;
(2)第二階段:在上MAC接收到TMA-DATA-IN-BUFFER信號之后,向LLC發(fā)送MAC-READY信號,該信號表示上MAC已經(jīng)準備發(fā)送信令;
(3)第三階段:LLC向上MAC發(fā)送TMA-UNITDATA-REQ信號,該信號攜帶TMA-UNITDATA- REQ原語的所有參數(shù);
(4)第四階段:在上MAC接收到TMA-UNITDATA-REQ信號之后,根據(jù)其攜帶的原語參數(shù)構(gòu)成MAC-RESOURCE PDU,通過TMV-UNITDATA-REQ信號將該PDU發(fā)送到下MAC。
5 結(jié)束語
TETRA數(shù)字集群系統(tǒng)廣泛地應用于交通、消防、水利、公安、武警、法院和檢察院等特殊部門,實現(xiàn)TETRA數(shù)字集群系統(tǒng)的國產(chǎn)化,對保障我國的國家安全有著重要的作用。上MAC協(xié)議棧的開發(fā)對TETRA數(shù)字集群協(xié)議棧的研究與開發(fā)具有一定的參考價值,為開發(fā)我國自主知識產(chǎn)權(quán)的TETRA數(shù)字集群系統(tǒng)積累了經(jīng)驗。
參考文獻
[1]ETSI TS 100 392-2 V2.6.1(2005-05). Terrestrial trunked radio(TETRA); voice pluse data (V+D); Part 2: air interface(AI)[S].
[2]Draft EN 300 392-1 V1.1.1(1998-07). Trans-European trunked radio(TETRA); voice plus data (V+D); Part 1: general network design[S].
[3]孫昕, 李海. TETRA數(shù)字集群空中接口協(xié)議棧體系結(jié)構(gòu)分析[J]. 移動通信, 2008(3):34-37.
[4]鄭祖輝, 鮑智良, 經(jīng)明等. 數(shù)字集群移動通信系統(tǒng)[M]. 北京: 電子工業(yè)出版社, 2002.
[5]劉宇紅, 白偉. SDL語言及其在通信系統(tǒng)中的應用[J]. 通信技術(shù), 2002(12):82-83.
[6]宋茂強. 通信軟件設(shè)計基礎(chǔ)[M]. 北京: 北京郵電大學出版社, 2001.