摘要: 本文介紹了TD-SCDMA信令測(cè)試儀中基于PowerPC網(wǎng)絡(luò)處理器的ATM數(shù)據(jù)采集卡的實(shí)現(xiàn)方案,主要分析了ATM數(shù)據(jù)采集軟件的各個(gè)模塊,詳細(xì)說(shuō)明了數(shù)據(jù)采集卡的數(shù)據(jù)處理流程。實(shí)際使用表明,本文提出的數(shù)據(jù)采集卡已經(jīng)成功的對(duì)ATM不同適配層的信元進(jìn)行了正確的接收重組和組裝發(fā)送,具有很大的實(shí)用價(jià)值。
關(guān)鍵詞: TD-SCDMA;網(wǎng)絡(luò)測(cè)試儀;ATM數(shù)據(jù)采集卡;數(shù)據(jù)處理流程
引言
我國(guó)自主提出的TD-SCDMA標(biāo)準(zhǔn)隨著標(biāo)準(zhǔn)的完善和系統(tǒng)設(shè)備的逐漸成熟,再加上政府的強(qiáng)力支持,必將在我國(guó)的3G建設(shè)中占重要的一席之地。而能對(duì)TD-SCDMA網(wǎng)絡(luò)各個(gè)接口(Iub、Iur、Iu等)進(jìn)行監(jiān)控和仿真的信令測(cè)試儀是TD-SCDMA產(chǎn)業(yè)鏈中的重要一環(huán)。目前TD-SCDMA傳輸網(wǎng)各接口之間的數(shù)據(jù)傳送主要采用IMA協(xié)議和STM-1(甚至更高速率)接口的ATM傳輸。而實(shí)現(xiàn)對(duì)各接口的數(shù)據(jù)采集是TD-SCDMA信令測(cè)試儀實(shí)現(xiàn)的重要基礎(chǔ)。本文主要介紹基于PowerPC的TD-SCDMA網(wǎng)絡(luò)測(cè)試儀中ATM數(shù)據(jù)采集卡的軟件模塊的實(shí)現(xiàn)。
AAL2和AAL5的分段與重組
ATM信元是ATM傳送信息的基本載體,采用固定長(zhǎng)度的信元格式,只有53字節(jié),其中5個(gè)字節(jié)為信頭,其余的48個(gè)字節(jié)為信元凈荷。信元頭有2種格式:用戶網(wǎng)絡(luò)接口UNI和網(wǎng)絡(luò)節(jié)點(diǎn)接口NNI,具體格式如圖1所示。圖1中,GFC為一般流量控制,4bit。只用于UNI接口,目前置為“0000”,將來(lái)可能用于流量控制;VPI為虛通道標(biāo)識(shí),其中NNI為12bit,UNI為8bit;VCI為虛通路標(biāo)識(shí),16bit,標(biāo)識(shí)虛通道內(nèi)的虛通路,VCI與VPI組合起來(lái)標(biāo)識(shí)一個(gè)虛連接
TI為凈荷類型指示,3bit,用來(lái)指示信元類型;CLP為信元丟失優(yōu)先級(jí),1bit。用于信元丟失級(jí)別的區(qū)別,CLP是1,表示該信元為低優(yōu)先級(jí);HEC為信頭差錯(cuò)控制,8bit,監(jiān)測(cè)出有錯(cuò)誤的信頭,可以糾正信頭中1比特的錯(cuò)誤。HEC還被用于信元定界[1]。
圖1 ATM信元頭格式
ATM適配層AAL主要負(fù)責(zé)ATM層與高層之間的信元轉(zhuǎn)發(fā)過(guò)程。從上層收到轉(zhuǎn)發(fā)信息后,AAL將數(shù)據(jù)分割成信元;從ATM層收到轉(zhuǎn)發(fā)信息后,AAL必須重新集合負(fù)載形成一個(gè)上層能夠辨識(shí)的格式。上述操作稱之為分段與重組SAR,它是AAL的主要任務(wù)。不同的AAL支持不同的流量或服務(wù)類型。下面介紹在TD-SCDMA中采用的AAL2和AAL5的信元格式及它們的分段與重組。[2]
AAL2的分段與重組
AAL2適用于傳輸?shù)退俾收Z(yǔ)音流量。AAL2又被分為通用部分子層(CPS,Common Part Sublayer)和服務(wù)特定會(huì)聚子層(SSCS,Service Specific Convergence Sublayer)。圖2給出了CPS包的格式。其中CID:信道標(biāo)識(shí),CPS-PH中的CID可方便CPS-PP判別在VCC中的狀況,它有8個(gè)位元,共255個(gè)取值,但只有248個(gè)CID保留給使用者;LI:長(zhǎng)度指示器。數(shù)據(jù)包有效載荷的長(zhǎng)度與每個(gè)獨(dú)立用戶相關(guān)聯(lián),值小于有效載荷且具有一個(gè)45字節(jié)(可能設(shè)置為64字節(jié))的缺省值,它指的是封包載乘的長(zhǎng)度 (CPS-PP),當(dāng)它為零時(shí),則表示長(zhǎng)度為1byte,因此CPS-PP 至少為1byte;UUI:用戶對(duì)用戶指示,提供 CPS 和一個(gè)適當(dāng)?shù)腟SCS間的鏈路,以滿足高層應(yīng)用程序要求;HEC:信頭錯(cuò)誤控制。多個(gè)CPS包就組成了CPS-PDU,多個(gè)CPS-PDU就組成了SSSAR-PDU,多個(gè)SSSAR-PDU就組成了一個(gè)SSSAR-SDU。圖3給出了AAL2的數(shù)據(jù)單元的分段與重組情況。
圖2AAL2的CPS包格式
圖3AAL2的分段與重組
AAL5的分段與重組
AAL5是簡(jiǎn)單且有效的AAL(SEAL),基本上用于數(shù)據(jù)流量問(wèn)題上。它不包含Per-Cell長(zhǎng)度或Per-Cell CRC字段。圖4給出了AAL5的數(shù)據(jù)單元結(jié)構(gòu)。CPCS-PDU Payload:可變長(zhǎng)用戶信息字段
AD:間隙,長(zhǎng)度在0到47字節(jié)之間;UU:CPCS用戶對(duì)用戶指示;CPI—通用部分指示;Length:長(zhǎng)度指示器。
圖4AAL5的數(shù)據(jù)結(jié)構(gòu)單元
AAL5的重組和AAL2很相似,就是把SAR-PDU進(jìn)行合并,成為一個(gè)CPCS-SDU的凈荷。唯一不同的是在AAL5中不含有CID號(hào),所以它的重組要比AAL2簡(jiǎn)單。圖5示出AAL5的數(shù)據(jù)單元的分段與重組情況。
圖5AAL5的分段與重組[4]
ATM數(shù)據(jù)采集卡的數(shù)據(jù)處理流程
網(wǎng)絡(luò)處理器是一種可編程器件,通常由若干微碼處理器和硬件協(xié)處理器組成,可實(shí)現(xiàn)業(yè)務(wù)靈活性和高性能的有機(jī)結(jié)合。摩托羅拉公司(編者注:現(xiàn)為Freescale)的PowerPC是一塊功能強(qiáng)大的網(wǎng)絡(luò)處理器,由G2_LE Core、通信處理模塊(CPM)構(gòu)成一個(gè)雙核處理器。在本設(shè)計(jì)中,我們主要用它來(lái)實(shí)現(xiàn)ATM協(xié)議,完成ATM信元的分組與重組功能。具體的數(shù)據(jù)流程如圖6所示。
圖6STM-1數(shù)據(jù)流程框圖
ATM數(shù)據(jù)采集卡的軟件設(shè)計(jì)
數(shù)據(jù)在發(fā)送時(shí),消息體被劃分成一個(gè)個(gè)標(biāo)準(zhǔn)的ATM信元,封裝成STM-1幀傳送;接收時(shí)必須從STM-1幀中取出標(biāo)準(zhǔn)的ATM信元,對(duì)數(shù)據(jù)進(jìn)行重組,還原出具體的消息。為了實(shí)現(xiàn)數(shù)據(jù)的采集,主要工作由PowerPC處理器運(yùn)行固化在數(shù)據(jù)采集卡上的軟件模塊實(shí)現(xiàn)。軟件模塊由四個(gè)部分組成:初始化模塊、地址映射模塊、接收控制模塊、激活模塊組成。
初始化模塊
初始化模塊完成PowerPC的參數(shù)RAM的配置、FCC相應(yīng)寄存器的配置和中斷隊(duì)列的初始化,使整個(gè)系統(tǒng)維持在一種待機(jī)狀態(tài),其配置流程如圖7所示。
圖7 初始化模塊
地址映射模塊
地址映射模塊負(fù)責(zé)把來(lái)自不同的VPI/VCI組合的ATM信元放置到SDRAM的不同位置。圖8給出了地址映射的處理機(jī)制,地址映射的流程如下:
A.利用VPI、VP_MASK得到VPpointer,此值用于此VPI在VPT表格中的索引;
B.根據(jù)VPT_BASE+VPpointer