a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 專題 > TD-SCDMA網絡測試儀中E1數據采集卡的驅動程序設計

TD-SCDMA網絡測試儀中E1數據采集卡的驅動程序設計

作者: 時間:2008-01-30 來源:重慶郵電學院學報 收藏

0、引言

本文引用地址:http://www.j9360.com/article/78275.htm

  近年來TD-SCDMA一直是通信行業關注的一個焦點,為了進一步支持TD-SCDMA產業化進展,國家對當前TD-SCDMA產業發展的各個環節給予支持[1]。我國正大力開發TD-SCDMA第三代移動通信(3G)系統,即將大規模組建3G網絡,然而卻沒有所必需的實驗研發、建網和運行測試設備,在國際上傳統通信測試儀表廠商也只推出了基于CD-MA2000和WCDMA 2種標準的測試儀表。針對這樣的情況,研制出具有自主知識產權的TD-SCDMA移動通信網絡測試儀,完善TD-SCDMA產業鏈,形成系列產品并推向市場,必將產生巨大的社會效益及經濟效益。該測試儀主要測試的接口包括Iub,Iur,IuCS,IuPS,Nc,Nb,C/D/E/G/Gr/MSCS-SCP,Gn/Gp,Gi等[2-4],主要實現協議分析(解碼)、呼叫跟蹤、業務統計及分析、網絡異常分析、網絡分析和優化、協議仿真等功能,采用工控機結構,多鏈路、多通道的硬件由多個基于PCI總線的(規程板)組成。E1是其中的一個PCI,它采集的2M信令用于網絡的實時維護和管理,是TD-SCDMA網絡系統中非常重要的一部分。

1、E1數據采集卡的實現

  E1數據采集卡從E1線上采集信令消息(包括七號信令等),用以監視和仿真整個通話流程。控制流程如圖1所示,PCI接口芯片(HDLC控制器)是一個多功能設備,包括一個網絡控制器和一個PCI橋設備(EBUS)。網絡控制器完成時隙映射和DMA傳輸等功能;PCI橋設備完成選通和配置成幀器,其中成幀器的選通用一個CPLD來完成。信令信號在成幀器成幀后,經過HDLC控制器以DMA方式送入到PC緩沖區,用戶依據接口函數到緩沖區讀取信令數據并進行分析,數據流程如圖2所示。

 

圖1 E1數據采集卡控制流程圖

Fig.1 E1 data acquisition card control flow chart

 

圖2 E1數據采集卡數據流程圖

Fig.2 E1 data acquisition card data flow chart

2、E1數據采集卡的驅動設計

  2.1 開發環境設置

  在開發驅動前,首先要對開發、編譯環境進行設置。WDM驅動程序開發環境及在Windows XP/Windows2000下編寫驅動程序的環境被稱為DDK For WindowsXP/Windows2000或WindowsXP/Windows2000 DDK。DDK是一個命令行下的工作環境。在安裝DDK前需要先安裝Microsoft Visual C++和Win32 SDK(可選),安裝DDK成功后,一定要在控制面板“系統”屬性的“高級”標簽環境變量編輯器中設置好這個環境變量。對驅動程序的編譯可以通過設置VC++的項目設置,在VC環境中直接編譯驅動程序,但改變設置的工作較繁瑣且易出錯,因此“DDKbuild.exe”編譯聯接器是構造驅動程序的主要工具。“DDKbuild.exe”從配置文件Sources中讀出待編譯的程序的配置,包括源文件、目標文件等,從環境變量Include中得到引用文件的地址,然后調用Visual C++的編譯聯接器“Nmake.exe”進行實際的編譯聯接工作。另外,build編譯聯接器還可以通過查看DIRS文件中的偽指令,確定要編譯的驅動程序目錄列表。日志文件build.log,build.wrn,build.err中分別記錄了編譯聯接中執行的命令行、遇到的錯誤和警告。編譯完成后的文件后綴為“.sys”。

  2.2 驅動框架設計

  驅動程序在初始化過程中,利用期間識別號(DID)、廠商識別號(VID)和檢索號(Index)搜索PCI器件,通過調用PCI BIOS確認其存在,然后利用總線號、器件號、功能號和尋址設備的PCI配置空間(Configuration Space),獲得該設備的參數。這部分可以由DRIVERWORKS的向導DriverWizard來完成。

  DriverWizard為設計者生成了2個類:一是設備驅動程序類,另一個是設備應用對象類。驅動程序類主要完成WDM(Windows driver model)的DriverEntry和AddDevice例程;設備對象類就是與硬件對應的功能設備對象(FDO)類,與硬件交互的例程都是針對此類的。通過前面驅動框架設計的參數配置,驅動程序就建立了聯系,接下來就是驅動功能設計。

  2.3  驅動功能設計

  E1數據采集卡底層驅動程序的2個部分分別對應接口芯片的2個功能設備:HDLC控制器和成幀器。E1數據采集卡的HDLC控制器和成幀器的配置都是驅動程序通過PCI接口芯片來配置的。

  HDLC控制器的配置主要完成映射的共享體的配置。共享體用于HDLC寄存器的初配、接收和發送緩沖區配置。HDLC控制器為每個信道都建立一個消息鏈表,這樣數據緩沖區可以循環利用。HDLC控制器與成幀器的對應關系決定于HDLC控制器端口映射方式的設置。

  成幀器就是將E1線上的比特流整合成符合規范的HDLC幀,其中一個標準E1 HDLC幀包括32個時隙,這些時隙可以通過配置映射到HDLC控制器的端口信道上。另外,可以通過時鐘配置實現多對多、多對一的靈活時隙映射。自環也是成幀器重要的功能之一,可以將發出的數據直接導到接收端,這對早期開發很重要。成幀器提供3種自環模式,可以滿足不同階段配置的要求,具體如下。

  (1)N×64 K模式。在該模式下,E1數據采集卡通過成幀器耦合,將數據導入到一個HDLC控制器端口,這樣提供的8個E1接口都可用作接收數據。另外,用戶可以根據需要和當前數據量的大小增減時隙配置。

  (2)2 M模式。在該模式下,E1數據采集卡將4個成幀器與4個HDLC完全對應,最大數據量達2 Mbit/s。

  (3)N×8 K模式。該模式是為某些特殊情況設計的。在有些網絡中,七號信令可能只走一個HDLC幀中一個時隙的一個或幾個比特。在這種情況下,只將該時隙的對應比特位映射到HDLC端口中,獲取準確信息。

  借助于驅動的I/O接口函數,用戶可以通過API或MFC配置下層驅動。另外,為滿足用戶對信令消息的特定要求,驅動提供了控制消息長度的接口函數,用戶可以隨意采集指定長度的消息數據,便于特定檢測。

  卡間同步決定了網絡測試儀實時檢測性能和仿真性能,是的主要技術之一。2 M卡解決了時鐘同步問題,可實現一機多卡,為大型網絡節點的繁重數據量采集提供升級參考。

3、E1數據采集卡的驅動實現

  E1數據采集卡驅動程序采用WDM結構,程序具體模塊分析如圖3所示。

 

圖3 設備驅動程序的組成示意圖

Fig.3 Component of device driver

  3.1 驅動程序入口點和回調例程

  驅動程序有一個主要的初始化入口點——DriverEntry,當驅動被裝載時,內核就調用DriverEntry例程。在DriverEntry里,有回調例程供內核調用,這些例程是驅動的實現主體。內核通過發送I/O請求包(IRP)來運行驅動程序中的這些例程。驅動程序入口點和回調例程功能列表如表1所示。

表1 驅動程序入口點和回調例程

Tab.1 Driver entry pointer and callback routine

 

  3.2 IRP分發例程

  

  “創建”、“關閉”、“讀”、“寫”、“CTL碼”處理的例程就叫分發例程,在本驅動中,用來產生IRP,IRP向上向下轉發、傳送數據。

  3.3 創建設備

  每個設備接口都有一個惟一標識的GUID碼(全局惟一標識符),安裝設備驅動時,inf將該信息導入到注冊表,形成一個符號鏈接名來表示設備。這樣,操作系統在設備安裝后都能夠識別設備。

  3.4 資源分配

  資源包括I/O端口、存儲器空間、中斷和DMA線,這些資源都是由接口提供的。例如,存儲器地址可通過KMemoryRange來找尋。

  

  3.5 硬件訪問

  對硬件的訪問包括IRP串行處理例程StartIo,StartIo例程可以防止程序的不同部分同時訪問相同資源所引起的沖突,在E1數據采集卡中,StartIo例程負責上行處理接收的數據和下行的命令以及發送數據,StartIo可控性很強,能滿足采集卡對高速數據采集的要求,具體程序如下。

   

  3.6 中斷處理

  中斷例程運行級別很高,windows為了保護操作系統的穩定性,禁止驅動程序調用內核函數。例如,中斷程序如果想完成IRP操作,必須要調用DPC例程:m_DpcFor_Irq.Setup(LinkTo(DpcFor_Irq),this)。

  3.7 驅動卸載

  驅動卸載調用Pnp的IRP_MN_STOP_DE-VICE,所有申請內存和中斷必須釋放,指針置空,例程如下:

  

  3.8 測試結果

  圖4給出了E1數據采集卡采集的測試結果,從中可看到E1線采集的數據經過驅動打標后,被送到了上層測試程序,具有多線路、多業務、實時性等優點,滿足了設計要求。另外,板卡經過了超過24小時的大數據量壓力測試,測試效果良好。

 

圖4 E1數據采集卡采集測試結果

Fig.4 E1 data acquisition card testing result

4、結束語

  利用E1數據采集卡可以實時監測通信鏈路的建立、傳輸、停止等過程,并且可以通過該卡的信令發送功能,實現業務仿真,減小TD-SCDMA網絡設計風險。經多次測試證明,E1數據采集卡完全可以應用于TD-SCDMA網絡測試。該測試卡驅動代碼運行穩定高效,功能模塊明晰,可以實時升級,以滿足不同用戶功能需求。

  參考文獻

  [1] 王炎.TD-SCDMA系統測試情況分析[EB/OL].(2005-08-04).http://www.cttl.com.cn.

  [2] 李小文,李貴勇,陳賢亮,等.TD-SCDMA第三代移動通信系統、信令及實現[M].北京:人民郵電出版社,2003.

  [3] 李貴山,戚德虎.PCI局部總線開發者指南[M].西安:西安電子科技大學出版社,1997.

  [4] 武安河,邰銘,于洪濤.windows 2000_XP WDM設備驅動程序開發[M].北京:電子工業出版社,2003.

 



評論


相關推薦

技術專區

關閉