国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單片機(jī)和FPGA的等精度頻率計系統(tǒng)設(shè)計

2022-10-19 04:51:28毛群
電子制作 2022年19期
關(guān)鍵詞:頻率計測頻計數(shù)

毛群

(阿壩師范學(xué)院 電子信息與自動化學(xué)院,四川汶川, 623002)

0 引言

頻率測量在信號處理、工程應(yīng)用中隨處可用,常見的頻率測量方法有直接測頻法和周期測頻法以及等精度測頻法。其中直接測頻、周期測頻法的弊端在于測頻誤差要隨待測信號本身頻率變化而變化,使其在工程應(yīng)用中有所限制。而等精度測頻法測量精度高且不會因待測信號頻率變化而發(fā)生變化[1]。

1 等進(jìn)度測頻法原理

等精度測量頻率方法消除誤差的原理是采用被測信號觸發(fā)門控信號,使得實際門控信號周期不再是一個固定值,而剛好是被測信號周期的整數(shù)倍,這樣便消除傳統(tǒng)測量中產(chǎn)生±l的周期誤差,使測頻精度與待測信號頻率無關(guān),實現(xiàn)待測信號全頻率范圍等精度測量[2]。其時序如圖1所示,設(shè)在閘門時間T內(nèi),計數(shù)器計數(shù)N個待測時鐘,計數(shù)M個基準(zhǔn)時鐘。

圖1 等精度測頻工作時序圖

在時間T內(nèi),利用兩個計數(shù)器同步計數(shù)關(guān)系有:

則待測信號頻率為:

2 頻率計系統(tǒng)設(shè)計

數(shù)字頻率計系統(tǒng)由自動增益控制AGC模塊、整形模塊、頻率采集模塊、主控模塊和液晶顯示模塊構(gòu)成,系統(tǒng)結(jié)構(gòu)框圖如圖2所示。頻率采集模塊采用FPGA實現(xiàn),用它設(shè)計等精度測量模塊和SPI通信模塊,對數(shù)據(jù)進(jìn)行采集后送給單片機(jī),完成對頻率數(shù)據(jù)的采集和與主模塊通信。主控模塊采用STM32F103C8T6單片機(jī),其內(nèi)置64K或128K閃存程序儲存器,具有快速處理數(shù)據(jù)、低功耗、價格低廉等優(yōu)點。STM32單片機(jī)接收數(shù)據(jù)后,對數(shù)據(jù)進(jìn)行處理計算,送LCD液晶顯示。系統(tǒng)前端主要是利用壓控放大器AD603和檢波電路實現(xiàn)信號增益控制,集成施密特觸發(fā)器74HC14電路模塊實現(xiàn)信號整形[3]。

圖2 系統(tǒng)結(jié)構(gòu)框圖

3 核心模塊設(shè)計

■3.1 自動增益控制及整形電路設(shè)計

為適應(yīng)各種頻率、幅度的待測信號fs,頻率計系統(tǒng)設(shè)計了自動增益控制電路(AGC),該模塊主要由程控放大器AD603、高速比較器AD8561、集成放大器OPA690和檢波電路構(gòu)成,如圖3所示。電路基本原理:通過放大信號反饋改變電路放大倍數(shù),實現(xiàn)自動調(diào)節(jié),使放大信號幅度在一定的范圍內(nèi)保持穩(wěn)定[4]。從而控制其增益,使其輸出幅度穩(wěn)定的信號。輸出信號通過如圖4所示共射放大整形電路輸入FPGA。

圖3 自動增益控制電路圖

圖4 整形電路圖

■3.2 等精度測頻模塊電路的FPGA設(shè)計

基于等精度測頻原理,通過Verilog語言編寫代碼,設(shè)計等精度測頻模塊電路,電路如圖5所示,本設(shè)計采用的是FPGA CycloneII-EP2C5T144C8N。脈沖計數(shù)(signal)采用系統(tǒng)時鐘分頻。單片機(jī)發(fā)送清零信號對FPGA計數(shù)器清零,發(fā)啟動信號到FPGA的enable端口。經(jīng)過邏輯判斷后計數(shù)模塊輸出高電平的clken信號到DFF觸發(fā)器輸入D端口,此時觸發(fā)器輸出Q端是低電平,計數(shù)模塊還沒有開始計數(shù)和計時,只有當(dāng)輸入信號出現(xiàn)上升沿時,觸發(fā)器輸出Q端才輸出高電平到計數(shù)模塊的gate_ctr端口(門控信號),計數(shù)模塊在門控信號為高電平時開始對輸入信號和標(biāo)準(zhǔn)時鐘信號計數(shù)。當(dāng)計時到1s時,計數(shù)模塊控制邏輯輸出低電平的clken信號到DFF觸發(fā)器D端口,此時觸發(fā)器輸出Q端還是高電平,計數(shù)模塊還沒停止工作,只有當(dāng)輸入信號出現(xiàn)上升沿時,觸發(fā)器輸出Q端才輸出低電平到計數(shù)模塊的gate_ctr端口。因為計數(shù)器是在輸入信號上升沿開始工作,同樣在輸入信號的上升沿結(jié)束,實現(xiàn)了等精度測頻,沒有脈沖計數(shù)的誤差[5~6]。

圖5 等精度測頻原理的FPGA設(shè)計電路圖

在結(jié)束一次測量后,計數(shù)模塊(freq)輸出finish信號給單片機(jī),單片機(jī)分時讀取計數(shù)數(shù)據(jù)和計時數(shù)據(jù),并完成計算處理得出頻率。讀取數(shù)據(jù)需要sel、addr0、addr1控制信號參與,數(shù)據(jù)口(count)是8位,而計數(shù)(計時)32位,可分批讀取,當(dāng)SEL為1時,讀取計數(shù)值,分4次讀??;當(dāng)SEL為0時,讀取計時值,分4次讀取,然后進(jìn)行數(shù)據(jù)處理。讀取并處理完成數(shù)據(jù)的頻率值后,進(jìn)入下一次測量。下一次測量前,單片機(jī)發(fā)送clr清零信號到FPGA,把上一次的計數(shù)計時數(shù)據(jù)、信號標(biāo)志位等復(fù)位;單片機(jī)發(fā)送啟動信號(低電平)到FPGA的enable端口,開始新一輪測量。

■3.3 FPGA模塊設(shè)計

FPGA除了完成等精度測量電路,還要實現(xiàn)將采集的頻率數(shù)據(jù)與主控單片機(jī)模塊通信,故在FPGA中設(shè)計SPI通信模塊。其工作時序為SCK上升沿數(shù)據(jù)采樣,下降沿輸出數(shù)據(jù)。在SPI通信模塊中先分別捕捉由STM32傳送的SCK信號的上升沿和下降沿,然后SCK上升沿且CS為低電平,F(xiàn)PGA作為從機(jī)逐位讀取STM32主機(jī)發(fā)送的命令數(shù)據(jù)并寄存在rxd_data中,再傳送freq模塊的rxd_command;SCK下降沿且CS為低電平,F(xiàn)PGA從機(jī)通過MISO通道向STM32主機(jī)逐位傳送寄存在txd_Data中的數(shù)據(jù)。采用Verilog語言編程實現(xiàn)的FPGA電路設(shè)計如圖6所示。

圖6 FPGA模塊整體電路圖

■3.4 單片機(jī)主控模塊設(shè)計

單片機(jī)主控與外圍電路連接如圖7所示,本設(shè)計使用STM32F103C8T6單片機(jī)。其中2腳~14腳外接一個LCD液晶顯示,用于顯示測得的信號頻率和周期;21腳~24腳是用于與FPGA通信的四條SPI串線:從設(shè)備片選CS、MISO通道、MOSI通道和時鐘信號SCLK。四條SPI串線控制整個系統(tǒng):通過SPICS選中FPGA或初始化FPGA,時鐘信號SCLK是由STM32控制,STM32向FPGA發(fā)送數(shù)據(jù)時設(shè)置為高電平,STM32接收FPGA傳回的數(shù)據(jù)時設(shè)置為低電平。MOSI通道用于STM32向FPGA發(fā)送數(shù)據(jù)或者命令,而MISO通道則是用于FPGA向STM32發(fā)送數(shù)據(jù)或者命令,通過這兩個通道,在時鐘信號的相應(yīng)階段,實現(xiàn)STM32和FPGA的通信。

圖7 STM32電路連接圖

STM32主控設(shè)計流程如圖8所示。當(dāng)系統(tǒng)開始運(yùn)行,STM32單片機(jī)初始化I/O端口和LCD液晶顯示后,根據(jù)SPI協(xié)議,通過MOSI端向FPGA發(fā)送初始化命令(其中包括使能清零和數(shù)據(jù)清零),再向FPGA發(fā)送測頻使能信號,控制FPGA開始測頻,F(xiàn)PGA計數(shù)器計數(shù)和定時。單片機(jī)檢測FPGA是否傳送回測頻結(jié)束信號,確定狀態(tài):如果接收到測頻結(jié)束信號,則從FPGA中讀取測頻數(shù)據(jù),同時控制FPGA停止測頻,然后對采集的數(shù)據(jù)進(jìn)行運(yùn)算處理得到所測的頻率和周期,并在LCD1602液晶上顯示,再將FPGA初始化,啟動下一次測量。

圖8 STM32單片機(jī)主控流程圖

4 系統(tǒng)測試

由于自動增益控制電路帶寬設(shè)計約為45MHz。系統(tǒng)測試時,在選 擇1Hz~40MHz內(nèi) 選 取100Hz、100kHz、1MHz、10MHz、40MHz頻率點進(jìn)行測試,測量結(jié)果如表1所示。從測量結(jié)果可以看出,所設(shè)計的等精度數(shù)字頻率計系統(tǒng)消除了頻率測量中的±1誤差,在整個測量范圍內(nèi)測量相對誤差都在2×10-4以內(nèi),系統(tǒng)具有較寬測量范圍和一定精度。

表1 測量結(jié)果

5 結(jié)論

本文設(shè)計的數(shù)字頻率計主要利用FPGA和單片機(jī)設(shè)計,由FPGA采集計數(shù)值,單片機(jī)進(jìn)行頻率值計算和顯示,規(guī)避了FPGA不便于浮點運(yùn)算的不足,有效利用單片機(jī)便于控制及人機(jī)交互的特點。實驗表明,提高系統(tǒng)晶振頻率和精度,可有效保證頻率計的測量精度,該設(shè)計具有潛在的實用價值。

猜你喜歡
頻率計測頻計數(shù)
古人計數(shù)
遞歸計數(shù)的六種方式
諧振式傳感器高精度頻率測量技術(shù)研究*
遙測遙控(2020年3期)2020-09-17 13:38:46
古代的計數(shù)方法
這樣“計數(shù)”不惱人
瞬時測頻接收機(jī)自動測試系統(tǒng)的設(shè)計與實現(xiàn)
電子偵察測頻系統(tǒng)的建模與仿真
電子科技(2015年2期)2015-12-20 01:09:10
瀑布溝水電站調(diào)速器齒盤測頻的技術(shù)改造
無晶振輸出頻率計的自動檢定裝置研究
基于等精度測量原理頻率計的設(shè)計與實現(xiàn)
都安| 建阳市| 葵青区| 洮南市| 安义县| 延津县| 汝南县| 阿城市| 玉树县| 确山县| 榆林市| 台安县| 奉节县| 裕民县| 方山县| 兖州市| 游戏| 城市| 新郑市| 宁都县| 吉林省| 瑞金市| 阳朔县| 梁山县| 太原市| 凤庆县| 凤城市| 梁平县| 庆安县| 芦山县| 普陀区| 凌云县| 枞阳县| 临高县| 宣化县| 息烽县| 海原县| 鄂托克前旗| 云龙县| 三台县| 黎川县|