李 杰
(中興通訊股份有限公司上海研發(fā)中心,上海 201203)
近年來,Internet中的業(yè)務(wù)量以指數(shù)規(guī)律呈爆炸式增長態(tài)勢,這對(duì)通信網(wǎng)絡(luò)的傳輸帶寬和交換容量提出了越來越高的要求.為了適應(yīng)這種要求,網(wǎng)絡(luò)運(yùn)營商開始采用以波分復(fù)用(Wavelength Division Multiplexing,WDM)技術(shù)為平臺(tái)的光傳送網(wǎng)(Optical Transport Network,OTN)來提供高速、大容量的帶寬[1-3].光交叉連接設(shè)備(Optical Cross-Connect,OXC)是光傳送網(wǎng)的核心節(jié)點(diǎn),其交叉連接功能由光開關(guān)矩陣[3,4]實(shí)現(xiàn).由于大規(guī)模光開關(guān)矩陣的成本較高,因此可以采用由小規(guī)模光開關(guān)通過級(jí)聯(lián)組成的大規(guī)模光開關(guān)矩陣.
目前的光開關(guān)矩陣基本上都是用電進(jìn)行控制的.在實(shí)際應(yīng)用之前,光開關(guān)矩陣必須進(jìn)行充分的測試,以保證其交換的可靠性.為實(shí)現(xiàn)對(duì)光開關(guān)矩陣交換性能的測試,本文提出了一種方便實(shí)用的測試系統(tǒng).該系統(tǒng)以單片機(jī)為下位機(jī),PC機(jī)為上位機(jī),上位機(jī)與下位機(jī)之間采用RS232串行口進(jìn)行通信.
本文所提出的光交換矩陣測試系統(tǒng)如圖1所示.該系統(tǒng)由光交換矩陣、測試控制單元和位于計(jì)算機(jī)上的測試軟件3部分構(gòu)成.
圖1 光交換矩陣測試系統(tǒng)
光交換矩陣的主要功能是實(shí)現(xiàn)光信號(hào)的交換/交叉連接.在本系統(tǒng)中,作為被測試單元的光交換矩陣選用了3×3矩陣,它是由3個(gè)Optiwork公司制造的DF系列2×2 MEMS光開關(guān)構(gòu)成,見圖2.
圖2 3×3光交換矩陣構(gòu)成示意
DF系列2×2 MEMS光開關(guān)的穩(wěn)定響應(yīng)時(shí)間為5 ms,可通過在控制引腳上施加5 V的控制電壓來改變其開關(guān)狀態(tài).對(duì)于每個(gè)2×2光開關(guān),當(dāng)控制引腳上無電壓時(shí),光開關(guān)處于交叉狀態(tài)(P1和P2連通,P4和P3連通);當(dāng)加載5 V的控制電壓時(shí),光開關(guān)處于直通狀態(tài)(P1和P3連通,P4和P2連通).通過3個(gè)2×2光開關(guān)級(jí)聯(lián)便可以完成1個(gè)3×3交換矩陣的交換功能.例如,當(dāng)輸入端口3要和輸出端口B相互連通時(shí),只需將1#光開關(guān)置成交叉狀態(tài),2#和3#光開關(guān)置成直連便可.為了測試光交換矩陣的連通性和交換損耗,可在其每個(gè)輸入端口配置一個(gè)可調(diào)光源,每個(gè)輸出端口配置一個(gè)光功率計(jì).
測試控制單元主要完成兩種功能:一是對(duì)3×3光交換矩陣的開關(guān)狀態(tài)進(jìn)行控制,即通過選擇是否在3個(gè)2×2光開關(guān)上加載5 V控制電壓,以控制3×3光交換矩陣某對(duì)輸入/輸出端口的連通狀態(tài);二是與作為上位機(jī)的PC機(jī)進(jìn)行通信,通過PC機(jī)上的測試軟件實(shí)現(xiàn)對(duì)光開關(guān)的測試.測試控制單元的構(gòu)成如圖3所示.該單元采用PHILIPS公司P89C52X2單片機(jī)做為測試控制單元的CPU,另外還包括電源模塊、串行通信模塊、時(shí)鐘模塊、光開關(guān)控制接口模塊等.其中,串行通信模塊采用MAX232芯片實(shí)現(xiàn)單片機(jī)TTL電平與PC機(jī)RS232電平的轉(zhuǎn)換;光開關(guān)控制接口模塊通過P89C52X2單片機(jī)I/O口對(duì)3個(gè)2×2光開關(guān)進(jìn)行控制.
圖3 測試控制單元組成
測試軟件位于上位機(jī)PC機(jī)上,其功能是發(fā)送測試命令,對(duì)光交換矩陣各個(gè)輸入端口與輸出端口的連通性進(jìn)行測試.根據(jù)不同的測試需求,測試軟件設(shè)有手動(dòng)測試功能和定時(shí)測試功能.測試軟件發(fā)出的測試命令是通過RS232串行口發(fā)送到測試控制單元的.
為了實(shí)現(xiàn)測試軟件對(duì)光交換矩陣的測試,需要通過RS232串行口來實(shí)現(xiàn)PC機(jī)與測試控制單元之間的數(shù)據(jù)通信.因此,有必要設(shè)計(jì)應(yīng)用層的數(shù)據(jù)通信協(xié)議,以保證通信的可靠性,并滿足光開關(guān)矩陣測試的需要.圖4為上位機(jī)與下位機(jī)應(yīng)用層通信協(xié)議的數(shù)據(jù)幀格式.數(shù)據(jù)共有N+3個(gè)字節(jié),第1字節(jié)是起始標(biāo)志字節(jié),值為@;第2字節(jié)是實(shí)際數(shù)據(jù)的長度;從第3字節(jié)開始的N個(gè)字節(jié)為實(shí)際數(shù)據(jù);最后一個(gè)字節(jié)是結(jié)束標(biāo)志字節(jié),值為#.
圖4 上位機(jī)與下位機(jī)應(yīng)用層通信協(xié)議的數(shù)據(jù)幀格式
在本測試系統(tǒng)中,上位機(jī)與下位機(jī)之間存在兩種串行通信數(shù)據(jù)幀,即從PC機(jī)到測試控制單元的下行數(shù)據(jù)幀和從測試控制單元到PC機(jī)的上行數(shù)據(jù)幀.
下行數(shù)據(jù)幀用于實(shí)現(xiàn)對(duì)光交換矩陣交換狀態(tài)的控制,因此通信數(shù)據(jù)幀中實(shí)際數(shù)據(jù)字段只需要1個(gè)字節(jié),表示擬控制輸入/輸出端口對(duì)的序號(hào),而整個(gè)通信數(shù)據(jù)幀長度為4個(gè)字節(jié).本系統(tǒng)所使用的3×3光交換矩陣有9種交換狀態(tài),其串行通信的下行數(shù)據(jù)幀格式如表1所示.
表1 串行通信下行數(shù)據(jù)幀格式
串行通信的上行數(shù)據(jù)幀是應(yīng)答數(shù)據(jù)幀,用來描述光開關(guān)矩陣的切換是否成功,因此通信數(shù)據(jù)幀中的實(shí)際數(shù)據(jù)字段包括2個(gè)字節(jié).其中,第1個(gè)字節(jié)用來描述對(duì)應(yīng)輸入/輸出端口對(duì)的序號(hào)(輸入/輸出端口對(duì)的序號(hào)定義與表1中定義相同),第2個(gè)字節(jié)用于描述對(duì)應(yīng)輸入/輸出端口對(duì)的狀態(tài),即為連通狀態(tài)或開路狀態(tài).串行通信的上行數(shù)據(jù)幀格式如表2所示.
表2 串行通信上行數(shù)據(jù)幀格式
位于PC機(jī)上的測試軟件的主要功能是發(fā)送測試命令給測試控制單元,通過測試控制單元執(zhí)行切換控制指令,從而對(duì)光開關(guān)矩陣的交換可靠性進(jìn)行測試.本文使用Visual C++6.0設(shè)計(jì)了上位機(jī)測試軟件,主要包括操作界面和串行通信兩部分內(nèi)容.
上位機(jī)測試軟件的主界面如圖5所示.
由圖5可知,主界面由測試控制區(qū)域、參數(shù)設(shè)置區(qū)域和狀態(tài)顯示區(qū)域組成.在測試控制區(qū)域可以手動(dòng)選擇將光開關(guān)矩陣任一輸入端交換到任一輸出端,也可以選擇自動(dòng)測試功能,此時(shí)測試軟件將按照表1中自上而下的順序,對(duì)每個(gè)輸入/輸出端口對(duì)進(jìn)行自動(dòng)測試.在參數(shù)設(shè)置區(qū)域可以對(duì)串口的序號(hào)、波特率、數(shù)據(jù)位等串行通信參數(shù)進(jìn)行設(shè)置.在狀態(tài)顯示區(qū)域,可以查看當(dāng)前所測試輸入/輸出端口對(duì)的連通狀態(tài),指示燈為紅色表示當(dāng)前所測試輸入/輸出端口對(duì)為斷開狀態(tài),指示燈為綠色則表示當(dāng)前所測試輸入/輸出端口對(duì)為連通狀態(tài).
圖5 上位機(jī)測試軟件操作主界面
測試控制單元在收到指令后執(zhí)行相應(yīng)的切換操作,操作完成后,采集光交換矩陣對(duì)應(yīng)輸入/輸出端口對(duì)當(dāng)前的狀態(tài),并以應(yīng)答數(shù)據(jù)幀的方式通知上位機(jī).
光交換矩陣測試軟件通過串口向測試控制單元發(fā)送測試命令,并且接收測試應(yīng)答數(shù)據(jù)幀.在Visual C++6.0中,串口通信可以通過 API方法、MSComm 控 件 方 法 來 實(shí) 現(xiàn)[5].Microsoft Communications Control(MSComm)是 Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法.MSComm控件通過串行傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能.本文采用MSComm控件方法來實(shí)現(xiàn)測試軟件與測試控制單元之間的串行通信功能.其中,上位機(jī)與下位機(jī)之間串口通信采用的波特率為9 600 b/s,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)位.
測試軟件串行通信功能的實(shí)現(xiàn)流程見圖6.
圖6 測試軟件串行通信功能實(shí)現(xiàn)流程
具體步驟如下.
(1)程序首先對(duì)所使用串口的序號(hào)、波特率、數(shù)據(jù)位等串行通信參數(shù)進(jìn)行初始化,然后等待測試開始的命令.
(2)當(dāng)程序啟動(dòng)測試時(shí),根據(jù)測試類型獲取所要測試輸入/輸出端口對(duì)的序號(hào).若選擇圖5中的自動(dòng)測試復(fù)選框,則輸入/輸出端口對(duì)的序號(hào)為1~9,具體定義如表1所示;若不選自動(dòng)測試,則輸入/輸出端口對(duì)的序號(hào)為手動(dòng)選擇輸入/輸出端口對(duì)應(yīng)的序號(hào).
(3)生成測試數(shù)據(jù)幀,并通過CMSComm類中的SetOutput進(jìn)行函數(shù)發(fā)送.
(4)若測試數(shù)據(jù)幀發(fā)送成功,并完成了交換控制,此時(shí)下位機(jī)測試控制單元將發(fā)送測試應(yīng)答數(shù)據(jù)幀,則本次交換控制完成,轉(zhuǎn)步驟(6).
(5)若本次交換控制未完成,則重新發(fā)送測試數(shù)據(jù)幀,轉(zhuǎn)步驟(4).
(6)若所有輸入/輸出端口對(duì)已完成測試,則退出測試;否則,轉(zhuǎn)步驟(2),接著測試另一端口對(duì).
光開關(guān)矩陣是實(shí)現(xiàn)光傳送網(wǎng)核心節(jié)點(diǎn)-光交叉連接設(shè)備的關(guān)鍵器件,為了實(shí)現(xiàn)對(duì)光開關(guān)矩陣交換性能的測試,本文提出了一種交換性能測試系統(tǒng).該系統(tǒng)由光交換矩陣、測試控制單元和位于計(jì)算機(jī)上的測試軟件3部分構(gòu)成,其中,測試控制單元和作為上位機(jī)的計(jì)算機(jī)之間采用RS232串行口進(jìn)行通信.為了方便對(duì)光交換矩陣的測試,使用Visual C++6.0編寫了光交換矩陣上位機(jī)測試軟件,該軟件具有手動(dòng)測試和自動(dòng)測試功能,能夠滿足不同的測試需求.
[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]趙文玉.光傳送網(wǎng)關(guān)鍵技術(shù)及應(yīng)用[J].中興通訊技術(shù),2008,14(4):25-28.
[4]趙繼德,李應(yīng)良.全光網(wǎng)絡(luò)中的MEMS光開關(guān)[J].激光雜志,2005,26(3):10-12.
[5]董紅政,王忠勇,史曉鵬.基于MSComm控件實(shí)現(xiàn)串行通信的方法[J].微計(jì)算機(jī)信息,2007,23(9-3):145-147.