趙二剛,孫桂玲
(南開大學(xué) 電子信息與光學(xué)工程學(xué)院,天津300350)
在電子信息類實(shí)驗(yàn)課程的教學(xué)過程中,經(jīng)常會(huì)涉及到對(duì)正弦波、方波、三角波及鋸齒波等各種波形進(jìn)行參數(shù)測(cè)量, 這些參數(shù)主要包括波形的頻率、峰峰值、有效值及失真度即總諧波失真(total harmonic distortion,THD)等。目前要完成這些參數(shù)的測(cè)量需要用到示波器及失真度測(cè)量?jī)x等多種儀器。筆者在總結(jié)實(shí)驗(yàn)教學(xué)經(jīng)驗(yàn)及結(jié)合學(xué)生反饋意見的基礎(chǔ)上完成了“信號(hào)波形參數(shù)及頻譜測(cè)量實(shí)驗(yàn)系統(tǒng)”,該系統(tǒng)可以測(cè)量信號(hào)的頻率、峰峰值、有效值及THD 等常用的波形參數(shù)[1-2],并且可以顯示被測(cè)信號(hào)連續(xù)兩個(gè)周期的波形及頻譜圖[3-6],進(jìn)而可以同時(shí)觀察信號(hào)的時(shí)域及頻域信息,有助于加深學(xué)生對(duì)被測(cè)信號(hào)的認(rèn)識(shí)與理解,另外本文研究的技術(shù)方案可為測(cè)量信號(hào)時(shí)域、頻域特征的應(yīng)用場(chǎng)景提供有益的參考。
系統(tǒng)的硬件結(jié)構(gòu)主要包括: 嵌入式處理器、現(xiàn)場(chǎng)可編程門陣列(FPGA)、高速模數(shù)轉(zhuǎn)換模塊及液晶屏等部分。首先利用FPGA 控制高速模數(shù)轉(zhuǎn)換模塊不間斷的等時(shí)間間隔高速采樣被測(cè)信號(hào),將采樣值與被測(cè)信號(hào)過零點(diǎn)的采樣值做比較,輸出高低電平,進(jìn)而產(chǎn)生與被測(cè)信號(hào)頻率、相位一致的方波。FPGA 內(nèi)部運(yùn)行消抖算法以消除該方波在過零點(diǎn)處產(chǎn)生的抖動(dòng)。FPGA 計(jì)算得到消抖后方波信號(hào)的周期,并從消抖后的方波信號(hào)上升沿處開始,利用內(nèi)部的雙端口數(shù)據(jù)儲(chǔ)存器(Dual-Port RAM)等時(shí)間間隔的存儲(chǔ)被測(cè)信號(hào)的采樣值,存儲(chǔ)深度為被測(cè)信號(hào)的兩個(gè)周期。這樣就實(shí)現(xiàn)了對(duì)被測(cè)信號(hào)的整周期同步采樣,在后續(xù)的頻域計(jì)算處理中,可有效地避免頻譜泄漏和柵欄效應(yīng)[7]。FPGA 將消抖后方波信號(hào)的頻率值及被測(cè)信號(hào)連續(xù)兩個(gè)周期的采樣值通過串口傳送給嵌入式處理器[8-9],嵌入式處理器結(jié)合快速傅里葉變換(FFT)等算法[10],計(jì)算得到被測(cè)信號(hào)的峰峰值、有效值及THD 等參數(shù),同時(shí)利用液晶屏顯示被測(cè)信號(hào)連續(xù)兩個(gè)周期的波形及頻譜圖。綜上,該系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。

圖1 信號(hào)波形參數(shù)及頻譜測(cè)量實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)框圖Fig.1 Structure block diagram of experimental measurement system of signal waveform parameters and spectrum
系統(tǒng)的硬件結(jié)構(gòu)主要包括嵌入式處理器、FPGA、高速模數(shù)轉(zhuǎn)換模塊及液晶屏等部分, 軟件方面主要包括實(shí)現(xiàn)對(duì)被測(cè)信號(hào)進(jìn)行整周期同步采樣、嵌入式處理器和FPGA 間的串行通信,計(jì)算頻率、峰峰值、有效值及THD 等波形參數(shù)及顯示被測(cè)信號(hào)波形、頻譜圖等部分。下文從軟、硬件兩方面對(duì)該信號(hào)波形參數(shù)及頻譜測(cè)量實(shí)驗(yàn)系統(tǒng)進(jìn)行介紹。
2.1.1 核心控制單元
本文采用嵌入式處理器結(jié)合FPGA 作為核心控制單元,嵌入式處理器采用意法半導(dǎo)體(ST)公司的32 位Cortex-M7 內(nèi)核ARM 處理器,型號(hào)為STM32F767IGT6,F(xiàn)PGA 采用Altera 公司的Cyclone IV 系列FPGA,型號(hào)為EP4CE10E22C8N。其中FPGA的作用是控制高速模數(shù)轉(zhuǎn)換模塊實(shí)現(xiàn)對(duì)被測(cè)信號(hào)的整周期同步采樣,并將采樣數(shù)據(jù)傳送給嵌入式處理器。嵌入式處理器的作用是根據(jù)采樣數(shù)據(jù)計(jì)算得到波形參數(shù)并利用液晶屏顯示被測(cè)信號(hào)的波形及頻譜圖。
2.1.2 高速模數(shù)轉(zhuǎn)換模塊
高速模數(shù)轉(zhuǎn)換模塊的型號(hào)為AN926,該模塊主要由高速ADC 及電壓衰減電路構(gòu)成,其結(jié)構(gòu)框圖如圖2所示。

圖2 高速模數(shù)轉(zhuǎn)換模塊結(jié)構(gòu)框圖Fig.2 Structure block diagram of high speed A/D conversion module
該模塊支持的輸入信號(hào)電壓范圍為±5 V, 由于該模塊采用的ADC 輸入電壓范圍為1 V~3 V,因而采用運(yùn)算放大器(以下簡(jiǎn)稱為運(yùn)放)搭建電壓衰減電路將±5 V 的輸入電壓衰減到1 V~3 V, 然后提供給ADC。采用的運(yùn)放型號(hào)為AD8065,該運(yùn)放具有輸入阻抗高、工作噪聲低、高壓擺率、低失真、高共模抑制比等優(yōu)點(diǎn),可采用單電源供電,帶寬為145 MHz。該模塊中ADC 型號(hào)為AD9226[11-12],此芯片內(nèi)置高性能采樣保持放大器和基準(zhǔn)電壓源,12 位采樣精度,最高采樣率達(dá)65 MS/s。
2.1.3 液晶屏
液晶屏型號(hào)為TJC8048K050_011R, 該液晶屏為5 英寸智能串口液晶屏,65536 色偽真彩,分辨率為800×480 像素,內(nèi)置實(shí)時(shí)時(shí)鐘,并集成4 線電阻式觸摸屏,可以很好地滿足顯示被測(cè)信號(hào)波形及頻譜圖的需求。
2.2.1 整周期同步采樣
為了實(shí)現(xiàn)被測(cè)信號(hào)峰峰值、有效值及THD 等參數(shù)的測(cè)量,并顯示其波形及頻譜圖,需從該信號(hào)的起始過零點(diǎn)處開始,以該信號(hào)頻率的整數(shù)倍進(jìn)行采樣,即整周期同步采樣。采用整周期同步采樣可有效地避免頻譜泄漏和柵欄效應(yīng)。為了實(shí)現(xiàn)整周期同步采樣首先要獲得被測(cè)信號(hào)的頻率及相位(起始過零點(diǎn)),可通過電壓比較器產(chǎn)生與被測(cè)信號(hào)頻率、相位一致的方波。采用比較器的方案會(huì)引入額外的硬件電路,并且一般需要正負(fù)電源供電,本文采用軟件比較的方法獲得被測(cè)信號(hào)的頻率及相位,利用FPGA 控制高速模數(shù)轉(zhuǎn)換模塊采樣被測(cè)信號(hào),采樣時(shí)間間隔為20 ns,高速模數(shù)轉(zhuǎn)換模塊輸出的原始采樣值為12 位的補(bǔ)碼,在FPGA 中用硬件描述語言編寫功能模塊將±5 V 的電壓值轉(zhuǎn)換為0 至0xfff 的數(shù)字量, 則被測(cè)信號(hào)過零點(diǎn)電壓值對(duì)應(yīng)的數(shù)字量為0x800。將采樣值與被測(cè)信號(hào)過零點(diǎn)的采樣值做比較,按照式(1)輸出高低電平,進(jìn)而產(chǎn)生與被測(cè)信號(hào)頻率、相位一致的方波。

式中:SQ0為產(chǎn)生的方波;VAD為采樣值,1 為高電平,0 為低電平。當(dāng)被測(cè)信號(hào)頻率較低或峰峰值較小時(shí),該信號(hào)在過零點(diǎn)處波形斜率一般較小,則SQ0容易在上升沿及下降沿位置產(chǎn)生抖動(dòng)。需對(duì)SQ0做消抖處理否則很難實(shí)現(xiàn)整周期同步采樣。在FPGA 中用硬件描述語言編寫功能模塊實(shí)現(xiàn)對(duì)SQ0的消抖處理,記消抖后的方波為SQ1。下文對(duì)消抖算法進(jìn)行介紹。首先利用D 觸發(fā)器對(duì)SQ0進(jìn)行等占空比的二分頻,然后利用高速時(shí)鐘計(jì)數(shù)二分頻后信號(hào)的高電平寬度即可得到SQ0的周期及頻率, 然后利用頻率為該頻率M 倍的時(shí)鐘對(duì)SQ0進(jìn)行采樣,當(dāng)連續(xù)N 次采樣值均為高電平時(shí)SQ1輸出高電平, 連續(xù)N 次采樣值均為低電平時(shí)SQ1輸出低電平, 其他情況下保持SQ1先前的輸出狀態(tài)不變,實(shí)測(cè)結(jié)果表明N 取10,M取10000 能夠?qū)崿F(xiàn)很好的消抖效果。FPGA 從SQ1上升沿處開始,利用內(nèi)部的雙端口數(shù)據(jù)儲(chǔ)存器等時(shí)間間隔的存儲(chǔ)被測(cè)信號(hào)的采樣值,存儲(chǔ)深度為被測(cè)信號(hào)的兩個(gè)周期,這樣就實(shí)現(xiàn)了對(duì)被測(cè)信號(hào)的整周期同步采樣。為了在被測(cè)信號(hào)的一個(gè)周期內(nèi)盡可能多的存儲(chǔ)采樣點(diǎn), 同時(shí)存儲(chǔ)的采樣點(diǎn)數(shù)要滿足基2FFT 運(yùn)算的要求,設(shè)定被測(cè)信號(hào)每個(gè)周期存儲(chǔ)的點(diǎn)數(shù)與被測(cè)信號(hào)頻率間的關(guān)系見式(2):

式中:fVin為被測(cè)信號(hào)的頻率;NFFT為每個(gè)周期存儲(chǔ)的采樣點(diǎn)數(shù)。根據(jù)式(2)并結(jié)合式(3)確定被測(cè)信號(hào)連續(xù)兩個(gè)周期內(nèi)的采樣時(shí)間點(diǎn):

式中:TS為被測(cè)信號(hào)的周期;ti為第i 次采樣的時(shí)間點(diǎn)。在計(jì)算ti時(shí)涉及到乘除法運(yùn)算, 由于NFFT為2的整數(shù)次冪, 因而可以利用右移運(yùn)算來替代除法,而乘法運(yùn)算則采用FPGA 內(nèi)嵌的硬件乘法器實(shí)現(xiàn)。
2.2.2 串行通信
FPGA 通過串口與嵌入式處理器進(jìn)行通信,將被測(cè)信號(hào)的頻率值及兩個(gè)周期的采樣值通過串口傳送給嵌入式處理器。下文介紹串行通信的具體實(shí)現(xiàn)過程。首先確定二者間通信的數(shù)據(jù)幀格式見表1。

表1 串行通信數(shù)據(jù)幀格式Tab.1 Data frame format of serial communication
表1中, 幀頭為0x55 0xaa 0xa5 0x5a 4 個(gè)字節(jié),頻率用4 個(gè)字節(jié)表示,單位為Hz,每個(gè)周期存儲(chǔ)的采樣點(diǎn)數(shù)為NFFT,用2 個(gè)字節(jié)表示,每次采樣值為12 bit,用2 個(gè)字節(jié)表示,所以連續(xù)2 個(gè)周期存儲(chǔ)的采樣點(diǎn)數(shù)為4NFFT字節(jié)。嵌入式處理器將通用輸入輸出口PB10、PB11 復(fù)用為USART3 串口,并配置該串口的工作模式為115200 bps 波特率、8 位數(shù)據(jù)位、1 位停止位、偶校驗(yàn)。FPGA 端利用硬件描述語言編寫功能模塊實(shí)現(xiàn)串口收發(fā)的功能,令串口收、發(fā)功能模塊的工作模式與嵌入式處理器的USART3 工作模式完全一致,并配置其電平為3.3 V LVTTL,嵌入式處理器與FPGA 共地且串口引腳交叉互聯(lián),這樣就實(shí)現(xiàn)了二者間的串行通信。需要注意的是FPGA 外接有源晶振的頻率為10 MHz,為了提高串行通信波特率的精度, 利用FPGA 內(nèi)置的模擬鎖相環(huán)產(chǎn)生100 MHz 的時(shí)鐘,作為波特率分頻器的時(shí)鐘源,這樣就提高了串行通信波特率的精度。
2.2.3 波形參數(shù)計(jì)算、時(shí)域波形及頻譜圖顯示
嵌入式處理器根據(jù)串口接收到的被測(cè)信號(hào)的頻率值及連續(xù)兩個(gè)周期的采樣值計(jì)算其峰峰值、有效值及THD,下文分別介紹上述波形參數(shù)的計(jì)算方法。首先介紹峰峰值的計(jì)算方法:遍歷采樣數(shù)據(jù)找到最大、最小值即可得到被測(cè)信號(hào)的峰峰值,具體算法見式(4):

式中:Vadi為第i 次采樣值;Vopp為輸出信號(hào)的峰峰值。接下來從有效值的定義出發(fā)結(jié)合式(5)計(jì)算被測(cè)信號(hào)的有效值。

式中:Δt 為采樣的時(shí)間間隔;U 即為被測(cè)信號(hào)的有效值。最后結(jié)合FFT 算法,計(jì)算被測(cè)信號(hào)的THD。對(duì)被測(cè)信號(hào)整周期的采樣值進(jìn)行FFT 變換即可得到基波及各次諧波的幅值, 根據(jù)THD 的定義結(jié)合式(6)即可得到被測(cè)信號(hào)的THD:

利用直流穩(wěn)壓電源(型號(hào):SS3323)、函數(shù)信號(hào)發(fā)生器(型號(hào):TFG6080)及數(shù)字存儲(chǔ)示波器(型號(hào):DSO-X 2012A)搭建信號(hào)波形參數(shù)及頻譜測(cè)量實(shí)驗(yàn)系統(tǒng)的測(cè)試環(huán)境。由于AN926 高速模數(shù)轉(zhuǎn)換模塊輸入電壓的限制,本文研究的信號(hào)波形參數(shù)及頻譜測(cè)量實(shí)驗(yàn)系統(tǒng)被測(cè)信號(hào)的電壓范圍為±5 V,另外由于采用過零比較,所以被測(cè)信號(hào)應(yīng)為交流信號(hào)。設(shè)置直流穩(wěn)壓電源輸出電壓為10 V,限流值為2 A 為系統(tǒng)供電,函數(shù)信號(hào)發(fā)生器產(chǎn)生峰峰值4 V,頻率0.1 Hz的正弦波,F(xiàn)PGA 控制高速模數(shù)轉(zhuǎn)換模塊采樣該正弦波,然后通過軟件比較的方法產(chǎn)生同頻、同相的方波,利用示波器的兩個(gè)通道測(cè)量該方波波形及消抖后的波形進(jìn)而驗(yàn)證軟件比較法產(chǎn)生方波及消抖算法的效果,測(cè)量結(jié)果見圖3。

圖3 軟件比較法產(chǎn)生方波及消抖效果示波器測(cè)量結(jié)果圖Fig.3 Oscillogram of square wave generation and jitters elimination
圖3中通道1 波形(上半部分)為軟件比較法產(chǎn)生的方波波形(上升沿部分),通道2 波形(下半部分)為消抖處理后的波形(上升沿部分),可以明顯看出抖動(dòng)已經(jīng)完全消除。
函數(shù)信號(hào)發(fā)生器產(chǎn)生峰峰值4 V, 頻率為0.1 Hz~100 kHz 的正弦波、方波及鋸齒波作為被測(cè)信號(hào),峰峰值、有效值及THD 的測(cè)量結(jié)果見表2~表4。系統(tǒng)實(shí)物、被測(cè)信號(hào)時(shí)域波形及頻譜圖的液晶屏顯示界面見圖4。

圖4 信號(hào)波形參數(shù)及頻譜測(cè)量實(shí)驗(yàn)系統(tǒng)實(shí)物圖Fig.4 Actual picture of the experimental measurement system of signal waveform parameters and spectrum
根據(jù)式(6)可推導(dǎo)出正弦波、方波及鋸齒波THD的理論計(jì)算值分別為0%、48.343%及80.308%,根據(jù)表2~表4的測(cè)量數(shù)據(jù),當(dāng)被測(cè)信號(hào)頻率在0.1 Hz~100 kHz 之間時(shí)本文設(shè)計(jì)的信號(hào)波形參數(shù)及頻譜測(cè)量實(shí)驗(yàn)系統(tǒng)對(duì)正弦波、方波及鋸齒波THD 的測(cè)量值與理論值的偏差在分別在1.052%、0.961%及1.044%以內(nèi),峰峰值的測(cè)量值與示波器測(cè)量值的偏差分別在39 mV、31 mV 及40 mV 以內(nèi),有效值的測(cè)量值與示波器測(cè)量值的偏差分別在4 mV、10 mV 及11 mV以內(nèi)。

表2 峰峰值測(cè)量結(jié)果數(shù)據(jù)表Tab.2 Data of peak-to-peak value measurement results

表3 有效值測(cè)量結(jié)果數(shù)據(jù)表Tab.3 Data of RMS measurement results

表4 THD 測(cè)量結(jié)果數(shù)據(jù)表Tab.4 Data of THD measurement results
本文設(shè)計(jì)的信號(hào)波形參數(shù)及頻譜測(cè)量實(shí)驗(yàn)系統(tǒng),可以實(shí)現(xiàn)電壓范圍±5 V,頻率0.1 Hz~100 kHz 交流信號(hào)頻率、峰峰值、有效值及THD 的測(cè)量,其中THD 的測(cè)量值與理論值的偏差在1.052%以內(nèi),峰峰值及有效值與示波器測(cè)量值的偏差在1%以內(nèi),并且可以顯示被測(cè)信號(hào)連續(xù)兩個(gè)周期的波形及頻譜圖。對(duì)于直流或電壓范圍超過±5 V 的被測(cè)信號(hào)需經(jīng)過電容隔直處理或電壓衰減電路再輸入到該系統(tǒng)進(jìn)行測(cè)量。另外本文研究的軟件比較法提取被測(cè)信號(hào)頻率、相位特征的技術(shù)方案可為測(cè)量信號(hào)時(shí)域、頻域特征的應(yīng)用場(chǎng)景提供有益的參考。