你的位置:首頁 > 測試測量 > 正文

專家講解:定制來簡化示波器的操作過程

發(fā)布時間:2015-04-09 責(zé)任編輯:sherry

【導(dǎo)讀】由于示波器具有廣泛的工具集和應(yīng)用靈活性,因此是電子設(shè)計和測試的關(guān)鍵儀器之一。定制功能可以將測試、專屬處理和內(nèi)部自動化操作簡化為示波器的工具集,進(jìn)一步擴(kuò)展儀器的用途。本文就為大家講解簡化示波器的定制操作過程。
 
現(xiàn)在的數(shù)字示波器都能提供令人印象深刻的采集、測量和分析工具套件給工程師和技術(shù)人員開展測試。即使這樣,也存在你想要批量設(shè)置和自動操作的情況,特別是對那些只需簡單或重復(fù)性測量的人來說。示波器可以讓你定制它們的操作,將儀器功能限制為一些有選擇的測試或使這些測試半自動化。下面就是利用定制用戶界面或測試自動化功能幫助實現(xiàn)這一目的的一些例子。
 
●你需要簡化示波器操作,以便允許沒有經(jīng)驗的用戶開展重復(fù)性測試。
 
●你需要自動完成一系列測試,但不用將儀器連接到控制器或自動測試系統(tǒng)。
 
●你需要利用專門的程序或算法去分析或測量采集到的數(shù)據(jù)。
 
●采集到的波形需要得到比將數(shù)據(jù)發(fā)送給外部計算機(jī)更快速的處理。
 
簡化的設(shè)置和測試流程
 
不同的示波器制造商可能提供不同的定制途徑。我使用的Teledyne LeCroy HDO6054示波器使用了一種叫做CustomDSO的功能,它可以在顯示器上顯示用戶可配置的按鈕用于調(diào)用想要的操作,或者用定制的圖形用戶界面(GUI)代替默認(rèn)用戶界面。另外一個示波器制造商則提供編程現(xiàn)有用戶界面的能力,通過編程可以刪除或限制選中的一些功能,從而簡化儀器操作。還有些制造商提供在一系列存儲的面板設(shè)置基礎(chǔ)上進(jìn)行宏編程的能力。你可以編程組成目標(biāo)測試要素的一系列設(shè)置。在某些情況下,你甚至可以編程動態(tài)操作。
 
所有數(shù)字示波器都有存儲和調(diào)用面板設(shè)置的功能。這個功能可以讓你設(shè)置好儀器后將設(shè)置參數(shù)保存下來供日后使用,或供經(jīng)驗較少的用戶使用。這些存儲的設(shè)置可以根據(jù)需要隨時調(diào)用。基本模式的CustomDSO(在有些型號中是可選項)擴(kuò)展了這個功能,它能讓你將多個設(shè)置文件鏈接成一個有序測試序列,按一下用戶定義的按鈕就調(diào)用一個測試。所調(diào)用的設(shè)置本身還可以包含對其它設(shè)置的調(diào)用,因此允許你創(chuàng)建多層次的測試。圖1顯示了基本模式CustomDSO應(yīng)用的一個例子,它實現(xiàn)了SPI低速串行接口測試的設(shè)置自動化。
選擇了SPI測試的CustomDSO按鈕條例子
1:選擇了SPI測試的CustomDSO按鈕條例子。最多可以定義8個按鈕,每個按鈕調(diào)用一個特定的測試設(shè)置。
 
位于顯示器底部的8個按鈕每1個都是用CustomDSO創(chuàng)建的,每個按鈕都可以設(shè)置一個特定的測試。操作員提示信息可以用跟蹤標(biāo)簽插入。在圖1中,只分配了5個按鈕。按下任一按鈕都可以調(diào)出額外的相似按鈕組,用于指導(dǎo)用戶完成整個測試。
 
圖2顯示了CustomDSO的設(shè)置菜單。在基本模式中,多達(dá)8個CustomDSO按鈕中的每個按鈕都與一個示波器設(shè)置文件相關(guān)聯(lián)。文件名字的根部分被分配為按鈕標(biāo)簽。在這個例子中,按鈕3將調(diào)用名為“SPI Decode Table.lss”的設(shè)置文件,該按鈕的標(biāo)簽就是SPI Decode Table。這個示波器中的面板設(shè)置文件實際上是定義儀器狀態(tài)的VB(Visual Basic)腳本。這些設(shè)置文件每個都包含額外的CustomDSO按鈕定義,因此多個設(shè)置文件可以鏈接起來,并在多種拓?fù)渲斜徽{(diào)用。
CustomDSO設(shè)置文件顯示設(shè)置文件“SPI Decode Table”關(guān)聯(lián)到了按鈕3
圖2:CustomDSO設(shè)置文件顯示設(shè)置文件“SPI Decode Table”關(guān)聯(lián)到了按鈕3。按下這個按鈕將執(zhí)行對應(yīng)的設(shè)置文件,將示波器設(shè)置為想要的設(shè)置值。它也能調(diào)出其它CustomDSO按鈕用于額外測試。
[page]
此外,面板設(shè)置文件可以包含使示波器操作自動化的動態(tài)操作。
 
注意,在圖2所示的CustomDSO描述框中CustomDSO有兩種操作模式(顯示在左邊)。第2種模式是“插入(plug-In)”,是一種功能更強(qiáng)大的模式,可以讓你在設(shè)置文件中增加自己的ActiveX控件。這些控件由VB、Visual C++或其它ActiveX兼容編程語言編寫的例程加以定義。有了ActiveX控件后,你就可以創(chuàng)建你自己的定制用戶界面。有大量交互式組件可用,包括按鈕、復(fù)選框、單選按鈕、列表框、圖片框和普通對話框。圖3顯示了使用兩個按壓按鈕的插入式GUI例子。第1個按鈕是Single Trigger,啟動單次采集。第2個按鈕將通道1(C1)中的波形發(fā)送到波形存儲器M1,再依次從M1傳送到M2、M2到M3以及M3到M4,高效地將以前存儲的波形移過已有的波形存儲器。這后一種功能如果是人工完成的話幾乎需要按12次按鈕。
用于創(chuàng)建用戶定義的圖形用戶界面的CustomDSO PlugIn例子
圖3:用于創(chuàng)建用戶定義的圖形用戶界面的CustomDSO PlugIn例子。該界面中包含了按鈕、復(fù)選框、單選按鈕、列表框、圖片框和普通對話框。
 
VB腳本
 
在這種示波器中,設(shè)置文件是ASCII文本文件,其中包含一個完整的VB腳本“程序”,當(dāng)該程序執(zhí)行時,會將儀器恢復(fù)到以前記錄的狀態(tài)。實際上,每次保存面板時,儀器都會幫你編寫一個程序,當(dāng)該程序執(zhí)行時會使儀器返回到保存的狀態(tài)。
 
除了調(diào)用的設(shè)置狀態(tài)外,VB腳本還可以用來創(chuàng)建用標(biāo)準(zhǔn)遠(yuǎn)程命令控制示波器的程序。你可以從內(nèi)部運(yùn)行的設(shè)置文件中實現(xiàn)示波器操作的“自動化”。
 
舉例來說,你可以寫一個VB腳本,將縮放波形的中心移動到由光標(biāo)確定的位置。事實上,縮放波形將跟隨光標(biāo)位置。清單1顯示了這個腳本。保存的腳本文件后綴與設(shè)置文件相同(.lss),并由調(diào)用面板設(shè)置或?qū)⑺溄拥揭粋€CustomDSO按鈕加以運(yùn)行。通過使用VB腳本再結(jié)合CustomDSO就可以編寫出極具交互性的測試。圖4顯示了用于運(yùn)行VB腳本的CustomDSO。
 
清單1:縮放波形中心跟蹤光標(biāo)的VB腳本(zoom_trac.lss)。
 
set app = CreateObject("LeCroy.XStreamDSO")
 
''在顯示器上顯示一條消息
 
app.SystemControl.PersistentMessage = "Script running; turn off cursor to stop."
 
''將觸發(fā)模式改為停止
 
app.Acquisition.TriggerMode = "Stopped"
 
''將光標(biāo)類型設(shè)為水平絕對值
 
app.Cursors.Type ="HorizAbs"
 
''打開光標(biāo)
 
app.Cursors.View = True
 
''將縮放1波形水平擴(kuò)展系數(shù)設(shè)為10:1
 
app.Zoom.Z1.Zoom.HorZoom = 10
 
''打開縮放1波形
 
app.Zoom.Z1.View = True
 
''循環(huán)讓縮放中心跟蹤光標(biāo)水平位置,當(dāng)光標(biāo)關(guān)閉時退出
 
While app.Cursors.View = True
 
''強(qiáng)制立即觸發(fā)
 
''將參數(shù)設(shè)為0,F(xiàn)alse,等待可觸發(fā)的事件
 
app.Acquisition.Acquire -1,True
 
''讀取光標(biāo)水平位置
 
curtime=app.Cursors.XPos1
 
''將Zoom Z1中心設(shè)為光標(biāo)位置
 
app.Zoom.Z1.Zoom.HorCenter=curtime
 
Wend
 
''清除屏幕上的消息
 
app.SystemControl.PersistentMessage = ""
 
''斷開自動鏈接
 
Set app = Nothing
[page]
使用CustomDSO運(yùn)行VB腳本“zoom_Track.lss”。當(dāng)腳本運(yùn)行時,縮放波形的中心將跟蹤水平的光標(biāo)絕對位置。從圖中可以看出,光標(biāo)將永遠(yuǎn)位于縮放波形Z1的中心
圖4:使用CustomDSO運(yùn)行VB腳本“zoom_Track.lss”。當(dāng)腳本運(yùn)行時,縮放波形的中心將跟蹤水平的光標(biāo)絕對位置。從圖中可以看出,光標(biāo)將永遠(yuǎn)位于縮放波形Z1的中心。
 
面板設(shè)計文件、CustomDSO和基于VB腳本的設(shè)置文件為控制示波器測量流程提供了大量靈活性。通過讓沒有經(jīng)驗的用戶遵循基于CustomDSO按鈕的腳本,它還提供了簡化示波器操作的簡單途徑。
 
定制處理和測量
 
定制還可以向示波器的工具集增加專用的處理功能,讓你在已有的示波器上開展專門的分析和測量。下面我們討論能夠應(yīng)用于中檔臺式示波器的這些技術(shù)和其它定制技術(shù)。
 
所有主要制造商生產(chǎn)的中高檔示波器都有這個可選功能,即在示波器處理路徑中插入第三方程序的基礎(chǔ)上提供某類數(shù)學(xué)定制操作。所有示波器都支持MATLAB。本文提到的示波器支持MATLAB、VB、C/C++、Excel或Java。這個功能基于COM架構(gòu),可提供高層定制功能。用戶定義算法可以被創(chuàng)建并插入示波器的處理路徑中,返回結(jié)果可以當(dāng)作處理過的數(shù)學(xué)函數(shù)或測量,并像任何其它示波器波形或測量一樣顯示出來。這些波形還可以被內(nèi)部或用戶定義算法加以進(jìn)一步處理。
 
示波器使用微軟自動控制命令用于遠(yuǎn)程控制,而這些命令也可以嵌入用戶定義的算法實現(xiàn)“智能算法”,從而就像我們用VB腳本時已經(jīng)見到的那樣,在計算過程中實現(xiàn)實時判決。
 
作為一個例子,考慮圖5中的示波器測量裝置。其中一個100MHz的正弦載波被一個10kHz的方波進(jìn)行頻率調(diào)制。波形用一個簡單的MATLAB腳本進(jìn)行解調(diào),解調(diào)后的波形顯示為數(shù)學(xué)曲線F1。編輯框允許用戶不離開示波器環(huán)境就完成腳本的創(chuàng)建、編輯或加載,因此創(chuàng)建或修改腳本非常方便。
這個嵌入式MATLAB腳本用于解調(diào)調(diào)頻載波,并顯示調(diào)制波形。編輯框允許用戶不離開示波器環(huán)境就能完成腳本的創(chuàng)建或編輯。
圖5:這個嵌入式MATLAB腳本用于解調(diào)調(diào)頻載波,并顯示調(diào)制波形。編輯框允許用戶不離開示波器環(huán)境就能完成腳本的創(chuàng)建或編輯。
 
調(diào)頻信號的模擬解調(diào)是用圖5中編輯框第一行所示的MATLAB“解調(diào)”功能實現(xiàn)的。這個功能將源波形、載波頻率、采樣頻率和解調(diào)類型分別作為參數(shù)。解調(diào)功能的輸出必須被濾波,代碼的下面兩行是用MATLAB實現(xiàn)的二階巴特沃斯低通濾波器。相同技術(shù)還可以用于創(chuàng)建定制測量以及數(shù)學(xué)函數(shù),過程是相同的。
[page]
快速定制處理
 
這種示波器的定制選項中有個高級功能,就是對示波器的數(shù)據(jù)提供內(nèi)存映射式訪問,主要用于基于用戶的波形或測量運(yùn)算。這個功能被稱為快速多波端口(FMWP),支持將C/C++語言編寫的定制處理算法插入示波器處理流。FMWP通過使用共享的內(nèi)存窗口最大限度地增加了從采集系統(tǒng)到你的處理部分的數(shù)據(jù)吞吐量。結(jié)果可以被送回示波器,或進(jìn)行獨(dú)立的處理。這個功能可以支持多達(dá)4個波形輸入和輸出,以及最多8個參數(shù)輸出。
 
圖6所示例子是使用FMWP從示波器采集兩個波形,同時輸出兩個處理后的波形,并把一個參數(shù)送回示波器。輸出由一個通過內(nèi)存映射數(shù)據(jù)訪問輸入波形的C++程序進(jìn)行計算。F1輸出是輸入C1的簡單反相。F2是輸入C2的絕對值。參數(shù)P1是兩個輸入的相關(guān)系數(shù)。FMWP的最大優(yōu)點(diǎn)是,它允許工程師創(chuàng)建他自己的專屬代碼,并以最大可能的處理速度將它應(yīng)用于示波器數(shù)據(jù)。
P1中的FMWP參數(shù)設(shè)置以及輸出F1(輸入C1的反相)和F2(輸入C2的絕對值),它們都是用處理來自輸入信號的內(nèi)存映射數(shù)據(jù)的C++程序創(chuàng)建的。
圖6:P1中的FMWP參數(shù)設(shè)置以及輸出F1(輸入C1的反相)和F2(輸入C2的絕對值),它們都是用處理來自輸入信號的內(nèi)存映射數(shù)據(jù)的C++程序創(chuàng)建的。
要采購示波器么,點(diǎn)這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉