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