微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > TD-SCDMA网络测试仪中E1数据采集卡的驱动程序设计

TD-SCDMA网络测试仪中E1数据采集卡的驱动程序设计

时间:07-15 来源:互联网 点击:
0、引言   

近年来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数据采集卡控制流程图

图2 E1数据采集卡数据流程图

  
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卡解决了时钟同步问题,可实现一机多卡,为大型网络节点的繁重数据量采集提供升级参考。
  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top