1 引言
随着电信网络迅速发展,基于软交换技术的NGN网络应运而生。在构建中,NGN需通过信令网关SG与现有的七号信令网互通,但在物理上采用HDLC格式的E1传输。为了维护NGN网络,实现不同采集口的多协议关联、呼叫的合成等功能,相应的测试仪表必须提供网卡和E1卡的测试接口。根据NGN网络测试仪表的总体设计方案要求,数据采集卡采用PCI插槽,E1信号经物理接口器件成帧,通过串口送给MUSYCC,完成消息重组,最后通过PCI总线将消息送至上层软件进行协议分析处理。数据采集卡提供网络接口的物理层、链路层功能以及PCI规范接口,可同时监测8路E1信号。
2 系统硬件设计
BT8474是一个PCI多功能设备。本系统中,其功能0实现链路层的控制;功能1完成物理层的控制。BT8474是由1个主接口、4个串口、1个EBUS端口和1个边界扫描口构成。主接口通过PCI的两个功能配置区找到基地址寄存器,系统根据访问的地址值决定选择的功能;串行接口完成主接口和物理接口器件的数据传输;EBUS端口通过内置的MPU(微处理器单元)来扩展外围设备,物理接口器件BT8370是一个T1/E1收发成帧器,可支持LineRate为1.544 Mb/s(T1)或者2.048 Mb/s(E1)的收发接口。物理线性接口电路恢复来自于电缆的“+3 dB~-43 dB”的模拟时钟和数据。图1给出了E1数据采集卡硬件设计原理图。
3 E1卡驱动程序的架构
E1采集卡软件设计架构主要由链路层驱动模块、物理层驱动模块、应用层接口处理模块和上层协议处理模块组成,如图2所示。驱动程序是数据采集卡的基础,它负责E1接口数据采集和数据重组,并通过共享内存与PC机实现数据交互,以及控制指令动作和硬件状态报告等。
E1链路层驱动接口器件BT8474是一个PCI多功能设备,其底层驱动分为两个模块,分别针对功能0的链路层HDLC控制器和功能1的物理层成帧器。E1数据采集卡的HDLC控制器和成帧器的配置是由驱动程序通过PCI接口配置。下面对E1接口卡的驱动构架详细说明。
3.1 链路层
链路层HDLC控制器主要完成内部寄存器和映射的共享体配置。共享体用于HDLC寄存器的初配、接收和发送缓冲区以及时隙映射表的配置。HDLC控制器为每个信道都建立一个消息链表,这样数据缓冲区可以循环利用。HDLC控制器与成帧器的对应关系决定于HDLC控制器端口映射方式的设置。其配置流程如图3所示。
3.2 物理层
物理层通过地址总线映射配置成帧器,其中PCI桥设备和成帧器之间经过CPLD控制选通。物理层驱动完成配置成帧器、复位控制等。成帧器是将E1上的比特流整合成符合规范的HDLC帧,其中一个标准HDLC帧包括32个时隙,这些时隙可配置映射到HDLC控制器的端口信道,实现2 M、N×64 K、N×8 K高速模式。其配置流程如图4所示。
4 E1接口卡应用程序设计
数据采集卡通过成帧器首先从E1线上取得七号信令的数据,并将接收到的数据放至共享体中;上层应用程序发送IRP到共享体中读取采集数据。应用程序接口(API)是驱动程序为上层应用预留的接口,上层软件可通过调用该程序实现驱动以及对板卡的控制。虽然驱动程序是为设备的硬件层编程服务的,但是同样需要具有与应用程序交互的能力,从而最终达到应用程序控制设备的目的。
在Windows中,应用程序与WDM通信的实现过程:应用程序应先获得设备句柄GUID码,然后利用CreateFile函数打开设备,通过DeviceIoControl函数传递控制代码参数和WDM进行通信,包括从WDM中读取数据和写数据给WDM两种情况,也可利用ReadFile从WDM中读取数据或用WriteFile写数据给WDM:当下层驱动有触发事件时,就需要Event事件通知上层软件。当应用程序退出时,CloseHandle则关闭设备,这将产生对应于此设备对象的相应IRP消息。这种关系如表1所列。
由于E1数据采集卡的MUSYCC控制器是PCI多功能设备,所以应用程序应当合理调整两个功能驱动程序的控制顺序,实现E1数据的正常采集。其E1卡应用程序(API)的配置流程如图5所示。
5 结束语
将E1数据线的发送线与接收线对接进行测试可得:接收数据即为发送数据,从而证明了E1板卡可实现收、发数据。E1接口卡为满足用户对信令消息的特定要求,驱动设计提供控制消息长度的接口函数,用户可随意采集指定长度的消息数据,便于过滤检测消息。采用一机多卡来实现多达64路E1集中监测,为大型网络数据量采集提供升级参考。