你的位置:首頁(yè) > RF/微波 > 正文

基于FPGA的數字分頻器設計

發(fā)布時(shí)間:2017-09-13 來(lái)源:趙厲,張志國,唐芳福 責任編輯:susan

【導讀】隨著(zhù)FPGA技術(shù)的發(fā)展,基于FPGA技術(shù)的硬件設計數字分頻器已成為數字系統設計的研究重點(diǎn)。數字分頻器通常分為整數分頻器和小數分頻器。在有些需求下還要分數分頻器。本設計是基于FPGA的數字分頻器,通過(guò)VHDL硬件設計語(yǔ)言,在Modelsim6.5上對設計的分頻器進(jìn)行仿真驗證。
 
1.概述
 
隨著(zhù)集成電路技術(shù)的快速發(fā)展,半導體存儲、微處理器等相關(guān)技術(shù)的發(fā)展得到了飛速發(fā)展。FPGA以其可靠性強、運行快、并行性等特點(diǎn)在電子設計中具有廣泛的意義。作為一種可編程邏輯器件,FPGA在短短二十年中從電子設計的外圍器件逐漸演變?yōu)閿底窒到y的核心。伴隨著(zhù)半導體工藝技術(shù)的進(jìn)步,FPGA器件的設計技術(shù)取得了飛躍發(fā)展及突破。
 
分頻器通常用來(lái)對某個(gè)給定的時(shí)鐘頻率進(jìn)行分頻,以得到所需的時(shí)鐘頻率。在設計數字電路中會(huì )經(jīng)常用到多種不同頻率的時(shí)鐘脈沖,一般采用由一個(gè)固定的晶振時(shí)鐘頻率來(lái)產(chǎn)生所需要的不同頻率的時(shí)鐘脈沖的方法進(jìn)行時(shí)鐘分頻。
 
在FPGA的設計中分頻器是使用頻率較高的基本設計,在很多的設計中也會(huì )經(jīng)常用到芯片集成的鎖相環(huán)資源,如用Xilinx的DLL以及Altera的PLL來(lái)進(jìn)行時(shí)鐘的分頻、倍頻與相移。在一些對時(shí)鐘精度不高的場(chǎng)合,會(huì )經(jīng)常利用硬件描述語(yǔ)言來(lái)對時(shí)鐘源進(jìn)行時(shí)鐘分頻。
 
分頻器是一種基本電路,一般包括數字分頻器、模擬分頻器和射頻分頻器。根據不同設計的需要,有時(shí)還會(huì )要求等占空比。數字分頻器采用的是計數器的原理,權值為分頻系數。模擬分頻器就是一個(gè)頻率分配器,用帶阻帶通實(shí)現(比如音箱上高中低喇叭的分配器)。射頻分頻器也是濾波器原理,用帶內外衰減,阻抗匹配實(shí)現。
 
隨著(zhù)FPGA技術(shù)的發(fā)展,基于FPGA技術(shù)的硬件設計數字分頻器已成為數字系統設計的研究重點(diǎn)。數字分頻器通常分為整數分頻器和小數分頻器。在有些需求下還要分數分頻器。
 
本設計是基于FPGA的數字分頻器,通過(guò)VHDL硬件設計語(yǔ)言,在Modelsim6.5上對設計的分頻器進(jìn)行仿真驗證。
 
2.數字分頻器的設計
 
數字分頻器的設計與模擬分頻器的設計不同,數字分頻器可以使用觸發(fā)器設計電路對時(shí)鐘脈沖進(jìn)行時(shí)鐘分頻。分頻器的一個(gè)重要指標就是占空比,即在一個(gè)周期中高電平脈沖在整個(gè)周期中所占的比例。占空比一般會(huì )有1:1,1: N等不同比例的要求,由于占空比的比例要求不一樣,所以采用的時(shí)鐘分頻原理也各不同。在FPGA的數字分頻器設計中,主要分為整數分頻器、小數分頻器和分數分頻器?,F在分別介紹整數分頻器的設計、小數分頻器的設計和分數分頻器的設計。
 
2.1 整數分頻器的設計
 
整數分頻器是指基準時(shí)鐘與所需的時(shí)鐘頻率成整數倍關(guān)系。整數分頻器的分頻種類(lèi)一般包括奇數分頻和偶數分頻。雖然時(shí)鐘分頻原理會(huì )根據時(shí)鐘分頻的要求不同而不同,但均可采用標準計數器原理來(lái)實(shí)現。
 
偶數分頻器的設計原理較為簡(jiǎn)單,主要是利用計數器來(lái)實(shí)現。假設要進(jìn)行n(n為偶數)分頻,設定一個(gè)在分頻時(shí)鐘上升沿觸發(fā)的計數器循環(huán)計數來(lái)實(shí)現。當計數器值為0-((n/2)-1)時(shí),輸出時(shí)鐘信號進(jìn)行翻轉,同時(shí)給計數器一個(gè)復位信號,使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計數器重新開(kāi)始計數,由此不斷循環(huán)。
 
奇數分頻器的設計原理與偶數分頻的設計方法很相似,都是通過(guò)計數器來(lái)實(shí)現的。如果要進(jìn)行n(n為奇數)分頻,直接設計n進(jìn)制的計數器即可。還有一種方法就是選擇兩個(gè)計數器cnt1和cnt2,分別在時(shí)鐘上升沿和下降沿觸發(fā)計數。cnt1和cnt2均當計數器值為0-((n/2)-1)時(shí),輸出時(shí)鐘信號進(jìn)行翻轉,同時(shí)給計數器一個(gè)時(shí)鐘復位信號,使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計數器重新開(kāi)始計數,如此進(jìn)行循環(huán)下去。由此可知,計數器cnt1和cnt2的實(shí)現方法一樣,只是翻轉邊沿不一樣,最終輸出的時(shí)鐘為clkout = clk1 + clk2。
 
2.2 小數分頻器的設計
 
小數分頻的基本原理是采用脈沖吞吐計數器和鎖相環(huán)技術(shù)先設計兩個(gè)不同分頻比的整數分頻器,然后通過(guò)控制單位時(shí)間內兩種分頻比出現的不同次數來(lái)獲得所需的小數分頻值,分頻系數為N-0.5(N為整數)時(shí),可控制扣除脈沖的時(shí)間,以使輸出成為一個(gè)穩定的脈沖頻率,而不是一次N分頻,一次N-1分頻。
 
小數分頻器有很多種設計方案,但其基本原理是一樣的,都是在若干個(gè)分頻周期中采取某種方法使幾個(gè)周期多計一個(gè)數或少計一個(gè)數,從而在整個(gè)計數周期的總體平均意義上獲得一個(gè)小數分頻比。還有一種分頻方法就是,利用狀態(tài)機和計數器。假設時(shí)鐘信號的頻率為1khz,需要產(chǎn)生750khz的分頻信號,其分頻系數為6/8?;驹O計思想是,在8個(gè)時(shí)鐘信號中保留6個(gè)時(shí)鐘信號。這種方法是需要預先設定狀態(tài)機的個(gè)數,主要用于已經(jīng)知道需要使用哪一個(gè)小數分頻系數的情況下。如果分頻系數發(fā)生變化,則需要在程序內部進(jìn)行修改。
 
雙模前置小數分頻的設計方法是,假設要進(jìn)行m,n時(shí)鐘分頻(其中m、n都是整數,且n<10),因為只有一位小數,所以總共要進(jìn)行10次分頻??偟囊幝墒牵哼M(jìn)行n次m+1分頻,10-n次m分頻。例如,設計一個(gè)分頻系數為3.6的分頻器,將小數部分的6按倍累加,假設累加的值為a,如果a<10,則進(jìn)行3分頻,如果a<10下一次則加上6。此后,如果a>=10,則進(jìn)行4分頻,4分頻過(guò)后再將累加值減去4后與10比較以決定下一次分頻是4分頻還是3分頻,這樣分頻器設計成6次4分頻,4次3分頻,總的分頻值為(6×4+4×3)/(6+4) = 3.6。
 
2.3 分數分頻器的設計
 
分數分頻器的數據輸入部分與小數分頻基本相同,差別僅在于數碼管顯示部分顯示三位分頻系數。由于分數在一定情況下可以轉化為小數進(jìn)行計算,所以分數分頻的設計思想與小數分頻的很相似。假設進(jìn)行分頻,總分頻數由分母m決定,規律是進(jìn)行n次j+1分頻和m-n次j分頻。兩種分頻交替進(jìn)行的計算方法和小數分頻的很類(lèi)似。累加分結果是大于等于分母還是小于分母決定是進(jìn)行j分頻還是j+1分頻。
 
3.數字分頻器的FPGA設計及仿真
 
利用FPGA對8192kHz的基準時(shí)鐘進(jìn)行時(shí)鐘分頻,分別得到1024kHz、512kHz、256kHz和1kHz的時(shí)鐘頻率,需要分別進(jìn)行8分頻、16分頻、32分頻和8192分頻。在利用FPGA進(jìn)行設計整數分頻器時(shí),通過(guò)VHDL硬件描述語(yǔ)言利用計數器方式來(lái)實(shí)現。
 
3.1 1024kHz時(shí)鐘分頻
 
根據所需的時(shí)鐘頻率為1024kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是8倍的整數倍關(guān)系,因此需要對8192kHz的晶振時(shí)鐘進(jìn)行8分頻來(lái)獲得所需要的時(shí)鐘。根據整數倍分頻器的設計方法原理,通過(guò)ISE9.1邏輯設計工具,利用VHDL硬件描述語(yǔ)言來(lái)進(jìn)行8分頻的分頻器設計。然而8又是偶數,所以需要設計的是偶數分頻器。對設計的內容通過(guò)Modelsim6.5仿真軟件進(jìn)行仿真驗證,結果如圖3-1所示。
 
圖3-1 1024kHz時(shí)鐘分頻
 
由圖3-1得知,當8192kHz的晶振時(shí)鐘輸入8個(gè)時(shí)鐘,系統輸出1個(gè)時(shí)鐘,即一個(gè)1024kHz頻率的時(shí)鐘。程序設計中采用計數器來(lái)實(shí)現,當計數器值為0-((n/2)-1)=-3時(shí),輸出時(shí)鐘信號進(jìn)行翻轉,同時(shí)給計數器一個(gè)復位信號,使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計數器重新開(kāi)始計數,不斷循環(huán)下去。
 
3.2 512kHz時(shí)鐘分頻
 
根據所需的時(shí)鐘頻率為512kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是16倍的整數倍關(guān)系,因此需要對8192kHz的晶振時(shí)鐘進(jìn)行16分頻來(lái)獲得所需要的時(shí)鐘。根據整數倍分頻器的設計方法原理,通過(guò)ISE9.1邏輯設計工具,利用VHDL硬件描述語(yǔ)言來(lái)進(jìn)行16分頻的分頻器設計。然而16又是偶數,所以需要設計的是偶數分頻器。對設計的內容通過(guò)Modelsim6.5仿真軟件進(jìn)行仿真驗證,結果如圖3-2所示。
 
圖3-2 512kHz時(shí)鐘分頻
 
由圖3-2得知,當8192kHz的晶振時(shí)鐘輸入16個(gè)時(shí)鐘,系統輸出1個(gè)時(shí)鐘,即一個(gè)512kHz頻率的時(shí)鐘。程序設計中采用計數器來(lái)實(shí)現,當計數器值為0-((n/2)-1)=-7時(shí),輸出時(shí)鐘信號進(jìn)行翻轉,同時(shí)給計數器一個(gè)復位信號,使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計數器重新開(kāi)始計數,不斷循環(huán)下去。
 
3.3 256kHz時(shí)鐘分頻
 
根據所需的時(shí)鐘頻率為256kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是32倍的整數倍關(guān)系,因此需要對8192kHz的晶振時(shí)鐘進(jìn)行32分頻來(lái)獲得所需要的時(shí)鐘。根據整數倍分頻器的設計方法原理,通過(guò)ISE9.1邏輯設計工具,利用VHDL硬件描述語(yǔ)言來(lái)進(jìn)行32分頻的分頻器設計。然而32又是偶數,所以需要設計的是偶數分頻器。對設計的內容通過(guò)Modelsim6.5仿真軟件進(jìn)行仿真驗證,結果如圖3-3所示。
 
圖3-3 256kHz時(shí)鐘分頻
 
由圖3-3得知,當8192kHz的晶振時(shí)鐘輸入32個(gè)時(shí)鐘,系統輸出1個(gè)時(shí)鐘,即一個(gè)256kHz頻率的時(shí)鐘。程序設計中采用計數器來(lái)實(shí)現,當計數器值為0-((n/2)-1)=-15時(shí),輸出時(shí)鐘信號進(jìn)行翻轉,同時(shí)給計數器一個(gè)復位信號,使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計數器重新開(kāi)始計數,不斷循環(huán)下去。
 
3.4 1kHz時(shí)鐘分頻
 
根據所需的時(shí)鐘頻率為1kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是8192倍的整數倍關(guān)系,因此需要對8192kHz的晶振時(shí)鐘進(jìn)行8192分頻來(lái)獲得所需要的時(shí)鐘。根據整數倍分頻器的設計方法原理,通過(guò)ISE9.1邏輯設計工具,利用VHDL硬件描述語(yǔ)言來(lái)進(jìn)行8192分頻的分頻器設計。然而8192又是偶數,所以需要設計的是偶數分頻器。對設計的內容通過(guò)Modelsim6.5仿真軟件進(jìn)行仿真驗證,結果如圖3-4所示。
 
圖3-4 1kHz時(shí)鐘分頻
 
由圖3-4得知,當8192kHz的晶振時(shí)鐘輸入8個(gè)時(shí)鐘,系統輸出1個(gè)時(shí)鐘,即一個(gè)1kHz頻率的時(shí)鐘。程序設計中采用計數器來(lái)實(shí)現,當計數器值為0-((n/2)-1)=-4095時(shí),輸出時(shí)鐘信號進(jìn)行翻轉,同時(shí)給計數器一個(gè)復位信號,使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計數器重新開(kāi)始計數,不斷循環(huán)下去。
 
4.結束語(yǔ)
 
本文給出了基于FPGA的數字分頻器設計方法。采用計數器設計方法實(shí)現了對8192kHz的基準時(shí)鐘進(jìn)行分頻,分別得到1024kHz、512kHz、256kHz和1kHz的時(shí)鐘頻率。其他的偶數倍分頻也可采用類(lèi)似的方法分頻的到需要的頻率時(shí)鐘。通過(guò)在Modelsim6.5仿真工具驗證了設計的正確性。
要采購晶振么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页