湯書森,李欣,吳瑯,尹岑
(蘭州大學(xué)信息科學(xué)與工程學(xué)院,蘭州 730000)
?
基于51單片機(jī)軟核的數(shù)字頻率計(jì)設(shè)計(jì)
湯書森,李欣,吳瑯,尹岑
(蘭州大學(xué)信息科學(xué)與工程學(xué)院,蘭州 730000)
以FPGA和51單片機(jī)軟核為核心,設(shè)計(jì)了一個(gè)數(shù)字頻率計(jì),實(shí)現(xiàn)了頻率、周期、時(shí)間間隔和占空比的測(cè)量。系統(tǒng)主要包含3個(gè)部分:整形放大電路、FPGA門控處理電路和顯示電路,整形放大電路采用TI高速比較器TLV3051來實(shí)現(xiàn)整形放大,用FPGA搭建數(shù)字電路來測(cè)量各參數(shù),通過LCD來顯示所測(cè)參數(shù)的值。
FPGA;數(shù)字頻率計(jì);51單片機(jī)軟核
1.1寬帶整形放大電路方案比較與選擇
方案1:整形放大電路先將信號(hào)放大成FPGA可檢測(cè)的電壓,然后通過整形把正弦波變成方波。由于要放大的信號(hào)為1 Hz~100 MHz,而信號(hào)的峰峰值為20 mV~1 V,所以必須將信號(hào)通過寬帶放大器將小信號(hào)放大,然后通過整形電路將信號(hào)整形成FPGA可測(cè)量的方波。對(duì)于不同幅度的電壓,放大的倍數(shù)不同,考慮到該硬件電路在短時(shí)間內(nèi)較難完成,且成本較高,故不選用。
方案2:采用TI的TLV3051高速比較器,由于該芯片的響應(yīng)時(shí)間為4.5 ns的rail to rail輸出,整形后可直接作為FPGA的測(cè)試信號(hào),故將它搭建為高頻信號(hào)的整形電路,但由于高頻比較器響應(yīng)時(shí)間很短,對(duì)高頻噪聲很敏感,而低頻信號(hào)上一般疊加有一定的高頻信號(hào),這就導(dǎo)致輸出信號(hào)沿容易產(chǎn)生抖動(dòng),故測(cè)量低頻信號(hào)時(shí)可采用LM393低頻比較器對(duì)低頻信號(hào)整形。該方案可以實(shí)現(xiàn)有效值10 mV~1 V以及10 Hz~100 MHz的信號(hào)放大整形。
綜合比較,方案2更加簡(jiǎn)單易行,故采用此方案。
1.2參數(shù)測(cè)量模塊的比較和選擇
(1) 頻率、周期測(cè)量
方案1:系統(tǒng)測(cè)頻、測(cè)周期部分采用中小規(guī)模數(shù)字集成電路。中小規(guī)模集成電路應(yīng)用技術(shù)成熟,能可靠地完成頻率計(jì)的基本功能,但由于系統(tǒng)功能要求較高,所以電路過于復(fù)雜,而且多量程轉(zhuǎn)換開關(guān)使用不便。
方案2:采用測(cè)頻集成芯片。它只需要外接幾個(gè)元器件,就可以構(gòu)成一臺(tái)體積小、成本低的多功能計(jì)數(shù)器,但由于其測(cè)量頻率范圍有限(0~10 MHz),不能很好地滿足題目要求。
方案3:采用FPGA作為控制核心,門控信號(hào)在FPGA內(nèi)部產(chǎn)生。FPGA是現(xiàn)場(chǎng)可編程芯片,極大地提高了設(shè)計(jì)的靈活性,測(cè)試使用的FPGA開發(fā)板含有20 MHz的外部晶振,可倍頻至2 GHz。綜合考慮,最終選定方案3。
(2) 時(shí)間間隔測(cè)量
方案1:通過測(cè)量?jī)陕沸盘?hào)的相位差,結(jié)合所測(cè)同頻信號(hào)周期得出兩路信號(hào)的時(shí)間間隔。該方案的關(guān)鍵部分在于硬件電路(包括整形、鑒相和A/D轉(zhuǎn)換電路),低通濾波器的設(shè)計(jì)比較復(fù)雜,誤差較大。
方案2:對(duì)兩路測(cè)試信號(hào)進(jìn)行異或操作,再在FPGA內(nèi)對(duì)異或后的信號(hào)脈沖t的寬度進(jìn)行計(jì)數(shù)。這種方案操作簡(jiǎn)單,可以同時(shí)保證低頻和高頻部分的精度。綜上所述,選擇方案2。
(3) 占空比測(cè)量
方案1:信號(hào)連接單片機(jī)定時(shí)器的捕獲端口(上升觸發(fā))測(cè)量方波的周期T,雙邊沿觸發(fā)測(cè)量高電平持續(xù)時(shí)間,兩者比值即為占空比。該方式由于單片機(jī)自身時(shí)鐘的限制,所測(cè)頻率很難提高。
方案2:對(duì)占空比的測(cè)量可以通過測(cè)量正反兩個(gè)脈寬的計(jì)數(shù)值來獲得。對(duì)正脈寬計(jì)數(shù)值是N1,負(fù)脈寬計(jì)數(shù)值為N2,所以占空比為N1/(N1+N2)×100%。由于FPGA的時(shí)鐘頻率很高,可以有很高的精度和頻率,所以選擇方案2實(shí)現(xiàn)。
1.3顯示模塊的比較和選擇
方案1:采用LCD12864液晶顯示模塊,優(yōu)點(diǎn)是帶有文字庫(kù),可以顯示圖像效果和8×4個(gè)漢字,價(jià)格比LCD1602稍貴。
方案2:采用LCD1602液晶顯示模塊,缺點(diǎn)是只能顯示字母、數(shù)字和符號(hào),不能顯示文字,但是價(jià)格便宜、功耗更低,故選擇方案2。
1.4整體實(shí)現(xiàn)方案
考慮到FPGA(含51軟核)的編程的靈活性和使用51單片機(jī)的方便,實(shí)現(xiàn)方案(采用的開發(fā)板型號(hào)為KX_7C5E+),整體實(shí)現(xiàn)方案如圖1所示。
圖1 整體實(shí)現(xiàn)方案
鍵盤電路完成初始化、頻率、占空比等測(cè)量的輸入選擇,然后通過FPGA完成處理,結(jié)果在LCD上顯示。
1.5提高儀器靈敏度的措施
考慮到干擾和電路帶來的問題,采用如下措施提高儀器的靈敏度:
① 采用同軸電纜;
② 采用高精度比較器;
③ 提高FPGA的時(shí)鐘信號(hào)。
2.1比較放大電路
比較放大電路如圖2所示,本電路的功能是對(duì)50 mV~1 V的高頻交流小信號(hào)進(jìn)行整形和放大。輸入信號(hào)經(jīng)過電壓比較器正端和接GND的負(fù)端比較,由于THV3051是軌到軌推挽輸出,當(dāng)信號(hào)電壓大于0時(shí),輸出正電源電壓,當(dāng)輸入信號(hào)小于0時(shí)輸出0。
圖2 比較放大電路
2.2低頻電壓比較器
低頻電壓比較器功能是對(duì)50 mV~1 V的低頻交流信號(hào)進(jìn)行整形和放大,其原理同上。
2.3頻率測(cè)量電路
圖3采用等誤差測(cè)頻法實(shí)現(xiàn)對(duì)待測(cè)信號(hào)頻率的測(cè)量。預(yù)置門控信號(hào)是CL引腳,它是一個(gè)寬度為Tpr的脈沖,inst9、inst10是兩個(gè)可控計(jì)數(shù)器,標(biāo)準(zhǔn)頻率信號(hào)從inst9的時(shí)鐘輸入端BCLK輸入,其頻率為fcs。經(jīng)過整形、放大后的被測(cè)信號(hào)從inst10的輸入端TCLK輸入,其頻率為fx。當(dāng)預(yù)置門控信號(hào)為高電平時(shí),經(jīng)整形后的被測(cè)信號(hào)上升沿通過D觸發(fā)器Q端同時(shí)啟動(dòng)計(jì)數(shù)器inst9、inst10。inst9、inst10分別對(duì)整形后的被測(cè)信號(hào)和標(biāo)準(zhǔn)信號(hào)同時(shí)計(jì)數(shù);預(yù)置門控信號(hào)為低電平時(shí),經(jīng)整形后的被測(cè)信號(hào)的一個(gè)上升沿將使這兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉。
圖3 頻率的測(cè)量電路
設(shè)在一次預(yù)置門控信號(hào)為Tpr中,被測(cè)信號(hào)計(jì)數(shù)值為Nx,標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為Ns,則有下式成立:
Nx·Tx=Ns·Ts
即fx/Nx=fcs/Ns,于是有fx=(Nx/Ns)·fcs。
測(cè)出頻率后根據(jù)公式T=1/f直接可得出周期。
2.4時(shí)間間隔測(cè)量原理
T1和T2為兩個(gè)被測(cè)的同頻信號(hào),T1或T2的上升沿到來時(shí)會(huì)觸發(fā)與它相連的T觸發(fā)器發(fā)生翻轉(zhuǎn),經(jīng)異或門后輸出的高電平即為脈寬時(shí)間t。時(shí)間測(cè)量原理圖如圖4所示。
圖4 時(shí)間間隔測(cè)量原理圖
對(duì)兩路測(cè)試信號(hào)進(jìn)行異或操作,再在FPGA內(nèi)對(duì)異或后的信號(hào)脈沖t的寬度進(jìn)行計(jì)數(shù)。其中BENA為計(jì)數(shù)器的使能信號(hào),當(dāng)BENA為高電平時(shí)計(jì)數(shù)器開始計(jì)數(shù),當(dāng)BENA為低電平時(shí)計(jì)數(shù)器停止計(jì)數(shù)。
2.5占空比測(cè)量原理
如圖5所示,對(duì)占空比的測(cè)量可以通過測(cè)量正反兩個(gè)脈寬的計(jì)數(shù)值來獲得。設(shè)圖5中inst9對(duì)正脈寬的計(jì)數(shù)值為N1,對(duì)負(fù)脈寬的計(jì)數(shù)值為N2,則周期計(jì)數(shù)值為N1+N2,于是占空比為:
k=[N1/(N1+N2)]×100%
圖5 占空比測(cè)量原理
本系統(tǒng)主要功能由FPFA內(nèi)部信號(hào)處理電路實(shí)現(xiàn),軟件部分主要是通過FPGA內(nèi)部的51單片機(jī)軟核,以及VHDL語(yǔ)言、C和匯編語(yǔ)言來實(shí)現(xiàn)相應(yīng)的控制、數(shù)據(jù)處理和顯示功能。整體軟件實(shí)現(xiàn)流程圖如圖6所示。
圖6 軟件實(shí)現(xiàn)流程圖
在測(cè)量有效值電壓為10 mV、50 mV及1 V時(shí),對(duì)應(yīng)頻率為1 Hz、10 MHz和50 MHz的測(cè)量值,從而評(píng)估儀器整體性能。
測(cè)試方案及測(cè)試條件:采用160 MHz雙通道任意函數(shù)發(fā)生器、200 MHz示波器(GDS-2202A)、頻率計(jì)FCA3000。
測(cè)試結(jié)果記錄如表1所列。
表1 設(shè)定標(biāo)準(zhǔn)頻率在不同有效電壓值下的測(cè)量結(jié)果
基于FPGA設(shè)計(jì)的數(shù)字系統(tǒng)應(yīng)用日益廣泛,本文詳細(xì)介紹了不同方案的比較和選擇,最終設(shè)計(jì)了一個(gè)數(shù)字頻率計(jì),并完成了測(cè)量,充分體現(xiàn)了基于FPGA的51單片機(jī)軟核在實(shí)現(xiàn)嵌入式系統(tǒng)方面的靈活性和高效性。
[1] 夏宇聞,黃然.Verilog SOPC高級(jí)實(shí)驗(yàn)教程[M].北京:北京航空航天大學(xué)出版社,2009.
[2] Peter J.Ashenden.Verilog 嵌入式數(shù)字系統(tǒng)設(shè)計(jì)教程[M].夏宇聞,夏嘉寧,譯.北京:北京航空航天大學(xué)出版社,2009.
[3] 張洪潤(rùn),張亞凡,孫悅,等.FPGA/CPLD應(yīng)用設(shè)計(jì)200例(上、下冊(cè))[M].北京:北京航空航天大學(xué)出版社,2009.
[4] 郭天祥.C51單片機(jī)C語(yǔ)言教程[M].北京:電子工業(yè)出版社,2013.
[5] 閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].5版.北京:高等教育出版社,2005.
湯書森(高級(jí)工程師),主要研究方向?yàn)榍度胧较到y(tǒng)與應(yīng)用。
Digital Frequency Meter Based on 51 Microcontroller Soft Core
Tang Shusen,Li Xin,Wu Lang,Yin Cen
(College of Information Science and Engineering,Lanzhou University,Lanzhou 730000,China)
In the paper,a digital frequency meter is designed which is based on FPGA and 51 microcontroller softcore.The design achieves the frequency measurement,period measurement,time interval measurement and duty cycle measurement.The system mainly consists of three main parts:the shaping amplifier circuit,FPGA gating processing circuit and display circuit.TI TLV3051 is used to achieve shaping amplification,FPGA is used to build digital circuit to measure various parameters,and the LCD is used to display the values of the measured parameters.
FPGA;digital frequency meter;51 microcontroller soft core
TP39
A
(責(zé)任編輯:楊迪娜2015-11-02)