1 引言
隨著電信網(wǎng)絡(luò)迅速發(fā)展,,基于軟交換技術(shù)的NGN網(wǎng)絡(luò)應(yīng)運而生,。在構(gòu)建中,NGN需通過信令網(wǎng)關(guān)SG與現(xiàn)有的七號信令網(wǎng)互通,,但在物理上采用HDLC格式的 E1傳輸,。為了維護(hù)NGN網(wǎng)絡(luò),實現(xiàn)不同采集口的多協(xié)議關(guān)聯(lián),、呼叫的合成等功能,,相應(yīng)的測試儀表必須提供網(wǎng)卡和E1卡的測試接口。根據(jù)NGN網(wǎng)絡(luò)測試儀表的總體設(shè)計方案要求,,數(shù)據(jù)采集卡采用PCI插槽,,E1信號經(jīng)物理接口器件成幀,通過串口送給MUSYCC,,完成消息重組,,最后通過PCI總線將消息送至上層軟件進(jìn)行協(xié)議分析處理,。數(shù)據(jù)采集卡提供網(wǎng)絡(luò)接口的物理層,、鏈路層功能以及PCI規(guī)范接口,可同時監(jiān)測8路E1信號。
2 系統(tǒng)硬件設(shè)計
BT8474是一個PCI多功能設(shè)備,。本系統(tǒng)中,,其功能0實現(xiàn)鏈路層的控制;功能1完成物理層的控制,。BT8474是由1個主接口,、4個串口、1個EBUS端口和1個邊界掃描口構(gòu)成,。主接口通過PCI的兩個功能配置區(qū)找到基地址寄存器,,系統(tǒng)根據(jù)訪問的地址值決定選擇的功能;串行接口完成主接口和物理接口器件的數(shù)據(jù)傳輸,;EBUS端口通過內(nèi)置的MPU(微處理器單元)來擴展外圍設(shè)備,,物理接口器件BT8370是一個T1/E1收發(fā)成幀器,可支持LineRate為1.544 Mb/s(T1)或者2.048 Mb/s(E1)的收發(fā)接口,。物理線性接口電路恢復(fù)來自于電纜的“+3 dB~-43 dB”的模擬時鐘和數(shù)據(jù),。圖1給出了E1數(shù)據(jù)采集卡硬件設(shè)計原理圖。
3 E1卡驅(qū)動程序的架構(gòu)
E1采集卡軟件設(shè)計架構(gòu)主要由鏈路層驅(qū)動模塊,、物理層驅(qū)動模塊,、應(yīng)用層接口處理模塊和上層協(xié)議處理模塊組成,如圖2所示,。驅(qū)動程序是數(shù)據(jù)采集卡的基礎(chǔ),它負(fù)責(zé)E1接口數(shù)據(jù)采集和數(shù)據(jù)重組,并通過共享內(nèi)存與PC機實現(xiàn)數(shù)據(jù)交互,,以及控制指令動作和硬件狀態(tài)報告等。
E1鏈路層驅(qū)動接口器件BT8474是一個PCI多功能設(shè)備,,其底層驅(qū)動分為兩個模塊,,分別針對功能0的鏈路層HDLC控制器和功能1的物理層成幀器。 E1數(shù)據(jù)采集卡的HDLC控制器和成幀器的配置是由驅(qū)動程序通過PCI接口配置,。下面對E1接口卡的驅(qū)動構(gòu)架詳細(xì)說明,。
3.1 鏈路層
鏈路層HDLC控制器主要完成內(nèi)部寄存器和映射的共享體配置。共享體用于HDLC寄存器的初配,、接收和發(fā)送緩沖區(qū)以及時隙映射表的配置,。HDLC控制器為每個信道都建立一個消息鏈表,這樣數(shù)據(jù)緩沖區(qū)可以循環(huán)利用。HDLC控制器與成幀器的對應(yīng)關(guān)系決定于HDLC控制器端口映射方式的設(shè)置,。其配置流程如圖3所示,。
3.2 物理層
物理層通過地址總線映射配置成幀器,其中PCI橋設(shè)備和成幀器之間經(jīng)過CPLD控制選通,。物理層驅(qū)動完成配置成幀器,、復(fù)位控制等。成幀器是將E1上的比特流整合成符合規(guī)范的HDLC幀,,其中一個標(biāo)準(zhǔn)HDLC幀包括32個時隙,,這些時隙可配置映射到HDLC控制器的端口信道,,實現(xiàn)2 M、N×64 K,、N×8 K高速模式,。其配置流程如圖4所示。
4 E1接口卡應(yīng)用程序設(shè)計
數(shù)據(jù)采集卡通過成幀器首先從E1線上取得七號信令的數(shù)據(jù),,并將接收到的數(shù)據(jù)放至共享體中,;上層應(yīng)用程序發(fā)送IRP到共享體中讀取采集數(shù)據(jù)。應(yīng)用程序接口(API)是驅(qū)動程序為上層應(yīng)用預(yù)留的接口,,上層軟件可通過調(diào)用該程序?qū)崿F(xiàn)驅(qū)動以及對板卡的控制,。雖然驅(qū)動程序是為設(shè)備的硬件層編程服務(wù)的,但是同樣需要具有與應(yīng)用程序交互的能力,從而最終達(dá)到應(yīng)用程序控制設(shè)備的目的。
在Windows中,,應(yīng)用程序與WDM通信的實現(xiàn)過程:應(yīng)用程序應(yīng)先獲得設(shè)備句柄GUID碼,然后利用CreateFile函數(shù)打開設(shè)備,通過 DeviceIoControl函數(shù)傳遞控制代碼參數(shù)和WDM進(jìn)行通信,,包括從WDM中讀取數(shù)據(jù)和寫數(shù)據(jù)給WDM兩種情況,也可利用ReadFile從 WDM中讀取數(shù)據(jù)或用WriteFile寫數(shù)據(jù)給WDM:當(dāng)下層驅(qū)動有觸發(fā)事件時,就需要Event事件通知上層軟件,。當(dāng)應(yīng)用程序退出時,,CloseHandle則關(guān)閉設(shè)備,這將產(chǎn)生對應(yīng)于此設(shè)備對象的相應(yīng)IRP消息,。這種關(guān)系如表1所列,。
由于E1數(shù)據(jù)采集卡的MUSYCC控制器是PCI多功能設(shè)備,所以應(yīng)用程序應(yīng)當(dāng)合理調(diào)整兩個功能驅(qū)動程序的控制順序,實現(xiàn)E1數(shù)據(jù)的正常采集,。其E1卡應(yīng)用程序(API)的配置流程如圖5所示,。
5 結(jié)束語
將E1數(shù)據(jù)線的發(fā)送線與接收線對接進(jìn)行測試可得:接收數(shù)據(jù)即為發(fā)送數(shù)據(jù),從而證明了E1板卡可實現(xiàn)收,、發(fā)數(shù)據(jù),。E1接口卡為滿足用戶對信令消息的特定要求,驅(qū)動設(shè)計提供控制消息長度的接口函數(shù),,用戶可隨意采集指定長度的消息數(shù)據(jù),,便于過濾檢測消息。采用一機多卡來實現(xiàn)多達(dá)64路E1集中監(jiān)測,,為大型網(wǎng)絡(luò)數(shù)據(jù)量采集提供升級參考,。