吳正平++朱壽羽++郭家琪++查彬
摘 要 針對高精度脈沖信號的幅度、頻率、占空比以及上升時間等參數(shù)測量的要求,主要是以FPGA為核心處理器,STM32作為人機交互單元,對經(jīng)過信號處理模塊處理過的脈沖信號進行測量、處理,參數(shù)設(shè)置以及顯示。最終在50 輸入阻抗的條件下,能夠測量5Hz-10MHz的脈沖信號;占空比:1%-99%;幅度:0.1V-10V;脈沖上升時間:40-999ns誤差絕對值分別小于0.01%、0.1%、0.1%、1%;并在此基礎(chǔ)上制作一個標(biāo)準(zhǔn)矩形脈沖信號發(fā)生器,各參數(shù)范圍可調(diào),且精度高,可靠性好,具有很高的應(yīng)用價值。
【關(guān)鍵詞】等精度 脈沖 FPGA STM32
1 引言
在目前科技高速發(fā)展的大背景下,進而對于脈沖信號測量精度的相關(guān)要求也越來越高,對脈沖信號參數(shù)測量的儀器應(yīng)用也越來越廣泛。尤其是在雷達信號等在微弱信號領(lǐng)域以及在檢測各種環(huán)境下時鐘信號時對于脈沖信號檢測的精度要求很高,所以說像一些先進的軍用偵察機、反潛機只有少數(shù)幾個國家能夠做出來,就是因為這些技術(shù)的核心就是對小信號檢測的分析處理技術(shù)要求十分高。
脈沖信號包含了豐富的高頻和低頻成分。在數(shù)據(jù)采集系統(tǒng)中,通常需要脈沖信號源提供的信號來檢測數(shù)據(jù)采集設(shè)備的工作狀況。此外,脈沖信號源產(chǎn)生的信號還可以作為控制信號,用于實現(xiàn)對采集設(shè)備的控制。因此,在實際應(yīng)用中要準(zhǔn)確的測量各種脈沖信號就顯得尤為重要。本文針對的高速脈沖信號的測量要求和方法,采用FPGA為主核心處理器,STM32為人機交互協(xié)調(diào)控制器,通過外圍信號調(diào)理和整形電路對被測信號進行放大和整形,便于FPGA的實時準(zhǔn)確采樣。同時為了便于系統(tǒng)自校準(zhǔn)和對外信號輸出需要,本文還特別設(shè)計了標(biāo)準(zhǔn)矩形脈沖信號發(fā)生器,輸出信號頻率、幅度、脈寬在較大范圍內(nèi)皆可調(diào),同時將脈沖信號上升時間控制在20ns以內(nèi),并且使其過沖不大于1%。
2 系統(tǒng)設(shè)計原理及測量方案
2.1 系統(tǒng)設(shè)計原理
高速脈沖信號的測量主要包括對脈沖信號的頻率、幅度、占空比、及其上升時間的測量。因為高速脈沖信號速度快、不易采集分析,而以現(xiàn)場可編程門陣列(FPGA)作為核心,F(xiàn)PGA核心頻率可以達到幾百兆赫茲,并行處理能力強,適于處理高速信號,具體系統(tǒng)原理圖如圖1所示。信號調(diào)理電路對輸入脈沖信號的進行衰減或放大,一路經(jīng)過高速AD轉(zhuǎn)換將數(shù)字信號以并行數(shù)據(jù)的方式和FPGA通信,另一路通過高速比較器將方波送入FPGA;FPGA對方波信號進行分頻,利用100MHZ的時鐘計數(shù)器進行頻率、占空比,電壓幅度,脈沖信號上升時間的測量,將測量結(jié)果送給STM32F103VET6,STM32F103VET6微控制器控制鍵盤輸入和LCD液晶顯示屏輸出結(jié)果等,同時利用單片機對FPGA進行控制。同時由于選用EP4CE6E22C8N型號FPGA為處理器,功能強大,外加DA轉(zhuǎn)換和信號放大電路可以較容易實現(xiàn)任意函數(shù)信號輸出。
2.2 參數(shù)測量實現(xiàn)方法
2.2.1 頻率測量
FPGA的晶振頻率設(shè)置為100M,則每一個信號的周期為:
STM32控制FPGA的分頻系數(shù)n,不同頻率范圍的信號輸入時自動通過調(diào)整n,從而達到最理想的測量精度和速度。從硬件電路處理過的方波信號第一個上升沿開始,計數(shù)FPGA的上升沿,直到方波信號的第n個上升沿停止,F(xiàn)PGA的上升沿個數(shù)為k,則通過式(1)計算得到脈沖信號的頻率。
2.2.2 占空比測量、脈沖幅度Vm、上升時間tτ測量
多被測脈沖的占空比測量采用直接脈寬測量。脈寬測量通常采用脈沖計數(shù)法,即在待測信號的高電平或低電平用高頻時鐘脈沖進行計數(shù),然后根據(jù)脈沖個數(shù)計算待測信號寬度。則高電平計數(shù)值為NH,低電平為NL,則占空比為:
由AD9280進行高速AD轉(zhuǎn)換對采樣得到后的波形進行上升沿檢測,將檢測信號由FPGA處理再送至STM32通過算法計算,處理得到Vm、tτ。
2.2.3 標(biāo)準(zhǔn)矩形脈沖信號發(fā)生器
由FPGA模塊的DA_out經(jīng)AD9742處理,經(jīng)LMH6643為核心的信號調(diào)理模塊將信號進行調(diào)整放大(放大倍數(shù)為四倍),再由以MC74HC4051AD為核心的模擬開關(guān)選擇衰減檔,最后由THS3091對信號進一步處理輸出,最終可得到一個頻率f0為1MHZ,脈寬 tw為100ns,幅度為5±0.1V(負(fù)載電阻為50 )上升時間tτ不大于30ns,過沖σ不大于5%的標(biāo)準(zhǔn)矩形脈沖信號。通過程序的設(shè)計使輸出信號的幅度、頻率、占空比可調(diào)且誤差小于2%。
3 系統(tǒng)硬件設(shè)計
3.1 信號調(diào)理電路
信號調(diào)理電路如圖2所示,采用JRC-21F/4100對輸入信號DC耦合,用AD603放大(程控增益)對信號進一步處理,最后用LMV7235構(gòu)成電壓比較器,并可以利用滯回比較器的滯回特性消除抖動的影響。有效控制輸入脈沖信號在被檢測之前的可測性,為后期處理做一個良好的鋪墊。有利于降低整體誤差并提高系統(tǒng)的穩(wěn)定性。
前端信號處理采用AD603可變增益放大器(Variable Gain Amplifier,VGA),其增益變化范圍為:10dB~30d,帶寬90M,由LMH6643將電壓信號輸出:Vout=(2V+)-(V-)。對于輸入信號進行調(diào)整從而更好的適應(yīng)本系統(tǒng)的檢測機制,使檢測結(jié)果更加準(zhǔn)確。
3.2 高速A/D轉(zhuǎn)換電路
高速AD轉(zhuǎn)換電路采用AD9280ARS(32M采樣率AD轉(zhuǎn)換器),其中采用BAT54S組成二極管鉗位保護電路,通過AD轉(zhuǎn)換后將8位數(shù)字信號由DSO.D[0,7]送至FPGA,再通過FSMC總線傳送到STM32,由STM32處理器對數(shù)據(jù)信號進行計算,從而得出被測信號的幅值。
3.3 單片機及其外圍電路
以STM32為核心的單片機處理電路,與FPGA之間進行實時通信,用相應(yīng)算法對經(jīng)過FPGA分頻處理的脈沖信號進行計算,最終在LCD顯示屏上顯示相應(yīng)的幅度、頻率、占空比、上升時間的測量參數(shù)。
本次設(shè)計中的LCD是由單獨的一片CPLD驅(qū)動的,由FPGA發(fā)送顯示內(nèi)容,采用STM32單片機能夠更快的分析、處理、發(fā)送數(shù)據(jù),同時較其他單片機如51單片機擁有更多的I/O端口和更高的處理速度。以HD7279為按鍵檢測芯片,具有較好的按鍵消抖功能,按鍵對被測信號的波形進行調(diào)節(jié),提高檢測靈敏度,對于附加功能標(biāo)準(zhǔn)矩形脈沖信號發(fā)生器中的輸出信號頻率、幅度等參數(shù)也可以通過按鍵進行調(diào)節(jié),從而適應(yīng)各種要求的信號輸出,提高使用者的體驗。
4 系統(tǒng)軟件設(shè)計
開機后首先進行系統(tǒng)初始化并進入功能選擇界面,主要有時鐘、鍵盤初始化,掃描鍵盤I/O端口,獲得相應(yīng)按鍵值,LCD初始化,A/D采樣初始化,各種外設(shè)芯片初始化,設(shè)置I/O端口,初始化序列及相關(guān)函數(shù)。所有初始化進程在開機時開機動畫界面導(dǎo)入期間完成,提高使用效率和美觀。采用5.4TFT LCD彩屏,用于顯示相關(guān)檢測參數(shù)。
因為在該設(shè)計中增加了標(biāo)準(zhǔn)矩形脈沖信號發(fā)生器,可根據(jù)不同的按鍵狀態(tài)進入相應(yīng)的工作模式所以用按鍵對兩種模式進行切換,通過按鍵控制測量脈沖信號的幅度、頻率、占空比以及上升時間等。單片機將來自FPGA的數(shù)據(jù)進行轉(zhuǎn)換和處理,將結(jié)果顯示在液晶屏上,在開機初始化時對LCD初始化,將屏幕分為波形顯示區(qū)域、數(shù)據(jù)顯示區(qū)域、功能調(diào)節(jié)區(qū)域。波形和波形顯示區(qū)域可以實時顯示被測信號的各種參數(shù);功能調(diào)節(jié)區(qū)域主要對被測信號的測試條件進行調(diào)節(jié),同時對矩形脈沖信號的各項輸出參數(shù)進行調(diào)節(jié),使其能夠達到需求的范圍。具體系統(tǒng)框圖如圖3所示。
5 結(jié)論
測量數(shù)據(jù):
本測量儀實現(xiàn)了方波信號頻率(誤差不超過0.01%)、占空比(誤差不超過0.1%)、幅度(誤差不超過0.1%)、脈沖信號上升時間測量(誤差不超過1.5%),且最高測試頻率能達到10MHZ,很好的實現(xiàn)了測量6HZ~8MHZ相關(guān)數(shù)據(jù)。實際測量數(shù)據(jù)如表1所示。
標(biāo)準(zhǔn)矩形脈沖信號發(fā)生器,通過按鍵對輸出脈沖信號的頻率、脈寬、幅度進行調(diào)節(jié),對于上身時間控制在20ns以內(nèi),整體性能相對較高??蓾M足一般情況下脈沖信號的輸出。實際測量數(shù)據(jù)如表2所示。
本次設(shè)計充分利用FPGA和單片機的協(xié)同處理能力,使數(shù)據(jù)更加快速、有效的進行傳輸和處理,在未來的設(shè)計中將會進一步進行優(yōu)化,更多的應(yīng)用于工業(yè)4.0進程中的更多領(lǐng)域,有利于更好的對多種復(fù)雜信號進行處理。
參考文獻
[1]徐文強,任勇峰,文豐.基于FPGA的高速脈沖信號源的設(shè)計與實現(xiàn)[J].微計算機信息,2007,23(02):251-252,229.
[2]胡宴如,耿蘇燕.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2010.
[3]何希才譯.運算放大器應(yīng)用電路設(shè)計[M].北京:科學(xué)出版社,2007.
[4]張陽,劉軍,嚴(yán)漢宇等.精通STM32F4[M].北京:北京航空航天大學(xué)出版社,2015.
[5]吳厚航.深入淺出玩轉(zhuǎn)FPGA[M].北京:北京航空航天大學(xué)出版社,2013.
[6]譚浩強.C程序設(shè)計(第三版)[M].北京:清華大學(xué)出版社,2005.
[7]謝浪清.高速等精度頻率測量的研究[J].中國科技信息,2006,15.
[8]王誠,吳繼華.Altra FPGA/GPLD設(shè)計(基礎(chǔ)篇)[M].北京:人民郵電出版社,2005.
[9]焦新泉,秦麗.信號傳輸過程中的反射及其抑制方法[J].測試技術(shù)學(xué)報,2004,18(z2):93-96.
作者單位
三江學(xué)院工程教育學(xué)院 江蘇省南京市 210012