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

2021-01-13 電子產品世界

0、引言

本文引用地址:http://www.eepw.com.cn/article/78274.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配置下層驅動。另外,為滿足用戶對信令消息的特定要求,驅動提供了控制消息長度的接口函數,用戶可以隨意採集指定長度的消息數據,便於特定檢測。

  卡間同步決定了網絡測試儀實時檢測性能和仿真性能,是TD-SCDMA網絡測試儀的主要技術之一。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.

 

相關焦點

  • 基於USB總線和89C51單片機的數據採集系統設計
    摘要:本文介紹了基於USB總線的數據採集設備的開發方法,包括硬體設計、firmware(固件)設計、基於windows驅動程序模型(WDM)的設備驅動程序設計以及應用軟體的設計,同時也介紹了基於
  • 高性能測試測量數據採集分析系統
    在測試測量過程中及時進行數據採集或波形輸出。在持續在線動態監測情況下,需要同步保存數據。對於採集前端的非標信號處理,GE智能平臺提供的DSC-2200可用於前端應變信號的處理,主要提供全橋、半橋、1/4橋接入方式的信號調理。對接入的橋路信號實現將應變信號進行放大、濾波、調偏、調零等功能。
  • 高精度數據採集卡的功能特點及應用範圍
    打開APP 高精度數據採集卡的功能特點及應用範圍 海洋興業科技 發表於 2021-01-07 16:57:38 高精度數據採集卡主要應用在數據解析度要求很高的場合
  • Bootloader中LCD硬體初始化和軟體驅動程序設計
    Bootloader中LCD硬體初始化和軟體驅動程序設計 鄧佳佳 發表於 2018-03-07 14:05:06 前言
  • 一種疊加於TD-SCDMA 3G網絡的PTT手機方案
    最近幾年是中國自主智慧財產權技術TD-SCDMA在經歷了多年研發測試後,走向產業化規模應用的關鍵時期。中國移動、中國電信、中國網通已經在10個城市和地區開展了TD-SCDMA網絡建設。在這10個城市中,除了包括承辦奧運會比賽項目的北京、天津、上海、青島、秦皇島、瀋陽之外,還包括廈門、保定等。在將來TD-SCDMA的用戶至少可以達到上億,無疑TD-SCDMA在中國3G時代將扮演重要的角色。
  • 傳說中的高端網絡尋線儀,福祿克MT-8200-60-KIT智能網絡尋線儀
    市面上的尋線儀有很多款,至於為什麼福祿克尋線儀是傳說中的,不光是因為福祿克MT-8200-60-KIT尋線儀的價格比其他的品牌貴10倍,更是因為福祿克的質量,性能都是尋線儀中的傳中級別的高端貨。那麼下面明辰智航的小編給大家介紹介紹這款福祿克MT-8200-KTI的到底高端在哪裡。
  • 粗糙度輪廓儀功能及原理
    粗糙度輪廓儀是專門用來檢測經機械加工後工件的表面粗糙度、表面輪廓的機電一體化精密測量儀器,其特點除了具有高科技含量外,還將測試表面粗糙度和表面輪廓兩種功能有機地設計在同一臺儀器上。
  • 呈貢土壤水分測試儀廠家品牌
    土壤水分儀FDR-202III技術指標:介電常數:1~78,空氣=1,蒸餾水=78;±1.5%或 0.2(取二者中的大值)土壤水分:幹至飽和;±0.03土壤電導率:0.01~1.5 S/m;±2.0%或 0.005 S/m(取二者中的大值)土壤溫度測量範圍:-10~65℃;±0.1
  • 採用複雜可編程邏輯器件與ISA總線相結合實現數據採集系統設計
    採用複雜可編程邏輯器件與ISA總線相結合實現數據採集系統設計 電子設計 發表於 2018-12-30 09:33:00 數據採集是工業測量和控制系統中的重要部分
  • 5g網絡對電子商務的影響
    但與中國不同的是,中國移動已經從td-scdma升級為tdd-lte,建立了世界上最大的tdd-lte網絡,這一寶貴的經驗是其他國家無法獲得的,這也表明我國的5G發展速度比其他國家快了一步。中國的動態市場,在移動網際網路領域的人才積累和研發生產能力方面,網絡部署執行力很難為其他國家所觸及。
  • 脈衝LED發光強度的時間特性—光譜特性測試裝置
    放大器使用FET輸入的寬帶放大器,採用電流放大電路,放大光電二極體的光電流,使之達到數據採集卡所需要的電壓。 濾光片:使用QB21色玻璃濾光片,將LED的紅外光部分濾掉,僅保留測量需要的可見光部分。 數據採集卡:將光電探測器測量到的電壓信號數位化保存在計算機內並顯示出來。本系統使用美國NI公司數據採集卡,最小數據採集間隔50ns,並具有觸發電壓可程序調整的特點。
  • 功率器件雪崩耐量測試
    通常的情況下,功率器件都會降額,從而留有足夠的電壓餘量,但是一些電源在輸出短路時,初級中會產生較大的電流,加上初級電感,器件就會有雪崩損壞的可能,因此在這樣的應用條件下,就要考慮器件的雪崩能量。另外,由於一些電機的負載是感性負載,而啟動和堵轉過程中會產生極高的衝擊電流,因此也要考慮器件的雪崩能量。
  • 虛擬儀器技術在光模塊自動測試系統中的應用
    VISA標準的提出統一了儀器工業的軟體接口標準,使得儀器驅動程序兼容性強,二次開發變得很容易,並且可適應未來軟硬體的發展需要。2.其中86100B、AV2495光功率計、AV6381可編程光衰減器都帶有GPIB接口,可通過Agilent公司的GPIB卡把這些帶有GPIB接口的測試儀器連接起來整合到一套完整的系統中,使用Agilent VISA庫編寫測試應用程式控制儀器操作。
  • 科研必備「武器」之基因導入儀
    多功能化 多功能本身就是基因導入儀的一個特點,例如具有脈衝發生器、頻率合成器和任意波形發生器等功能的函數發生器,不但在性能上(如準確度)比專用脈衝發生器和頻率合成器高,而且在各種測試功能上提供了較好的解決方案。
  • 油料電導率儀自動檢定的方法
    1.2GPIB接口  GPIB接口是一種並行接口總線,該總線具有數據傳送速度快、有效數據率高、驅動能力和抗幹擾能力強的優點。通信距離可以達到20m,總線可以掛接15臺儀器或設備,最高傳輸速率可以達到8MB/s。
  • 三相電信號數據採集系統的設計方案
    基於三相異步電機驅動的液壓設備憑藉其運行中的諸多優點在生產實踐中得到廣泛應用,針對液壓系統安全穩定的運行而開展的研究也越來越多。各種能夠反應此類設備運轉狀態的特徵信號中,電機的三相電信號能夠充分的反應其液壓故障和電機故障[1],且三相電信號具有穩定、不易受幹擾的特點。
  • 基於CPLD和ISA總線的數據採集系統設計
    摘要:介紹一種基於複雜可編程邏輯器件(CPLD)的數據採集系統,並給出詳細的設計方案。計算機通過ISA總線實現與數據採集系統的指令和數據傳輸。通過VHDL編程實現CPLD對12位串行模數轉換器ADS7816的控制。最後,給出該系統設計的仿真波形和測試結果。
  • 如何測試汽車中的脈衝信號?
    脈衝規格這個測試脈衝要求生成的信號電壓跌落時間非常短,ms級(見上圖)。序列功能設定該電源的序列功能用於生成所需的測試脈衝信號,可以使用我們的軟體GM SYSKON SFP來進行設定。,就可以將設置加載到電源設備中,得出相應波形。
  • 文獻分享| Science:DNA催化的熵驅動反應網絡
    基於Watson-Crick鹼基互補配對的核酸因其鹼基互補配對的可預測性和特異性有助於電路的設計,並且序列多樣性組合可以實現信號載體的多樣性,進而實現複雜生化電路網絡的構建。與基於核酸雜交的設計相比,熵驅動的催化設計要簡單得多,並且熵驅動能夠更快,更好地使人們理解生化電路的反應網絡。
  • 安徽科技學院代表隊在國際大學生程序設計競賽亞洲賽(寧夏)賽站中...
    安徽科技學院代表隊在國際大學生程序設計競賽亞洲賽(寧夏)賽站中取得新突破 2019-10-22 10:11:08   來源