您现在的位置:首页 > 技术资料 | 上载库存 |
TD-SCDMA网络测试仪STM-1数据采集卡的实现 0、引言 现阶段我国正在大力开发TDSCDMA第三代移动通信系统,国内各移动运营商也正准备大规模的组建3G网络,但是到目前为止,用于TD-SCDMA系统实验研发、建网和运行的网络测试设备还未引起足够重视,形成了TD-SCDMA产业链上的最为薄弱的一环[1]。特别是国际上传统通信测试仪表厂商始终侧重于CDMA2000和WCDMA 2000标准。因此,在国内研制出具有自主
图1 TD-SCDMA系统结构 STM-1数据采集卡是TD-SCDMA网络测试仪中的一个PCI数据采集卡,负责采集网络中STM-1帧结构数据。在TD-SCDMA产业链初步形成的现阶段,进行TD-SCDMA网络测试仪以及STM-1数据采集卡的研发具有很大的现实意义。 1、STM-1数据采集卡的硬件实现 一般来说,数据采集的目的是对线路上较高级的信令及其数据进行收集、分析、处理,而对底层协议并不关心。特别对于像网络测试仪这样的设备来说,对接近物理层一端数据往往希望硬件进行初步的分类和处理,以使得送入软件分析的数据相对简化,节省运算量。换句话说,网络测试仪的硬件部分处理偏底层的数据,软件部分处理偏上层的数据。进而根据TD-SCDMA规范和无线接入网接口协议结构,AAL(包括AAL2,AAL5)以上层次由软件处理,在AAL及其以下层次由硬件处理是比较理想的划分。对于STM-1数据采集卡来说,应该完成物理层、ATM层、AAL层的处理任务,即从线上获取的数据流,在送给软件作进一步处理之前,首先由硬件组装成一个个完整的AAL帧,再将数据交给软件处理。所以STM-1数据采集卡的工作流程应该为:①TD-SCDMA网络中的光信号通过光电转化器转化为电信号;②通过一个STM-1/ATM抽取装载芯片将STM-1帧结构里边封装的ATM信元提取出来;③将ATM信元通过一个UTOPIA2接口送给一个网络处理器,将ATM信元处理至AAL层(组装成一条条的AAL帧);④通过PCI接口将处理过的数据送往PC做进一步分析。整个处理流程如图2所示。 图2 STM-1数据采集卡硬件设计 网络处理器是板卡的核心部分,它完成整个STM-1数据采集卡的控制和计算功能。所以网络处理器的选择至关重要,其选择应结合具体应用,综合考虑,即主要从系统功能、处理能力、产品的升级换代、经济承受能力和产品综合成本等几方面考虑。相对于目前的GSM/CDMA网络而言,3G网络的信息量更多、更复杂,常规的单片机控制技术在速度上不能满足实时测试的需要。另外,还必须要求选择的网络处理器带有UTOPIAⅡ和PCI接口。UTOPIAⅡ协议定义了一种物理层和ATM层之间的接口模式,是一种标准的ATM传送接口,能够实现STM-1/ATM抽取装载芯片和网络处理器的无缝连接,而PCI是先进的高性能局部总线,可同时支持多组外围设备。我们采用的是Motorola公司的PowerPC系列的嵌入式处理器。 Motorola的基于PowerPC体系结构的嵌入式处理器芯片有MPC505,821,850等近几十种产品,其中MPC860是Power QUICC系列、Power QUICCⅡ系列、Power QUICC Ⅲ系列的典型产品。 选择的处理器有2个主要的组成部分:嵌入的PowerPC内核和通信处理模块(CPM)。CPM同时支持快速通信控制器(FCC)、串行通信控制器(SCC)等。FCC支持基于UTOPIA2接口的155 Mbit/s ATM协议,同时还支持IEEE802.3和快速以太网协议。网络处理器的ATM通信控制器可以通过UTOPIA Ⅱ接口实现ATM和AAL层的功能,利用FCC作为ATM通信控制器来实现AAL2和AAL5适配[7],该通信控制器支持以下功能。 (1)155 Mbit/s的全双工分段重装,包括CRC32,CPCS-UU,CPI和长度域的生成和校验。 (2)16 B数据总线的UTOPIAⅡ总线主从模式,包括多物理设备的查询模式。 (3)内部可存储不多于255个虚通道(VC)号,利用外部存储器可存储64 KB虚通道号。 (4)可以自定义不多于64 B的信元长度。 (5)ATM层的信元统计功能。 (6)接收地址查询机制,包括外部CAM查找和地址压缩。 Powerpc系列处理器的工作模式有很多种,而用于STM-1数据采集卡的处理器只能选择ATM模式。CPM里的FCC可连到8位或16位UTO-PIAⅡ接口用于ATM通信,所以在设计时选择CPM里的FCC来实现的数据的收发。其余的外围电路包括CPU的外部SDRAM,FLASH以及光电转换模块等。图2中各模块设计说明如下。 (1)网络处理器:网络处
(2)STM-1/ATM抽取装载芯片:主要完成以155.52 Mbit/s的速度处理双工位串行STS-3c/STM-1数据流。STM-1/ATM抽取装载芯片的选择也应该考虑到它必须带有UTOPIAⅡ,以实现与网络处理器的无缝连接。 (3)SDRAM:用于存放用户的数据和代码,为程序的运行和保存临时文件提供空间。采用商用的168引脚的内存条,与网络处理器以60x总线相连。数据宽度为64位。网络处理器提供了SDRAM控制器,只需进行寄存器的设置即可。 (4)Flash:用于存储操作系统内的引导程序、存储操作系统内核、文件系统映像和用户程序文件,与网络处理器以60x总线相连。 2、STM-1数据采集卡的软件设计 2.1 嵌入式系统 STM-1数据采集卡软件包括嵌入式操作系统和应用软件2大部分。本系统中我们采用Linux操作系统。Linux是个与生俱来的网络操作系统,成熟而且稳定。Linux是源代码开放软件,不存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。Linux系统是可以定制的,系统内核目前已经可以做得很小。一个带有中文系统及图形化界面的核心程序也可以做到不足1 MB,而且同样稳定。Linux作为一种可裁减的软件平台系统,是发展未来嵌入设备产品的绝佳资源,嵌入式系统的开发主要包括以下2点。 (1)Bootloader开发。嵌入式系统中,整个系统的加载启动任务完全由BootLoader来完成。通过BootLoader,我们可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。 (2)Linux内核的移植、开发。在获得Linux内核源代码后,根据硬件平台进行内核的剪裁、配置、编译,最后把Linux内核移植到开发板,通过FLASH或BOOTP从开发板上引导Linux内核。 2.2 应用软件的主模块 该模块是程序的主控模块,完成板卡在数据采集前所有硬件的初始化,并最终通过轮询命令区(主机向板卡发送命令的区域,板卡可在此读取到主机发送过来的命令)依据该区域命令调用相应处理模块。该模块目的在于为后续的收发数据以及软硬件接口做必要的准备,并依据命令区命令控制整个程序流程。应用软件的主模块见图3所示,命令区是一个双口RAM区,板卡和主机都可以随时读取,为了满足实时测试的需要,板卡处理器的指针只要空闲就应该停留在该区域等候主机传送下来的指令。各子模块功能说明如下。 (1)板卡停止/重启模块,由此模块控制板卡的停止和重启。 (2)板卡自检模块,STM-1数据采集卡正式采集数据之间,主机发送自检命令,板卡收到自检命令后即将主机指定的数据发送后收回并送回主机,主机根据收回的数据与先前的数据比较判断板卡是否正常工作。 (3)接收配置模块,根据命令区接收配置命令的命令码附加信息和具体的配置信息,完成AAL2和AAL5的接收初始化,为数据的接收做好准备。 (4)发送数据模块,根据命令区发送数据命令的命令码附加信息和具体的配置信息,完成AAL2和AAL5的发送初始化,并且激活相应通道进行发送。 (5)全局变量配置模块,根据主机的要求修改全局变量。 (6)时钟同步模块,接受主机的命令,与TD-SCDMA网络测试仪的其他数据采集卡同时开始计时。 (7)拆除链路模块,根据命令区接收配置命令的命令码附加信息和具体的配置信息,完成相应的AAL2和AAL5的链路拆除,并释放相应的内存空间。 图3 应用软件的主模块 2.3 中断处理模块 中断处理模块主要用来处理板卡、芯片产生的所有异常情况(包含中断)。按照中断源的不同进行相应处理,主要包括接收中断时的数据重组,接收、发送中断时的BD操作,时钟中断处理,故障中断产生时的错误处理等。特别是对于FCC的ATM发送、接收中断进行轮询检查,直到所有中断处理完成才跳出中断处理函数,中断处理流程如图4所示。 图4 中断处理流程 STM-1数据采集卡的数据采集是通过中断模式来实现的,当中断处理模块判断出中断源来自于接收帧时,就调用相应的处理函数对接收的数据进行重组,将其组成一条条软件可以处理的AAL帧(CPCS-SDU),然后将其存入双口RAM区指定的内存空间由软件来提取处理。 3、调试 对于PowerPC来说,最常用的软件开发方式有2种:一种是基
对于AAL5数据,采取分别发送和接收2帧96字节的数据,第1帧数据为“1”,第2帧为全“2”,每帧恰好有2个ATM信元的净荷,同一帧数据采取同一通道发送和接收,两帧不同的数据采取不同的通道进行发送和接收(发送和接收通道编程时分别进行编号),如图5所示。为了调试时便于查询,编程时需将发送和接收中断全部开启。确认发送端与接收端相互连接的有效性后,激活第1、第2发送通道,然后通过CodeWarrior查询发送和接收中断队列(Interrupt Queue)检查发送和接收的基本情况。其中可能出现的情况有2种:①发送中断队列没有中断记录,接收中断队列没有中断记录;②发送中断队列有中断记录,接收中断队列没有中断记录。 图5 AAL5数据调试示意图 情况①可以推测数据没有发出;情况②可以推测数据没有接收到;对情况①,②的解决办法是查询发送、接收端,确认发送、接收数据结构配置是否正确,对表中各域的值可以采取多次尝试的办法来调试。如果发送中断队列有中断记录,接收中断队列有中断记录,可以推测发送、接收都正常,通过CodeWarrior查询接收内存空间和双口RAM区的接收重组数据区,检查接收的数据是否与发送的数据一致,此时可能出现2种情况:①发送区的数据与接收区数据不一致;②发送区的数据与接收区数据一致,接收区与重组区不一致。 情况①可以推测接收端没有完全接收到发送过来的数据或发送端只发送了部分的数据,这种情况可以通过尝试发送、接收数据结构表(table)中各域的值来调试;情况②可以推测中断接收时,重组程序没有把接收到的数据重组好,这种情况可以通过修改重组程序代码来调试。如果发送区的数据与接收区数据一致,接收区与重组区也一致,那么说明发送和接收2帧96字节的AAL5数据获得了成功。其后,采取发送和接收任何长度的数据进行调试,也都获得成功,验证了板卡能够发送和接收任何的数据。 对于AAL2数据,采取发送、接收2帧200字节的cps数据、2帧200字节的sssar数据,使用不同通道发送和接收,经过调试都获得成功。调试时出现的问题及解决的办法与调试AAL5数据时基本一致,只是发送和接收AAL2数据时使用到更多的数据结构,机制也复杂了一些。 4、结束语 TD-SCDMA网络测试仪STM-1数据采集卡的硬件设计采用了基于PowerPc系列嵌入式处理器的嵌入式系统,软件设计采用了嵌入式操作系统和应用软件。基于以上设计的STM-1数据采集卡经过调试完全能够实现发送、接收多帧AAL2、AAL5数据的目的,达到了对STM-1信号数据采集的目的,可以满足TD-SCDMA网络测试仪的需要。
参考文献: [1] 王炎.TD-SCDMA系统测试情况分析[EB/OL].[2005-08-04].http://cttl.com.cn. [2] 3GPP TS 23.002 V5.12.0.Network architecture[EB/OL].(2003-09-20)[2006-05-30].http://WWW.3gpp.org/ftp/Specs/2004-09/Rel-5/23_series/23002-5c0.zip. [3] 3GPP TS 25.401 V5.9.0.UTRAN overall description [EB/OL].(2003-09-20)[2006-05-30],http:/www.3gpp.org/ftp/Specs/2004-09/Rel-5/25_series/25401-590.zip. [4] 3GPP TS 23.060 V5.9.0.General Packet Radio Service(GPRS);Service description;Stage 2[EB/OL].(2003-09-20)[2006-05-30].http://WWW.3gpp.org/ftp/Specs/2004-09/Rel-5/23_series/23060-590.zip. [5] 李世鹤.TD-SCDMA第三代移动通信系统标准[M].北京:人民邮电出版社,2003. [6] 刘伟,张治中.TD-SCDMA网络测试仪IP数据采集卡的研制[J].重庆邮电学院学报(自然科学版),2006,18(1):448-450. [7] 李天宝,邱智亮.基于嵌入式系统实现AAL5适配[J].现代电子技术,2004,168(1):112-115.
|