李 杰
(中兴通讯股份有限公司上海研发中心,上海 201203)
近年来,Internet中的业务量以指数规律呈爆炸式增长态势,这对通信网络的传输带宽和交换容量提出了越来越高的要求.为了适应这种要求,网络运营商开始采用以波分复用(Wavelength Division Multiplexing,WDM)技术为平台的光传送网(Optical Transport Network,OTN)来提供高速、大容量的带宽[1-3].光交叉连接设备(Optical Cross-Connect,OXC)是光传送网的核心节点,其交叉连接功能由光开关矩阵[3,4]实现.由于大规模光开关矩阵的成本较高,因此可以采用由小规模光开关通过级联组成的大规模光开关矩阵.
目前的光开关矩阵基本上都是用电进行控制的.在实际应用之前,光开关矩阵必须进行充分的测试,以保证其交换的可靠性.为实现对光开关矩阵交换性能的测试,本文提出了一种方便实用的测试系统.该系统以单片机为下位机,PC机为上位机,上位机与下位机之间采用RS232串行口进行通信.
本文所提出的光交换矩阵测试系统如图1所示.该系统由光交换矩阵、测试控制单元和位于计算机上的测试软件3部分构成.
图1 光交换矩阵测试系统
光交换矩阵的主要功能是实现光信号的交换/交叉连接.在本系统中,作为被测试单元的光交换矩阵选用了3×3矩阵,它是由3个Optiwork公司制造的DF系列2×2 MEMS光开关构成,见图2.
图2 3×3光交换矩阵构成示意
DF系列2×2 MEMS光开关的稳定响应时间为5 ms,可通过在控制引脚上施加5 V的控制电压来改变其开关状态.对于每个2×2光开关,当控制引脚上无电压时,光开关处于交叉状态(P1和P2连通,P4和P3连通);当加载5 V的控制电压时,光开关处于直通状态(P1和P3连通,P4和P2连通).通过3个2×2光开关级联便可以完成1个3×3交换矩阵的交换功能.例如,当输入端口3要和输出端口B相互连通时,只需将1#光开关置成交叉状态,2#和3#光开关置成直连便可.为了测试光交换矩阵的连通性和交换损耗,可在其每个输入端口配置一个可调光源,每个输出端口配置一个光功率计.
测试控制单元主要完成两种功能:一是对3×3光交换矩阵的开关状态进行控制,即通过选择是否在3个2×2光开关上加载5 V控制电压,以控制3×3光交换矩阵某对输入/输出端口的连通状态;二是与作为上位机的PC机进行通信,通过PC机上的测试软件实现对光开关的测试.测试控制单元的构成如图3所示.该单元采用PHILIPS公司P89C52X2单片机做为测试控制单元的CPU,另外还包括电源模块、串行通信模块、时钟模块、光开关控制接口模块等.其中,串行通信模块采用MAX232芯片实现单片机TTL电平与PC机RS232电平的转换;光开关控制接口模块通过P89C52X2单片机I/O口对3个2×2光开关进行控制.
图3 测试控制单元组成
测试软件位于上位机PC机上,其功能是发送测试命令,对光交换矩阵各个输入端口与输出端口的连通性进行测试.根据不同的测试需求,测试软件设有手动测试功能和定时测试功能.测试软件发出的测试命令是通过RS232串行口发送到测试控制单元的.
为了实现测试软件对光交换矩阵的测试,需要通过RS232串行口来实现PC机与测试控制单元之间的数据通信.因此,有必要设计应用层的数据通信协议,以保证通信的可靠性,并满足光开关矩阵测试的需要.图4为上位机与下位机应用层通信协议的数据帧格式.数据共有N+3个字节,第1字节是起始标志字节,值为@;第2字节是实际数据的长度;从第3字节开始的N个字节为实际数据;最后一个字节是结束标志字节,值为#.
图4 上位机与下位机应用层通信协议的数据帧格式
在本测试系统中,上位机与下位机之间存在两种串行通信数据帧,即从PC机到测试控制单元的下行数据帧和从测试控制单元到PC机的上行数据帧.
下行数据帧用于实现对光交换矩阵交换状态的控制,因此通信数据帧中实际数据字段只需要1个字节,表示拟控制输入/输出端口对的序号,而整个通信数据帧长度为4个字节.本系统所使用的3×3光交换矩阵有9种交换状态,其串行通信的下行数据帧格式如表1所示.
表1 串行通信下行数据帧格式
串行通信的上行数据帧是应答数据帧,用来描述光开关矩阵的切换是否成功,因此通信数据帧中的实际数据字段包括2个字节.其中,第1个字节用来描述对应输入/输出端口对的序号(输入/输出端口对的序号定义与表1中定义相同),第2个字节用于描述对应输入/输出端口对的状态,即为连通状态或开路状态.串行通信的上行数据帧格式如表2所示.
表2 串行通信上行数据帧格式
位于PC机上的测试软件的主要功能是发送测试命令给测试控制单元,通过测试控制单元执行切换控制指令,从而对光开关矩阵的交换可靠性进行测试.本文使用Visual C++6.0设计了上位机测试软件,主要包括操作界面和串行通信两部分内容.
上位机测试软件的主界面如图5所示.
由图5可知,主界面由测试控制区域、参数设置区域和状态显示区域组成.在测试控制区域可以手动选择将光开关矩阵任一输入端交换到任一输出端,也可以选择自动测试功能,此时测试软件将按照表1中自上而下的顺序,对每个输入/输出端口对进行自动测试.在参数设置区域可以对串口的序号、波特率、数据位等串行通信参数进行设置.在状态显示区域,可以查看当前所测试输入/输出端口对的连通状态,指示灯为红色表示当前所测试输入/输出端口对为断开状态,指示灯为绿色则表示当前所测试输入/输出端口对为连通状态.
图5 上位机测试软件操作主界面
测试控制单元在收到指令后执行相应的切换操作,操作完成后,采集光交换矩阵对应输入/输出端口对当前的状态,并以应答数据帧的方式通知上位机.
光交换矩阵测试软件通过串口向测试控制单元发送测试命令,并且接收测试应答数据帧.在Visual C++6.0中,串口通信可以通过 API方法、MSComm 控 件 方 法 来 实 现[5].Microsoft Communications Control(MSComm)是 Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法.MSComm控件通过串行传输和接收数据,为应用程序提供串行通信功能.本文采用MSComm控件方法来实现测试软件与测试控制单元之间的串行通信功能.其中,上位机与下位机之间串口通信采用的波特率为9 600 b/s,8位数据位,1位停止位,无奇偶校验位.
测试软件串行通信功能的实现流程见图6.
图6 测试软件串行通信功能实现流程
具体步骤如下.
(1)程序首先对所使用串口的序号、波特率、数据位等串行通信参数进行初始化,然后等待测试开始的命令.
(2)当程序启动测试时,根据测试类型获取所要测试输入/输出端口对的序号.若选择图5中的自动测试复选框,则输入/输出端口对的序号为1~9,具体定义如表1所示;若不选自动测试,则输入/输出端口对的序号为手动选择输入/输出端口对应的序号.
(3)生成测试数据帧,并通过CMSComm类中的SetOutput进行函数发送.
(4)若测试数据帧发送成功,并完成了交换控制,此时下位机测试控制单元将发送测试应答数据帧,则本次交换控制完成,转步骤(6).
(5)若本次交换控制未完成,则重新发送测试数据帧,转步骤(4).
(6)若所有输入/输出端口对已完成测试,则退出测试;否则,转步骤(2),接着测试另一端口对.
光开关矩阵是实现光传送网核心节点-光交叉连接设备的关键器件,为了实现对光开关矩阵交换性能的测试,本文提出了一种交换性能测试系统.该系统由光交换矩阵、测试控制单元和位于计算机上的测试软件3部分构成,其中,测试控制单元和作为上位机的计算机之间采用RS232串行口进行通信.为了方便对光交换矩阵的测试,使用Visual C++6.0编写了光交换矩阵上位机测试软件,该软件具有手动测试和自动测试功能,能够满足不同的测试需求.
[1]MASETTI F,BENOIT J,.BRILLOUET F,et al.High speed,high capacity ATM optical switches for future telecommunication transport networks[J].IEEE Journal on Selected Areas in Communications,1996,14(5):979-998.
[2]GUILLEMOT C,RENAUD M,GAMBINI P,et al.Transparent optical packet switching:the European ACTS KEOPS project approach[J].IEEE/SOA Journal of Lightwave Technology,1998,16(12):2 117-2 134.
[3]赵文玉.光传送网关键技术及应用[J].中兴通讯技术,2008,14(4):25-28.
[4]赵继德,李应良.全光网络中的MEMS光开关[J].激光杂志,2005,26(3):10-12.
[5]董红政,王忠勇,史晓鹏.基于MSComm控件实现串行通信的方法[J].微计算机信息,2007,23(9-3):145-147.