基于ADμC7020的高速誤碼測試儀
3 FIRMWARE設(shè)計
①當(dāng)ADμC7020作為I2C從機時,構(gòu)建一個I2C訪問的寄存器映射表(Memory Map)。共有2個頁面,每個頁面256個寄存器。其中頁面0有待測XFP模塊和Si5040的狀態(tài)顯示、控制、上電初始化值、儀器接口初始化等寄存器。頁面1為Si5040的映射寄存器,其將Si5040內(nèi)部全部的184個寄存器全部映射到本頁,測試人員可以通過該頁的寄存器對應(yīng)訪問Si5040的相關(guān)寄存器,每個頁面的最后一個寄存器是頁面選擇寄存器。
②收到上位機命令,解釋上位機命令并完成測試或控制待測模塊和Si5040功能。
③設(shè)置Si5040循環(huán)控制定時器值為100 ms,即每100 ms檢測待測模塊的狀態(tài)和Si5040的寄存器值,并映射到構(gòu)建的相關(guān)寄存器中。
④設(shè)置ADC采樣TIMER也為100 ms,即每100 ms通過ADC采樣測量相應(yīng)的電壓值和電流值。并將值映射到構(gòu)建的相關(guān)寄存器中,供上位機查詢。
⑤上電初始化Si5040相關(guān)測試誤碼寄存器。在上電復(fù)位時,ADμC7020按照其寄存器映射表的初始值配置Si5040。修改初始配置表可以改變Si5040的上電寄存器設(shè)置。在上電初始化完成后,通過I2C接口修改Tablel的Si5040映射寄存器值,也可以改變Si5040的相關(guān)寄存器的配置。
4 上位機及人機界面
4.1 人機界面
Lab Windows/CVI所設(shè)計的人機界面如圖4所示,左部為誤碼率測試,右部為寄存器狀態(tài)及控制。在測試前,通過串口讀光功率計和衰減器的值,根據(jù)生產(chǎn)和測試要求配置衰減器衰減量,在完成整個測試平臺的配置并選擇測試時的偽隨機碼列后,按下“開始”按鍵,可以開始測試。在Elapsed Time(s)、Error Count和BER三個顯示框中分別顯示測試時間、誤碼個數(shù)及誤碼率。“信號發(fā)生器”按鍵為使用Si5040配置TX信道的端口信號,不讀Si5040的誤碼個數(shù),不計算RFR值。本文引用地址:http://www.ex-cimer.com/article/195192.htm
4.2 底層驅(qū)動
控制上位機PC的并口,按I2C協(xié)議產(chǎn)生相應(yīng)的I2C讀寫時序。上位機PC的并口DB25由3個寄存器組成:數(shù)據(jù)寄存器(Data Register)、狀態(tài)寄存器(Status Register)和控制寄存器(Control Register),在SPP(Standard Parallel Port)模式,即標(biāo)準并口模式下,地址為:數(shù)據(jù)寄存器(0x378)、狀態(tài)寄存器(0x379)、控制寄存器(0x37a)。通過數(shù)據(jù)寄存器的數(shù)據(jù)輸出和狀態(tài)寄存器數(shù)據(jù)的讀入,控制SCL和SDA總線以及讀SCL和SDA的狀態(tài),可以方便地產(chǎn)生I2C時序中的START、STOP、ACK、NACK等基本的時序,通過這些基本時序生成了完整的I2C讀寫的時序。
5 實驗
在碼型中可選擇PRBS7、PRBS31或64位用戶自定義碼型,針對XFP光模塊一般選擇PRBS31碼型,置信度為95%,短時間測量采用30 s,長時間測量采用3000 s。對比實驗采用Agilent 86100 Infinite DAC和Agilent70843B 12 Gb/s誤碼測試儀搭建的誤碼測試系統(tǒng)。結(jié)果顯示,在測量時間內(nèi)兩系統(tǒng)測試的誤碼個數(shù)相近,而且誤碼率測試結(jié)果達到10E-12。
結(jié)語
本系統(tǒng)充分利用了ADμC7020強大功能及Si5040的誤碼檢測功能,結(jié)合虛擬儀器特點,構(gòu)造了一種誤碼測試系統(tǒng)。對于大多數(shù)光收發(fā)模塊生產(chǎn)廠家,其對XFP模塊生產(chǎn)及測試線有一定的量及周期要求,本系統(tǒng)以其體積小、系統(tǒng)搭建簡便、靈活性強、成本低的特點,可以代替部分國內(nèi)外高速誤碼測試儀。與進口誤碼測試儀的對比測量,充分證明了這點。另外,本測試系統(tǒng)可利用ADμC7020的強大Bootloader程序,完成Firmware升級,實現(xiàn)在系統(tǒng)編程,同時整套系統(tǒng)硬件稍加以改進就可以應(yīng)用于XFP模塊的靈敏度測試。
評論