由于目前NGN網絡是一個以軟交換為核心并由PSTN網絡和VoIP網絡融合在一起的復雜網絡,多種接口、多種協(xié)議、多媒體并存,PSTN與VoIP設備的兼容性、VoIP網絡內部不同設備提供商的設備兼容性、網絡設計性能與實際部署性能的差異性、語音質量的差異性等挑戰(zhàn)都嚴峻地擺在運營商面前。于是就要求NGN網絡運營商能夠對其網絡性能進行測試和分析,NGN網絡測試儀能夠解決這樣的問題。
本NO.7信令采集卡是基于PCI總線技術設計的,主要完成的功能為物理層的數(shù)據(jù)采集和HDLC鏈路控制。本卡根據(jù)協(xié)議的選擇主要完成NO.7信令的采集,并把數(shù)據(jù)送到NGN網絡測試儀的上層軟件進行分析。
NO.7信令采集卡的總體設計方案及硬件實現(xiàn)
NO.7信令采集卡是NGN網絡測試儀中非常重要的一張數(shù)據(jù)采集卡。在NGN網絡測試儀中主要完成的功能為物理層的數(shù)據(jù)采集和HDLC鏈路控制。為了滿足測試時數(shù)據(jù)流量大,方便用戶使用的要求,本卡的設計采用了自帶標準PCI協(xié)議規(guī)范的HDLC控制器(MindSpeed CN8478)、專用的E1成幀器(IDT82P2284)芯片及Windows 2000作為此卡的基本軟硬件構架。此卡的軟件驅動基于PCI框架,能夠實現(xiàn)NO.7信令的快速、穩(wěn)定采集。圖1為此卡的總體設計方案框圖。
圖1 NO.7信令采集卡總體設計框圖
按照NGN網絡測試儀的總體設計方案,NO.7信令采集卡在測試儀中是以PCI插槽板卡存在的。NO.7信令通過帶有高阻適配器的E1數(shù)據(jù)采集線從網絡上被提取后就送到成幀器芯片IDT82P2284中,數(shù)據(jù)經過IDT82P2284處理后來到了CN8478的串口,在CN8478中形成的HDLC幀被送到上層軟件進行協(xié)議分析處理。本卡可以實現(xiàn)16路監(jiān)測、4路仿真。
NO.7信令采集卡在硬件上主要由以下單元組成:HDLC邏輯層MUSYCC(CN8478)、物理層E1成幀器(IDT82P2284)、CPLD邏輯控制器、RJ45網絡接口、高阻適配器等。本采集卡的硬件設計框圖如圖2所示。
圖2 NO.7信令采集卡硬件框圖
芯片資源介紹
1 CN8478簡介
CN8478是一個PCI多功能設備,它包括了以下幾個部分:一個主接口Host Interface、8個串口Serial Interface、1個擴展總線口Expansion Bus Interface(EBUS)、一個邊界掃描口Boundary Scan and Test Access。其中,主接口又由四個部分組成:設備配置寄存器、PCI功能0的配置空間、PCI功能1的配置空間、PCI接口。串口也有四個組成部分:中斷控制器、DMAC、位級處理器BLP、接收和發(fā)送端口。主接口主要提供CN8478與PC之間的接口,完成設備寄存器配置和PCI功能區(qū)配置區(qū)間的讀寫,串口主要完成主接口和IDT82P2284的數(shù)據(jù)傳遞,同時根據(jù)需要產生中斷,并報知PC;EBUS接口通過內置的MPU(微處理器單元)主要完成外圍設備的擴展,這里用來對IDT82P2284的寄存器讀寫以實現(xiàn)對其進行控制;邊界掃描在此系統(tǒng)中不用。圖3為CN8478的PCI接口設計原理圖。
圖3 CN8478的PCI接口設計原理圖
2 T1/E1收發(fā)成幀器IDT82P2284簡介
IDT82P2284是一個支持四個鏈路的T1/E1收發(fā)成幀器,收發(fā)接口數(shù)據(jù)的傳輸速率支持T1的1.544Mbps或者E1的2.048Mbps。物理線性接口電路恢復來自電纜的“+3~-43dB”的模擬時鐘和數(shù)據(jù)。IDT82P2284由以下幾個部分組成:微處理器接口(MPU)、接收/發(fā)送線性接口單元(RLIU/TLIU)、邊界掃描(JTAG)。
采集模式簡介
本設計所研制的N0.7信令采集卡可以實現(xiàn)兩種模式的采集,即N×64K和高速2M。
在N×64K采集模式下,可對PHY層的IDT82P2284進行控制使其工作在復用模式,讓成幀器芯片上的四條E1鏈路合成一路后送到CN8478的一個串口,這時IDT82P2284和串口時鐘為 8.192MHz,由板卡上的專用時鐘芯片提供。在N×64K的采集模式下可實現(xiàn)16路的NO.7信令采集。
在高速2M采集模式下,同樣可對IDT82P2284進行控制,這時使其工作在非復用模式,讓成幀器的每條E1鏈路分別獨立的把數(shù)據(jù)發(fā)送到CN8478的一個串口,這時IDT82P2284和串口之間的接口時鐘為2.048MHz,這個時鐘是成幀器在網絡的線上提取的。在高速2M采集模式下,可同時實現(xiàn)8路和16路的NO.7信令采集。
NO.7信令采集卡的驅動程序設計
1 驅動程序功能設計
N0.7信令采集卡驅動程序的設計可分兩部分,分別對應CN8478的配置和IDT82P2284的配置。
在對CN8478的配置中,驅動程序主要任務是完成映射在主機中共享體的配置。共享體是驅動程序向操作系統(tǒng)申請的一段存儲空間,該空間在物理上處于主機的內存中。從整體上看,共享體可劃分為兩部分,第一部分用于CN8478的寄存器映射,第二部分用于中斷隊列、發(fā)送消息鏈表、接收消息鏈表、發(fā)送數(shù)據(jù)緩沖區(qū)、接收數(shù)據(jù)緩沖區(qū)的分配。
對成幀器IDT82P2284的配置中,主要通過微處理接口對其寄存器進行控制,來實現(xiàn)將線上采集到的位流形成需要的幀結構消息以送往LINK層設備。
2 驅動程序的實現(xiàn)
本NO.7信令采集卡需要實現(xiàn)兩個驅動程序,分別對應CN8478的LINK驅動,IDT82P2284的PHY驅動。由于PHY驅動較簡單,所以本文主要介紹LINK驅動。
LINK驅動程序的編寫本設計使用了DriverWorks開發(fā)工具,它與直接用DDK編寫的驅動程序有些區(qū)別。這里主要繼承了DriverWorks提供的兩個類(即Kdriver類和KPnpDevice類)來實現(xiàn)本驅動程序。
Kdriver類:這個類提供設備程序的基本框架結構,并負責將IRP分發(fā)到目標設備對象中去。在本驅動程序設計中,繼承了一個Kdriver類的派生類。在這個派生類中重載了DriverEntry例程,在這個例程中主要做一些初始化工作。另外在這個類中還包含了一個AddDevice例程,被PnP管理器調用來初始化由該驅動程序所控制的設備。
KPnpDevice類:這個類代表設備驅動程序,提供驅動程序與應用程序的接口功能,承擔IRP分發(fā)任務,提供與底層設備的接口功能,同時,提供與其他系統(tǒng)對象的接口功能。包含了絕大部分驅動程序例程。
3 驅動程序的調試
調試本驅動程序,本設計使用了一個KDebugOnlyTrace類對象在DriverMonitor中輸出調試跟蹤信息,同時也經常借助于SoftICE來查看內存值以確認共享體的配置信息。圖4為使用DriverMonitor輸出的調試信息。
圖4 驅動程序調試顯示
結束語
對于此采集卡已經研制成功并實現(xiàn)了商用,它是NGN網絡測試儀中針對核心網測試最重要的數(shù)據(jù)采集卡之一。經過現(xiàn)場測試表明本采集卡能夠對NGN網絡中的大流量NO.7信令進行正確、穩(wěn)定采集,從而使NGN網絡測試儀實現(xiàn)了對NGN網絡協(xié)議的測試與分析。同時也驗證了本文所研制的NO.7信令采集卡的可行性。