專利名稱:基于fpga的任意數(shù)值分頻器實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電子設(shè)計(jì)自動(dòng)化(EDA)領(lǐng)域,具體涉及通過FPGA芯片和VHDL編程語 言實(shí)現(xiàn)任意數(shù)值分頻器的一種方法。
背景技術(shù):
FPGA作為未來數(shù)字系統(tǒng)的三大基石(FPGA、 DSP、 CPU)之一,成為目前硬件設(shè)計(jì)研 究的重點(diǎn)。在數(shù)字系統(tǒng)的設(shè)計(jì)中,設(shè)計(jì)人員會(huì)遇到各種形式的分頻需求,如偶數(shù)分頻、奇數(shù) 分頻、半整數(shù)分頻、小數(shù)分頻和分?jǐn)?shù)分頻等,在某些設(shè)計(jì)中,系統(tǒng)不僅對頻率有要求,而且對 占空比也有嚴(yán)格的要求。由計(jì)數(shù)器或計(jì)數(shù)器的級聯(lián)構(gòu)成各種形式的偶數(shù)分頻及非等占空比 的奇數(shù)分頻實(shí)現(xiàn)起來較為簡單,但對半整數(shù)分頻及等占空比的奇數(shù)分頻實(shí)現(xiàn)較為困難,小 數(shù)分頻和分?jǐn)?shù)分頻更困難。大部分技術(shù)人員設(shè)計(jì)出的通用分頻器,分頻系數(shù)基本上不可以 調(diào)節(jié),或者即使分頻系數(shù)可調(diào),占空比也不可以調(diào)整,應(yīng)用起來有所不便。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于FPGA的任意數(shù)值分頻器實(shí)現(xiàn)方法,該方法能以大 規(guī)??删幊踢壿嬈骷﨔PGA為核心,不僅可以實(shí)現(xiàn)任意數(shù)值的分頻,占空比也可以根據(jù)需要 進(jìn)行調(diào)節(jié),而且算法簡單高效,具有高度可行性,易于硬件實(shí)現(xiàn)。 本發(fā)明的目的是這樣實(shí)現(xiàn)的以FPGA芯片為核心,加上矩陣鍵盤,成功設(shè)計(jì)出任 意數(shù)值分頻器;矩陣鍵盤用于分頻系數(shù)和占空比的輸入;FPGA芯片完成整數(shù)分頻、小數(shù)分 頻和分?jǐn)?shù)分頻的設(shè)計(jì)與選擇。 由于采用上述技術(shù)方案,本發(fā)明所具有的優(yōu)點(diǎn)和積極效果是開發(fā)周期短、開發(fā)成
本低、針對的分頻需求多種多樣,適合于解決不同的分頻問題;整個(gè)設(shè)計(jì)只用了 225個(gè)LE,
大部分低廉的CPLD或者FPGA都可以實(shí)現(xiàn);既可以實(shí)現(xiàn)整數(shù)分頻,也可以實(shí)現(xiàn)小數(shù)分頻和分
數(shù)分頻;不僅分頻系數(shù)可以調(diào)節(jié),占空比也可以調(diào)整。 下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明。
圖1是本發(fā)明的原理示意圖。 圖2是本發(fā)明的核心單元分頻器算法流程圖。
具體實(shí)施方案 在圖1中,鍵盤和FPGA開發(fā)平臺(tái)通過數(shù)據(jù)線相連,鍵盤部分由數(shù)字和字母組成,用 來完成系數(shù)的選擇與輸入;FPGA開發(fā)平臺(tái)部分完成分頻工作,其中m、j分別控制整數(shù)分頻 的分頻系數(shù)和占空比;小數(shù)分頻時(shí)m、 n分別調(diào)整整數(shù)部分和小數(shù)部分;分?jǐn)?shù)分頻時(shí)j調(diào)整 整數(shù)部分,而m、n用于調(diào)節(jié)分母和分子值;nl和n2用于調(diào)節(jié)分?jǐn)?shù)和小數(shù)分頻的占空比;y是 頻率輸出端; 具體實(shí)現(xiàn)的方法是 a、鍵盤輸入模塊由4X4矩陣鍵盤組成,可以輸入0 9,當(dāng)A鍵按下時(shí),輸入的值給m, B鍵按下時(shí)輸入的值給n, C鍵按下時(shí)輸入的值給j, D鍵按下時(shí)輸入的值給nl, E鍵 按下時(shí)輸入的值給n2, F鍵按下時(shí)輸出清零; b、選擇模塊當(dāng)輸入的二進(jìn)制數(shù)control = 00時(shí)實(shí)現(xiàn)偶數(shù)和占空比不等于50% 的奇數(shù)分頻,control = 01時(shí)實(shí)現(xiàn)占空比為50%的奇數(shù)分頻,control = 10和11時(shí)分別 實(shí)現(xiàn)小數(shù)和分?jǐn)?shù)分頻; c、整數(shù)分頻模塊此模塊可以實(shí)現(xiàn)任意數(shù)值的偶數(shù)分頻,占空比可以根據(jù)需要進(jìn) 行調(diào)節(jié),也可以實(shí)現(xiàn)占空比不等于50%的奇數(shù)分頻,主要采用計(jì)數(shù)器實(shí)現(xiàn),分頻系數(shù)和占空 比均可以調(diào)節(jié); d、占空比為50X的奇數(shù)分頻模塊假設(shè)要實(shí)現(xiàn)占空比為50X的m二2n+l分頻,選 擇兩個(gè)2n+l進(jìn)制計(jì)數(shù)器控制兩個(gè)中間時(shí)鐘clkl和clk2, 1號計(jì)數(shù)器在輸入時(shí)鐘clk的上 升沿計(jì)數(shù),2號計(jì)數(shù)器在clk的下降沿計(jì)數(shù);當(dāng)計(jì)數(shù)器1輸出為0 n-l時(shí)clkl為l,輸出 為n 2n時(shí)clkl為0 ;計(jì)數(shù)器1輸出為2n時(shí)計(jì)數(shù)器1清O,如此循環(huán)下去;clk2的實(shí)現(xiàn)類 似于clkl,只是在clk的下降沿運(yùn)作而已;最終輸出的時(shí)鐘clkout = clkl+clk2 ;
e、小數(shù)分頻模塊小數(shù)分頻器是通過可變分頻和多次平均的方法得到的,假設(shè)要 進(jìn)行m. n分頻,如果小數(shù)是一位小數(shù),則總共要進(jìn)行10次分頻,總的規(guī)律是進(jìn)行n次m+l分 頻,10-n次m分頻;如果小數(shù)是2位,需要進(jìn)行100次分頻,分頻的規(guī)律是進(jìn)行n次m+l分 頻,100-n次m分頻;以此類推可得到多位小數(shù)的分頻規(guī)律;不管是幾位小數(shù)總要進(jìn)行兩種 系數(shù)的分頻,兩種分頻究竟如何交差進(jìn)行,可以根據(jù)一定的規(guī)律計(jì)算出來;下面以3. 6分頻 為例進(jìn)行講解;3. 6分頻要進(jìn)行6次4分頻,4次3分頻,將小數(shù)部分6按倍累加,假設(shè)累加 的值為a,如果a小于10則進(jìn)行3分頻,a小于10的話下一次則加上6,此后如果a大于等 于10則進(jìn)行4分頻,4分頻過后再將累加值減去4后與10比較以決定下一次分頻是4分頻
還是3分頻;如此計(jì)算下去即可;分頻系數(shù)和占空比可以根據(jù)需要任意調(diào)節(jié); f、分?jǐn)?shù)分頻模塊分?jǐn)?shù)分頻器的設(shè)計(jì)思想與小數(shù)分頻器類似,假設(shè)進(jìn)行y^分頻,
附
總分頻次數(shù)由分母m決定,規(guī)律是進(jìn)行n次j+l分頻和m-n次j分頻,兩種分頻交替進(jìn)行的 計(jì)算方法也和小數(shù)分頻類似,分?jǐn)?shù)分頻的分頻系數(shù)和占空比也可以根據(jù)需要任意調(diào)節(jié)。
在圖2中,控制模塊發(fā)出命令,由control的值判斷是何種形式的分頻,4個(gè)分頻模 塊是平行的關(guān)系,條件滿足立即運(yùn)作。當(dāng)control = 00時(shí)實(shí)現(xiàn)偶數(shù)和占空比不等于50%的 奇數(shù)分頻,control = 01時(shí)實(shí)現(xiàn)占空比為50%的奇數(shù)分頻,control = 10和11時(shí)分別實(shí) 現(xiàn)小數(shù)和分?jǐn)?shù)分頻。
權(quán)利要求
一種基于FPGA的任意數(shù)值分頻器實(shí)現(xiàn)方法,鍵盤和FPGA開發(fā)平臺(tái)通過數(shù)據(jù)線相連,鍵盤部分由數(shù)字和字母組成,用來完成系數(shù)的選擇與輸入;FPGA開發(fā)平臺(tái)部分完成分頻工作,其中m、j分別控制整數(shù)分頻的分頻系數(shù)和占空比;小數(shù)分頻時(shí)m、n分別調(diào)整整數(shù)部分和小數(shù)部分;分?jǐn)?shù)分頻時(shí)j調(diào)整整數(shù)部分,而m、n用于調(diào)節(jié)分母和分子值;n1和n2用于調(diào)節(jié)分?jǐn)?shù)和小數(shù)分頻的占空比;y是頻率輸出端;具體實(shí)現(xiàn)的方法是a、鍵盤輸入模塊由4×4矩陣鍵盤組成,可以輸入0~9,當(dāng)A鍵按下時(shí),輸入的值給m,B鍵按下時(shí)輸入的值給n,C鍵按下時(shí)輸入的值給j,D鍵按下時(shí)輸入的值給n1,E鍵按下時(shí)輸入的值給n2,F(xiàn)鍵按下時(shí)輸出清零;b、選擇模塊當(dāng)輸入的二進(jìn)制數(shù)control=00時(shí)實(shí)現(xiàn)偶數(shù)和占空比不等于50%的奇數(shù)分頻,control=01時(shí)實(shí)現(xiàn)占空比為50%的奇數(shù)分頻,control=10和11時(shí)分別實(shí)現(xiàn)小數(shù)和分?jǐn)?shù)分頻;c、整數(shù)分頻模塊此模塊可以實(shí)現(xiàn)任意數(shù)值的偶數(shù)分頻,占空比可以根據(jù)需要進(jìn)行調(diào)節(jié),也可以實(shí)現(xiàn)占空比不等于50%的奇數(shù)分頻,主要采用計(jì)數(shù)器實(shí)現(xiàn),分頻系數(shù)和占空比均可以進(jìn)行調(diào)節(jié);d、占空比為50%的奇數(shù)分頻模塊假設(shè)要實(shí)現(xiàn)占空比為50%的m=2n+1分頻,選擇兩個(gè)2n+1進(jìn)制計(jì)數(shù)器控制兩個(gè)中間時(shí)鐘clk1和clk2,1號計(jì)數(shù)器在輸入時(shí)鐘clk的上升沿計(jì)數(shù),2號計(jì)數(shù)器在clk的下降沿計(jì)數(shù);當(dāng)計(jì)數(shù)器1輸出為0~n-1時(shí)clk1為1,輸出為n~2n時(shí)clk1為0;計(jì)數(shù)器1輸出為2n時(shí)計(jì)數(shù)器1清0,如此循環(huán)下去;clk2的實(shí)現(xiàn)類似于clk1,只是在clk的下降沿運(yùn)作而已;最終輸出的時(shí)鐘clkout=clk1+clk2;e、小數(shù)分頻模塊小數(shù)分頻器是通過可變分頻和多次平均的方法得到的,假設(shè)要進(jìn)行m.n分頻,如果小數(shù)是一位小數(shù),則總共要進(jìn)行10次分頻,總的規(guī)律是進(jìn)行n次m+1分頻,10-n次m分頻;如果小數(shù)是2位,需要進(jìn)行100次分頻,分頻的規(guī)律是進(jìn)行n次m+1分頻,100-n次m分頻;以此類推可得到多位小數(shù)的分頻規(guī)律;不管是幾位小數(shù)總要進(jìn)行兩種系數(shù)的分頻,兩種分頻究竟如何交差進(jìn)行,可以根據(jù)一定的規(guī)律計(jì)算出來;下面以3.6分頻為例進(jìn)行講解;3.6分頻要進(jìn)行6次4分頻,4次3分頻,將小數(shù)部分6按倍累加,假設(shè)累加的值為a,如果a小于10則進(jìn)行3分頻,a小于10的話下一次則加上6,此后如果a大于等于10則進(jìn)行4分頻,4分頻過后再將累加值減去4后與10比較以決定下一次分頻是4分頻還是3分頻;如此計(jì)算下去即可;f、分?jǐn)?shù)分頻模塊分?jǐn)?shù)分頻器的設(shè)計(jì)思想與小數(shù)分頻器類似,假設(shè)進(jìn)行分頻,總分頻次數(shù)由分母m決定,規(guī)律是進(jìn)行n次j+1分頻和m-n次j分頻,兩種分頻交替進(jìn)行的計(jì)算方法也和小數(shù)分頻類似,分?jǐn)?shù)分頻的分頻系數(shù)和占空比也可以根據(jù)需要任意調(diào)節(jié)。F2010100032663C00021.tif
全文摘要
本發(fā)明屬于電子設(shè)計(jì)自動(dòng)化(EDA)領(lǐng)域,具體涉及通過FPGA芯片和VHDL編程語言實(shí)現(xiàn)任意數(shù)值分頻器的一種方法。本發(fā)明的目的是這樣實(shí)現(xiàn)的以FPGA芯片為核心,加上矩陣鍵盤,成功設(shè)計(jì)出任意數(shù)值分頻器;矩陣鍵盤用于分頻系數(shù)和占空比的輸入;FPGA芯片完成整數(shù)分頻、小數(shù)分頻和分?jǐn)?shù)分頻的設(shè)計(jì)與選擇。由于采用上述技術(shù)方案,本發(fā)明所具有的優(yōu)點(diǎn)和積極效果是開發(fā)周期短、開發(fā)成本低、針對的分頻需求多種多樣,適合于解決不同的分頻問題;整個(gè)設(shè)計(jì)只用了225個(gè)LE,大部分低廉的CPLD或者FPGA都可以實(shí)現(xiàn);既可以實(shí)現(xiàn)整數(shù)分頻,也可以實(shí)現(xiàn)小數(shù)分頻和分?jǐn)?shù)分頻;不僅分頻系數(shù)可以調(diào)節(jié),占空比也可以調(diào)整。
文檔編號H03K23/68GK101789781SQ20101000326
公開日2010年7月28日 申請日期2010年1月8日 優(yōu)先權(quán)日2010年1月8日
發(fā)明者周殿鳳 申請人:鹽城師范學(xué)院