基于PCI总线技术的NO.7信令采集卡设计与实现
由于目前NGN网络是一个以软交换为核心并由PSTN网络和VoIP网络融合在一起的复杂网络,多种接口、多种协议、多媒体并存,PSTN与VoIP设备的兼容性、VoIP网络内部不同设备提供商的设备兼容性、网络设计性能与实际部署性能的差异性、语音质量的差异性等挑战都严峻地摆在运营商面前。于是就要求NGN网络运营商能够对其网络性能进行测试和分析,NGN网络测试仪能够解决这样的问题。
本NO.7信令采集卡是基于PCI总线技术设计的,主要完成的功能为物理层的数据采集和HDLC链路控制。本卡根据协议的选择主要完成NO.7信令的采集,并把数据送到NGN网络测试仪的上层软件进行分析。
NO.7信令采集卡的总体设计方案及硬件实现
NO.7信令采集卡是NGN网络测试仪中非常重要的一张数据采集卡。在NGN网络测试仪中主要完成的功能为物理层的数据采集和HDLC链路控制。为了满足测试时数据流量大,方便用户使用的要求,本卡的设计采用了自带标准PCI协议规范的HDLC控制器(MindSpeed CN8478)、专用的E1成帧器(IDT82P2284)芯片及Windows 2000作为此卡的基本软硬件构架。此卡的软件驱动基于PCI框架,能够实现NO.7信令的快速、稳定采集。图1为此卡的总体设计方案框图。
图1 NO.7信令采集卡总体设计框图
按照NGN网络测试仪的总体设计方案,NO.7信令采集卡在测试仪中是以PCI插槽板卡存在的。NO.7信令通过带有高阻适配器的E1数据采集线从网络上被提取后就送到成帧器芯片IDT82P2284中,数据经过IDT82P2284处理后来到了CN8478的串口,在CN8478中形成的HDLC帧被送到上层软件进行协议分析处理。本卡可以实现16路监测、4路仿真。
NO.7信令采集卡在硬件上主要由以下单元组成:HDLC逻辑层MUSYCC(CN8478)、物理层E1成帧器(IDT82P2284)、CPLD逻辑控制器、RJ45网络接口、高阻适配器等。本采集卡的硬件设计框图如图2所示。
图2 NO.7信令采集卡硬件框图
芯片资源介绍
1 CN8478简介
CN8478是一个PCI多功能设备,它包括了以下几个部分:一个主接口Host Interface、8个串口Serial Interface、1个扩展总线口Expansion Bus Interface(EBUS)、一个边界扫描口Boundary Scan and Test Access。其中,主接口又由四个部分组成:设备配置寄存器、PCI功能0的配置空间、PCI功能1的配置空间、PCI接口。串口也有四个组成部分:中断控制器、DMAC、位级处理器BLP、接收和发送端口。主接口主要提供CN8478与PC之间的接口,完成设备寄存器配置和PCI功能区配置区间的读写,串口主要完成主接口和IDT82P2284的数据传递,同时根据需要产生中断,并报知PC;EBUS接口通过内置的MPU(微处理器单元)主要完成外围设备的扩展,这里用来对IDT82P2284的寄存器读写以实现对其进行控制;边界扫描在此系统中不用。图3为CN8478的PCI接口设计原理图。
图3 CN8478的PCI接口设计原理图
2 T1/E1收发成帧器IDT82P2284简介
IDT82P2284是一个支持四个链路的T1/E1收发成帧器,收发接口数据的传输速率支持T1的1.544Mbps或者E1的2.048Mbps。物理线性接口电路恢复来自电缆的“+3~-43dB”的模拟时钟和数据。IDT82P2284由以下几个部分组成:微处理器接口(MPU)、接收/发送线性接口单元(RLIU/TLIU)、边界扫描(JTAG)。
采集模式简介
本设计所研制的N0.7信令采集卡可以实现两种模式的采集,即N×64K和高速2M。
在N×64K采集模式下,可对PHY层的IDT82P2284进行控制使其工作在复用模式,让成帧器芯片上的四条E1链路合成一路后送到CN8478的一个串口,这时IDT82P2284和串口时钟为 8.192MHz,由板卡上的专用时钟芯片提供。在N×64K的采集模式下可实现16路的NO.7信令采集。
在高速2M采集模式下,同样可对IDT82P2284进行控制,这时使其工作在非复用模式,让成帧器的每条E1链路分别独立的把数据发送到CN8478的一个串口,这时IDT82P2284和串口之间的接口时钟为2.048MHz,这个时钟是成帧器在网络的线上提取的。在高速2M采集模式下,可同时实现8路和16路的NO.7信令采集。
NO.7信令采集卡的驱动程序设计
1 驱动程序功能设计
N0.7信令采集卡驱动程序的设计可分两部分,分别对应CN8478的配置和IDT82P2284的配置。
在对CN8478的配置中,驱动程序主要任务是完成映射在主机中共享体的配置。共享体是驱动程序向操作系统申请的一段存储空间,该空间在物理上处于主机的内存中。从整体上看,共享体可划分为两部分,第一部分用于CN8478的寄存器映射,第二部分用于中断队列、发送消息链表、接收消息链表、发送数据缓冲区、接收数据缓冲区的分配。
对成帧器IDT82P2284的配置中,主要通过微处理接口对其寄存器进行控制,来实现将线上采集到的位流形成需要的帧结构消息以送往LINK层设备。
2 驱动程序的实现
本NO.7信令采集卡需要实现两个驱动程序,分别对应CN8478的LINK驱动,IDT82P2284的PHY驱动。由于PHY驱动较简单,所以本文主要介绍LINK驱动。
LINK驱动程序的编写本设计使用了DriverWorks开发工具,它与直接用DDK编写的驱动程序有些区别。这里主要继承了DriverWorks提供的两个类(即Kdriver类和KPnpDevice类)来实现本驱动程序。
Kdriver类:这个类提供设备程序的基本框架结构,并负责将IRP分发到目标设备对象中去。在本驱动程序设计中,继承了一个Kdriver类的派生类。在这个派生类中重载了DriverEntry例程,
在这个例程中主要做一些初始化工作。另外在这个类中还包含了一个AddDevice例程,被PnP管理器调用来初始化由该驱动程序所控制的设备。
KPnpDevice类:这个类代表设备驱动程序,提供驱动程序与应用程序的接口功能,承担IRP分发任务,提供与底层设备的接口功能,同时,提供与其他系统对象的接口功能。包含了绝大部分驱动程序例程。
3 驱动程序的调试
调试本驱动程序,本设计使用了一个KDebugOnlyTrace类对象在DriverMonitor中输出调试跟踪信息,同时也经常借助于SoftICE来查看内存值以确认共享体的配置信息。图4为使用DriverMonitor输出的调试信息。
图4 驱动程序调试显示
结束语
对于此采集卡已经研制成功并实现了商用,它是NGN网络测试仪中针对核心网测试较重要的数据采集卡之一。经过现场测试表明本采集卡能够对NGN网络中的大流量NO.7信令进行正确、稳定采集,从而使NGN网络测试仪实现了对NGN网络协议的测试与分析。同时也验证了本文所研制的NO.7信令采集卡的可行性。
相关阅读:
- ...2015/02/12 15:10·基于PSO-LSSVM的城市时用水量预测
- ...2014/12/31 13:14·基于Petri网的自助行李托运传输控制策略
- ...2013/12/18 10:49·基于PCI-9846武器数据链测试技术的研究及实现
- ...2013/12/10 10:49·基于PCI-9846H的死区时间引起的电压波形畸变的研究
- ...2012/12/26 10:33·基于PCI-9846的变频器输出性能测试系统
- ...2012/04/27 10:12·基于PCAKFCM 的船舶柴油机故障诊断
- ...· Efinix® 全力驱动AI边缘计算,成功推出Trion™ T20 FPGA样品, 同时将产品扩展到二十万逻辑单元的T200 FPGA
- ...· 英飞凌亮相进博会,引领智慧新生活
- ...· 三电产品开发及测试研讨会北汽新能源专场成功举行
- ...· Manz亚智科技跨入半导体领域 为面板级扇出型封装提供化学湿制程、涂布及激光应用等生产设备解决方案
- ...· 中电瑞华BITRODE动力电池测试系统顺利交付北汽新能源
- ...· 中电瑞华FTF系列电池测试系统中标北京新能源汽车股份有限公司
- ...· 中电瑞华大功率高压能源反馈式负载系统成功交付中电熊猫
- ...· 中电瑞华国际在电动汽车及关键部件测评研讨会上演绎先进测评技术