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