??? 摘 要: 以LabVIEW圖形化程序設(shè)計(jì)語言為平臺(tái),,成功地將PXI和GPIB總線技術(shù)應(yīng)用于電路板信號(hào)檢測(cè)" title="電路板信號(hào)檢測(cè)">電路板信號(hào)檢測(cè)。同時(shí)借助CPLD的可編程功能生成大量工作信號(hào),,逼真地模擬了電路板的工作狀態(tài),。數(shù)據(jù)庫的成功運(yùn)用也為系統(tǒng)的完善提供了強(qiáng)有力的保障,。
??? 關(guān)鍵詞: LabVIEW,; PXI,; GPIB,; CPLD; 數(shù)據(jù)庫
?
??? 傳統(tǒng)的電路板維修過程中,,操作人員無法直接觀察輸入輸出信號(hào),,只能通過故障現(xiàn)象,根據(jù)自身的經(jīng)驗(yàn)和對(duì)電路的分析,,猜測(cè)判斷故障的位置,。如果能全面直觀地將輸入輸出信號(hào)全部顯示出來,讓維修人員清楚每一個(gè)引腳的信號(hào)特征,,那么故障分析,、定位以及維修難度將會(huì)極大降低?;谶@個(gè)想法本文介紹了一種電路板信號(hào)檢測(cè)系統(tǒng),。
?????????????????????????????????? 系統(tǒng)硬件
??? 本系統(tǒng)以計(jì)算機(jī)為核心,通過相應(yīng)接口,,分別控制PXI數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集卡、遵循GPIB標(biāo)準(zhǔn)的示波器和信號(hào)發(fā)生器,,并通過PXI系統(tǒng)發(fā)送控制指令,,實(shí)現(xiàn)對(duì)信號(hào)發(fā)生系統(tǒng)的控制,通過電路板適配器的轉(zhuǎn)接,,使輸出到電路板的信號(hào)和電源等信號(hào)正確到達(dá)被測(cè)電路板相應(yīng)的管腳,,同時(shí)反向獲得被測(cè)電路板的工作信號(hào)。系統(tǒng)結(jié)構(gòu)如圖1所示,。
?
????????????????????????????????? 信號(hào)發(fā)生系統(tǒng)
??? 信號(hào)發(fā)生系統(tǒng)主要由CPLD,、晶振以及相應(yīng)的外設(shè)電路組成。在本系統(tǒng)中,,CPLD主要完成:接收計(jì)算機(jī)通過PXI數(shù)據(jù)采集卡" title="數(shù)據(jù)采集卡">數(shù)據(jù)采集卡發(fā)送的控制信息,;產(chǎn)生所需要的信號(hào)并根據(jù)控制信息有選擇地輸出[1]。其中接收控制信息的通信模塊的原理圖以及時(shí)序圖如圖2所示,。圖中da為要傳輸?shù)目刂菩畔?t為控制位,cl為同步時(shí)鐘,r為奇偶校驗(yàn)結(jié)果,。
?
??? 信號(hào)產(chǎn)生和輸出模塊的原理如圖3所示。
?
????????????????????????????????????? PXI總線系統(tǒng)
??? PXI總線系統(tǒng)" title="總線系統(tǒng)">總線系統(tǒng)包括PXI機(jī)箱和PXI數(shù)據(jù)采集卡,,是按照PXI規(guī)范建造的插卡式數(shù)據(jù)采集系統(tǒng),。系統(tǒng)中使用了NI PXI-1042機(jī)箱、NI PXI-8196嵌入式控制器,、NI PXI-6259數(shù)據(jù)采集卡以及相應(yīng)的附屬部件[2],。由于這些設(shè)備都屬于標(biāo)準(zhǔn)設(shè)備,因此系統(tǒng)構(gòu)建相對(duì)簡(jiǎn)單,,只需要按照規(guī)范要求進(jìn)行連接即可,。
??? 在本系統(tǒng)中,,PXI總線系統(tǒng)主要用來完成數(shù)字信號(hào)以及低頻模擬信號(hào)的產(chǎn)生和采集,同時(shí)利用數(shù)據(jù)采集卡中大量的靜態(tài)I/O資源,,完成對(duì)CPLD的復(fù)位,、信號(hào)選擇等。
??????????????????????????????????? GPIB總線系統(tǒng)
??? GPIB總線系統(tǒng)包括GPIB接口卡和遵循GPIB標(biāo)準(zhǔn)的儀器,。由于GPIB不是標(biāo)準(zhǔn)PC總線,,所以計(jì)算機(jī)到GPIB儀器的連接需要通過GPIB接口卡來實(shí)現(xiàn)[3]。在本系統(tǒng)中,,GPIB總線系統(tǒng)用來生成PXI總線系統(tǒng)無法生成的信號(hào),。同時(shí)GPIB總線系統(tǒng)可以拓展PXI數(shù)據(jù)采集設(shè)備的頻帶限制,用來采集超過PXI數(shù)據(jù)采集卡最高采樣速率的信號(hào),。這樣可節(jié)省購置更高速率數(shù)據(jù)采集設(shè)備的費(fèi)用,,并且實(shí)現(xiàn)起來也比較容易。GPIB總線系統(tǒng)的組建同PXI總線系統(tǒng),。
??????????????????????????????????? 電路適配器板
??? 由于多塊被測(cè)電路板規(guī)格上的差異,,在系統(tǒng)中定義了電路適配器板。電路適配器板相當(dāng)于一個(gè)被分解的繼電器陣列,,根據(jù)電路板的不同有不同的適配器板,,可以穩(wěn)定地為電路板路由工作電源、輸入信號(hào)以及將輸出信號(hào)路由至相應(yīng)的數(shù)據(jù)采集端口,,這樣做不僅極大地降低了成本和實(shí)現(xiàn)難度,,而且有利于后續(xù)的系統(tǒng)升級(jí)。
???????????????????????????????? 系統(tǒng)軟件
??? 系統(tǒng)軟件包括LabVIEW開發(fā)系統(tǒng)主程序,、PXI數(shù)據(jù)采集程序,、GPIB儀器控制程序、數(shù)據(jù)庫管理程序" title="管理程序">管理程序,。下面分別詳細(xì)介紹,。
在本系統(tǒng)中,主程序,、數(shù)據(jù)采集程序,、儀器控制程序以及數(shù)據(jù)庫管理程序等都是由LabVIEW開發(fā)完成,其基本流程如圖4所示,。其中,,主程序用來完成各個(gè)子模塊的協(xié)調(diào)運(yùn)行,并負(fù)責(zé)信息顯示及程序的啟動(dòng)和退出等,。
?
?????????????????????????????????? PXI數(shù)據(jù)采集程序
??? 在本系統(tǒng)中,,數(shù)據(jù)采集程序核心部分全部使用NI-DAQmx函數(shù)[4]。數(shù)據(jù)采集程序主要用來控制數(shù)據(jù)采集系統(tǒng)采集被測(cè)電路板的大部分?jǐn)?shù)字和模擬信號(hào)以及部分?jǐn)?shù)字和模擬信號(hào)的輸出,。
??? 圖5所示為PXI數(shù)據(jù)采集的核心程序的一部分,,由圖可以看出,,首先由DAQmx Create Virtual Channel函數(shù)創(chuàng)建了數(shù)字信號(hào)采集任務(wù),接著DAQmx Timing函數(shù)將任務(wù)配置為有限采集,,采樣點(diǎn)數(shù)為100 000,,采用PXI機(jī)箱提供的20MHz時(shí)鐘。然后啟動(dòng)任務(wù),,采集方式為多通道多樣本采集,。這樣采集出來的信號(hào)為一維的波形數(shù)據(jù),要對(duì)采集出來的波形數(shù)據(jù)進(jìn)行正確的顯示,,就必須對(duì)波形數(shù)據(jù)里面的dt項(xiàng)進(jìn)行設(shè)置,,設(shè)置dt為5E-8(這個(gè)數(shù)據(jù)由20MHz求倒數(shù)換算得來)。最后由DAQmx Wait Until Done函數(shù)和DAQmx Clear Task函數(shù)等待任務(wù)結(jié)束,,并且釋放系統(tǒng)資源,。其他部分為輔助程序。
?
?
圖5? 數(shù)據(jù)采集程序
??????????????????????????????????? 儀器控制程序
??? 儀器控制程序通過GPIB接口卡控制GPIB儀器產(chǎn)生或采集信號(hào),,并把生成的信號(hào)傳送到被測(cè)電路板相應(yīng)管腳,,同時(shí)將采集到的信號(hào)傳送給計(jì)算機(jī)。
??? 在本系統(tǒng)中,,使用到的儀器有TDS220示波器和SG1501M信號(hào)源,。圖6為開發(fā)的儀器控制程序的一部分。
?
?
圖6? 儀器控制程序
??? 從程序中可以看出,,通過GPIB Write函數(shù)按照地址“1”,將示波器控制命令“DATa:SOUrce CH1;:DATa:ENCdg RIBINARY;WIDTH 1;:CURVe?”寫給儀器,,按照命令要求,,示波器將會(huì)返回測(cè)試通道1的波形數(shù)據(jù)(數(shù)據(jù)格式為二進(jìn)制)。此時(shí)返回?cái)?shù)據(jù)的總數(shù)為3 000,,然后GPIB Read函數(shù)讀取返回值,,3 000個(gè)數(shù)據(jù)中只有后2 500個(gè)是實(shí)際的波形數(shù)據(jù),其他為附加信息,,因此要剔除掉,,同時(shí)進(jìn)行格式轉(zhuǎn)換。然后設(shè)置好參數(shù)就可以進(jìn)行顯示了,。參數(shù)設(shè)置同樣也是為了解決橫軸和縱軸在示波器和程序中標(biāo)度的不一致,。圖中設(shè)置的0.001為示波器的“秒/格”值除以2 500的結(jié)果。示波器在縱軸方向上的采樣點(diǎn)數(shù)為256,,所以3.125為“伏/格”除以256所得結(jié)果,,然后再乘以Y值,即為實(shí)際信號(hào)的幅度,。
??????????????????????????????????? 數(shù)據(jù)庫管理程序
??? 數(shù)據(jù)庫管理程序使用NI公司的專用工具包LabVIEW SQL Toolkit實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問,,主要完成數(shù)據(jù)的存儲(chǔ),、刪除、讀取以及查找等一些數(shù)據(jù)庫的操作,。圖7為讀取數(shù)據(jù)的部分程序,。可以看出,,程序中有GPIB儀器控制的部分,,從數(shù)據(jù)庫中讀取儀器命令,通過GPIB Write函數(shù)傳送到儀器中,。此處為對(duì)信號(hào)源的控制,。
?
?
圖7? 數(shù)據(jù)庫管理程序
??? 本系統(tǒng)可以實(shí)現(xiàn)對(duì)被測(cè)電路板所有輸入輸出信號(hào)的檢測(cè),因此工作人員可以很直觀方便地看到自己感興趣的信號(hào),,并且具有良好的視覺效果,。本系統(tǒng)在投入實(shí)際使用之后,可以很大程度地提高電路板維修時(shí)的故障定位速度和精度,,同時(shí)由于系統(tǒng)詳細(xì)地反映了電路板各種信號(hào)特征,,因此可以增強(qiáng)維修人員對(duì)電路板的熟悉程度和維修能力。
參考文獻(xiàn)
[1] 潘松,王國(guó)棟.VHDL實(shí)用教程[M].成都:電子科技大學(xué)出版社,2000.
[2] 侯國(guó)屏,王坤,葉齊鑫. LabVIEW7.1 編程與虛擬儀器設(shè)計(jì)[M].北京:清華大學(xué)出版社,,2005.
[3] 戴鵬飛,王勝開,王格芳,等.測(cè)試工程與LabVIEW應(yīng)用[M].?北京:電子工業(yè)出版社,,2006.
[4] 楊樂平,李海濤,楊磊.LabVIEW程序設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社.2005.