TD-SCDMA網(wǎng)絡(luò)測試儀的ATM數(shù)據(jù)采集卡的實現(xiàn)
掃描二維碼
隨時隨地手機(jī)看文章
摘要: 本文介紹了TD-SCDMA信令測試儀中基于PowerPC網(wǎng)絡(luò)處理器的ATM數(shù)據(jù)采集卡的實現(xiàn)方案,主要分析了ATM數(shù)據(jù)采集軟件的各個模塊,詳細(xì)說明了數(shù)據(jù)采集卡的數(shù)據(jù)處理流程。實際使用表明,本文提出的數(shù)據(jù)采集卡已經(jīng)成功的對ATM不同適配層的信元進(jìn)行了正確的接收重組和組裝發(fā)送,具有很大的實用價值。
關(guān)鍵詞: TD-SCDMA;網(wǎng)絡(luò)測試儀;ATM數(shù)據(jù)采集卡;數(shù)據(jù)處理流程
引言
我國自主提出的TD-SCDMA標(biāo)準(zhǔn)隨著標(biāo)準(zhǔn)的完善和系統(tǒng)設(shè)備的逐漸成熟,再加上政府的強(qiáng)力支持,必將在我國的3G建設(shè)中占重要的一席之地。而能對TD-SCDMA網(wǎng)絡(luò)各個接口(Iub、Iur、Iu等)進(jìn)行監(jiān)控和仿真的信令測試儀是TD-SCDMA產(chǎn)業(yè)鏈中的重要一環(huán)。目前TD-SCDMA傳輸網(wǎng)各接口之間的數(shù)據(jù)傳送主要采用IMA協(xié)議和STM-1(甚至更高速率)接口的ATM傳輸。而實現(xiàn)對各接口的數(shù)據(jù)采集是TD-SCDMA信令測試儀實現(xiàn)的重要基礎(chǔ)。本文主要介紹基于PowerPC的TD-SCDMA網(wǎng)絡(luò)測試儀中ATM數(shù)據(jù)采集卡的軟件模塊的實現(xiàn)。
AAL2和AAL5的分段與重組
ATM信元是ATM傳送信息的基本載體,采用固定長度的信元格式,只有53字節(jié),其中5個字節(jié)為信頭,其余的48個字節(jié)為信元凈荷。信元頭有2種格式:用戶網(wǎng)絡(luò)接口UNI和網(wǎng)絡(luò)節(jié)點接口NNI,具體格式如圖1所示。圖1中,GFC為一般流量控制,4bit。只用于UNI接口,目前置為“0000”,將來可能用于流量控制;VPI為虛通道標(biāo)識,其中NNI為12bit,UNI為8bit;VCI為虛通路標(biāo)識,16bit,標(biāo)識虛通道內(nèi)的虛通路,VCI與VPI組合起來標(biāo)識一個虛連接;PTI為凈荷類型指示,3bit,用來指示信元類型;CLP為信元丟失優(yōu)先級,1bit。用于信元丟失級別的區(qū)別,CLP是1,表示該信元為低優(yōu)先級;HEC為信頭差錯控制,8bit,監(jiān)測出有錯誤的信頭,可以糾正信頭中1比特的錯誤。HEC還被用于信元定界[1]。
圖1 ATM信元頭格式
ATM適配層AAL主要負(fù)責(zé)ATM層與高層之間的信元轉(zhuǎn)發(fā)過程。從上層收到轉(zhuǎn)發(fā)信息后,AAL將數(shù)據(jù)分割成信元;從ATM層收到轉(zhuǎn)發(fā)信息后,AAL必須重新集合負(fù)載形成一個上層能夠辨識的格式。上述操作稱之為分段與重組SAR,它是AAL的主要任務(wù)。不同的AAL支持不同的流量或服務(wù)類型。下面介紹在TD-SCDMA中采用的AAL2和AAL5的信元格式及它們的分段與重組。[2]
AAL2的分段與重組
AAL2適用于傳輸?shù)退俾收Z音流量。AAL2又被分為通用部分子層(CPS,Common Part Sublayer)和服務(wù)特定會聚子層(SSCS,Service Specific Convergence Sublayer)。圖2給出了CPS包的格式。其中CID:信道標(biāo)識,CPS-PH中的CID可方便CPS-PP判別在VCC中的狀況,它有8個位元,共255個取值,但只有248個CID保留給使用者;LI:長度指示器。數(shù)據(jù)包有效載荷的長度與每個獨立用戶相關(guān)聯(lián),值小于有效載荷且具有一個45字節(jié)(可能設(shè)置為64字節(jié))的缺省值,它指的是封包載乘的長度 (CPS-PP),當(dāng)它為零時,則表示長度為1byte,因此CPS-PP 至少為1byte;UUI:用戶對用戶指示,提供 CPS 和一個適當(dāng)?shù)腟SCS間的鏈路,以滿足高層應(yīng)用程序要求;HEC:信頭錯誤控制。多個CPS包就組成了CPS-PDU,多個CPS-PDU就組成了SSSAR-PDU,多個SSSAR-PDU就組成了一個SSSAR-SDU。圖3給出了AAL2的數(shù)據(jù)單元的分段與重組情況。
圖2 AAL2的CPS包格式
圖3 AAL2的分段與重組
AAL5的分段與重組
AAL5是簡單且有效的AAL(SEAL),基本上用于數(shù)據(jù)流量問題上。它不包含Per-Cell長度或Per-Cell CRC字段。圖4給出了AAL5的數(shù)據(jù)單元結(jié)構(gòu)。CPCS-PDU Payload:可變長用戶信息字段;PAD:間隙,長度在0到47字節(jié)之間;UU:CPCS用戶對用戶指示;CPI—通用部分指示;Length:長度指示器。
圖4 AAL5的數(shù)據(jù)結(jié)構(gòu)單元
AAL5的重組和AAL2很相似,就是把SAR-PDU進(jìn)行合并,成為一個CPCS-SDU的凈荷。唯一不同的是在AAL5中不含有CID號,所以它的重組要比AAL2簡單。圖5示出AAL5的數(shù)據(jù)單元的分段與重組情況。
圖5 AAL5的分段與重組[4]
ATM數(shù)據(jù)采集卡的數(shù)據(jù)處理流程
網(wǎng)絡(luò)處理器是一種可編程器件,通常由若干微碼處理器和硬件協(xié)處理器組成,可實現(xiàn)業(yè)務(wù)靈活性和高性能的有機(jī)結(jié)合。摩托羅拉公司(編者注:現(xiàn)為Freescale)的PowerPC是一塊功能強(qiáng)大的網(wǎng)絡(luò)處理器,由G2_LE Core、通信處理模塊(CPM)構(gòu)成一個雙核處理器。在本設(shè)計中,我們主要用它來實現(xiàn)ATM協(xié)議,完成ATM信元的分組與重組功能。具體的數(shù)據(jù)流程如圖6所示。
圖6 STM-1數(shù)據(jù)流程框圖
ATM數(shù)據(jù)采集卡的軟件設(shè)計
數(shù)據(jù)在發(fā)送時,消息體被劃分成一個個標(biāo)準(zhǔn)的ATM信元,封裝成STM-1幀傳送;接收時必須從STM-1幀中取出標(biāo)準(zhǔn)的ATM信元,對數(shù)據(jù)進(jìn)行重組,還原出具體的消息。為了實現(xiàn)數(shù)據(jù)的采集,主要工作由PowerPC處理器運行固化在數(shù)據(jù)采集卡上的軟件模塊實現(xiàn)。軟件模塊由四個部分組成:初始化模塊、地址映射模塊、接收控制模塊、激活模塊組成。
初始化模塊
初始化模塊完成PowerPC的參數(shù)RAM的配置、FCC相應(yīng)寄存器的配置和中斷隊列的初始化,使整個系統(tǒng)維持在一種待機(jī)狀態(tài),其配置流程如圖7所示。
圖7 初始化模塊
地址映射模塊
地址映射模塊負(fù)責(zé)把來自不同的VPI/VCI組合的ATM信元放置到SDRAM的不同位置。圖8給出了地址映射的處理機(jī)制,地址映射的流程如下:
A.利用VPI、VP_MASK得到VPpointer,此值用于此VPI在VPT表格中的索引;
B.根據(jù)VPT_BASE+VPpointer×4得到此VPI在VPT表中的位置,在相應(yīng)域?qū)懭搿癡C_MASK”和“VCOFFSET”。其中VC_MASK由自己定義,VCOFFSET的值由公式“VCOFFSET(n+1) = VCOFFSETn + 2(number of ones in VC_MASKn)”計算;
C.利用VPT表格中的VC_MASK與接收到的VCI可以得到VCpointer,然后與B相似,利用此VCT_BASE+VCpointer×4來定位此VCI在此VCT表格中位置;
D.根據(jù)C中得到的地址,在相關(guān)域填上“MS、Ch Code”。其中MS表示匹配狀態(tài),MS=0表示匹配。對接收來說,相應(yīng)的VPT和VCT表格要先做好,如果接收的信元頭剛好是這對VPI/VCI,那么就可以得到MS=0的標(biāo)志,從而查出為此對VPI/VCI分配的信道號“Ch Code”,然后就根據(jù)圖4的數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)的接收處理;否則就會把此信元丟棄。
圖8 地址映射機(jī)制
接收控制模塊
在接收模塊中,系統(tǒng)首先把接收到的一個ATM信元分成兩個部分:信元頭和凈荷;然后根據(jù)圖8所示的地址映射機(jī)制,利用信元頭中的VPI查找VPT表,隨后再利用VCI查找VCT表,從中取出信道號Ch Code;根據(jù)此信道號作為索引,找到相應(yīng)的RCT(接收連接表格)進(jìn)行參數(shù)的配置,在RCT表格中需要定義出AAL的類型,AAL2要比AAL5多一個CID映射表和RxQD表格的查找,用以區(qū)別是CPS還是SSSAR;然后根據(jù)里面的地址域找到對應(yīng)的RxBD(接收緩沖描述符)并初始化相應(yīng)域;最后根據(jù)RxBD里的數(shù)據(jù)接收地址域完成數(shù)據(jù)接收存儲區(qū)的初始化,接收到的信元凈荷就放置到此區(qū)域,當(dāng)激活模塊執(zhí)行后,CPM就根據(jù)接收控制模塊的配置,完成不同適配層的數(shù)據(jù)重組,從而實現(xiàn)數(shù)據(jù)的接收。具體流程如圖9所示。
圖9 數(shù)據(jù)接收模塊
激活模塊
激活模塊就是系統(tǒng)向CPM發(fā)送“CPCR”命令,使所有初始化模塊配置的參數(shù)生效,啟動接收。系統(tǒng)根據(jù)地址映射和接收配置模塊的設(shè)置把接收到的數(shù)據(jù)放到相應(yīng)的位置,通過中斷的方式(中斷處理機(jī)制如圖10)進(jìn)行數(shù)據(jù)的自定義重組,為每個消息體加上自定義頭,成為一條自定義幀(其格式如圖11所示),通過PCI中斷,以DMA方式把數(shù)據(jù)傳遞到上層。
圖10 中斷處理機(jī)制
圖11 自定義幀格式
結(jié)語
TD-SCDMA是我國自主提出的3G標(biāo)準(zhǔn),也是我國3G網(wǎng)絡(luò)建設(shè)的一個重點考慮的標(biāo)準(zhǔn)。目前TD-SCDMA網(wǎng)絡(luò)建設(shè)方面還有很多工作要做。研制出具有自主知識產(chǎn)權(quán)的TD-SCDMA網(wǎng)絡(luò)測試儀,完善TD-SCDMA產(chǎn)業(yè)鏈,必將產(chǎn)生巨大的社會效益及經(jīng)濟(jì)效益。本文提出的TD-SCDMA網(wǎng)絡(luò)測試儀數(shù)據(jù)采集卡的實現(xiàn)方案已經(jīng)成功的對ATM不同適配層的信元進(jìn)行了正確的接收重組和組裝發(fā)送。基于本方案的數(shù)據(jù)采集卡通過對物理層處理電路的修改可以方便的實現(xiàn)ATM IMA數(shù)據(jù)的采集,具有很大的實用價值。
參考文獻(xiàn):
1. ITU-T Rec. I.361 B-ISDN ATM LAYER SPECIFICATION, Feb. 1999 : 7-14
2. 吳伶錫、黃芝平等,“The data——gathering design and realization based on UTOPIA”. Journal of Xiangtan Normal University(Natural Science Edition). VoI.26 No.3 Sep.2004
3. 廖鷹,基于AAL5的ATM與IP高速互通接口的設(shè)計與實現(xiàn),計算機(jī)工程,第31卷,第4期, 2005年2月
4. Veitch PA., Johnson D, Hawker I. Design of resilient core ATM networks[J].GLOBECOM '97., IEEE , Volume 3, 3-8 Nov. 1997:1450 - 1454