多速率POS测试CPCI模块设计原理及方法*
2014-09-06段美霞
段美霞
(华北水利水电大学信息工程学院,郑州 450011)
多速率POS测试CPCI模块设计原理及方法*
段美霞*
(华北水利水电大学信息工程学院,郑州 450011)
摘要:对POS传输网络进行严格的测试是检验IP over SDH网络的必经途径,根据IP映射和解映射到SDH帧不同层次的协议及方法,阐明了设计原理,提出了相应的测试方案和设计实现方案,采用多速率接口芯片实现对SDH层次的适配,采用FPGA对SDH、IP层协议进行解析和发生的方法,实现了对SDH层和IP层的测试,实验结果证明设计实现方案是可靠的和行之有效的。
关键词:POS传输;多速率;映射;去映射;隔离字符
POS(IP over SDH)技术是通过SDH高速传输通道直接传送IP分组,POS技术主要应用于数据传输骨干网,使用PPP点到点协议将IP数据包映射到SDH帧上[1-2,8],按各次群相应的线速率进行连续传输,其网络主要由大容量的高端路由器经由高速光纤传输通道连接而成。这种技术实际上是对传统IP网络概念的延续,完全兼容传统的IP协议体系,只是在物理通道上借助SDH提供的点到点物理连接,从而使速率提高到Gbit/s量级,POS技术现在和今后都将是非常重要的IP网络传输手段。对POS链路进行测试是非常有必要的,对POS链路测试主要包括2个方面的测试:即SDH层的测试和IP层的测试。
1 设计原理及实现方案
POS测试模块主要完成2个功能:打包发送数据和解封接收数据。在发送方向上将IP数据包封装在SDH帧中,然后送到SDH传输网上;在接收方向上将封装在SDH帧中的IP数据包提取出来送到协议处理单元或转发模块处理。
在输入方向上,从单模或者多模光纤传入的光信号经光电转换后送入接口电路,完成定时处理、帧同步、去映射,从输入比特流中提取出SDH帧并进而恢复出PPP帧,并按接口缓存于内部FIFO中。FPGA中的IP数据处理模块通过读取接口电路的FIFO,获得PPP帧并完成PPP相关处理,恢复出IP报文,同时将协议报文进行进一步处理,或实时存储或进行数据匹配识别。
在输出方向上,要发送的IP数据报文在FPGA内部完成协议报文并且封装成PPP帧,然后送往SDH接口处理电路,接口处理电路完成净荷到SDH帧的映射,最后经电光转换通过光纤送到外部SDH网络。
在本项目设计架构中,采用了6U的CPCI结构形式,在FPGA中设计对SDH层开销、净荷的处理,包括映射和去映射,错误的加入,IP层数据的处理,包括IP帧的处理,IP头的校验和处理、多通道数据实时捕获等方面的模块设计。在实时存储设计方面,选择了DDR3的内存条,其存取通过IP核实现对其存取,DDR3的定时时钟采用高精度的400 MHz LVPECL电平时钟,时钟精度要求小于10×10-6(10 ppm),工作时钟设计为125 MHz,数据存取位宽为256 bit,其存取速度性能完全能够满足接口芯片最高为104M,位宽为32 bit的要求[7-8,10]。
整个POS模块的硬件设计框图如图1所示。
图1 模块硬件方框图
电路中光电转换模块主要实现光信号和电信号之间的转换,在不同的传输速率测试时必须采用不同波长的光模块。在设计中光电模块选用了武汉电信器件有限公司的RTXM192-401(2.5 GHz光电/电光转换模块)、RTXM159-403(622 MHz光电/电光转换模块)和RTXM159-151(155 MHz光电/电光转换模块),测试时候只需要选用不同光电模块,采用匹配的单模或者多模光纤,选择不同的测试软件即可实现对不同速率的POS链路测试。
POS接口电路的主要功能就是实现IP数据包和SDH帧的映射和去映射,主要包括:对SDH帧进行去开销和拆帧处理,输出SDH网管信息并提取出PPP帧;将帧开销信息打包到PPP帧上,形成SDH帧进行发送。
在本设计中接口处理芯片采用了多速率接口芯片PM5360。PM5360是SONET OC48/OC12/OC3接口的解串行芯片。执行串并转换和帧检测功能、加解扰功能。PM5360将接收到的最高为2.488 Gbit/s的串行比特码流转换成低速并行字节码流。其工作主要包括串行输入、串并转换、帧检测和32 bit并行输出。并同时支持发送到接收的诊断环回和接收到发送的线路环回,最多可以支持高达4路STM-16帧数据收发[5-6,9]。
FPGA电路是整个测试模块的关键电路设计所在,在FPGA电路设计中,不仅包括对SDH层和IP层数据帧及开销的处理,包括映射、去映射、复用、解复用、IP数据成帧、解帧、仿真等,还包括对数据的线速发生、实时捕获处理等,在设计中测试线路接口最多可以支持4路2.488 Gbit/s数据流,并采用分时存储的方法,将接收的帧数据存放到DDR3内存条中以便于下一步的处理。从FPGA电路处理流程而言,将FPGA内部电路设计分为2个层次分别进行处理,即SDH帧处理模块,IP帧处理模块。
1.1SDH层帧处理模块
SDH层次的帧处理包括发送帧处理和接收帧处理2个方面,采用发送时外部输入开销和接收时硬件实时提取接收帧开销的方式进行SDH帧处理。接收帧处理模块以接口芯片输出的ROH——CLK作为帧开销比特同步时钟,ROHFP作为帧开销同步时钟,对SDH帧开销进行提取和解析。
接口芯片自身可以实现SDH的线路误码测试,MSOH、RSOH和POH的提取等,外部只需要通过软件设置的接口内部寄存器即可完成通信方式下的开销加入和提取工作,但该种设计方案的不便之处在于用户只能通过软件定时或者中断的方式去读取或者改写接口芯片内容,对实时性的监测要求无法很好的满足,所以更能够满足测试需求的方案是采用硬件的方式,外部添加或者提取SDH开销和净荷[3-4]。
图2 接收SDH帧开销解析
发送采用外部开销设置时候,接口芯片输出开销发送时钟TOH_CLK。开销插入以OHFP脉冲作为发送帧开销同步脉冲,用户可以对段开销SOH和通道开销POH分别进行设计。接收开销处理模块以ROHFP脉冲信号作为帧开销同步信号,按照开销在帧头中的不同位置解析出帧定位字节A1、A2、再生段踪迹字节J0等段开销和高阶通道踪迹字节J1、高阶通道信号标记字节C2等通道开销。发送开销模块还可以通过插入开销错误实现对SDH帧的错误插入。同样的方式,也可以根据接收恢复时钟ROH_CLK和接收帧同步脉冲ROHFP从RTOH中恢复出接收SDH帧开销数据。如图2是接收开销解析示意时序图。
STM-N帧由270×N列和9行8 bit字节组成,一帧周期125μs,帧频8 kHz(8 000帧/s),STM-N帧结构如图3所示。
图3 STM-N帧结构
在本项目设计中,通过选择接口芯片的不同工作模式可以使测试模块适用到用户需要的测试速率和测试帧结构上,由于接口芯片可以工作在混杂的模式下,使得在设计时候仅需选择一块接口芯片就可以同时工作在不同的速率和帧结构下,接口芯片最多可以同时输出4路帧开销提取时钟和帧开销同步脉冲信号,在每个开销中可以进一步提取STM-1的开销信息。
STM-1是SDH的基本结构,每帧传输19 440 bit(9×270×8),传输速率为19 440×8 000 bit/s=155.520 Mbit/s。STM-N是由N个STM-1经字节间插同步复接而成的,其速率是STM-1的N倍。为了保证信息净负荷正常灵活传送,在SDH帧结构中安排了再生段开销(RSOH)、复用段开销(MSOH)、高阶通道开销(HPOH)和低阶通道开销(LPOH)分别用于段层和通道层的维护。段开销(SOH)是为了所必须附加的供网络运行、管理和维护(OAM)使用的字节。段开销又分为再生段开销(RSOH)和复用段开销MSOH)。
A1、A2字节用来识别帧的起始位置。A1为11110110(F6H),A2为00101000(28H)。本设计中,利用帧定位字节进行帧误码检测和帧同步状态检测,帧比特误码就是检测帧定位字节中错误的比特数,帧字误码则定义为在一帧中只要检测到帧比特误码就认为是一个帧字误码。在同步状态下,若连续6帧检测不到帧定位字节,就认为STM-N帧失步(OOF);当OOF状态持续3 ms后,就认为STM-N帧丢失(LOF);在帧丢失状态下,若连续8帧检测到帧定位字节,就认为进入同步状态。
图4 STM-1段开销
本项目设计,在FPGA内部实现对STM-1帧开销信息的处理,首先完成对同步字节A1、A2的定位,在此基础上实现对其他开销的提取或者加入,在接收解析时候将开销放置到DPRAM中以用于CPCI总线侧的信息读取。
1.2IP层帧处理模块
IP数据帧处理模块同样包括帧打包和帧解包2个总的功能模块。帧解包模块是指对接口芯片接收到的数据PPP帧进行下一步处理。同时在帧起始脉冲到来时进行数据帧时间标签的加入。
从接口芯片解析出来的数据是以PPP帧格式送到FPGA的IP层数据处理模块的,其中PPP帧格式如图5所示。
图5 PPP帧格式
接口芯片送出的数据去掉了帧同步字节“0x7E”,只包括了帧数据净荷,即其格式如图6。
图6 PPP帧净荷
FPGA中IP层模块处理电路接收到PPP净荷数据后,电路将进行下一层次的数据处理。
通常在IP网络协议测试中,需要实时记录到达数据帧时标,帧传输状态,帧长度以及帧序号等相关开销信息。按照此种要求,将一帧捕获数据在存储器中按照如下格式进行存放:
{间隔破坏符+帧序号+帧时标+帧净荷数据+帧状态+帧长度+间隔破坏符}。间隔破坏符采用连续的”7E7E7621”,解析时候,软件除了从地址索引表中读取每帧的起始地址和占用的DDR3空间长度外(此长度以256 bit计算),还需要根据2个间隔破坏符中读出的数据长度进行下一步的帧长度确认,此时长度是以byte为单位进行的。
采用这种格式在DDR3内存条存储器中进行实时存放,基本保证了整个帧数据信息的完整性。其中帧状态是从硬件处理前端模块得到的结果而来,主要是根据不同的帧净荷数据而决定的。如帧净荷数据是TCP数据帧,则在帧状态中包括了IP CheckSum,Tcp CheckSum和CRC校验[11-12],是否是触发帧或者过滤帧等状态信息。
为了隔离协议故障,测试模块还需要按照要求建立正常或异常的协议数据帧,将正常或者异常的数据帧注入网络中,测试整个网络或者交换路由设备的性能。
协议数据分为固定协议数据和可编程协议数据2种。固定协议数据是编辑好保存在主机内的协议数据,只需设置目的地址即可。协议发生技术主要是将固定的协议数据或用户编辑的协议数据,按照TCP/IP协议族的层次进行打包进行包封,生成的协议数据包经过编码以后发送出去。发生器电路还能进行流量控制,可以按照一定的流量发送数据包。
2 POS测试模块软件设计
POS模块软件包括接收软件设计和发送软件模块。接收软件模块包括底层的数据采集处理软件模块,中层的解码分析模块,上层的统计监控模块。对应于发送模块则包括底层软件成帧,上次软件成帧模块。
对于接收软件模块部分,其底层模块主要是数据包的采集过程,数据来自于2个方面,一个是通过板卡直接从网络中采集,在采集数据包前进行选择捕包网络适配器以及捕包过滤规则的定义,另外可以支持从保存数据包的文件中读取。
中层模块对采集到的数据包进行解码和分析,将数据包按照SDH层、IP层依次进行解码处理,分离出不同层次的协议开销和数据净荷,并提供解码和分析结果等信息给上层模块,另外还可实现数据包的保存功能。
相对于发送部分软件设计,主要是按照设计要求形成完整的IP数据帧,然后按照要求将其放置到发送SRAM内部,然后供给硬件进行硬件的再次成帧,用户可以根据需求设计自己需要定义的帧开销和净荷,包括SDH层和IP层,如图7所示是本模块的发送IP帧头软件用户定义界面。
3 测试结果
通过与意测公司的IXIAOC48C以及IXIA OC12C/OC3C测试模块的对比性测试验证表明,本POS测试模块能成功的分析和处理它们发送的POS帧信号,检测和分析SDH层和IP层的数据帧协议,并能够正确发送线速的POS数据帧,在不同的封装层按照用户需求插入各种错误信息和帧净荷数据。测试连接示意图如图8所示。
图7 发送IP层帧头用户定义
图8 测试示意图
在线速测试中,在IP层分别对不同的帧长数据进行测试。测试数据如表1所示。
表1 测试数据
测试结果与测试仪器线速相同,误差大小为±1帧,这种误差的形成在于统计帧数据时候,测试帧不一定都是完整帧。实际测试中,不同的帧长度,其最小间隔设置不同。
4 结束语
本POS测试模块在设计过程中,充分理解SDH、TCP/IP、PPP等协议的基础上,严格按照相关协议和标准,设计出POS协议测试仪模块,并通过对比测试表明了本产品的正确性和可实现性。通过本产品的开发,打破了以往依赖国外POS分析仪厂商垄断的局面。
参考文献:
[1]韦乐平.光同步数字传输网[M].北京:人民邮电出版社,1998.
[2]杨扬,卞洪流.基于SDH传输网络的POS与EOS接入技术比较[J].计算机与信息技术,2007(3):41-44.
[3]孙嵘.虚级联信号的链路容量调整机制及其在新一代SDH智能带宽响应中的应用[J].光通信技术,2003(8):23-26.
[4]卢超,朱继瑜,郝鹏程,等.基于FPGA的数字信号传输性能分析仪[J].电子器件,2013,36(6):837-841.
[5]PM5360 S/UNI®MULTI-48TMMulti-Rate SATURN®User Network Interface for 1x2488,4x622,and 4x155 Datasheet[S].2003.
[6]PM5360 S/UNI®MULTI-48TMMulti-Rate SATURN®User Network Interface for 1x2488,4x622,and 4x155 Hardware Design Guide[S].2003.
[7]陆增援,刘树彬,宋健,等.宽带网络接口板的设计与实现[J].中国科学技术大学学报,2003,33(2):214-218.
[8]杨利,阮方,葛宁.基于Packet over SDH的以太网业务接入的设计实现[J].电讯技术,2002(2):99-104.
[9]张校辉,吕平,刘宗海.基于PM5360的通道化OC48 POS线卡设计[J].电子设计工程,2010,18(3):87-89.
[10]吕喜在,苏绍璟,黄芝平.基于NIOS技术的2.5 Gbit/s POS信号测试平台设计[J].光通信技术,2009(4):34-36.
[11]莫元劲,黄水永.并行CRC在FPGA上的实现[J].电子设计工程,2011,19(5):133-135.
[12]俞迅.32位CRC校验码的并行算法及硬件实现[J].信息技术,2007(4):71-74.
段美霞(1976-),女,汉族,河南郑州人,硕士,华北水利水电学院信息工程学院讲师,主要研究领域为嵌入式系统和网络测试仪器,duanmeixia@ncwu.edu.cn。
TheDesignPrincipleandMethodofMultiratePOSTestCPCIModule*
DUANMeixia*
(College of Information Engineering,North China University of Water Resources and Electric Power,Zhengzhou 450011,China)
Abstract:The strict testing for POS(IP over SDH)transmission network is the necessary way to inspect IP over SDH network.The design principles are clarified according to the standard which defines how to map IP data to SDH frame and demap ip data from SDH frame at different levels,putting forward the test scenarios and design implementations,the project apply the multi-rate interface chip to match the test requirment on SDH layer,the generation and analysis of SDH and IP layer protocol is realized in the FPGA.The experimental results proved that the design is reliable and works well.
Key words:POS transmit;multirate,map;demap;isolation character
doi:EEACC:6150P10.3969/j.issn.1005-9490.2014.04.008
中图分类号:TP393.11
文献标识码:A
文章编号:1005-9490(2014)04-0617-05
收稿日期:2013-11-13修改日期:2013-12-12
项目来源:河南省2012年科技发展计划项目(122102210240)