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