<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > TD-SCDMA網(wǎng)絡(luò)測試儀的ATM數(shù)據(jù)采集卡的實現(xiàn)*

          TD-SCDMA網(wǎng)絡(luò)測試儀的ATM數(shù)據(jù)采集卡的實現(xiàn)*

          ——
          作者:重慶郵電大學(xué)通信網(wǎng)與測試技術(shù)重點實驗室 梁燕 黃俊 邵凱 張治中 時間:2007-08-06 來源:電子產(chǎn)品世界 收藏

          摘要: 本文介紹了信令測試儀中基于PowerPC處理器的ATM數(shù)據(jù)采集卡的實現(xiàn)方案,主要分析了ATM數(shù)據(jù)采集軟件的各個模塊,詳細(xì)說明了數(shù)據(jù)采集卡的數(shù)據(jù)處理流程。實際使用表明,本文提出的數(shù)據(jù)采集卡已經(jīng)成功的對ATM不同適配層的信元進(jìn)行了正確的接收重組和組裝發(fā)送,具有很大的實用價值。

          關(guān)鍵詞: ;測試儀;ATM數(shù)據(jù)采集卡;數(shù)據(jù)處理流程

          引言

          我國自主提出的標(biāo)準(zhǔn)隨著標(biāo)準(zhǔn)的完善和系統(tǒng)設(shè)備的逐漸成熟,再加上政府的強力支持,必將在我國的3G建設(shè)中占重要的一席之地。而能對TD-SCDMA各個接口(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ù)靈活性和高性能的有機結(jié)合。摩托羅拉公司(編者注:現(xiàn)為Freescale)的PowerPC是一塊功能強大的網(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)維持在一種待機狀態(tài),其配置流程如圖7所示。

          圖7 初始化模塊

          地址映射模塊

          地址映射模塊負(fù)責(zé)把來自不同的VPI/VCI組合的ATM信元放置到SDRAM的不同位置。圖8給出了地址映射的處理機制,地址映射的流程如下:

          A.利用VPI、VP_MASK得到VPpointer,此值用于此VPI在VPT表格中的索引;

          B.根據(jù)VPT_BASE+VPpointer



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();