光功率計是現代光通信中最基本的光纖測試儀器。隨著寬帶通信技術的快速發展,通信網絡中大量使用光纖作為傳輸介質,因此光功率計也就越來越多地被應用于科研、生產的各個部門。對于計量檢測部門而言,每年都要計量大量的光功率計,然而傳統的計量方法耗時長、效率低,計量的準確性也極易受人為操作的影響。在這里我們介紹一套最新研制的光功率計自動測試系統,具有測試準確性高、投資省、自動化程度高等特點。
1 傳統光功率計的測試方法
傳統的光功率計測試框圖如圖1所示。
所用測試原理為比較法。首先將光衰減器與標準光功率計連接起來,測試光從光源發出,經過衰減器后被標準光功率計讀出的數值為標稱值。接著將光纖從標準光功率計上取下切換到待測光功率計上,再測量待測光功率計讀出的數值,該值為實測值。測試完第一個光功率下的數值后,調節光衰減器使輸出光功率為下一值,重復以上步驟進行下一次測試。待所有光功率量程都測完后,通過計算待測光功率計的相對誤差對其進行標定。計量評定標準是:相對誤差在±10%以內,待測光功率計標定為合格,超過這一范圍則為限用,需重新校準后才能使用。
測試時必須注意兩點:①用光纖連接光器件時,盡量旋緊光接頭以避免由于接入損耗而降低測量的準確性;②為了將測試誤差降至最低,在每一次光功率的測試過程中,需采用平均值測試法,即在相同光功率下進行多次的重復測試,然后去掉一個最大值和一個最小值,再將其它數值取平均即為該光功率下最終的測試數值。
采用以上方法進行實際測試時,調節光衰減器、切換光纖、記錄測試數據、計算相對誤差等均需手工完成,工作效率低下。在測試過程中由于不斷地進行光纖的切換工作,使得接入損耗嚴重影響測試的準確性。雖然測試人員可以旋緊光接頭以降低接入損耗,但由于光信號本身非常弱,將光纖反復多次地插入和拔出,會造成接入損耗有很大不同,直接降低測試的準確性。
經過以上分析發現,造成工作效率低下和測試準確性低的主要原因是由于所有的測試工作均需人工完成。解決這一問題的最好辦法就是采用計算機進行自動化測試。新的自動測試系統框圖如圖2所示。
2 自動測試系統硬件設計
使用計算機進行自動控制時,在滿足功能的前提下應該最大限度地利用計算機現有的資源。這樣,一方面可以充分發揮計算機的作用,另一方面也可以節省另外制作控制板卡所需的資金、器材、時間和人力。
在這套自動測試系統中,光衰減器帶有串行接口,可直接與計算機通信。待測光功率計中,較新的帶有串行接口和GPIB接口,老一些的只有GPIB接口。為了滿足兼容性和自動控制的要求,增加了一塊基于計算機總線的GPIB接口卡,通過該卡控制待測光功率計。標準光功率計自帶串行和GPIB兩種接口,可通過任意一個接口與計算機通信。由于計算機上有兩個串行接口,因此可分別通過這兩個接口控制光衰減器和標準光功率計。為了解決接入損耗問題,系統增加了一個1×2的光開關。光開關的作用就是在計算機的控制下,自動切換光纖,將接入損耗的影響降至最低,類似于電子開關在電路切換中所起的作用。我們利用計算機的并行接口對光開關進行控制。
光開關采用電壓控制方式,需自制一塊控制卡,利用計算機的并行接口進行控制。控制卡的電路如圖3所示。
光開關由計算機的并口發控制信號進行驅動,即從計算機并口378H的“0”、“1”兩端發送高低電平信號,使得控制電路A、B兩端的電壓交替變化,達到光開關自動動作的目的。當“0”端為高電位時,三極管Q3、Q4導通,Q1、Q2截止;同時“1”端為低電位,Q5、Q6導通,Q7、Q8截止,這樣就構成了導通回路+12V→Q6→B→A→Q3→GND,則光開關向右運動。同理,“0”端為低電位而“1”端為高電位時,光開關向左運動。二極管D1~D4為保護二極管,可避免光開關中的感性元件在極性切換時造成反向電壓而損壞功率三極管。
3 自動測試系統軟件設計
自動測試系統軟件由系統自檢、硬件控制、測試數據記錄及計算、測試結果輸出等部分組成,其中最為關鍵的是硬件控制部分的程序。下面重點介紹一下該部分的并、串口控制程序以及GPIB接口程序的編寫方法。這些程序全部采用C++ Builder(簡稱BCB)編寫,運行在WIN9x操作系統下。
3.1 光開關控制程序設計
光開關的控制程序采用直接嵌入匯編語句的方法實現,程序如下:
void outportb unsigned short port unsigned char value //port參數為輸出端口地址,value參數為輸出值 asm
mov dx port //把端口port地址送到
DX寄存器中
mov al value //把value的數值送到AL
寄存器中
out dx al //把AL寄存器中的數值
送到端口
光開關的控制程序如下:
#define PC 0x378 //PC機的并口地址
void_fastcall Tform2 BitBtn_Left2RightClick TObject Sender
outportb PC 0x01 // 378H的“0”端為高電位,“1”端為低電位,光開關向右運動
void_fastcall Tform2 BitBtn_Right2LeftClick TObject Senderoutportb PC 0x02 // 378H的“0”端為低電位,
“1”端為高電位,光開關向左運動
采用以上方式編制的程序可以非常方便地對原有的采用匯編語句編制的函數直接進行使用,不需再另外編制相應的程序。
3.2 串行接口程序設計
我們使用Microsoft的MSComm32.ocx控件來編寫串行通信程序。首先要進行串口初始化,程序如下:
……
Mscomm1→CommPort=1 //選用COM1串行口
Mscomm1→Settings=″9600 N 8 1″
//波特率9600,無奇偶校驗位,8位數據位,1位停
止位
Mscomm1→InputLen=0 //讀取接收緩沖區的全
部內容
Mscomm1→InBufferSize=1024 //設置接收緩沖區的
字節長度為1024
Mscomm1→PortOpen=True //打開串行口
……
串口初始化后就可以利用Input函數讀取標準光功率計的讀數了。通過串口1讀取標準光功率計讀數的程序如下:
double buffer 1024 //定義接收數據的緩沖區
int ByteNum //收到的字節數
int BuffPtr //接收緩沖區的指針
OleVariant RxBuff //一個用于接收的OleVariant
變量
……
if MSComm1→InBuffCount>0 //如果緩沖區有多于
一個字節的數據則接收
RxBuff=Communical->Input
ByteNum=RxBuff.ArrayHighBound 1 //將實際的
字節數取出
for int i=0 i<=ByteNum I++
buffer BuffPtr++ =double RxBuff.GetElement i //將接收到數據讀入緩沖區
……
光衰減器的自動控制程序與此類似,本文不再復述。
3.3 GPIB接口程序設計
GPIB接口程序是使用NI公司的ActiveX控件編制的,方法如下:
打開BCB的ActiveX控件組,將GPIB控件拖放到Form上,在“Object Inspector”表框中對通信的時間間隔、目標地址、起始位、校驗位、存放數據的緩沖區大小等進行設置。
完成了以上設置后,在程序中只要加上不多的幾行代碼即可實現待測光功率計的自動數值采樣。程序代碼如下:
{
……
double number;
Form2→CWGPIB1→Configure //初始化GPIB接口卡
……
number=Form2→CWGPIB1→Read //自動讀取
待測光功率計的讀數
……
}
4 自動測試結果
利用以上自動測試系統測出的某一待測光功率計的計量標定參數如表1所示。
從以上測試數據來看,該待測光功率計在1.3μm測試波長下,mW、μW量程為合格,而nW量程為限用,必須重新校準后才能使用,或僅用于指示光纖中有無光功率的一般性使用。
在這套光功率計自動測試系統中,測試軟件采用圖形化操作界面,每一步的操作都有直觀的提示,可使測試人員在很短的時間內掌握系統的使用方法。測試時,測試人員只要將整個測試系統連接起來,然后正確地使用測試軟件即可,其它的操作,如光衰減器的調節、光纖的切換、測試數據的輸入與計算,以及最終測試結果的輸出全部由計算機完成。這使得整個測試工作的準確性和靈活性都得到了加強,工作效率大為提高,也極大地增強了測試的自動化水平和使用檔次。
-
通信技術
+關注
關注
20文章
1135瀏覽量
92285 -
寬帶
+關注
關注
4文章
991瀏覽量
60378 -
通信網絡
+關注
關注
21文章
2043瀏覽量
52091
發布評論請先 登錄
相關推薦
評論