??? 0、引言
??? 現階段我國正在大力開發TD-SCDMA第三代移動通信系統,國內各移動運營商也正準備大規模的組建3G網絡,但是到目前為止,用于TD-SCDMA系統實驗研發、建網和運行的網絡測試設備還未引起足夠重視,形成了TD-SCDMA產業鏈上的最為薄弱的一環[1]。特別是國際上傳統通信測試儀表廠商始終側重于CDMA2000和WCDMA 2000標準。因此,在國內研制出具有自主知識產權的TD-SCDMA移動通信網絡測試儀,完善TD-SCDMA產業鏈,形成系列產品并推向市場具有非常重要的意義,也必將會產生巨大的社會效益和經濟效益。TD-SCDMA網絡測試儀主要實現協議分析(解碼)、呼叫跟蹤、業務統計及分析、網絡異常分析、網絡分析和優化、協議仿真等功能,以完成對TD-SCDMA網絡的一致性測試、互操作性測試、性能測試、堅固性測試。它的主要測試的接口包括Iub,Iur,IuCS,IuPS,Nc,Nb,C/D/E/G/Gr/MSCS-SCP,Gn/Gp,Gi等[2-4]。TD-SCDMA系統結構[5]如圖1所示,TD-SCDMA系統中的Iub,Iur,Iu為主要的測試接口。TD-SCDMA網絡測試儀硬件部分采用工控機結構,多鏈路、多通道的硬件由多個基于PCI總線的數據采集卡(規程板)組成,各種基于大規模集成電路的數據采集卡負責原始物理層數據流的采集,并通過PCI總線與工控機交互數據,物理接口對全IP,STM-1和EI這3種方式都能夠支持;軟件部分基于Windows 2000和XP操作系統,對硬件部分采集的原始信令數據進行分析、顯示和處理,同時還完成硬件采集卡的配置功能[6]。
圖1 TD-SCDMA系統結構
Fig.1 System structure of TD-SCDMA
??? STM-1數據采集卡是TD-SCDMA網絡測試儀中的一個PCI數據采集卡,負責采集網絡中STM-1幀結構數據。在TD-SCDMA產業鏈初步形成的現階段,進行TD-SCDMA網絡測試儀以及STM-1數據采集卡的研發具有很大的現實意義。
1、STM-1數據采集卡的硬件實現
??? 一般來說,數據采集的目的是對線路上較高級的信令及其數據進行收集、分析、處理,而對底層協議并不關心。特別對于像網絡測試儀這樣的設備來說,對接近物理層一端數據往往希望硬件進行初步的分類和處理,以使得送入軟件分析的數據相對簡化,節省運算量。換句話說,網絡測試儀的硬件部分處理偏底層的數據,軟件部分處理偏上層的數據。進而根據TD-SCDMA規范和無線接入網接口協議結構,AAL(包括AAL2,AAL5)以上層次由軟件處理,在AAL及其以下層次由硬件處理是比較理想的劃分。對于STM-1數據采集卡來說,應該完成物理層、ATM層、AAL層的處理任務,即從線上獲取的數據流,在送給軟件作進一步處理之前,首先由硬件組裝成一個個完整的AAL幀,再將數據交給軟件處理。所以STM-1數據采集卡的工作流程應該為:①TD-SCDMA網絡中的光信號通過光電轉化器轉化為電信號;②通過一個STM-1/ATM抽取裝載芯片將STM-1幀結構里邊封裝的ATM信元提取出來;③將ATM信元通過一個UTOPIA2接口送給一個網絡處理器,將ATM信元處理至AAL層(組裝成一條條的AAL幀);④通過PCI接口將處理過的數據送往PC做進一步分析。整個處理流程如圖2所示。
圖2 STM-1數據采集卡硬件設計
Fig.2 Hardware design of STM-1 card
??? 網絡處理器是板卡的核心部分,它完成整個STM-1數據采集卡的控制和計算功能。所以網絡處理器的選擇至關重要,其選擇應結合具體應用,綜合考慮,即主要從系統功能、處理能力、產品的升級換代、經濟承受能力和產品綜合成本等幾方面考慮。相對于目前的GSM/CDMA網絡而言,3G網絡的信息量更多、更復雜,常規的單片機控制技術在速度上不能滿足實時測試的需要。另外,還必須要求選擇的網絡處理器帶有UTOPIAⅡ和PCI接口。UTOPIAⅡ協議定義了一種物理層和ATM層之間的接口模式,是一種標準的ATM傳送接口,能夠實現STM-1/ATM抽取裝載芯片和網絡處理器的無縫連接,而PCI是先進的高性能局部總線,可同時支持多組外圍設備。我們采用的是Motorola公司的PowerPC系列的嵌入式處理器。
Motorola的基于PowerPC體系結構的嵌入式處理器芯片有MPC505,821,850等近幾十種產品,其中MPC860是Power QUICC系列、Power QUICCⅡ系列、Power QUICC Ⅲ系列的典型產品。
選擇的處理器有2個主要的組成部分:嵌入的PowerPC內核和通信處理模塊(CPM)。CPM同時支持快速通信控制器(FCC)、串行通信控制器(SCC)等。FCC支持基于UTOPIA2接口的155 Mbit/s ATM協議,同時還支持IEEE802.3和快速以太網協議。網絡處理器的ATM通信控制器可以通過UTOPIA Ⅱ接口實現ATM和AAL層的功能,利用FCC作為ATM通信控制器來實現AAL2和AAL5適配[7],該通信控制器支持以下功能。
(1)155 Mbit/s的全雙工分段重裝,包括CRC32,CPCS-UU,CPI和長度域的生成和校驗。
(2)16 B數據總線的UTOPIAⅡ總線主從模式,包括多物理設備的查詢模式。
(3)內部可存儲不多于255個虛通道(VC)號,利用外部存儲器可存儲64 KB虛通道號。
(4)可以自定義不多于64 B的信元長度。
(5)ATM層的信元統計功能。
(6)接收地址查詢機制,包括外部CAM查找和地址壓縮。
??? Powerpc系列處理器的工作模式有很多種,而用于STM-1數據采集卡的處理器只能選擇ATM模式。CPM里的FCC可連到8位或16位UTO-PIAⅡ接口用于ATM通信,所以在設計時選擇CPM里的FCC來實現的數據的收發。其余的外圍電路包括CPU的外部SDRAM,FLASH以及光電轉換模塊等。圖2中各模塊設計說明如下。
??? (1)網絡處理器:網絡處理器通過內部集成的FCC支持UTOPIAⅡ接口,由于FCC支持標準的UTOPIAⅡ接口,因此可以直接與STM-1/ATM抽取裝載芯片相連接;此外,SDRAM,Flash等器件均通過60x總線與網絡處理器連接。
??? (2)STM-1/ATM抽取裝載芯片:主要完成以155.52 Mbit/s的速度處理雙工位串行STS-3c/STM-1數據流。STM-1/ATM抽取裝載芯片的選擇也應該考慮到它必須帶有UTOPIAⅡ,以實現與網絡處理器的無縫連接。
??? (3)SDRAM:用于存放用戶的數據和代碼,為程序的運行和保存臨時文件提供空間。采用商用的168引腳的內存條,與網絡處理器以60x總線相連。數據寬度為64位。網絡處理器提供了SDRAM控制器,只需進行寄存器的設置即可。
??? (4)Flash:用于存儲操作系統內的引導程序、存儲操作系統內核、文件系統映像和用戶程序文件,與網絡處理器以60x總線相連。
?? 2、STM-1數據采集卡的軟件設計
??? 2.1 嵌入式系統
??? STM-1數據采集卡軟件包括嵌入式操作系統和應用軟件2大部分。本系統中我們采用Linux操作系統。Linux是個與生俱來的網絡操作系統,成熟而且穩定。Linux是源代碼開放軟件,不存在黑箱技術,任何人都可以修改它,或者用它開發自己的產品。Linux系統是可以定制的,系統內核目前已經可以做得很小。一個帶有中文系統及圖形化界面的核心程序也可以做到不足1 MB,而且同樣穩定。Linux作為一種可裁減的軟件平臺系統,是發展未來嵌入設備產品的絕佳資源,嵌入式系統的開發主要包括以下2點。
??? (1)Bootloader開發。嵌入式系統中,整個系統的加載啟動任務完全由BootLoader來完成。通過BootLoader,我們可以初始化硬件設備,建立內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統內核或用戶應用程序準備好正確的環境。
??? (2)Linux內核的移植、開發。在獲得Linux內核源代碼后,根據硬件平臺進行內核的剪裁、配置、編譯,最后把Linux內核移植到開發板,通過FLASH或BOOTP從開發板上引導Linux內核。
??? 2.2 應用軟件的主模塊
??? 該模塊是程序的主控模塊,完成板卡在數據采集前所有硬件的初始化,并最終通過輪詢命令區(主機向板卡發送命令的區域,板卡可在此讀取到主機發送過來的命令)依據該區域命令調用相應處理模塊。該模塊目的在于為后續的收發數據以及軟硬件接口做必要的準備,并依據命令區命令控制整個程序流程。應用軟件的主模塊見圖3所示,命令區是一個雙口RAM區,板卡和主機都可以隨時讀取,為了滿足實時測試的需要,板卡處理器的指針只要空閑就應該停留在該區域等候主機傳送下來的指令。各子模塊功能說明如下。
?? (1)板卡停止/重啟模塊,由此模塊控制板卡的停止和重啟。
?? (2)板卡自檢模塊,STM-1數據采集卡正式采集數據之間,主機發送自檢命令,板卡收到自檢命令后即將主機指定的數據發送后收回并送回主機,主機根據收回的數據與先前的數據比較判斷板卡是否正常工作。
??? (3)接收配置模塊,根據命令區接收配置命令的命令碼附加信息和具體的配置信息,完成AAL2和AAL5的接收初始化,為數據的接收做好準備。
??? (4)發送數據模塊,根據命令區發送數據命令的命令碼附加信息和具體的配置信息,完成AAL2和AAL5的發送初始化,并且激活相應通道進行發送。
??? (5)全局變量配置模塊,根據主機的要求修改全局變量。
??? (6)時鐘同步模塊,接受主機的命令,與TD-SCDMA網絡測試儀的其他數據采集卡同時開始計時。
??? (7)拆除鏈路模塊,根據命令區接收配置命令的命令碼附加信息和具體的配置信息,完成相應的AAL2和AAL5的鏈路拆除,并釋放相應的內存空間。
圖3 應用軟件的主模塊
Fig.3 Main module of applications
??? 2.3 中斷處理模塊
??? 中斷處理模塊主要用來處理板卡、芯片產生的所有異常情況(包含中斷)。按照中斷源的不同進行相應處理,主要包括接收中斷時的數據重組,接收、發送中斷時的BD操作,時鐘中斷處理,故障中斷產生時的錯誤處理等。特別是對于FCC的ATM發送、接收中斷進行輪詢檢查,直到所有中斷處理完成才跳出中斷處理函數,中斷處理流程如圖4所示。
圖4 中斷處理流程
Fig.4 Flow of interrupt disposal
??? STM-1數據采集卡的數據采集是通過中斷模式來實現的,當中斷處理模塊判斷出中斷源來自于接收幀時,就調用相應的處理函數對接收的數據進行重組,將其組成一條條軟件可以處理的AAL幀(CPCS-SDU),然后將其存入雙口RAM區指定的內存空間由軟件來提取處理。
??? 3、調試
??? 對于PowerPC來說,最常用的軟件開發方式有2種:一種是基于商業軟件CodeWarrior的開發調試平臺;另一種是基于免費交叉編譯器和BDI調試器的開發方案。CodeWarrior是Metrowerks公司專門為嵌入式PowerPC開發調試軟件設計的強大的IDE商業開發平臺,并且可以在Windows下方便使用,因此我們在實際開發中采用了CodeWarrior。
??? 對于AAL5數據,采取分別發送和接收2幀96字節的數據,第1幀數據為“1”,第2幀為全“2”,每幀恰好有2個ATM信元的凈荷,同一幀數據采取同一通道發送和接收,兩幀不同的數據采取不同的通道進行發送和接收(發送和接收通道編程時分別進行編號),如圖5所示。為了調試時便于查詢,編程時需將發送和接收中斷全部開啟。確認發送端與接收端相互連接的有效性后,激活第1、第2發送通道,然后通過CodeWarrior查詢發送和接收中斷隊列(Interrupt Queue)檢查發送和接收的基本情況。其中可能出現的情況有2種:①發送中斷隊列沒有中斷記錄,接收中斷隊列沒有中斷記錄;②發送中斷隊列有中斷記錄,接收中斷隊列沒有中斷記錄。
圖5 AAL5數據調試示意圖
Fig.5 Chart of AAL5 data debugging
??? 情況①可以推測數據沒有發出;情況②可以推測數據沒有接收到;對情況①,②的解決辦法是查詢發送、接收端,確認發送、接收數據結構配置是否正確,對表中各域的值可以采取多次嘗試的辦法來調試。如果發送中斷隊列有中斷記錄,接收中斷隊列有中斷記錄,可以推測發送、接收都正常,通過CodeWarrior查詢接收內存空間和雙口RAM區的接收重組數據區,檢查接收的數據是否與發送的數據一致,此時可能出現2種情況:①發送區的數據與接收區數據不一致;②發送區的數據與接收區數據一致,接收區與重組區不一致。
??? 情況①可以推測接收端沒有完全接收到發送過來的數據或發送端只發送了部分的數據,這種情況可以通過嘗試發送、接收數據結構表(table)中各域的值來調試;情況②可以推測中斷接收時,重組程序沒有把接收到的數據重組好,這種情況可以通過修改重組程序代碼來調試。如果發送區的數據與接收區數據一致,接收區與重組區也一致,那么說明發送和接收2幀96字節的AAL5數據獲得了成功。其后,采取發送和接收任何長度的數據進行調試,也都獲得成功,驗證了板卡能夠發送和接收任何的數據。
??? 對于AAL2數據,采取發送、接收2幀200字節的cps數據、2幀200字節的sssar數據,使用不同通道發送和接收,經過調試都獲得成功。調試時出現的問題及解決的辦法與調試AAL5數據時基本一致,只是發送和接收AAL2數據時使用到更多的數據結構,機制也復雜了一些。
?? 4、結束語
??? TD-SCDMA網絡測試儀STM-1數據采集卡的硬件設計采用了基于PowerPc系列嵌入式處理器的嵌入式系統,軟件設計采用了嵌入式操作系統和應用軟件。基于以上設計的STM-1數據采集卡經過調試完全能夠實現發送、接收多幀AAL2、AAL5數據的目的,達到了對STM-1信號數據采集的目的,可以滿足TD-SCDMA網絡測試儀的需要。
評論
查看更多