黃 勇,陳長鵬,何長英
(武漢理工大學(xué)理學(xué)院,湖北 武漢 430070)
示波器是電子測量領(lǐng)域最常用的儀器之一,通過它不但可以清晰地觀察信號波形,還可以定量測量信號的周期、振幅和兩信號的相位差等參數(shù)[1]。LabVIEW是美國國家儀器公司推出的虛擬儀器軟件開發(fā)平臺(tái),與傳統(tǒng)的模擬示波器相比,其軟件系統(tǒng)仿真硬件功能可以大大節(jié)約儀器成本、節(jié)省開發(fā)與維護(hù)費(fèi)用。有許多對虛擬示波器的設(shè)計(jì)與開發(fā)進(jìn)行研究的文獻(xiàn),如文獻(xiàn)[2-4]介紹了如何開發(fā)自定義儀器功能的虛擬示波器,論述了虛擬儀器技術(shù)在測量領(lǐng)域中的應(yīng)用。研究虛擬仿真技術(shù)在實(shí)驗(yàn)教學(xué)方面的應(yīng)用也有重要的意義,針對特定型號示波器用LabVIEW開發(fā)相應(yīng)的仿真軟件,以滿足教學(xué)演示和學(xué)生預(yù)習(xí)需要,而這方面的研究還很缺乏。因此,筆者以LabVIEW 8.6為平臺(tái)設(shè)計(jì)開發(fā)了適合本校實(shí)驗(yàn)課使用的示波器仿真軟件系統(tǒng)。
前面板是用戶與系統(tǒng)交互的窗口,用戶通過它輸入和獲取信息。為了設(shè)計(jì)與真實(shí)XJ4328示波器一致的操作面板,筆者設(shè)計(jì)了一個(gè)自定義控件[5]放在前面板上,將XJ4328示波器面板圖片作為自定義控件的文本部分,旋鈕和按鍵控件放在圖片中的相應(yīng)位置,將設(shè)計(jì)的旋鈕顏色設(shè)置為透明。波形圖與XY圖重疊放在示波器圖片的顯示屏位置,X軸、Y軸標(biāo)尺與圖片的顯示屏大小一致,網(wǎng)格線設(shè)置為透明。
參照示波器使用實(shí)驗(yàn)教學(xué)內(nèi)容[6],在示波器CH1與CH2通道信號接入處設(shè)置了仿真信號:方波S1、三角波S2、正弦波S3和正弦波S4(S4與 S3有一定的相位差,頻率相同),供學(xué)生觀察與測量。在CH2通道還設(shè)置了一個(gè)外部標(biāo)準(zhǔn)信號源,該信號源的參數(shù)調(diào)節(jié)面板結(jié)合在教學(xué)中使用的GFG-8016函數(shù)發(fā)生器圖像設(shè)計(jì),并作為標(biāo)準(zhǔn)信號源與CH1通道的正弦波完成各種形狀的李薩育圖形測量頻率,設(shè)計(jì)的運(yùn)行界面如圖1所示。
圖1 XJ4328示波器仿真軟件運(yùn)行界面
程序框圖是軟件的核心,它以圖形化的方法表示程序源代碼,類似于真實(shí)儀器中用來實(shí)現(xiàn)儀器功能的零部件。示波器的功能繁多,設(shè)計(jì)中將具有一定功能的程序模塊定義為子VI供其他VI調(diào)用,從而減少程序框圖的節(jié)點(diǎn)與連線,提高代碼的可讀性和可維護(hù)性。
程序采用while循環(huán)結(jié)構(gòu),示波器的電源開關(guān)狀態(tài)作為循環(huán)的控制條件,程序的總體結(jié)構(gòu)[7]如圖2所示。
圖2 示波器仿真軟件總體結(jié)構(gòu)
通過信號處理中的波形信號生成函數(shù)生成所需要的信號,CH1與CH2通道有參數(shù)固定的方波、三角波和正弦波可選,CH2通道還有一個(gè)標(biāo)準(zhǔn)信號源可選,標(biāo)準(zhǔn)信號源的參數(shù)在GFG-8016函數(shù)發(fā)生器面板圖像界面中調(diào)節(jié)。
根據(jù)模擬示波器顯示波形的原理,當(dāng)掃描周期不為被測信號周期的整數(shù)倍關(guān)系時(shí),顯示的波形不穩(wěn)定。因此示波器中有觸發(fā)掃描電路,根據(jù)觸發(fā)源與觸發(fā)電平的值控制掃描的起點(diǎn),以保證每次掃描的起點(diǎn)都在信號周期的同一位置,從而使顯示波形穩(wěn)定[8]。在軟件設(shè)計(jì)中,可以通過設(shè)置觸發(fā)點(diǎn)來保證每次顯示時(shí)得到信號周期的同一位置,根據(jù)觸發(fā)電平的值找到觸發(fā)點(diǎn),在觸發(fā)點(diǎn)后截取一段相同長度的波形顯示出來。該軟件中觸發(fā)源可以來自CH1或CH2通道信號,找觸發(fā)點(diǎn)就是根據(jù)輸入的信號,與觸發(fā)電平的數(shù)值進(jìn)行比較后輸出產(chǎn)生觸發(fā)的數(shù)組的序號,用數(shù)組子集取出從序號開始的一段信號[9]。
XJ4328示波器掃描速率從0.5 μs/DIV~0.2 s/DIV,共分18擋,X軸共有10個(gè)分度格。將水平分度旋鈕的選擇數(shù)值作為case-switch的分支選擇條件,case“0~17”中,時(shí)間間隔、頻率和波形圖控件屬性節(jié)點(diǎn)的X標(biāo)尺范圍屬性的設(shè)定值乘以或除以不同的數(shù)值,使Time/DIV控件的值不同,波形圖中顯示的完整波形的數(shù)目不同,用微調(diào)旋鈕對水平分度在兩擋之間進(jìn)行連續(xù)調(diào)節(jié)。
示波器波形顯示屏的高度是固定的,若被測信號幅值較大,顯示圖形將超出屏幕,幅值太小,波形的細(xì)節(jié)就看不清楚,豎直分度調(diào)節(jié)的功能就是將幅值大的信號進(jìn)行縮小,將幅值小的信號進(jìn)行放大,以便于觀察與測量。XJ4328示波器兩通道靈敏度開關(guān)從10 mV/DIV~5 V/DIV共分9檔,當(dāng)通道靈敏度開關(guān)處于不同的擋位時(shí),將仿真信號的幅值放大或縮小一定倍數(shù)即可。
將豎直工作方式按鍵作為條件判斷,可以單獨(dú)顯示一個(gè)通道信號,可以同時(shí)顯示兩個(gè)通道信號,也可以顯示兩個(gè)通道信號的和。當(dāng)一個(gè)按鍵按下時(shí),其余4個(gè)按鍵應(yīng)為抬起狀態(tài),將此4個(gè)按鍵賦布爾值False。
用數(shù)值改變波形圖控件屬性節(jié)點(diǎn)[10]的曲線顏色、線條寬度來模擬示波器的灰度、聚焦功能。
當(dāng)TIME/X-Y鍵抬起時(shí),屏幕顯示波形圖,按下時(shí)屏幕顯示李薩育圖形,利用波形圖和XY圖的可見屬性來控制前面板上顯示波形圖還是李薩育圖形[11]。
該軟件提供的仿真信號參數(shù)為:S1~S44個(gè)信號的頻率為1 002 Hz,振幅為1.0 V,S3與S4信號的相位差為40°。為便于比較,真實(shí)實(shí)驗(yàn)中提供的S1~S44個(gè)信號的參數(shù)與仿真信號一樣,按照教學(xué)內(nèi)容用筆者編寫的軟件進(jìn)行實(shí)驗(yàn),并與真實(shí)示波器進(jìn)行對比。
用CH1通道測量S1信號的參數(shù),圖3為用仿真軟件測量的波形顯示,圖4為用真實(shí)示波器測量的波形顯示,兩種儀器測量得到S1信號的峰谷電壓差都為2.0 V,周期都為1.0 ms。
圖3 仿真軟件測量信號周期和峰谷電壓差
相位差的測量有雙波法和李薩育圖形法,圖5、圖6為用仿真軟件測量的圖形顯示,圖7為用示波器測量的圖形顯示。測量結(jié)果對比如表1所示,表1中l(wèi)為滯后距離,λ為波長,x0為李薩育圖形與X軸的交點(diǎn),A為X方向的振幅。
圖4 示波器測量信號周期和峰谷電壓差
圖5 仿真軟件測相位差的雙波顯示
圖6 仿真軟件測相位差的李薩育圖形顯示
圖7 示波器測相位差的圖形顯示
表1 仿真軟件與示波器測量兩信號的相位差比較
將S3作為待測信號,仿真示波器的CH1通道選擇信號S3,CH2通道選擇標(biāo)準(zhǔn)信號源,調(diào)節(jié)標(biāo)準(zhǔn)信號源的頻率,使顯示屏上顯示各種頻率比下的李薩育圖形,圖1中顯示的是fx∶fy=1∶2的圖形,測量出S3信號的頻率為1 002 Hz,圖8為真實(shí)示波器的顯示結(jié)果,測得S3信號的頻率也為1 002 Hz。
圖8 示波器觀測李薩育圖形
通過比較,仿真軟件的操作界面與測量結(jié)果與真實(shí)示波器一致,仿真軟件完全滿足實(shí)驗(yàn)要求。
論述了XJ4328示波器仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)過程,用簡單的程序框圖模擬了復(fù)雜示波器操作面板上各旋鈕與按鍵的交互功能。該軟件已在實(shí)驗(yàn)教學(xué)中演示使用,學(xué)生可以不受時(shí)間與空間的限制,就像在操作真實(shí)示波器一樣,進(jìn)行課前示波器實(shí)驗(yàn)的仿真操作和預(yù)習(xí)。
[1] 龍作友,王豐.大學(xué)物理實(shí)驗(yàn)[M].武漢:湖北科學(xué)技術(shù)出版社,2003:69-77.
[2] 梁秋明,田夢君.基于LabVIEW的虛擬示波器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測量技術(shù),2009,34(3):158 -161.
[3] 王莉,楊鵬.基于LabVIEW的虛擬示波器的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2010,29(1):62 -64.
[4] 李翼,王小海.基于LabVIEW的虛擬示波器的設(shè)計(jì)及應(yīng)用[J].江南大學(xué)學(xué)報(bào):自然科學(xué)版,2006,5(3):290-292.
[5] 阮奇楨.我和LabVIEW[M].北京:北京航空航天大學(xué)出版社,2009:296-299.
[6] 龍作友,戴亞文,楊應(yīng)平,等.大學(xué)物理實(shí)驗(yàn)[M].武漢:武漢理工大學(xué)出版社,2006:45-54.
[7] 呂紅英,吳先球,劉朝輝.LabVIEW環(huán)境下基于聲卡的虛擬示波器軟件設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2007,24(3):61 -64.
[8] 福建機(jī)電學(xué)校教材編寫組.電氣測量[M].北京:機(jī)械工業(yè)出版社,1979:160-162.
[9] 豈興明,周建興,矯津毅.LabVIEW 8.2入門與典型實(shí)例[M].北京:人民郵電出版社,2008:379-398.
[10] 黃松嶺,吳靜.虛擬儀器設(shè)計(jì)基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2008:225-230.
[11] 夏澤中,蘇宏良,朱玉璟.電源監(jiān)控系統(tǒng)中的遠(yuǎn)程采集終端設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào):信息與管理工程版,2010,32(5):694-698.