孫逸潔,馬蕾
(鄭州鐵路職業(yè)技術(shù)學(xué)院,河南鄭州,450000)
本文分析了賽題要求和關(guān)鍵實現(xiàn)技術(shù)。根據(jù)題目基本要求和發(fā)揮部分的各項指標(biāo),本設(shè)計經(jīng)觀察確認(rèn)其測試結(jié)果完全符合題目要求,并對測量的范圍進(jìn)行了提升,本系統(tǒng)可以在測試2MHz 的信號頻率時準(zhǔn)確識別到波形類型和參數(shù),能實現(xiàn)基本功能和發(fā)揮功能的要求。
1.1.1 信號調(diào)理方案設(shè)計
方案一:可選多通道放大電路。信號調(diào)理電路對應(yīng)不同幅度的信號采用多種放大倍數(shù)的放大器,放大器出口至A/D轉(zhuǎn)換前采用多選一的模擬開關(guān)把信號匯總,這種調(diào)理電路優(yōu)點是每一路信號都可以單獨調(diào)試,精確度高,但是為了細(xì)膩的覆蓋整個采樣的幅度空間,會造成通道數(shù)過于繁多,信號偏置控制電路復(fù)雜,手動的調(diào)試工作量繁重,并且增加了主控制器切換通道的任務(wù)量,這種方案占用電路板面積大,分布參數(shù)和抗干擾能力都有不容易解決的問題。本方案不采用這種設(shè)計。
方案二:信號調(diào)理電路采用集成程控放大器,采用專用的程控放大器電路,此類放大器具備放大和衰減的功能,無須多路模擬開關(guān)。但是在選定不同放大檔位的情況下,此類放大器需要利用外部模擬信號調(diào)整信號放大倍數(shù)和本底偏置。這種信號可利用DAC 實現(xiàn),利于系統(tǒng)進(jìn)行自校準(zhǔn)。并且整個調(diào)理電路元器件數(shù)量少,帶寬高,本設(shè)計采用這種設(shè)計。
1.1.2 信號采樣方案設(shè)計
方案一:信號采樣電路采用和數(shù)據(jù)處理電路采用傳統(tǒng)控制器(包含且不限于51、STM32),利用此類控制器內(nèi)部集成A/D 轉(zhuǎn)換器,將模擬信號量化成數(shù)字信號。但是這類控制器內(nèi)部集成的A/D 轉(zhuǎn)換器通常都是速度較低的種類(例如逐次逼近式A/D),最高采樣率在1MHz 左右,經(jīng)過計算可以滿足本題中基本要求所提供的技術(shù)參數(shù),但是無法保證題目發(fā)揮部分中對50kHz 信號占空比精確測量的要求。因此不選用此方案。
方案二:信號采樣電路采用以FPGA 等可編程器件,利用FPGA 外部擴展高速并行A/D 轉(zhuǎn)換器,配合FPGA 內(nèi)部的高速RAM,可輕松實現(xiàn)大于20MHz 的采樣速率,并且可以自由選擇采樣速率,適宜測量不同頻率的模擬信號,系統(tǒng)擴展STM32 將數(shù)據(jù)進(jìn)行多種運算后,送至屏幕進(jìn)行顯示。本設(shè)計采用這種設(shè)計。
1.1.3 波形判別方案設(shè)計
方案一:時域判別法:對采集的信號按照時間先后和預(yù)制的波形數(shù)據(jù)進(jìn)行幅度信息的對比,對二者的差值進(jìn)行分析,得到最終結(jié)果,但是此方案要求對信號調(diào)理電路的失真度要求很高,并且要求單周期內(nèi)有很高的信號量化數(shù)據(jù),這給采樣模塊提出了更高的要求,特別是當(dāng)信號本身包含交流和直流成分時,此種判別方法的工作量和成功率包含很大的不確定性。本設(shè)計不采用這種設(shè)計。
方案二:頻域判別法:任何周期信號都可以通過FFT運算得到其頻譜,而且其頻譜具有鮮明的特點,通過對信號各個頻率成分的幅度信息的綜合判斷,可以穩(wěn)定判定該信號的種類。本設(shè)計采用這種設(shè)計。
系統(tǒng)主要由信號調(diào)理電路模塊、AD 轉(zhuǎn)換模塊、數(shù)據(jù)采集和存儲模塊、數(shù)據(jù)處理模塊、顯示模塊構(gòu)成,具體的總體框圖如圖1 所示。
圖1 系統(tǒng)總體框圖
1.2.1 系統(tǒng)工作分析
電源部分:本系統(tǒng)采用5V 供電,電源部分使用了三路線性穩(wěn)壓器AMS1117 分別降壓成+3.3V,+2.5V,+1.2V 給FPGA 和MCU 供電。使用SGM3204 電荷泵產(chǎn)生-5V 電源供模擬電路使用。
信號輸入:信號經(jīng)過J1 端子進(jìn)行輸入,繼電器JD5 可選擇信號的耦合方式是交流耦合或直流耦合,繼電器JD6及周邊電路實現(xiàn)對輸入信號的衰減。配合后級的程控放大器來確定整機提供的幅度量程,衰減電路中的電容對高頻信號起到補償?shù)淖饔?。U14A 使用JFET 型運放構(gòu)成電壓跟隨器,程控放大器選用AD603,MCU 可以通過改變AD603的1 腳和2 腳電壓差來改變其放大倍數(shù),放大的范圍是從-11dB—+31dB,最高帶寬可以達(dá)到90MHZ.末級電路使用的是LMH6643 作為波形偏置電路,使采集的波形偏置到水平軸的上方,本設(shè)計使用經(jīng)過濾波的PWM 來控制AD603的放大倍數(shù)和LMH6643 的偏置控制。
AD 采集:TLC5510 由FPGA 的PLL 提供25MHz 的時鐘進(jìn)行實時采集,在此注意TLC5510 高速AD 的輸出不是0V 起調(diào)整的,在數(shù)據(jù)手冊中也給出了采集參考值。
當(dāng)AD 采集到的數(shù)據(jù)傳遞給FPGA 之后,首先在FPGA內(nèi)部首先進(jìn)行了AD 值的累加取平均值,濾除掉一部分雜波,然后再將累加取平均之后的AD 值送給FPGA 觸發(fā)模塊,測頻率模塊。在FPGA 中開辟了一塊RAM 內(nèi)存用于存放取樣模塊傳遞出來的AD 值,通過AD 數(shù)據(jù)的最大值和最小值,計算出幅值,測頻率模塊根據(jù)采集到的AD 數(shù)據(jù)計算在一秒以內(nèi)多少個周期信號得出頻率,通過單一周期中的總AD 數(shù)據(jù)個數(shù)、高于AD 數(shù)據(jù)平均值的AD 數(shù)據(jù)個數(shù)可計算出矩形波占空比和正負(fù)脈寬等參數(shù),測量出來的頻率以及AD 數(shù)據(jù)都通過SPI 傳遞給了STM32,AD 數(shù)據(jù)主要用于波形的顯示以及FFT 運算,通過FFT 的運算來實現(xiàn)波形的識別,并且根據(jù)采樣輸入信號的幅值和頻率自動設(shè)置采樣率和檔位,stm32 還負(fù)責(zé)將采集到的波形,幅值,頻率,矩形波占空比等數(shù)據(jù)在液晶屏上的顯示。
1.2.2 信號調(diào)理電路模塊
被測信號的范圍是50mV~10V,由于信號比較微弱,本身的能量比較小,本設(shè)計選用JFET 型高阻抗放大器AD825 作為輸入緩沖電路。信號調(diào)理電路設(shè)計的輸入阻抗為1MHz,輸入高頻交流信號時,電阻分壓會降低信號的帶寬,為此需要在分壓電阻上并聯(lián)電容來補償。輸入信號配置了繼電器來選擇信號的交流和直流屬性。
程控放大AD603 可通過電壓來改變增益。AD603 程控放大器的放大倍數(shù)可以通過程序設(shè)定PWM 信號來自由調(diào)整。配合前端可選擇的電路分壓網(wǎng)絡(luò),自動適應(yīng)大范圍變化的模擬信號,本設(shè)計中,可選擇的信號可從10mV~40V,針對被測信號的大小來調(diào)節(jié)放大器的增益,使電路增益能夠調(diào)整并得到不同幅值的輸出信號,確保數(shù)據(jù)采樣的精確性。
1.2.3 數(shù)據(jù)采集和存儲模塊
本系統(tǒng)數(shù)據(jù)采集和存儲模塊芯片采用Altera 公司Cyclone IV 系列高性能的FPFA:EP4CE6E22C8N。其資源豐富,該芯片有144 個引腳,6272 個邏輯單元,276480位RAM,可以滿足本設(shè)計要求。
1.2.4 數(shù)據(jù)處理模塊
STM32 是基于ARM Cortex M 處理器內(nèi)核的32 位閃存微控制器,速度達(dá)到72MHz,多達(dá)20KB 的RAM,需要外圍元件少,非常適合進(jìn)行例如FFT 的運算。
圖2 信號調(diào)理電路
圖3 FPGA 接口圖
圖4 STM32 部分電路圖
信號處理中,通常采用DFT 對ADC 的輸出信號進(jìn)行分解,得到諧波信號。根據(jù)香農(nóng)采樣定理可知,采樣頻率需要大于信號頻率的兩倍。一個采樣周期內(nèi),等時間間隔采樣N個樣值,經(jīng)過FFT 之后,即可得到包含N 個點的FFT 結(jié)果。為減小誤差,N 的值通常選取2 的整數(shù)次方。
假設(shè)采樣頻率為Fs,信號頻率F,采樣點數(shù)為N。那么FFT 之后結(jié)果就是一個為N 點的復(fù)數(shù)。每一個點就對應(yīng)著一個頻率點。這個點的模值,就是該頻率值下的幅度特性。
那么,在經(jīng)過FFT 分析后得到的第一個點的模值是A1的N 倍,而且只有在FFT 結(jié)果點對應(yīng)的頻率在ω2,ω3 時,其模值才明顯放大,在其他頻率點,模值接近于0。在這些模值明顯放大的點中,除第一個點之外的其它點模值是相應(yīng)信號幅值的N/2 倍。
每個復(fù)數(shù)的相位就是在該頻率值下信號的相位:φ2,φ3。
FFT 結(jié)果有對稱性,通常我們只是用前半部分的結(jié)果,也就是小于采樣頻率一半的結(jié)果。同時也只有采樣頻率一半以內(nèi)、具有一定幅值的信號頻率才是真正的信號頻率。
為了測量非正弦波的基波有效值和總諧波有效值,可以采用傅里葉算法假定被采樣的模擬信號是一個周期性時間函數(shù),可表示為:
其離散形式為:
式中 N 為一周期采樣點數(shù),xk為第k 次采樣值,x0、xN分別為k=0、N 時的采樣值。則基波有效值為 :
初相角為:
總諧波有效值按下式計算 :
對于波形的識別而言,對信號在頻域上的變化進(jìn)行分析判斷,用來識別其波形。
正弦波:只有基波分量。
矩形波:除了基波,還有3,5,7 次等諧波分量,3次諧波為基波分量的1/3。
三角波:除了基波,還有3,5,7 次等諧波分量,3 次諧波為基波分量的1/9。
STM32 主要是用于液晶屏的顯示、檢測按鍵、與FPGA的通信、以及FFT 算法的運算,在程序的最開始 STM 首先對液晶屏、按鍵、SPI 進(jìn)行初始化,然后負(fù)責(zé)與FPGA 通信,當(dāng)測量按鍵被按下的時候,STM32 通過SPI 協(xié)議向FPGA發(fā)送測量指令,并進(jìn)行量程控制和偏移設(shè)置,并接受來自FPGA 的數(shù)據(jù),F(xiàn)PGA 傳遞的數(shù)據(jù)有多個周期的波形數(shù)據(jù),信號的頻率,占空比等信息,STM32 對FPGA 傳遞的多個周期的AD 數(shù)據(jù)進(jìn)行分析,截取其中單一周期的數(shù)據(jù)進(jìn)行FFT 運算,根據(jù)FFT 運算出的基波和n 次諧波的分量情況判斷波形類型,根據(jù)AD 數(shù)據(jù)的最大值最小值計算信號的幅值,而后在液晶屏幕上實時顯示波形圖像,波形類型,頻率,占空比等信息。
圖5 STM32 程序流程圖
測試方法:在測試時,將被測參數(shù)通過本系統(tǒng)測量的示數(shù)與參數(shù)的標(biāo)稱值進(jìn)行對比,進(jìn)而知到本系統(tǒng)的參數(shù)。本系統(tǒng)在測試模塊中留有測試孔,只需將波形發(fā)生器引接線與設(shè)計相接即可測量。
測試儀器:信號發(fā)生器、示波器、穩(wěn)壓電源。
測試結(jié)果如表1 所示。
表1 頻率測試結(jié)果
表2 幅值測試結(jié)果
表3 占空比測試結(jié)果
我們對以STM32F103 和FPGA 為核心,實現(xiàn)了可以測量題目所要求的20mV~10V,1Hz~50kHz的正弦波,三角波,矩形波信號的波形類型和參數(shù),以及實現(xiàn)了對頻率和幅值的擴展在實際測試當(dāng)中,可以測量2MHz 的頻率時準(zhǔn)確識別到波形類型和參數(shù),對于測試的幅值也超越了任務(wù)的要求,實現(xiàn)了對于除基本要求之外的波形識別,對于正指數(shù)波、洛倫茲波、心電圖波也做了識別,對于信號的有效值、周期、矩形波的正頻寬和負(fù)頻寬參數(shù)也進(jìn)行了測量,綜上所訴,本文所設(shè)計的系統(tǒng)其幅值和頻率范圍,擴展參數(shù)和波形的測量都達(dá)到了題目的要求,也超越了要求的精度,并實現(xiàn)了波形的顯示等功能,以及按照題目設(shè)計要求進(jìn)行測試,詳細(xì)記錄了測試結(jié)果。完成了題目的所有設(shè)計要求。