亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于LabVIEW的SFP光模塊測試平臺的設(shè)計(jì)與實(shí)現(xiàn)

        2011-08-13 06:33:18周劍揚(yáng)劉舜奎
        電子技術(shù)應(yīng)用 2011年4期
        關(guān)鍵詞:信號

        曾 劍,周劍揚(yáng),劉舜奎

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

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

        1 SFP光模塊測試軟件的設(shè)計(jì)

        1.1 軟件結(jié)構(gòu)

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

        圖1 軟件結(jié)構(gòu)圖

        1.2 計(jì)算機(jī)并口模擬I2C總線

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

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

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

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

        圖2 I2C總線時(shí)序圖

        1.3 生產(chǎn)者/消費(fèi)者結(jié)構(gòu)隊(duì)列狀態(tài)機(jī)

        設(shè)計(jì)模式是在解決問題的過程中,由一些良好思路的經(jīng)驗(yàn)集成的。在LabVIEW中,它包括結(jié)構(gòu)、函數(shù)、控件和錯(cuò)誤處理的布局,它形成了一個(gè)通用的結(jié)構(gòu)來完成一些常見的任務(wù)。設(shè)計(jì)模式可實(shí)現(xiàn)模塊重用,并提高軟件生產(chǎn)效率和質(zhì)量[3]。

        生產(chǎn)者/消費(fèi)者結(jié)構(gòu)是一種常用的設(shè)計(jì)模式,它主要用于數(shù)據(jù)采集系統(tǒng)。一般的數(shù)據(jù)采集系統(tǒng)包括數(shù)據(jù)采集、數(shù)據(jù)分析和結(jié)果顯示三個(gè)步驟。如果將這三個(gè)步驟按照常規(guī)的順序執(zhí)行,則數(shù)據(jù)分析導(dǎo)致的時(shí)間延遲會增大數(shù)據(jù)采集的周期。采用生產(chǎn)者/消費(fèi)者結(jié)構(gòu)的數(shù)據(jù)采集系統(tǒng),它通過并行的方式實(shí)現(xiàn)多個(gè)循環(huán),可以很好地解決這一問題。一個(gè)循環(huán)不斷地采集數(shù)據(jù)(生產(chǎn)者),另一個(gè)循環(huán)不斷地處理數(shù)據(jù)(消費(fèi)者),這兩個(gè)循環(huán)互相通信,但又不產(chǎn)生干涉。

        隊(duì)列狀態(tài)機(jī)也是一種常用的設(shè)計(jì)模式,它對經(jīng)典狀態(tài)機(jī)做了很大的改進(jìn)。在經(jīng)典狀態(tài)機(jī)中,移位寄存器的狀態(tài)轉(zhuǎn)移方式受限于每個(gè)循環(huán)間隔內(nèi)一個(gè)指定新狀態(tài)或應(yīng)用程序的狀態(tài)。而隊(duì)列狀態(tài)機(jī)則通過LabVIEW的隊(duì)列結(jié)構(gòu)緩存一個(gè)隊(duì)列的多狀態(tài),使得應(yīng)用程序的任何狀態(tài)都可以通過調(diào)用Enqueue Element函數(shù)在該隊(duì)列的后端增加任意數(shù)量的新狀態(tài),這類似于先進(jìn)先出緩沖器。

        生產(chǎn)者/消費(fèi)者結(jié)構(gòu)隊(duì)列狀態(tài)機(jī)最早是由Anthony Lukindo提出和改進(jìn),它結(jié)合以上兩種設(shè)計(jì)模式優(yōu)點(diǎn),其結(jié)構(gòu)示意圖如圖3所示。

        圖3 生產(chǎn)者/消費(fèi)者結(jié)構(gòu)隊(duì)列狀態(tài)機(jī)示意圖

        從圖中可以看出,該設(shè)計(jì)模式由四部分組成:隊(duì)列引用、事件循環(huán)、主循環(huán)和并行子vi。事件循環(huán)和并行子vi為生產(chǎn)者,主循環(huán)是消費(fèi)者,生產(chǎn)者和消費(fèi)者之間的消息與數(shù)據(jù)的傳遞是通過隊(duì)列引用來實(shí)現(xiàn)的。事件循環(huán)由Event結(jié)構(gòu)和While循環(huán)組成。主循環(huán)由Case結(jié)構(gòu)和While循環(huán)組成,其中Case結(jié)構(gòu)有兩個(gè),分別是主Case結(jié)構(gòu)和錯(cuò)誤Case結(jié)構(gòu)。隊(duì)列引用是由LabVIEW中的隊(duì)列操作中的函數(shù)組成,其中最常用的函數(shù)為Obtain Queue、Enqueue Element、Dequeue Element 和 Release Queue等。圖中的虛線是指并行子vi可以不通過隊(duì)列引用而和主循環(huán)進(jìn)行連接。

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

        當(dāng)隊(duì)列中需要傳遞狀態(tài)和數(shù)據(jù)時(shí),隊(duì)列元素?cái)?shù)據(jù)類型就需要由一個(gè)簇組成,這個(gè)簇包括一個(gè)與變體打包到一起的枚舉類型定義。通常,該枚舉類型包含了事例選擇器中需要的狀態(tài)。變體用來將數(shù)據(jù)從時(shí)間循環(huán)或并行子vi傳遞給主循環(huán),這些數(shù)據(jù)的傳遞體現(xiàn)了生產(chǎn)者/消費(fèi)者結(jié)構(gòu)。同時(shí),這個(gè)變體可以是多種類型的數(shù)據(jù),但是必須為其中每個(gè)成員指定一種數(shù)據(jù)類型。

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

        2 測試與驗(yàn)證

        2.1 測試環(huán)境

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

        連接到I2C總線的器件輸出端要是漏極開路或集電極開路才能執(zhí)行傳輸?shù)墓δ?。因?yàn)橛?jì)算機(jī)并口不滿足這兩種結(jié)構(gòu),所以本設(shè)計(jì)中在并口外接2N3906使得SDA和SCL滿足集電極開路結(jié)構(gòu)。

        2.2 I2C總線驗(yàn)證

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

        圖4 I2C總線通信截圖

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

        2.3 光模塊測試軟件的驗(yàn)證

        如圖5所示,是對一個(gè)Maxim DS1856方案的光收發(fā)模塊的檢測結(jié)果。

        圖5 測試軟件界面圖

        其中5個(gè)模擬量的監(jiān)控值直接反映光模塊的工作狀態(tài)。表1是DS1856方案實(shí)測值與軟件監(jiān)控值對比。

        表1 實(shí)測值與軟件監(jiān)控值對比

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

        本文使用LabVIEW設(shè)計(jì)實(shí)現(xiàn)了針對SFP光收發(fā)模塊的測試平臺。重點(diǎn)介紹了測試軟件與SFP光模塊的I2C總線通信的實(shí)現(xiàn),論述了生產(chǎn)者/消費(fèi)者結(jié)構(gòu)隊(duì)列狀態(tài)機(jī)設(shè)計(jì)模式,提供了對該設(shè)計(jì)模式的具體實(shí)現(xiàn)方法,并把它應(yīng)用在SFP光模塊測試軟件。該測試平臺已經(jīng)應(yīng)用到企業(yè)的實(shí)際生產(chǎn)過程中,減少了對SFP光模塊測試工作量,提高了測試效率,并且保證了所需的測試精度,具有一定的工程應(yīng)用價(jià)值。

        [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]程社成.帶數(shù)字診斷功能的小封裝光模塊研究[D].武漢:武漢理工大學(xué),2006.

        猜你喜歡
        信號
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        7個(gè)信號,警惕寶寶要感冒
        媽媽寶寶(2019年10期)2019-10-26 02:45:34
        孩子停止長個(gè)的信號
        《鐵道通信信號》訂閱單
        基于FPGA的多功能信號發(fā)生器的設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:42
        基于Arduino的聯(lián)鎖信號控制接口研究
        《鐵道通信信號》訂閱單
        基于LabVIEW的力加載信號采集與PID控制
        Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
        国产av熟女一区二区三区| 国产大屁股熟女流白浆一区二区| 在线看片免费人成视频久网下载| 精品人妻av区二区三区| 亚洲va欧美va国产综合| 日日噜噜夜夜狠狠视频| 国产精品女同一区二区久| 亚洲国产成人久久一区www| 免费观看91色国产熟女| 国产一区二区三区蜜桃| 国产精品自拍盗摄自拍| 999国产精品999久久久久久| 囯产精品一品二区三区| 真人在线射美女视频在线观看| 亚洲av网站在线免费观看| 国产香港明星裸体xxxx视频| 日本japanese少妇高清| 亚洲三级香港三级久久| 国产一区二区在线中文字幕| 国产精品理论片在线观看| 乱码精品一区二区三区| 国产亚洲视频在线观看播放 | 天堂久久一区二区三区| 国产精品186在线观看在线播放| 亚洲欧洲巨乳清纯| 国产女人体一区二区三区| 粉嫩的极品女神尤物在线| 亚洲av无码精品国产成人| 久久无码人妻一区二区三区午夜 | 偷国产乱人伦偷精品视频| 久久国产精品无码一区二区三区| 国产网友自拍亚洲av| 国产精品一区二区av不卡| 少妇太爽了在线观看免费视频| 国产午夜精品一区二区三区视频| 在线亚洲国产一区二区三区| 中国杭州少妇xxxx做受| 少妇被爽到高潮动态图| 成美女黄网站18禁免费| 精品在线视频在线视频在线视频| 野狼第一精品社区|