初 華 萬 強(qiáng) 曹海源 張廣遠(yuǎn) 黎 偉
(武漢軍械士官學(xué)校光電技術(shù)研究所,湖北 武漢 430075)
在儀器與測量領(lǐng)域中,示波器的應(yīng)用相當(dāng)廣泛[1]。傳統(tǒng)的模擬示波器由于功能單一、測量精度不高,在科研領(lǐng)域中的應(yīng)用受到限制[2]。近年來研發(fā)的數(shù)字存儲示波器,采用微處理器進(jìn)行數(shù)據(jù)測量、數(shù)據(jù)處理及波形分析,其精度和處理速度得到大大提高[3]。與傳統(tǒng)模擬示波器相比,數(shù)字存儲示波器不僅具有可存儲波形、體積小、功耗低、使用方便等優(yōu)點(diǎn),而且還具有強(qiáng)大的信號實(shí)時(shí)處理分析功能[4]。目前,市場上的數(shù)字示波器已經(jīng)實(shí)現(xiàn)與計(jì)算機(jī)互聯(lián)、數(shù)據(jù)共享、參數(shù)檢測等強(qiáng)大功能,但其存在價(jià)格昂貴、攜帶不方便、專用性和針對性差等缺點(diǎn)。當(dāng)在某一種產(chǎn)品上集成示波器功能時(shí),將使該產(chǎn)品的成本、體積、質(zhì)量等大大增加[5]。
本文提出了一種基于數(shù)字信號處理器(digital signal process,DSP)和現(xiàn)場可編程門陣列(field programmable gate array,F(xiàn)PGA)的數(shù)字示波器,專門針對激光發(fā)生器泵浦電源進(jìn)行參數(shù)檢測[6]。
系統(tǒng)采用DSP+FPGA的控制方案,充分發(fā)揮了兩者的長處。整個(gè)系統(tǒng)由前端信號處理單元、FPGA時(shí)序邏輯單元、DSP控制單元以及波形數(shù)據(jù)存儲和顯示單元組成,輸入信號經(jīng)隔離、放大、斬波、分頻等處理后,送入FPGA單元并測量輸入信號的頻率,然后根據(jù)頻率的大小確定采樣時(shí)鐘的頻率。對于10 Hz~50 kHz的信號,采用適時(shí)采樣法;對于50 kHz~1 MHz的信號,采用等效采樣法,即利用FPGA產(chǎn)生頻率為1 MHz的固定采樣時(shí)鐘;對于1~10 MHz的信號,由于輸入信號頻率很高,低采樣頻率無法完全采集輸入信號各個(gè)周期的信號值,所以先對輸入信號進(jìn)行分頻,再利用FPGA發(fā)出1 MHz微小步進(jìn)的采樣時(shí)鐘。這就實(shí)現(xiàn)了對輸入信號的等效采樣。
經(jīng)過A/D采樣后得到的數(shù)據(jù)送入DSP進(jìn)行數(shù)字濾波及算法處理,剔除壞值;再對有效數(shù)據(jù)進(jìn)行計(jì)算,得出各類測量參數(shù),并將數(shù)據(jù)存入主RAM中,同時(shí)在液晶屏LCD上顯示。如果需要觀測被測波形,DSP根據(jù)鍵盤的輸入來選擇存儲位置。當(dāng)鍵盤選擇“暫?!辨I時(shí),將數(shù)據(jù)存入從RAM,液晶屏波形暫停;當(dāng)鍵盤選擇“存儲”時(shí),DSP將數(shù)據(jù)存入永久性存儲的Flash,從而實(shí)現(xiàn)數(shù)據(jù)永久存儲的功能。系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)整體結(jié)構(gòu)圖Fig.1 Structure of the overall system
根據(jù)輸入信號頻率的大小,采用實(shí)時(shí)采樣和等效采樣兩種方式對輸入信號進(jìn)行A/D采樣[7]。實(shí)時(shí)采樣的采樣頻率必須滿足采樣定理,對于周期性的正弦信號,一個(gè)周期內(nèi)應(yīng)大于兩個(gè)采樣點(diǎn)??紤]到實(shí)際因素的影響,按照恢復(fù)原始波形的精度要求選取相應(yīng)的采樣點(diǎn)數(shù)。在實(shí)時(shí)采樣中,A/D轉(zhuǎn)換速率必須大于最高采樣頻率才能正確地工作。因此,A/D的轉(zhuǎn)換速率決定了最高采樣頻率。受A/D轉(zhuǎn)換速率的限制,實(shí)現(xiàn)高頻信號的實(shí)時(shí)采樣比較困難,因此對于高頻的周期信號,可以采用等效采樣的方法。采樣示意圖如圖2所示。
圖2 采樣示意圖Fig.2 Schematic diagram of sampling
圖2中,圖2(a)表示實(shí)時(shí)采樣,即根據(jù)需要,在一個(gè)周期內(nèi)采集有限個(gè)點(diǎn)數(shù),如圖2(a)用4個(gè)點(diǎn)說明。圖2(b)表示等效采樣,即采用步進(jìn)延時(shí)的方法,對每個(gè)周期波形的不同點(diǎn)進(jìn)行采樣,從而獲取整個(gè)波形的采樣數(shù)據(jù)。
所謂步進(jìn)延時(shí)是指每一次采樣比上一次采樣點(diǎn)的位置延遲Δt時(shí)間(Δt的取值與采樣點(diǎn)數(shù)有關(guān)),假設(shè)在一個(gè)周期內(nèi)采樣m點(diǎn)可完整重現(xiàn)待測信號波形(圖2中用m=4舉例說明),則:
式中:f為待測信號的頻率。
只要精確控制采樣的時(shí)間延遲,就能準(zhǔn)確地恢復(fù)原始信號。對于特高頻信號,可以借助分頻的方法,在幾個(gè)甚至幾百個(gè)信號周期對波形采集一次。采用這種方法,可以恢復(fù)原始波形數(shù)據(jù)。
高頻信號經(jīng)過運(yùn)放放大及A/D采樣后,測量狀態(tài)信號時(shí)往往受到噪聲的干擾,微分?jǐn)U張狀態(tài)觀測器(differential extended state observer,DESO)具有良好的濾波功能[8]。設(shè)輸入待測信號為x1(t),量測噪聲為n(t),則含被測噪聲的濾波對象為:
數(shù)字示波器的參數(shù)分為幅度類參數(shù)和時(shí)間類參數(shù)[9]兩類。參數(shù)的計(jì)算必須剔除奇異點(diǎn),采用限幅濾波的方法確定奇異點(diǎn),將剔除奇異點(diǎn)之后的數(shù)據(jù)作為計(jì)算的依據(jù)。設(shè)采樣后的值為m,將與m相鄰的值(即n)與m作差,差值為δ。由于采樣頻率很快,因此有理由相信差值δ小于誤差幅度ε。當(dāng)δ大于ε時(shí),可以認(rèn)為此時(shí)的m值為壞值,予以剔除,并由與m值相鄰的值n取代m。
峰峰值、平均值和有效值等幅度類參數(shù)的測量過程如下。
①峰峰值:峰峰值的測量采用頻數(shù)直方圖密度分布眾數(shù)法[9]。峰峰值 Vpp=Vtop- Vbase(其中,Vtop為幅度頂值,Vbase為幅度底值),但幅度頂值不一定是波形最大值,幅度底值也不一定是最小值。例如,有小毛刺的脈沖波形,Vtop≠Vmax、Vbase≠Vmin。頻數(shù)直方圖密度分布眾數(shù)法是指找出出現(xiàn)次數(shù)超過整個(gè)顯示點(diǎn)數(shù)5%的反復(fù)出現(xiàn)的點(diǎn),并在這些點(diǎn)中找出最大值。Vbase為出現(xiàn)次數(shù)超過整個(gè)顯示點(diǎn)數(shù)5%的反復(fù)出現(xiàn)的點(diǎn),即在這些點(diǎn)中找出的最小值。假設(shè)A/D采樣位數(shù)為12 B,采樣值的范圍為0~4095,程序?qū)崿F(xiàn)時(shí)初始化Vtop=0、Vbase=4095。然后將數(shù)據(jù)依次讀入,若讀入的數(shù)據(jù)小于Vbase,則將讀入數(shù)據(jù)賦給Vbase,并依次用Vbase與讀入的新數(shù)據(jù)比較,找出最小值;同理,將讀入數(shù)據(jù)與Vtop比較,較大者即將新值賦給Vtop,直到找出最大值。具體程序如下。
時(shí)間類參數(shù)主要包括周期、頻率、脈寬等,在此重點(diǎn)介紹周期參數(shù)的測量。周期主要通過FPGA脈沖計(jì)數(shù)實(shí)現(xiàn)。輸入信號經(jīng)過比較器比較輸出后變成脈沖信號,F(xiàn)PGA脈沖捕獲口每次檢測到脈沖上升沿后開始計(jì)數(shù),檢測到下一次脈沖上升沿后停止。脈沖周期與計(jì)數(shù)值成正比,假設(shè)計(jì)數(shù)周期為T,計(jì)數(shù)值為n,則輸入信號周期為nT。
周期測量示意圖如圖3所示。
圖3 周期測量示意圖Fig.3 Schematic diagram of periodic measurement
垂直分辨率、掃描速度、垂直靈敏度、存儲容量和顯示頻率這幾個(gè)指標(biāo)的計(jì)算過程如下。
①垂直分辨率
示波器按垂直方向共分為8格,同時(shí)要求每格分512份,則共有512×8=4096份,因而采用12位A/D即可,即垂直分辨率為12位[10]。
②掃描速度
假設(shè)掃描速度為t、每格點(diǎn)數(shù)為n、采樣頻率為fS,則fS=t/n。當(dāng)n=20時(shí),針對不同的掃描速度,可得到不同的采樣頻率:當(dāng) t=0.2 s時(shí),fS=100 Hz;當(dāng) t=0.2 ms時(shí),fS=100 kHz;當(dāng) t=20 μs 時(shí),fS=100 MHz。在n一定的情況下,可通過改變采樣頻率的方式改變掃描速度。
③垂直靈敏度
垂直靈敏度和前端放大倍數(shù)呈反比例關(guān)系。垂直靈敏度的調(diào)整可以通過改變前端程控放大器的增益來實(shí)現(xiàn)。本文需設(shè)計(jì)一個(gè)增益為1x、10x、100x的程控增益放大器,假設(shè)垂直靈敏度最大為1 V/div,示波器垂直方向共8格,則顯示信號的幅度范圍為-4~+4 V。由于A/D輸入電壓只能為正電壓,電壓范圍為0~2 V,所以負(fù)電壓要經(jīng)過電平轉(zhuǎn)換,轉(zhuǎn)換為負(fù)電壓絕對值大小的正電壓,即經(jīng)過電平轉(zhuǎn)換以后的A/D采樣范圍為-2~+2 V,這可以通過電平變換用電壓幅度在-2~+2 V之間的信號得到。為了使輸入信號幅度也在-4~+4 V之間,x應(yīng)取為0.5,即程控增益放大器的三檔增益分別為 0.5、5、50。
④存儲容量
存儲容量表明水平方向劃分的細(xì)微程度,它是水平分辨率的倒數(shù)。示波器顯示屏水平刻度為10 div,水平分辨率為10點(diǎn)/div。顯示滿屏幕需要10×10=100個(gè)點(diǎn),即水平分辨率為1/100=1%。
⑤顯示頻率
顯示屏上顯示的信號是從存儲器中讀出的信號,只要確保觀察到的波形不閃爍即可。單通道時(shí)刷新頻率為200 Hz,通過計(jì)算,每秒讀出的點(diǎn)數(shù)為200×100=20000,即RAM讀出頻率為20 kHz。
波形數(shù)據(jù)存儲在RAM中,由DSP控制讀取,并送入液晶屏顯示。由于液晶屏的分辨率為800×600,除邊框及修飾,X軸實(shí)際像素選取為500,以5個(gè)像素選取一點(diǎn),可計(jì)算出存儲深度為100點(diǎn)。設(shè)在t1時(shí)刻波形顯示參數(shù)的縱坐標(biāo)分別為(Y1,Y2,…,Ym),為實(shí)現(xiàn)波形移動,在t2時(shí)刻需顯示的點(diǎn)縱坐標(biāo)為(Y2,Y3,…,Ym+1),其中m為存儲深度,Ym+1為t2時(shí)刻新采集到的參數(shù)值,則得到的波形顯示示意圖如圖4所示。
圖4 波形顯示示意圖Fig.4 Schematic of waveform display
由于在每個(gè)時(shí)刻液晶屏上只能顯示一條曲線,所以在向液晶屏發(fā)送新的數(shù)組之前必須清屏,否則屏上將被所有的線畫滿。由于液晶屏的坐標(biāo)系與普通笛卡爾坐標(biāo)系不同,采用的是圖像坐標(biāo)系,即以可視區(qū)域的左上角為坐標(biāo)原點(diǎn),向右為X軸正向,向下為Y軸正向。因此,Ym+1與實(shí)際參數(shù)值成反比,并且需要對最大值進(jìn)行限幅。
式中:C為某一參數(shù)的實(shí)際值;kc為常數(shù)。
為了測量激光發(fā)生器電源模塊的參數(shù),本文設(shè)計(jì)了數(shù)字示波器。由于電源脈沖頻率很高,故采用等效采樣的方式進(jìn)行采樣;因采樣前經(jīng)過波形的程控放大,噪聲很強(qiáng),故對采樣信號進(jìn)行DESO濾波處理;采樣和濾波后的數(shù)據(jù),經(jīng)剔除壞值后,運(yùn)用頻數(shù)直方圖密度分布眾數(shù)法,計(jì)算幅度類參數(shù)和時(shí)間類參數(shù);計(jì)算后的參數(shù)和波形數(shù)據(jù)送液晶屏顯示。經(jīng)過測試,數(shù)字示波器[11-18]運(yùn)行穩(wěn)定、集成度高,具有廣闊的應(yīng)用前景。
[1]劉偉,丁雷,許婷,等.基于單片機(jī)微控制器的簡易數(shù)字示波器設(shè)計(jì)[J].信息系統(tǒng)工程,2010(10):82 -85.
[2]梁海泉,張逸成,楊挺,等.基于虛擬儀器平臺的多通道示波器設(shè)計(jì)[J].自動化儀表,2007,28(2):61 -64.
[3]張一嬌,田書林,張沁川.示波器多國語言的設(shè)計(jì)與實(shí)現(xiàn)[J].自動化儀表,2009,30(6):57 -59.
[4]薛紅,薛軍,姜萬波.TDS-ACS實(shí)驗(yàn)系統(tǒng)中虛擬示波器的設(shè)計(jì)[J].自動化儀表,2002,23(12):22 -24.
[5]張宇翔,王明利,呂運(yùn)朋,等.高速數(shù)字存儲示波器前端電路設(shè)計(jì)[J].自動化儀表,2010,31(4):65 -67.
[6]騰志超,謝湘南,邱渡裕,等.數(shù)字存儲示波器的雙時(shí)基系統(tǒng)設(shè)計(jì)[J].自動化儀表,2009,30(6):60 -62.
[7]韓峰.單片機(jī)等效采樣示波器的設(shè)計(jì)[J].雞西大學(xué)學(xué)報(bào):自然科學(xué)版,2006(6):63-64.
[8]袁東,馬曉軍,初華,等.DESO濾波器在DSP上的實(shí)現(xiàn)及其應(yīng)用[J].裝甲兵工程學(xué)院學(xué)報(bào),2010(6):57-60.
[9]程言奎,李英,白瑞林,等.基于ARM9的嵌入式數(shù)字示波器參數(shù)測量模塊的設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2008,16(12):1822 -1824.
[10]郭偉民,鄧曉莉,李莉,等.數(shù)字示波器檢定方法研究[J].信息與電子工程,2004(3):65-69.
[11]劉堯猛,馬永軍,丁忠林.基于ARM9和FPGA的嵌入式數(shù)字示波器[J].計(jì)算機(jī)應(yīng)用與軟件,2010(3):84-86.
[12]詹振球.基于DSP和CPLD的虛擬數(shù)字示波器的設(shè)計(jì)[J].山西電子技術(shù),2007(3):37-39.
[13]趙汝和,袁太文,李迅波.數(shù)字示波器自動檢定系統(tǒng)[J].測控技術(shù)與儀器儀表,2007(2):78-80.
[14]王怡,陳燕東.新型虛擬多功能數(shù)字示波器的設(shè)計(jì)與實(shí)現(xiàn)[J].湖南工程學(xué)院學(xué)報(bào):自然科學(xué)版,2007(6):43-46.
[15]鄭礴,韓根亮,席彩紅.虛擬數(shù)字示波器的設(shè)計(jì)[J].甘肅科學(xué)學(xué)報(bào):自然科學(xué)版,2008(3):96 -98.
[16]劉憲力,特日格樂,張清.基于等效和實(shí)時(shí)采樣的數(shù)字示波器設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009(6):69-71.
[17]謝水珍.基于Labview的虛擬函數(shù)信號發(fā)生器的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2005(8):21-23.
[18]楊樂平,李海濤,楊磊.Labview程序設(shè)計(jì)與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2006.