0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

電子設(shè)計(jì) ? 作者:工程師飛燕 ? 2018-09-17 08:02 ? 次閱讀

引言

傳統(tǒng)測(cè)量頻率的方法主要有直接測(cè)量法、分頻測(cè)量法、測(cè)周法等,這些方法往往只適用于測(cè)量一段頻率,當(dāng)被測(cè)信號(hào)的頻率發(fā)生變化時(shí),測(cè)量的精度就會(huì)下降。本文提出一種基于等精度原理的測(cè)量頻率的方法,在整個(gè)頻率測(cè)量過(guò)程中都能達(dá)到相同的測(cè)量精度,而與被測(cè)信號(hào)的頻率變化無(wú)關(guān)。本文利用(現(xiàn)場(chǎng)可編程門陣列)的高速數(shù)據(jù)處理能力,實(shí)現(xiàn)對(duì)被測(cè)信號(hào)的測(cè)量計(jì)數(shù);利用單片機(jī)的運(yùn)算和控制能力,實(shí)現(xiàn)對(duì)頻率、周期、脈沖寬度的計(jì)算及顯示。

等精度測(cè)量原理等精度測(cè)量的一個(gè)最大特點(diǎn)是測(cè)量的實(shí)際門控時(shí)間不是一個(gè)固定值,而是一個(gè)與被測(cè)信號(hào)有關(guān)的值,剛好是被測(cè)信號(hào)的整數(shù)倍。在計(jì)數(shù)允許時(shí)間內(nèi),同時(shí)對(duì)標(biāo)準(zhǔn)信號(hào)和被測(cè)信號(hào)進(jìn)行計(jì)數(shù),再通過(guò)數(shù)學(xué)公式推導(dǎo)得到被測(cè)信號(hào)的頻率。由于門控信號(hào)是被測(cè)信號(hào)的整數(shù)倍,就消除了對(duì)被測(cè)信號(hào)產(chǎn)生的士1誤差,但是會(huì)產(chǎn)生對(duì)標(biāo)準(zhǔn)信號(hào)士1的誤差。如圖1所示。

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

系統(tǒng)中,如果采用的標(biāo)準(zhǔn)信號(hào)源的精度很高,就叮以達(dá)到一個(gè)很高的測(cè)量精度,一般情況下都是采用晶體作為標(biāo)準(zhǔn)信號(hào)源,因此可以達(dá)到很高的精度,滿足一般系統(tǒng)的要求。

2、模塊設(shè)計(jì)

本系統(tǒng)在傳統(tǒng)的等精度測(cè)量原理基礎(chǔ)上進(jìn)行了改進(jìn)和優(yōu)化。增加了測(cè)量占空比的功能,同時(shí)由內(nèi)部產(chǎn)生清零信號(hào),節(jié)省了資源。改進(jìn)后的FPGA核心模塊如圖2所示。FPGA部分主要由門控信號(hào)產(chǎn)生模塊、計(jì)數(shù)器控制模塊、計(jì)數(shù)器模塊、鎖存器、中斷輸出、數(shù)據(jù)選擇輸出、頂層模塊組成。

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

1)門控信號(hào)為了測(cè)量頻率為1H:的信號(hào),要求系統(tǒng)的開(kāi)門時(shí)間不小于1s;同理,為了測(cè)量0.1H:頻率的信號(hào),要求開(kāi)門時(shí)間最短為109。但是如果系統(tǒng)一直采用10s的門控信號(hào),測(cè)量高頻信號(hào)的等待時(shí)間太長(zhǎng),顯然不合理,因?yàn)闇y(cè)量結(jié)果的顯示必須要等到一個(gè)測(cè)量周期結(jié)束之后才能更新。本系統(tǒng)采用的方法是,由單片機(jī)給FPGA提供一個(gè)門控的選擇信號(hào),如果FPG人測(cè)得的頻率小于1Hz,那么單片機(jī)自動(dòng)給出一個(gè)啟動(dòng)10s門控的控制信號(hào);反之,如果發(fā)現(xiàn)測(cè)量的頻率大于1Hz,自動(dòng)切換回1。門控,實(shí)現(xiàn)了一個(gè)閉環(huán)的自動(dòng)控制,很好地解決了門控的時(shí)間問(wèn)題。

2)計(jì)數(shù)器控制模塊

該模塊是本文的創(chuàng)新點(diǎn)所在,主要用來(lái)同步被測(cè)信號(hào)。由前面的分析可知,門控信號(hào)啟動(dòng)(上升沿)后,在被測(cè)信號(hào)的上升沿啟動(dòng)計(jì)數(shù)允許模塊,允許計(jì)數(shù)器計(jì)數(shù);門控信號(hào)關(guān)閉(下降沿)后,在被測(cè)信號(hào)的下一個(gè)上升沿關(guān)閉計(jì)數(shù)允許模塊,停止計(jì)數(shù),從而保證了門控信號(hào)是被測(cè)信號(hào)的整數(shù)倍,達(dá)到了等精度的目的。該模塊有GATE,CLKx這2個(gè)輸人端;ENh,ENx,Load,CLR這4個(gè)輸出端。GATE為上一級(jí)給出的門控信號(hào)漢LKesx為被測(cè)信號(hào);EN-h,高電平期間對(duì)標(biāo)準(zhǔn)信號(hào)進(jìn)行計(jì)數(shù),得到CNT_h;EN_x為給出的允許計(jì)數(shù)信號(hào),在EN-x的高電平期間,對(duì)被測(cè)信號(hào)、標(biāo)準(zhǔn)信號(hào)同時(shí)計(jì)數(shù),得到CNT-x,CNT-b;Load為鎖存信號(hào);CLR為計(jì)數(shù)器清零信號(hào)。

由CNTx和CNT_b可以計(jì)算出被測(cè)信號(hào)的頻率和周期;由CNTex和CNTh可以計(jì)算出被測(cè)信號(hào)的脈沖寬度。佑直圖加圖3所式。

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

3)計(jì)數(shù)器模塊

在設(shè)計(jì)計(jì)數(shù)器的過(guò)程中需要注意計(jì)數(shù)器的寬度設(shè)置,系統(tǒng)中采用的最大門控時(shí)間為10a,標(biāo)準(zhǔn)信號(hào)源的頻率為50MHz,則在計(jì)數(shù)的允許時(shí)間內(nèi)計(jì)數(shù)的最大值為:536870912,為了方便數(shù)據(jù)傳輸,系統(tǒng)中采用了32位位寬的計(jì)數(shù)器。

4)鎖存器模塊

在門控信號(hào)關(guān)閉的同時(shí),停止計(jì)數(shù),同時(shí)啟動(dòng)鎖存模塊,把測(cè)量的數(shù)據(jù)鎖存起來(lái),以便傳輸。

5)中斷輸出

鎖存數(shù)據(jù)的同時(shí),給單片機(jī)一個(gè)低電平的中斷信號(hào),通知單片機(jī)讀取數(shù)據(jù)。

6)數(shù)據(jù)選擇輸出模塊

系統(tǒng)中采用了3個(gè)32位的計(jì)數(shù)器,由于單片機(jī)采用的是51系列單片機(jī),只有8位的數(shù)據(jù)總線,所以一次通信只能傳輸8位數(shù)據(jù),3x32/8二12,所以設(shè)計(jì)了一個(gè)數(shù)據(jù)輸出控制模塊,由單片機(jī)提供4根地址線,譯碼后可以選擇16組數(shù)據(jù),單片機(jī)得到中斷通知后,分12次讀取測(cè)量的數(shù)據(jù)。

7)頂層模塊

實(shí)例化所有的底層模塊,同時(shí)為了調(diào)試方便,加入了一些測(cè)試點(diǎn)。FPGA部分的整體結(jié)構(gòu)圖如圖4所示。

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

3、單片機(jī)模塊控制

3.1理論分析

在計(jì)數(shù)允許EN-x時(shí)間內(nèi),對(duì)被測(cè)信號(hào)和標(biāo)準(zhǔn)信號(hào)同時(shí)進(jìn)行進(jìn)行計(jì)數(shù),得到CNT_x和CNT_b,設(shè)被測(cè)信號(hào)的周期為T,,頻率為Fx,標(biāo)準(zhǔn)信號(hào)周期為F6.頻率為Fb。則有:

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

系統(tǒng)中采用式(6)一式(8)進(jìn)行計(jì)算,得到最終的測(cè)量數(shù)據(jù),單片機(jī)中采用浮點(diǎn)數(shù)進(jìn)行運(yùn)算,計(jì)算的精度可以滿足系統(tǒng)的要求。

3.2硬件電路

系統(tǒng)硬件電路比較簡(jiǎn)單,就是單片機(jī)的最小系統(tǒng)加上液晶顯示模塊,設(shè)計(jì)時(shí)需要注意,51單片機(jī)端口電壓是5V輸出,而FPGA是3.3V輸出,所以在數(shù)據(jù)傳輸時(shí)要串聯(lián)一個(gè)電阻一般1000一300f2即可。電路原理圖如圖5所示。

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

3.3軟件設(shè)計(jì)

單片機(jī)軟件主要由系統(tǒng)初始化、數(shù)據(jù)傳輸、頻率、周期、占空比計(jì)算、液晶顯示等程序模塊組成。

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

下面簡(jiǎn)單介紹主函數(shù)及計(jì)算子函數(shù)。軟件流程如圖6所示。

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

中斷服務(wù)子程序如圖7所示。

采用FPGA和單片機(jī)結(jié)合的等精度原理的測(cè)量頻率實(shí)現(xiàn)

4、結(jié)束語(yǔ)

本系統(tǒng)設(shè)計(jì)采用FPGA和單片機(jī)結(jié)合的方式實(shí)現(xiàn)等精度測(cè)量頻率,充分發(fā)揮了FPGA高速的數(shù)據(jù)處理能力以及單片機(jī)的計(jì)算、控制能力。采用硬件描述語(yǔ)言對(duì)系統(tǒng)進(jìn)行仿真測(cè)試.最終下載到FPGA內(nèi)部。單片機(jī)采用C語(yǔ)言編寫(xiě)程序,利用浮點(diǎn)數(shù)進(jìn)行計(jì)算,精度高。同時(shí)設(shè)計(jì)了門控信號(hào)自動(dòng)選擇的閉環(huán)控制,大大地提高了系統(tǒng)的性能。等精度測(cè)量技術(shù)在生產(chǎn)、實(shí)驗(yàn)等環(huán)境中得到了廣泛的應(yīng)用。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600723
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44460

    瀏覽量

    631207
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1339

    瀏覽量

    109884
  • 等精度測(cè)量
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    5955
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA精度頻率計(jì)的設(shè)計(jì)與實(shí)現(xiàn)

    基于FPGA精度頻率計(jì)的設(shè)計(jì)與實(shí)現(xiàn)摘  要:利用
    發(fā)表于 08-19 09:46

    基于Verilog語(yǔ)言的精度頻率計(jì)設(shè)計(jì)

    介紹了精度測(cè)量頻率的原理,利用Verilog硬件描述語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)頻率計(jì)內(nèi)部功能模塊,對(duì)傳統(tǒng)的
    發(fā)表于 03-07 12:44

    單片機(jī)控制的高精度智能頻率計(jì)的FPGA 實(shí)現(xiàn)

    單片機(jī)控制的高精度智能頻率計(jì)的FPGA 實(shí)現(xiàn)
    發(fā)表于 08-20 16:08

    如何利用FPGA實(shí)現(xiàn)高速高精度頻率測(cè)量?

    在電子測(cè)量技術(shù)中,測(cè)頻是最基本的測(cè)量之一。常用的直接測(cè)頻方法在實(shí)用中有較大的局限性,其測(cè)量精度隨著被測(cè)信號(hào)頻率的下降而降低,并且對(duì)被測(cè)信號(hào)的
    發(fā)表于 10-23 06:43

    怎么設(shè)計(jì)一款基于FPGA和凌陽(yáng)16位單片機(jī)的DDS信號(hào)發(fā)生器

    本系統(tǒng)利用單片機(jī)FPGA有效的結(jié)合起來(lái)共同實(shí)現(xiàn)精度頻率
    發(fā)表于 04-30 06:02

    利用單片機(jī)的內(nèi)部計(jì)數(shù)器和程序運(yùn)算功能進(jìn)行精度頻率測(cè)量和顯示

    提出了一種基于單片機(jī)精度數(shù)字測(cè)頻裝置的實(shí)現(xiàn)方案。介紹了利用單片機(jī)的內(nèi)部計(jì)數(shù)器和程序運(yùn)算功能進(jìn)行
    發(fā)表于 04-24 14:39 ?217次下載

    基于單片機(jī)精度數(shù)字測(cè)頻裝置的原理及實(shí)現(xiàn)

    提出了一種基于單片機(jī)精度數(shù)字測(cè)頻裝置的實(shí)現(xiàn)方案。介紹了利用單片機(jī)的內(nèi)部計(jì)數(shù)器和程序運(yùn)算功能進(jìn)行
    發(fā)表于 04-25 13:43 ?46次下載

    基于單片機(jī)和CPLD的頻率測(cè)量研究

    摘 要:針對(duì)單片機(jī)進(jìn)行高頻測(cè)量存在的響應(yīng)速度問(wèn)題,利用CPLD適合精確、高速計(jì)數(shù)的特點(diǎn),提出了一種基于單片機(jī)和CPLD的頻率測(cè)量電路,通過(guò)C
    發(fā)表于 07-06 23:41 ?42次下載

    單片機(jī)控制的高精度智能頻率計(jì)的FPGA實(shí)現(xiàn)

    由于直接計(jì)數(shù)測(cè)頻法只是簡(jiǎn)單地記下單位時(shí)間內(nèi)信號(hào)的重復(fù)次數(shù),其計(jì)數(shù)數(shù)值會(huì)有±1個(gè)計(jì)數(shù)誤差。為提高精度,系統(tǒng)運(yùn)用精度頻率測(cè)試技術(shù),采用
    發(fā)表于 07-17 17:58 ?72次下載

    基于單片機(jī)和CPLD的精度測(cè)頻系統(tǒng)

    摘要:基于CPLD芯片與單片機(jī)AT89C51、AT89C2051,采用閘門測(cè)量技術(shù)實(shí)現(xiàn)精度測(cè)頻
    發(fā)表于 08-18 18:16 ?57次下載

    基于單片機(jī)FPGA精度頻率測(cè)量和IDDS技術(shù)設(shè)計(jì)方案的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng): 本系統(tǒng)利用單片機(jī)FPGA有效的結(jié)合起來(lái)共同實(shí)現(xiàn)精度
    發(fā)表于 07-02 16:11 ?2754次閱讀
    基于<b class='flag-5'>單片機(jī)</b>與<b class='flag-5'>FPGA</b>的<b class='flag-5'>等</b><b class='flag-5'>精度</b><b class='flag-5'>頻率</b><b class='flag-5'>測(cè)量</b>和IDDS技術(shù)設(shè)計(jì)方案的<b class='flag-5'>實(shí)現(xiàn)</b>

    基于FPGA精度頻率計(jì)的設(shè)計(jì)與實(shí)現(xiàn)

    本文介紹了一種利用FPGA實(shí)現(xiàn)DC~100 MHz的自動(dòng)切換量程數(shù)字精度頻率計(jì)的實(shí)現(xiàn)方法,并給
    發(fā)表于 12-03 11:17 ?5498次閱讀

    基于單片機(jī)FPGA頻率特性測(cè)試儀的設(shè)計(jì)

    這里提出了基于單片機(jī)FPGA頻率特性測(cè)試儀的設(shè)計(jì)方案,可使學(xué)生在實(shí)踐中真正觀察和測(cè)試信號(hào)的頻率特性。以單片機(jī)
    發(fā)表于 11-24 14:59 ?2431次閱讀

    STC15單片機(jī)精度頻率計(jì)

    信號(hào)高精度測(cè)量大都使用ARM FPGA等高速處理器加專用計(jì)數(shù)芯片來(lái)完成。這種方法不僅編程復(fù)雜,而且成本高,在一些小型的設(shè)備中并不適用。 本文提出的基于STC15單片機(jī)
    發(fā)表于 01-27 12:26 ?53次下載
    STC15<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>精度</b><b class='flag-5'>頻率</b>計(jì)

    單片機(jī)設(shè)計(jì) 測(cè)量頻率

    單片機(jī)設(shè)計(jì) 測(cè)量頻率一、電路設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)中,經(jīng)常要對(duì)一個(gè)連續(xù)的脈沖波頻率進(jìn)行測(cè)量。在實(shí)際
    發(fā)表于 11-04 11:21 ?34次下載
    <b class='flag-5'>單片機(jī)</b>設(shè)計(jì) <b class='flag-5'>測(cè)量</b><b class='flag-5'>頻率</b>