自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于高速串行BCD碼除法的數(shù)字頻率計的設(shè)計
基于高速串行BCD碼除法的數(shù)字頻率計的設(shè)計
 更新時間:2008-7-26 21:04:29  點擊數(shù):4
【字體: 字體顏色

  摘要: 介紹了在 PPGA 芯片上實現(xiàn)數(shù)字頻率計的原理。對各種硬件除法進行了比較 , 提出了高速串行 BCD 碼除法的硬件算法,并將其應(yīng)用在頻率計設(shè)計中。

    關(guān)鍵詞: 頻率測量 周期測量 FPGA VHDL 狀態(tài)機

數(shù)字頻率計是計算機、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。采用 VDHL 編程設(shè)計實現(xiàn)的數(shù)字頻率計,除被測信號的整形部分、鍵輸入部分和數(shù)碼顯示部分以外,其余全部在一片 FPGA 芯片上實現(xiàn),整個系統(tǒng)非常精簡,而且具有靈活的現(xiàn)場可更改性。在不更改硬件電路的基礎(chǔ)上,對系統(tǒng)進行各種改進還可以進一步提高系統(tǒng)的性能。該數(shù)字頻率計具有高速、精確、可靠、抗干擾性強和現(xiàn)場可編程等優(yōu)點。

在設(shè)計中,所有頻段均采用直接測頻法對信號頻率進行測量,克服了逼近式換擋速度慢的缺點;采用了門控信號和被測信號對計數(shù)器的使能端進行雙重控制,提高了測量的精確度;在運算單元采用了高速串行 BCD 碼除法,不僅提高了運算速度,而且減小了資源消耗。

1 系統(tǒng)結(jié)構(gòu)及基本設(shè)計原理

以一個 8 位十進制、測量范圍為 1Hz~100MHz 的數(shù)字頻率計為例,采用 100MHz 的標(biāo)準(zhǔn)頻率信號,說明設(shè)計的基本原理及實現(xiàn)。設(shè)計的數(shù)字頻率計由測量頻率模塊、計算模塊和譯碼模塊組成,如圖 1 所示。測頻模塊采用兩個十進制計數(shù)器分別測出門控時間內(nèi)的標(biāo)準(zhǔn)信號和被測信號的周期數(shù) Ns 和 Nx 。計算模塊則根據(jù)公式 Fx / Nx=Fs/Ns 算出 Fx ,通過譯碼即可得到被測信號頻率的 7 段數(shù)碼顯示。

數(shù)字頻率計的設(shè)計原理實際上是測量單位時間內(nèi)的周期數(shù)。這種方法免去了實測以前的預(yù)測,同時節(jié)省了劃分頻段的時間,克服了原來高頻段采用測頻模式而低頻段采用測周期模式的測量方法存在換擋速度慢的缺點。

為克服低頻段測量的不準(zhǔn)確問題,采用門控信號和被測信號對計數(shù)器的使能信號進行雙重控制,大大提高了準(zhǔn)確度,如圖 2 所示。

當(dāng)門控信號為 1 時,使能信號并不為 1 ,只有被測信號的上升沿到來時,使能端才開始發(fā)送有效信號,兩個計數(shù)器同時開始計數(shù)。當(dāng)門控信號變?yōu)?0 時,使能信號并不是立即改變,而是當(dāng)被測信號的下一個上升沿到來時才變?yōu)?0 ,計數(shù)器停止計數(shù)。因此測量的誤差最多為一個標(biāo)準(zhǔn)時鐘周期。當(dāng)采用 100MHz 的信號作為標(biāo)準(zhǔn)信號時,誤差最大為 0 . 01 μ s 。

2 高速串行 BCD 碼除法運算原理

利用 FPGA 實現(xiàn)二進制除法運算,一種方法是采用逼近法,這種方法速度低、準(zhǔn)確性不高。另一種方法是采取被除數(shù)與除數(shù)的倒數(shù)相乘的方法,即將除數(shù)作為寄存器的地址,其倒數(shù)的小數(shù)部分作為寄存器的內(nèi)容,通過一次寄存器尋址來計算除數(shù)的倒數(shù)。這種方法在一個時鐘周期內(nèi)即可完成一個完整的除法運算,雖然速度較高,但對于多字節(jié)除法運算,不僅程序復(fù)雜,而且占用資源較多。根據(jù)頻率計的實際情況,本設(shè)計采用串行除法運算,利用多個時鐘周期完成一個完整的除法運算,從而兼顧了頻率計對速度和資源兩方面的要求。

2 . 1 多位串行 BCD 碼減法原理

在數(shù)字串行除法運算中,減法運算是必不可少的部分。數(shù)字串行 BCD 碼的減法運算是將 P 位的 BCD 碼分為 P 個寬為 4 的二進制數(shù),然后從低位開始相減,在 P 個時鐘周期內(nèi)完成減法操作。如果輸入的操作數(shù)位數(shù)為 8 ,那么串行 BCD 碼減法器可以在 8 個時鐘周期內(nèi)完成 8 位 BCD 碼減法運算。

數(shù)字串行減法的控制也比較簡單, 1 位 BCD 碼減法運算完成,進行移位操作,并且移位次數(shù)加 1 ,然后通過采用 start 信號指示新計算周期。當(dāng)移位次數(shù)為 n 時,輸出移位寄存器完成串/并轉(zhuǎn)換,輸出結(jié)果。設(shè)計者可以根據(jù)實際情況,通過選擇不同的 n ,提高設(shè)計的靈活性。本設(shè)計選擇 n=8 。

該設(shè)計在提高速度的同時,節(jié)省了資源。實驗證明,采用 1OOMHz 的工作頻率,實現(xiàn)一個 8 位 BCD 碼串行減法運算,耗用的資源卻小于實現(xiàn) 2 位 BCD 碼并行減法運算所耗用的資源。

2 . 2 多位串行 BCD 碼除法原理

本設(shè)計采用循環(huán)式除法運算,循環(huán)原理可以用下面的公式表示[ 1 ]:

ω[ j+1 ] =r ω[ j ] -dqj+1

式中,ω[ j ]為第 j 步的余數(shù),ω[ 0 ]為被除數(shù); d 為除數(shù) ;qj+1 為第 j+1 步所得的商; r 為與移位步長有關(guān)的常數(shù),在此取為 16 。

除法運算循環(huán)圖表如圖 3 所示。

循環(huán)步驟如下:

·將ω[ j ]左移四位,構(gòu)成 r ω[ j ]。

·通過多次 BCD 碼減法運算,求得部分商 qJ+1 ,得到部分余數(shù)。

·部分余數(shù)、部分商移位,準(zhǔn)備下次循環(huán)。

高速串行 BCD 碼除法是建立在 BCD 碼減法運算基礎(chǔ)上的循環(huán)運算。用被除數(shù)減除數(shù)得到部分余數(shù)的 BCD 碼,如果夠減,則使商加 1 ;否則,余數(shù)和商同時左移四位,并記錄移位的次數(shù) m ,根據(jù)對有效位數(shù)的不同要求,可以對 m 進行賦值,如果要求保留 8 位有效數(shù)字,則 m=8 。

在這種循環(huán)除法運算中,減少循環(huán)的次數(shù)是提高運算速度比較有效的方法。在一般循環(huán)式除法運算中,是從低位開始進行循環(huán)相減,循環(huán)次數(shù)等于商。如果是 8 位除法運行,則得到一個 8 位的商,要進行 8 位次的 BCD 碼減法循環(huán),例如: 56895230 / 8=7111903 . 8 ,要進行 7111903 . 8 次循環(huán),計算的速度可想而知。

在本設(shè)計中借鑒了一般十進制除法的運算方法,從高位開始相減,大大減少了循環(huán)次數(shù)。下面以一個例子說明它的原理:

·將被除數(shù)和除數(shù)移位,使其第一位 BCD 碼不為 0000 ,并記錄移位的次數(shù) P( 例如: 56895230

 

  • 上一篇: 利用單片機來控制LED點陣
  • 下一篇: 如何提高抗干擾能力和電磁兼容性
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1