999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabVIEW的SFP光模塊測試平臺的設計與實現

2011-08-13 06:33:18周劍揚劉舜奎
電子技術應用 2011年4期
關鍵詞:信號

曾 劍,周劍揚,劉舜奎

(廈門大學 電子工程系,福建 廈門 361005)

隨著近幾年光通信的迅速發展,光通信接入網對實現光電、電光轉換的光收發模塊的要求越來越高,光收發模塊的測試也越來越復雜。早期一般使用Visual Basic、Visual C++開發測試軟件,存在開發周期長、測試效率低等問題,本文提出了使用LabVIEW虛擬儀器技術來完成測試工作的方法,解決了測試成本高、測試效率低、測試系統松散等問題,同時它還具備遠程測試以及儀器定制或自制等特點。虛擬儀器技術已經深遠地影響著測試測量領域,是企業和科研單位的測試工作的重要解決方案之一。本文正是利用此項技術解決了SFP光模塊測試平臺開發的幾個關鍵問題。

1 SFP光模塊測試軟件的設計

1.1 軟件結構

軟件由四個界面構成,實時監控界面、閾值設置界面、校準界面和光模塊信息設置界面。實時監控界面是軟件的主界面,它顯示數字診斷功能[1]中的五個模擬量與其Alarm和Warning標志;閾值設置界面的功能是設定Alarm與Warning閾值,當實時監控值不在閾值內時會出現工作異常警示;校準界面主要是解決數據漂移,從而保證測得數據準確;模塊信息設置界面是完成光模塊在出廠前信息設置。軟件運行的過程中用到的數據庫是由Access數據庫構成。如圖1所示為軟件結構圖。

圖1 軟件結構圖

1.2 計算機并口模擬I2C總線

I2C總線由四種信號組成:開始信號、停止信號、響應信號和數據發送。在計算機并口產生這些信號就要對數據地址、狀態地址和控制地址進行程序設計和控制。在LPT1端口中,它們對應的地址分別為0x378、0x379和0x37A。計算機并口中的8個數據端口分別對應0x378中的B7~B0;5個狀態端口分別對應 0x379中的 B7~B3;4個控制端口分別對應0x37A中的B3~B0。如果在以上地址的某一位上寫1,計算機并口的對應端口就會產生邏輯電平高。I2C總線的SDA和SCL分別需要并口的兩個端口模擬,這是因為計算機并口的特性,對地址中的數據的操作要么一直讀操作要么一直寫操作。

對LPT1端口地址操作要使用LabVIEW函數庫中的Out Port函數和 In Port函數。Out Port函數和 In Port函數是在指定的16位I/O端口地址讀取和寫入帶符號的整數。讀操作要先利用In Port函數讀取LPT1端口地址上的整數數據,再轉化為無符號數據并求出特定位的布爾量,最后得到該位對應端口的邏輯電平。寫操作就是先利用In Port函數讀取LPT1端口地址上的整數數據,再轉化為無符號數據并修改其中某一位的值,最后利用Out Port函數把修改后的數據轉化為整數數據并寫入LPT1端口地址,從而改變對應端口的邏輯電平。

I2C總線的四種信號通過SDA和SCL的組合形式如下:(1)開始信號:在SCL高電平期間,SDA由高變為低,將產生一個開始信號;(2)停止信號:在SCL高電平期間,SDA由低變高,將產生一個停止信號;(3)應答信號:傳輸一個字節后的第9個時鐘,若從設備把SDA拉低,表明有應答信號,反之則無;(4)數據傳輸:數據傳輸過程中,數據的改變都必須在SCL低電平期間,在SCL為高電平期間必須保持SDA信號的穩定[2]。

按照時序要求依次可以編寫出 I2C start、I2C send、I2C ack和I2C stop四種I2C總線信號的 vi,其中 I2C send這個vi既能發送地址又能發送數據。最后由這些vi組成如圖2所示的完整I2C總線數據傳輸。

圖2 I2C總線時序圖

1.3 生產者/消費者結構隊列狀態機

設計模式是在解決問題的過程中,由一些良好思路的經驗集成的。在LabVIEW中,它包括結構、函數、控件和錯誤處理的布局,它形成了一個通用的結構來完成一些常見的任務。設計模式可實現模塊重用,并提高軟件生產效率和質量[3]。

生產者/消費者結構是一種常用的設計模式,它主要用于數據采集系統。一般的數據采集系統包括數據采集、數據分析和結果顯示三個步驟。如果將這三個步驟按照常規的順序執行,則數據分析導致的時間延遲會增大數據采集的周期。采用生產者/消費者結構的數據采集系統,它通過并行的方式實現多個循環,可以很好地解決這一問題。一個循環不斷地采集數據(生產者),另一個循環不斷地處理數據(消費者),這兩個循環互相通信,但又不產生干涉。

隊列狀態機也是一種常用的設計模式,它對經典狀態機做了很大的改進。在經典狀態機中,移位寄存器的狀態轉移方式受限于每個循環間隔內一個指定新狀態或應用程序的狀態。而隊列狀態機則通過LabVIEW的隊列結構緩存一個隊列的多狀態,使得應用程序的任何狀態都可以通過調用Enqueue Element函數在該隊列的后端增加任意數量的新狀態,這類似于先進先出緩沖器。

生產者/消費者結構隊列狀態機最早是由Anthony Lukindo提出和改進,它結合以上兩種設計模式優點,其結構示意圖如圖3所示。

圖3 生產者/消費者結構隊列狀態機示意圖

從圖中可以看出,該設計模式由四部分組成:隊列引用、事件循環、主循環和并行子vi。事件循環和并行子vi為生產者,主循環是消費者,生產者和消費者之間的消息與數據的傳遞是通過隊列引用來實現的。事件循環由Event結構和While循環組成。主循環由Case結構和While循環組成,其中Case結構有兩個,分別是主Case結構和錯誤Case結構。隊列引用是由LabVIEW中的隊列操作中的函數組成,其中最常用的函數為Obtain Queue、Enqueue Element、Dequeue Element 和 Release Queue等。圖中的虛線是指并行子vi可以不通過隊列引用而和主循環進行連接。

生產者/消費者結構隊列狀態機的實現如下:Obtain Queue函數和Enqueue Element函數在While循環左側初始化隊列。枚舉類型定義控件端子連接到Obtain Queue函數的數據類型端子,這樣就可以指定隊列的數據類型。枚舉常量由枚舉類型創建,并連線到Enqueue Ele-ment函數的端子。Initialize狀態是添加到隊列中的第一項,它是狀態機執行的第一個狀態。Dequeue Element函數位于主Case結構之外的錯誤Case結構的NO Error事例中。如果在錯誤簇中沒有出現錯誤,則下一狀態就會從隊列移出,并傳送到主Case結構的選擇器端子;如果發生錯誤,則有General Error Handle VI來報告錯誤,并且執行Shutdown狀態。Case結構的每個事例中,事件循環和并行子vi都可以使用Enqueue Element函數來增加其他的狀態。此外,為了能夠立即執行,可以使用Enqueue Element At Opposite End函數在隊列的前端增加一個狀態。這使得應用程序能夠及時響應高優先級的操作或事件。當用戶要退出應用程序時,必須利用Release Queue函數釋放隊列引用,同時釋放隊列所占用的內存空間。

當隊列中需要傳遞狀態和數據時,隊列元素數據類型就需要由一個簇組成,這個簇包括一個與變體打包到一起的枚舉類型定義。通常,該枚舉類型包含了事例選擇器中需要的狀態。變體用來將數據從時間循環或并行子vi傳遞給主循環,這些數據的傳遞體現了生產者/消費者結構。同時,這個變體可以是多種類型的數據,但是必須為其中每個成員指定一種數據類型。

SFP光模塊測試程序首先初始化隊列引用和主界面中的控件,然后進入檢測光模塊。如果檢測到光模塊的插入,則主程序會讀取數字診斷功能中電壓、溫度和偏置電流等。在大部分時間里,主程序都是在輪詢地讀取這些數據。如果用戶在前面板有操作,此時事件循環將利用Flush Queue函數把隊列清空,然后加載下幾個狀態,及時地響應用戶的操作并且最后回到讀取數字診斷功能中模擬量。

2 測試與驗證

2.1 測試環境

測試平臺的硬件包括計算機、測試板、并口線、電源以及待測光模塊。首先在計算機中安裝本文開發的測試軟件,其次利用并口線把計算機和測試板連接起來,再次把待測光模塊插入到測試版中,并加載電源,最后打開測試軟件進行測試。

連接到I2C總線的器件輸出端要是漏極開路或集電極開路才能執行傳輸的功能。因為計算機并口不滿足這兩種結構,所以本設計中在并口外接2N3906使得SDA和SCL滿足集電極開路結構。

2.2 I2C總線驗證

為了保證光模塊測試平臺穩定地工作,必須測試I2C總線通信的穩定性。利用 I2C總線對EEPROM進行連續讀或者連續寫。在圖4中,C1和C2信號是對Z1和Z2信號框內部分的放大,這部分是主設備向從設備寫數據。

圖4 I2C總線通信截圖

主設備首先發送器件地址0xA0,在第9個時鐘,從設備給出了一個拉低SDA的應答信號。主設備然后發送寄存器地址0x00,同樣得到了應答信號。最后發送要寫入的數據0x55。圖中的兩個時間標尺測量出寫入數據操作距離下一次操作的時間,這個時間要大于等于5 ms。重復此讀寫過程10 000次,沒有錯誤則證明I2C總線非常穩定。

2.3 光模塊測試軟件的驗證

如圖5所示,是對一個Maxim DS1856方案的光收發模塊的檢測結果。

圖5 測試軟件界面圖

其中5個模擬量的監控值直接反映光模塊的工作狀態。表1是DS1856方案實測值與軟件監控值對比。

表1 實測值與軟件監控值對比

在SFF-8472協議中規定了每個模擬量的精度范圍:溫度誤差在±3℃之內;電壓誤差不超過廠家標稱值的3%;偏置電流誤差不超過廠家標稱值的10%;發射功率誤差在±3 dBm之內;接收功率在±3 dBm之內。通過表1結果顯示,此測試軟件滿足SFF-8472協議規定的誤差范圍。

本文使用LabVIEW設計實現了針對SFP光收發模塊的測試平臺。重點介紹了測試軟件與SFP光模塊的I2C總線通信的實現,論述了生產者/消費者結構隊列狀態機設計模式,提供了對該設計模式的具體實現方法,并把它應用在SFP光模塊測試軟件。該測試平臺已經應用到企業的實際生產過程中,減少了對SFP光模塊測試工作量,提高了測試效率,并且保證了所需的測試精度,具有一定的工程應用價值。

[1]SFF-8472 specification for diagnostic monitoring interface for Optical Transceivers Rev 10.4[S].2009-01.

[2]The I2C-Bus specification version 2.1[S].2000-01.

[3]Blume,Peter A.The LabVIEW style book[M].Prentice Hall,2007-03.

[4]程社成.帶數字診斷功能的小封裝光模塊研究[D].武漢:武漢理工大學,2006.

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 一本色道久久88亚洲综合| 99久久亚洲综合精品TS| 69国产精品视频免费| 久久久91人妻无码精品蜜桃HD| 黄色网站在线观看无码| 亚洲AV无码乱码在线观看代蜜桃 | 在线观看无码av免费不卡网站| 久久久久国产精品熟女影院| 女人毛片a级大学毛片免费| 亚洲欧洲日产无码AV| 成人国产小视频| 国产亚洲精品无码专| 伊人AV天堂| 激情综合网址| 欧美成人手机在线观看网址| 免费看黄片一区二区三区| 国产va欧美va在线观看| 亚洲国产天堂久久综合| 狠狠色噜噜狠狠狠狠色综合久| 国产精品9| 久久一色本道亚洲| 国产欧美另类| 亚洲综合精品香蕉久久网| 日本在线免费网站| 国产一区二区三区免费| 成人免费午间影院在线观看| 欧美性猛交一区二区三区| 最新国产成人剧情在线播放| 性激烈欧美三级在线播放| 欧美色视频在线| aaa国产一级毛片| 亚洲第一视频免费在线| 国产噜噜噜视频在线观看 | 嫩草国产在线| 免费视频在线2021入口| 四虎影视8848永久精品| 国国产a国产片免费麻豆| 日本高清免费不卡视频| 色视频国产| 女人毛片a级大学毛片免费| 久久亚洲日本不卡一区二区| 精品一区二区三区自慰喷水| 国产精品露脸视频| 亚洲成人黄色网址| 日韩欧美综合在线制服| 亚洲AV永久无码精品古装片| 男女性午夜福利网站| 无码久看视频| 99re这里只有国产中文精品国产精品| a级毛片毛片免费观看久潮| 91成人在线免费视频| 精品黑人一区二区三区| 午夜啪啪福利| 99国产精品免费观看视频| 高清乱码精品福利在线视频| 亚洲欧美日韩久久精品| 中文字幕有乳无码| 中国特黄美女一级视频| 欧美成人日韩| 国产日产欧美精品| 国产一区成人| 国产激爽爽爽大片在线观看| 国产呦精品一区二区三区下载| 亚洲成人免费看| 亚洲综合第一页| 69视频国产| 2021最新国产精品网站| 精品国产www| 日韩免费毛片| 午夜毛片免费观看视频 | 亚洲天堂日本| 欧美一级黄片一区2区| 日本在线亚洲| 黄网站欧美内射| 国产无码高清视频不卡| 日韩精品一区二区三区大桥未久| 亚洲Aⅴ无码专区在线观看q| 在线欧美日韩| 国产精品页| 2020国产免费久久精品99| 午夜视频www| 91精品久久久久久无码人妻|