色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

基于FPGA的數(shù)字分頻器設(shè)計(jì)

發(fā)布時(shí)間:2017-9-5 10:12    發(fā)布者:eechina
關(guān)鍵詞: 分頻器 , FPGA , VHDL , Modelsim6.5
作者:趙厲,張志國,唐芳福
珠海歐比特控制工程股份有限公司,珠海 519080

摘要:在設(shè)計(jì)數(shù)字電路過程中,通常所需的頻率要根據(jù)給定的頻率進(jìn)行分頻來得到。時(shí)鐘分頻又分為整數(shù)分頻和小數(shù)分頻,有時(shí)還有會有分?jǐn)?shù)分頻。當(dāng)基準(zhǔn)時(shí)鐘與所需的頻率成整數(shù)倍關(guān)系時(shí)為整數(shù)分頻,可以采用標(biāo)準(zhǔn)的計(jì)數(shù)器實(shí)現(xiàn),也可以采用可編程邏輯器件實(shí)現(xiàn)。當(dāng)基準(zhǔn)時(shí)鐘與所需的頻率不成整數(shù)倍關(guān)系時(shí)為小數(shù)分頻,可以采用小數(shù)分頻器實(shí)現(xiàn)分頻。本文通過XC2V1000-4FG456型號的FPGA對8192kHz的基準(zhǔn)時(shí)鐘進(jìn)行分頻,分別得到1024kHz、512kHz、256kHz和1kHz的時(shí)鐘頻率。設(shè)計(jì)中利用了VHDL硬件描述語言,通過ISE9.1邏輯設(shè)計(jì)工具和Modelsim6.5仿真工具完成了數(shù)字分頻器的設(shè)計(jì)。

關(guān)鍵詞:分頻器;FPGA;VHDL;Modelsim6.5

1.        概述

隨著集成電路技術(shù)的快速發(fā)展,半導(dǎo)體存儲、微處理器等相關(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ā)展及突破。

分頻器通常用來對某個(gè)給定的時(shí)鐘頻率進(jìn)行分頻,以得到所需的時(shí)鐘頻率。在設(shè)計(jì)數(shù)字電路中會經(jīng)常用到多種不同頻率的時(shí)鐘脈沖,一般采用由一個(gè)固定的晶振時(shí)鐘頻率來產(chǎn)生所需要的不同頻率的時(shí)鐘脈沖的方法進(jìn)行時(shí)鐘分頻。

在FPGA的設(shè)計(jì)中分頻器是使用頻率較高的基本設(shè)計(jì),在很多的設(shè)計(jì)中也會經(jīng)常用到芯片集成的鎖相環(huán)資源,如用Xilinx的DLL以及Altera的PLL來進(jìn)行時(shí)鐘的分頻、倍頻與相移。在一些對時(shí)鐘精度不高的場合,會經(jīng)常利用硬件描述語言來對時(shí)鐘源進(jìn)行時(shí)鐘分頻。

分頻器是一種基本電路,一般包括數(shù)字分頻器、模擬分頻器和射頻分頻器。根據(jù)不同設(shè)計(jì)的需要,有時(shí)還會要求等占空比。數(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ù)字分頻器,通過VHDL硬件設(shè)計(jì)語言,在Modelsim6.5上對設(shè)計(jì)的分頻器進(jìn)行仿真驗(yàn)證。

2.        數(shù)字分頻器的設(shè)計(jì)

數(shù)字分頻器的設(shè)計(jì)與模擬分頻器的設(shè)計(jì)不同,數(shù)字分頻器可以使用觸發(fā)器設(shè)計(jì)電路對時(shí)鐘脈沖進(jìn)行時(shí)鐘分頻。分頻器的一個(gè)重要指標(biāo)就是占空比,即在一個(gè)周期中高電平脈沖在整個(gè)周期中所占的比例。占空比一般會有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í)鐘分頻原理會根據(jù)時(shí)鐘分頻的要求不同而不同,但均可采用標(biāo)準(zhǔn)計(jì)數(shù)器原理來實(shí)現(xiàn)。

偶數(shù)分頻器的設(shè)計(jì)原理較為簡單,主要是利用計(jì)數(shù)器來實(shí)現(xiàn)。假設(shè)要進(jìn)行n(n為偶數(shù))分頻,設(shè)定一個(gè)在分頻時(shí)鐘上升沿觸發(fā)的計(jì)數(shù)器循環(huán)計(jì)數(shù)來實(shí)現(xiàn)。當(dāng)計(jì)數(shù)器值為0-((n/2)-1)時(shí),輸出時(shí)鐘信號進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號,使下一個(gè)時(shí)鐘上升沿到來時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),由此不斷循環(huán)。

奇數(shù)分頻器的設(shè)計(jì)原理與偶數(shù)分頻的設(shè)計(jì)方法很相似,都是通過計(jì)數(shù)器來實(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í)鐘信號進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)時(shí)鐘復(fù)位信號,使下一個(gè)時(shí)鐘上升沿到來時(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ù)分頻器,然后通過控制單位時(shí)間內(nèi)兩種分頻比出現(xiàn)的不同次數(shù)來獲得所需的小數(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í)鐘信號的頻率為1khz,需要產(chǎn)生750khz的分頻信號,其分頻系數(shù)為6/8。基本設(shè)計(jì)思想是,在8個(gè)時(shí)鐘信號中保留6個(gè)時(shí)鐘信號。這種方法是需要預(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分頻過后再將累加值減去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對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í),通過VHDL硬件描述語言利用計(jì)數(shù)器方式來實(shí)現(xiàn)。

3.1 1024kHz時(shí)鐘分頻

根據(jù)所需的時(shí)鐘頻率為1024kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是8倍的整數(shù)倍關(guān)系,因此需要對8192kHz的晶振時(shí)鐘進(jìn)行8分頻來獲得所需要的時(shí)鐘。根據(jù)整數(shù)倍分頻器的設(shè)計(jì)方法原理,通過ISE9.1邏輯設(shè)計(jì)工具,利用VHDL硬件描述語言來進(jìn)行8分頻的分頻器設(shè)計(jì)。然而8又是偶數(shù),所以需要設(shè)計(jì)的是偶數(shù)分頻器。對設(shè)計(jì)的內(nèi)容通過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ù)器來實(shí)現(xiàn),當(dāng)計(jì)數(shù)器值為0-((n/2)-1)=-3時(shí),輸出時(shí)鐘信號進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號,使下一個(gè)時(shí)鐘上升沿到來時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),不斷循環(huán)下去。

3.2 512kHz時(shí)鐘分頻

根據(jù)所需的時(shí)鐘頻率為512kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是16倍的整數(shù)倍關(guān)系,因此需要對8192kHz的晶振時(shí)鐘進(jìn)行16分頻來獲得所需要的時(shí)鐘。根據(jù)整數(shù)倍分頻器的設(shè)計(jì)方法原理,通過ISE9.1邏輯設(shè)計(jì)工具,利用VHDL硬件描述語言來進(jìn)行16分頻的分頻器設(shè)計(jì)。然而16又是偶數(shù),所以需要設(shè)計(jì)的是偶數(shù)分頻器。對設(shè)計(jì)的內(nèi)容通過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ù)器來實(shí)現(xiàn),當(dāng)計(jì)數(shù)器值為0-((n/2)-1)=-7時(shí),輸出時(shí)鐘信號進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號,使下一個(gè)時(shí)鐘上升沿到來時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),不斷循環(huán)下去。

3.3 256kHz時(shí)鐘分頻

根據(jù)所需的時(shí)鐘頻率為256kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是32倍的整數(shù)倍關(guān)系,因此需要對8192kHz的晶振時(shí)鐘進(jìn)行32分頻來獲得所需要的時(shí)鐘。根據(jù)整數(shù)倍分頻器的設(shè)計(jì)方法原理,通過ISE9.1邏輯設(shè)計(jì)工具,利用VHDL硬件描述語言來進(jìn)行32分頻的分頻器設(shè)計(jì)。然而32又是偶數(shù),所以需要設(shè)計(jì)的是偶數(shù)分頻器。對設(shè)計(jì)的內(nèi)容通過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ù)器來實(shí)現(xiàn),當(dāng)計(jì)數(shù)器值為0-((n/2)-1)=-15時(shí),輸出時(shí)鐘信號進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號,使下一個(gè)時(shí)鐘上升沿到來時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),不斷循環(huán)下去。

3.4 1kHz時(shí)鐘分頻

根據(jù)所需的時(shí)鐘頻率為1kHz的時(shí)鐘,而晶振時(shí)鐘的頻率為8192kHz,晶振時(shí)鐘與所需的時(shí)鐘頻率恰巧是8192倍的整數(shù)倍關(guān)系,因此需要對8192kHz的晶振時(shí)鐘進(jìn)行8192分頻來獲得所需要的時(shí)鐘。根據(jù)整數(shù)倍分頻器的設(shè)計(jì)方法原理,通過ISE9.1邏輯設(shè)計(jì)工具,利用VHDL硬件描述語言來進(jìn)行8192分頻的分頻器設(shè)計(jì)。然而8192又是偶數(shù),所以需要設(shè)計(jì)的是偶數(shù)分頻器。對設(shè)計(jì)的內(nèi)容通過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ù)器來實(shí)現(xiàn),當(dāng)計(jì)數(shù)器值為0-((n/2)-1)=-4095時(shí),輸出時(shí)鐘信號進(jìn)行翻轉(zhuǎn),同時(shí)給計(jì)數(shù)器一個(gè)復(fù)位信號,使下一個(gè)時(shí)鐘上升沿到來時(shí),計(jì)數(shù)器重新開始計(jì)數(shù),不斷循環(huán)下去。

4.        結(jié)束語

本文給出了基于FPGA的數(shù)字分頻器設(shè)計(jì)方法。采用計(jì)數(shù)器設(shè)計(jì)方法實(shí)現(xiàn)了對8192kHz的基準(zhǔn)時(shí)鐘進(jìn)行分頻,分別得到1024kHz、512kHz、256kHz和1kHz的時(shí)鐘頻率。其他的偶數(shù)倍分頻也可采用類似的方法分頻的到需要的頻率時(shí)鐘。通過在Modelsim6.5仿真工具驗(yàn)證了設(shè)計(jì)的正確性。

參考文獻(xiàn)
[1]        夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京航空航天大學(xué)出版社,2008
[2]        (美)Parag K.Lala著,喬廬峰等譯.現(xiàn)代數(shù)字設(shè)計(jì)與VHDL  [M].電子工業(yè)出版社,2010
[3]        潘松,黃繼業(yè),潘明.EDA技術(shù)實(shí)用教程[M].科學(xué)出版社,2010
[4]        張奇惠,武超,王二萍,蔣俊華,張偉風(fēng).基于VerilogHDL的分頻器的優(yōu)化設(shè)計(jì)[J].河南大學(xué)學(xué)報(bào)(自然科學(xué)出版).2007,37(4):343
[5]        王世元,謝開明,石亞偉,陳孟鋼,龍正吉.一種新的可控分頻器的FPGA實(shí)現(xiàn)[J].西南大學(xué)學(xué)報(bào)(自然科學(xué)版)2007,29(1):89-93
[6]        劉亞海,林爭輝.基于FPGA的小數(shù)分頻器的實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2008,28(3):113-117
[7]        蔡曉燕,F(xiàn)PGA數(shù)字邏輯設(shè)計(jì)[M].清華大學(xué)出版社,2013
[8]        徐志軍,徐光輝.CPLD/FPGA的開發(fā)與應(yīng)用[M].電子工業(yè)出版社,2002
[9]        王誠,薛小剛,鐘信潮.FPGA/CPLD設(shè)計(jì)工具[M].人民郵電出版社,2003
[10]        李秋生.一種改進(jìn)的小數(shù)分頻器設(shè)計(jì)方法[J].現(xiàn)代電子技術(shù).2009,08:43-46
[11]        徐德成.任意數(shù)分頻設(shè)計(jì)方法[J].科技廣場.2007,(11):219-220
[12]        古良玲,楊永明,郭巧惠.基于FPGA的半整數(shù)及整數(shù)分頻器的參數(shù)化設(shè)計(jì)[J].電子器件,2005,28(2): 404-406

本文地址:http://m.54549.cn/thread-516587-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表