基于FPGA的數(shù)字分頻器設(shè)計(jì)
發(fā)布時(shí)間:2017-09-13 來(lái)源:趙厲,張志國(guó),唐芳福 責(zé)任編輯:susan
【導(dǎo)讀】隨著FPGA技術(shù)的發(fā)展,基于FPGA技術(shù)的硬件設(shè)計(jì)數(shù)字分頻器已成為數(shù)字系統(tǒng)設(shè)計(jì)的研究重點(diǎn)。數(shù)字分頻器通常分為整數(shù)分頻器和小數(shù)分頻器。在有些需求下還要分?jǐn)?shù)分頻器。本設(shè)計(jì)是基于FPGA的數(shù)字分頻器,通過(guò)VHDL硬件設(shè)計(jì)語(yǔ)言,在Modelsim6.5上對(duì)設(shè)計(jì)的分頻器進(jìn)行仿真驗(yàn)證。
1.概述
隨著集成電路技術(shù)的快速發(fā)展,半導(dǎo)體存儲(chǔ)、微處理器等相關(guān)技術(shù)的發(fā)展得到了飛速發(fā)展。FPGA以其可靠性強(qiáng)、運(yùn)行快、并行性等特點(diǎn)在電子設(shè)計(jì)中具有廣泛的意義。作為一種可編程邏輯器件,F(xiàn)PGA在短短二十年中從電子設(shè)計(jì)的外圍器件逐漸演變?yōu)閿?shù)字系統(tǒng)的核心。伴隨著半導(dǎo)體工藝技術(shù)的進(jìn)步,F(xiàn)PGA器件的設(shè)計(jì)技術(shù)取得了飛躍發(fā)展及突破。
分頻器通常用來(lái)對(duì)某個(gè)給定的時(shí)鐘頻率進(jìn)行分頻,以得到所需的時(shí)鐘頻率。在設(shè)計(jì)數(shù)字電路中會(huì)經(jīng)常用到多種不同頻率的時(shí)鐘脈沖,一般采用由一個(gè)固定的晶振時(shí)鐘頻率來(lái)產(chǎn)生所需要的不同頻率的時(shí)鐘脈沖的方法進(jìn)行時(shí)鐘分頻。
在FPGA的設(shè)計(jì)中分頻器是使用頻率較高的基本設(shè)計(jì),在很多的設(shè)計(jì)中也會(huì)經(jīng)常用到芯片集成的鎖相環(huán)資源,如用Xilinx的DLL以及Altera的PLL來(lái)進(jìn)行時(shí)鐘的分頻、倍頻與相移。在一些對(duì)時(shí)鐘精度不高的場(chǎng)合,會(huì)經(jīng)常利用硬件描述語(yǔ)言來(lái)對(duì)時(shí)鐘源進(jìn)行時(shí)鐘分頻。
分頻器是一種基本電路,一般包括數(shù)字分頻器、模擬分頻器和射頻分頻器。根據(jù)不同設(shè)計(jì)的需要,有時(shí)還會(huì)要求等占空比。數(shù)字分頻器采用的是計(jì)數(shù)器的原理,權(quán)值為分頻系數(shù)。模擬分頻器就是一個(gè)頻率分配器,用帶阻帶通實(shí)現(xiàn)(比如音箱上高中低喇叭的分配器)。射頻分頻器也是濾波器原理,用帶內(nèi)外衰減,阻抗匹配實(shí)現(xiàn)。
隨著FPGA技術(shù)的發(fā)展,基于FPGA技術(shù)的硬件設(shè)計(jì)數(shù)字分頻器已成為數(shù)字系統(tǒng)設(shè)計(jì)的研究重點(diǎn)。數(shù)字分頻器通常分為整數(shù)分頻器和小數(shù)分頻器。在有些需求下還要分?jǐn)?shù)分頻器。
本設(shè)計(jì)是基于FPGA的數(shù)字分頻器,通過(guò)VHDL硬件設(shè)計(jì)語(yǔ)言,在Modelsim6.5上對(duì)設(shè)計(jì)的分頻器進(jìn)行仿真驗(yàn)證。
2.數(shù)字分頻器的設(shè)計(jì)
數(shù)字分頻器的設(shè)計(jì)與模擬分頻器的設(shè)計(jì)不同,數(shù)字分頻器可以使用觸發(fā)器設(shè)計(jì)電路對(duì)時(shí)鐘脈沖進(jìn)行時(shí)鐘分頻。分頻器的一個(gè)重要指標(biāo)就是占空比,即在一個(gè)周期中高電平脈沖在整個(gè)周期中所占的比例。占空比一般會(huì)有1:1,1: N等不同比例的要求,由于占空比的比例要求不一樣,所以采用的時(shí)鐘分頻原理也各不同。在FPGA的數(shù)字分頻器設(shè)計(jì)中,主要分為整數(shù)分頻器、小數(shù)分頻器和分?jǐn)?shù)分頻器?,F(xiàn)在分別介紹整數(shù)分頻器的設(shè)計(jì)、小數(shù)分頻器的設(shè)計(jì)和分?jǐn)?shù)分頻器的設(shè)計(jì)。
2.1 整數(shù)分頻器的設(shè)計(jì)
整數(shù)分頻器是指基準(zhǔn)時(shí)鐘與所需的時(shí)鐘頻率成整數(shù)倍關(guān)系。整數(shù)分頻器的分頻種類一般包括奇數(shù)分頻和偶數(shù)分頻。雖然時(shí)鐘分頻原理會(huì)根據(jù)時(shí)鐘分頻的要求不同而不同,但均可采用標(biāo)準(zhǔn)計(jì)數(shù)器原理來(lái)實(shí)現(xiàn)。
偶數(shù)分頻器的設(shè)計(jì)原理較為簡(jiǎn)單,主要是利用計(jì)數(shù)器來(lái)實(shí)現(xiàn)。假設(shè)要進(jìn)行n(n為偶數(shù))分頻,設(shè)定一個(gè)在分頻時(shí)鐘上升沿觸發(fā)的計(jì)數(shù)器循環(huán)計(jì)數(shù)來(lái)實(shí)現(xiàn)。當(dāng)計(jì)數(shù)器值為0-((n/2)-1)時(shí),輸出時(shí)鐘信號(hào)進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號(hào),使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),由此不斷循環(huán)。
奇數(shù)分頻器的設(shè)計(jì)原理與偶數(shù)分頻的設(shè)計(jì)方法很相似,都是通過(guò)計(jì)數(shù)器來(lái)實(shí)現(xiàn)的。如果要進(jìn)行n(n為奇數(shù))分頻,直接設(shè)計(jì)n進(jìn)制的計(jì)數(shù)器即可。還有一種方法就是選擇兩個(gè)計(jì)數(shù)器cnt1和cnt2,分別在時(shí)鐘上升沿和下降沿觸發(fā)計(jì)數(shù)。cnt1和cnt2均當(dāng)計(jì)數(shù)器值為0-((n/2)-1)時(shí),輸出時(shí)鐘信號(hào)進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)時(shí)鐘復(fù)位信號(hào),使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),如此進(jìn)行循環(huán)下去。由此可知,計(jì)數(shù)器cnt1和cnt2的實(shí)現(xiàn)方法一樣,只是翻轉(zhuǎn)邊沿不一樣,最終輸出的時(shí)鐘為clkout = clk1 + clk2。
2.2 小數(shù)分頻器的設(shè)計(jì)
小數(shù)分頻的基本原理是采用脈沖吞吐計(jì)數(shù)器和鎖相環(huán)技術(shù)先設(shè)計(jì)兩個(gè)不同分頻比的整數(shù)分頻器,然后通過(guò)控制單位時(shí)間內(nèi)兩種分頻比出現(xiàn)的不同次數(shù)來(lái)獲得所需的小數(shù)分頻值,分頻系數(shù)為N-0.5(N為整數(shù))時(shí),可控制扣除脈沖的時(shí)間,以使輸出成為一個(gè)穩(wěn)定的脈沖頻率,而不是一次N分頻,一次N-1分頻。
小數(shù)分頻器有很多種設(shè)計(jì)方案,但其基本原理是一樣的,都是在若干個(gè)分頻周期中采取某種方法使幾個(gè)周期多計(jì)一個(gè)數(shù)或少計(jì)一個(gè)數(shù),從而在整個(gè)計(jì)數(shù)周期的總體平均意義上獲得一個(gè)小數(shù)分頻比。還有一種分頻方法就是,利用狀態(tài)機(jī)和計(jì)數(shù)器。假設(shè)時(shí)鐘信號(hào)的頻率為1khz,需要產(chǎn)生750khz的分頻信號(hào),其分頻系數(shù)為6/8?;驹O(shè)計(jì)思想是,在8個(gè)時(shí)鐘信號(hào)中保留6個(gè)時(shí)鐘信號(hào)。這種方法是需要預(yù)先設(shè)定狀態(tài)機(jī)的個(gè)數(shù),主要用于已經(jīng)知道需要使用哪一個(gè)小數(shù)分頻系數(shù)的情況下。如果分頻系數(shù)發(fā)生變化,則需要在程序內(nèi)部進(jìn)行修改。
雙模前置小數(shù)分頻的設(shè)計(jì)方法是,假設(shè)要進(jìn)行m,n時(shí)鐘分頻(其中m、n都是整數(shù),且n<10),因?yàn)橹挥幸晃恍?shù),所以總共要進(jìn)行10次分頻??偟囊?guī)律是:進(jìn)行n次m+1分頻,10-n次m分頻。例如,設(shè)計(jì)一個(gè)分頻系數(shù)為3.6的分頻器,將小數(shù)部分的6按倍累加,假設(shè)累加的值為a,如果a<10,則進(jìn)行3分頻,如果a<10下一次則加上6。此后,如果a>=10,則進(jìn)行4分頻,4分頻過(guò)后再將累加值減去4后與10比較以決定下一次分頻是4分頻還是3分頻,這樣分頻器設(shè)計(jì)成6次4分頻,4次3分頻,總的分頻值為(6×4+4×3)/(6+4) = 3.6。
2.3 分?jǐn)?shù)分頻器的設(shè)計(jì)
分?jǐn)?shù)分頻器的數(shù)據(jù)輸入部分與小數(shù)分頻基本相同,差別僅在于數(shù)碼管顯示部分顯示三位分頻系數(shù)。由于分?jǐn)?shù)在一定情況下可以轉(zhuǎn)化為小數(shù)進(jìn)行計(jì)算,所以分?jǐn)?shù)分頻的設(shè)計(jì)思想與小數(shù)分頻的很相似。假設(shè)進(jìn)行分頻,總分頻數(shù)由分母m決定,規(guī)律是進(jìn)行n次j+1分頻和m-n次j分頻。兩種分頻交替進(jìn)行的計(jì)算方法和小數(shù)分頻的很類似。累加分結(jié)果是大于等于分母還是小于分母決定是進(jìn)行j分頻還是j+1分頻。
3.數(shù)字分頻器的FPGA設(shè)計(jì)及仿真
利用FPGA對(duì)8192kHz的基準(zhǔn)時(shí)鐘進(jìn)行時(shí)鐘分頻,分別得到1024kHz、512kHz、256kHz和1kHz的時(shí)鐘頻率,需要分別進(jìn)行8分頻、16分頻、32分頻和8192分頻。在利用FPGA進(jìn)行設(shè)計(jì)整數(shù)分頻器時(shí),通過(guò)VHDL硬件描述語(yǔ)言利用計(jì)數(shù)器方式來(lái)實(shí)現(xiàn)。
3.1 1024kHz時(shí)鐘分頻
根據(jù)所需的時(shí)鐘頻率為1024kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是8倍的整數(shù)倍關(guān)系,因此需要對(duì)8192kHz的晶振時(shí)鐘進(jìn)行8分頻來(lái)獲得所需要的時(shí)鐘。根據(jù)整數(shù)倍分頻器的設(shè)計(jì)方法原理,通過(guò)ISE9.1邏輯設(shè)計(jì)工具,利用VHDL硬件描述語(yǔ)言來(lái)進(jìn)行8分頻的分頻器設(shè)計(jì)。然而8又是偶數(shù),所以需要設(shè)計(jì)的是偶數(shù)分頻器。對(duì)設(shè)計(jì)的內(nèi)容通過(guò)Modelsim6.5仿真軟件進(jìn)行仿真驗(yàn)證,結(jié)果如圖3-1所示。
圖3-1 1024kHz時(shí)鐘分頻
由圖3-1得知,當(dāng)8192kHz的晶振時(shí)鐘輸入8個(gè)時(shí)鐘,系統(tǒng)輸出1個(gè)時(shí)鐘,即一個(gè)1024kHz頻率的時(shí)鐘。程序設(shè)計(jì)中采用計(jì)數(shù)器來(lái)實(shí)現(xiàn),當(dāng)計(jì)數(shù)器值為0-((n/2)-1)=-3時(shí),輸出時(shí)鐘信號(hào)進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號(hào),使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),不斷循環(huán)下去。
3.2 512kHz時(shí)鐘分頻
根據(jù)所需的時(shí)鐘頻率為512kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是16倍的整數(shù)倍關(guān)系,因此需要對(duì)8192kHz的晶振時(shí)鐘進(jìn)行16分頻來(lái)獲得所需要的時(shí)鐘。根據(jù)整數(shù)倍分頻器的設(shè)計(jì)方法原理,通過(guò)ISE9.1邏輯設(shè)計(jì)工具,利用VHDL硬件描述語(yǔ)言來(lái)進(jìn)行16分頻的分頻器設(shè)計(jì)。然而16又是偶數(shù),所以需要設(shè)計(jì)的是偶數(shù)分頻器。對(duì)設(shè)計(jì)的內(nèi)容通過(guò)Modelsim6.5仿真軟件進(jìn)行仿真驗(yàn)證,結(jié)果如圖3-2所示。
圖3-2 512kHz時(shí)鐘分頻
由圖3-2得知,當(dāng)8192kHz的晶振時(shí)鐘輸入16個(gè)時(shí)鐘,系統(tǒng)輸出1個(gè)時(shí)鐘,即一個(gè)512kHz頻率的時(shí)鐘。程序設(shè)計(jì)中采用計(jì)數(shù)器來(lái)實(shí)現(xiàn),當(dāng)計(jì)數(shù)器值為0-((n/2)-1)=-7時(shí),輸出時(shí)鐘信號(hào)進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號(hào),使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),不斷循環(huán)下去。
3.3 256kHz時(shí)鐘分頻
根據(jù)所需的時(shí)鐘頻率為256kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是32倍的整數(shù)倍關(guān)系,因此需要對(duì)8192kHz的晶振時(shí)鐘進(jìn)行32分頻來(lái)獲得所需要的時(shí)鐘。根據(jù)整數(shù)倍分頻器的設(shè)計(jì)方法原理,通過(guò)ISE9.1邏輯設(shè)計(jì)工具,利用VHDL硬件描述語(yǔ)言來(lái)進(jìn)行32分頻的分頻器設(shè)計(jì)。然而32又是偶數(shù),所以需要設(shè)計(jì)的是偶數(shù)分頻器。對(duì)設(shè)計(jì)的內(nèi)容通過(guò)Modelsim6.5仿真軟件進(jìn)行仿真驗(yàn)證,結(jié)果如圖3-3所示。
圖3-3 256kHz時(shí)鐘分頻
由圖3-3得知,當(dāng)8192kHz的晶振時(shí)鐘輸入32個(gè)時(shí)鐘,系統(tǒng)輸出1個(gè)時(shí)鐘,即一個(gè)256kHz頻率的時(shí)鐘。程序設(shè)計(jì)中采用計(jì)數(shù)器來(lái)實(shí)現(xiàn),當(dāng)計(jì)數(shù)器值為0-((n/2)-1)=-15時(shí),輸出時(shí)鐘信號(hào)進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號(hào),使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),不斷循環(huán)下去。
3.4 1kHz時(shí)鐘分頻
根據(jù)所需的時(shí)鐘頻率為1kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是8192倍的整數(shù)倍關(guān)系,因此需要對(duì)8192kHz的晶振時(shí)鐘進(jìn)行8192分頻來(lái)獲得所需要的時(shí)鐘。根據(jù)整數(shù)倍分頻器的設(shè)計(jì)方法原理,通過(guò)ISE9.1邏輯設(shè)計(jì)工具,利用VHDL硬件描述語(yǔ)言來(lái)進(jìn)行8192分頻的分頻器設(shè)計(jì)。然而8192又是偶數(shù),所以需要設(shè)計(jì)的是偶數(shù)分頻器。對(duì)設(shè)計(jì)的內(nèi)容通過(guò)Modelsim6.5仿真軟件進(jìn)行仿真驗(yàn)證,結(jié)果如圖3-4所示。
圖3-4 1kHz時(shí)鐘分頻
由圖3-4得知,當(dāng)8192kHz的晶振時(shí)鐘輸入8個(gè)時(shí)鐘,系統(tǒng)輸出1個(gè)時(shí)鐘,即一個(gè)1kHz頻率的時(shí)鐘。程序設(shè)計(jì)中采用計(jì)數(shù)器來(lái)實(shí)現(xiàn),當(dāng)計(jì)數(shù)器值為0-((n/2)-1)=-4095時(shí),輸出時(shí)鐘信號(hào)進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號(hào),使下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),不斷循環(huán)下去。
4.結(jié)束語(yǔ)
本文給出了基于FPGA的數(shù)字分頻器設(shè)計(jì)方法。采用計(jì)數(shù)器設(shè)計(jì)方法實(shí)現(xiàn)了對(duì)8192kHz的基準(zhǔn)時(shí)鐘進(jìn)行分頻,分別得到1024kHz、512kHz、256kHz和1kHz的時(shí)鐘頻率。其他的偶數(shù)倍分頻也可采用類似的方法分頻的到需要的頻率時(shí)鐘。通過(guò)在Modelsim6.5仿真工具驗(yàn)證了設(shè)計(jì)的正確性。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 中微公司成功從美國(guó)國(guó)防部中國(guó)軍事企業(yè)清單中移除
- 華邦電子白皮書:滿足歐盟無(wú)線電設(shè)備指令(RED)信息安全標(biāo)準(zhǔn)
- 功率器件熱設(shè)計(jì)基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴(kuò)散
- 準(zhǔn) Z 源逆變器的設(shè)計(jì)
- 第12講:三菱電機(jī)高壓SiC芯片技術(shù)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動(dòng)車
電動(dòng)工具
電動(dòng)汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖