實(shí)驗(yàn)4 數(shù)控分頻器設(shè)計(jì)_第1頁(yè)
實(shí)驗(yàn)4 數(shù)控分頻器設(shè)計(jì)_第2頁(yè)
實(shí)驗(yàn)4 數(shù)控分頻器設(shè)計(jì)_第3頁(yè)
實(shí)驗(yàn)4 數(shù)控分頻器設(shè)計(jì)_第4頁(yè)
實(shí)驗(yàn)4 數(shù)控分頻器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)四 數(shù)控分頻器的設(shè)計(jì),1.實(shí)驗(yàn)?zāi)康?(1)學(xué)習(xí)時(shí)序電路VHDL語(yǔ)言設(shè)計(jì)。 (2)學(xué)習(xí)多進(jìn)程設(shè)計(jì),掌握變量的用法與信號(hào)的區(qū)別。 (3)掌握整數(shù)數(shù)控分頻器的原理及設(shè)計(jì)方法。 (4)掌握半整數(shù)數(shù)控分頻器的原理及設(shè)計(jì)方法,2. 背景知識(shí) 分頻器在時(shí)序邏輯電路中應(yīng)用廣泛.數(shù)控分頻器的功能就是當(dāng)在輸入端給定不同的輸入數(shù)據(jù)時(shí),將對(duì)輸入的時(shí)鐘信號(hào)有不同的分頻比。 整數(shù)分頻器采用計(jì)數(shù)初值可并行預(yù)置的加法(或者減法)計(jì)數(shù)器構(gòu)成。時(shí)鐘源與所需頻率不成整數(shù)倍關(guān)系,需要采用小數(shù)分頻器進(jìn)行分頻。,3.實(shí)驗(yàn)內(nèi)容與要求 (1)、設(shè)計(jì)一個(gè)整數(shù)數(shù)控分頻器,根據(jù)預(yù)置數(shù)的不同實(shí)現(xiàn)不同的分頻比。 (2)、設(shè)計(jì)一個(gè)分頻系數(shù)是2.5的

2、小數(shù)分頻器。 實(shí)驗(yàn)要求:波形仿真+硬件驗(yàn)證,4. 實(shí)驗(yàn)方案 (1)、整數(shù)分頻器設(shè)計(jì)方案 假設(shè)計(jì)數(shù)器計(jì)數(shù)時(shí)鐘是clock,數(shù)據(jù)位寬為4,進(jìn)行加法計(jì)數(shù),計(jì)數(shù)初值為“1011”,計(jì)數(shù)器記滿“1111”,需要計(jì)數(shù)5次(10111100110111101111),每5個(gè)clock脈沖,count輸出一個(gè)脈沖,這樣count的頻率就是clock頻率的1/5,稱為5分頻。假設(shè)預(yù)置數(shù)是d3.0,這樣分頻比R= 1111-d3.0+1。也就是如果d3.0=11(二進(jìn)制1011),則R=5;如果是減法計(jì)數(shù)器,則分頻比R=12(從11減法計(jì)數(shù)到0,共12次),則分頻比公式為R=d3.0+1。,分頻器設(shè)計(jì)的基礎(chǔ)計(jì)數(shù)器

3、 計(jì)滿全1后,產(chǎn)生進(jìn)位信號(hào)cout,cout的頻率是計(jì)數(shù)時(shí)鐘頻率的16分之一,稱cout是clk的十六分頻。 如果有一個(gè)預(yù)置數(shù)d3.0,從d開始計(jì)數(shù)計(jì)到全1,這時(shí)進(jìn)位信號(hào)cout與clk的頻率關(guān)系是什么呢?,4位二進(jìn)制加法計(jì)數(shù)器,分頻比R=“1111”-d3.0+1,library ieee; -設(shè)計(jì)庫(kù)的打開和程序包的允許使用 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity pulse is -定義實(shí)體pulse port(clk : in std_logic; -初始時(shí)鐘clk,即分頻前時(shí)鐘 d : i

4、n std_logic_vector(7 downto 0); -8位預(yù)置數(shù)d fout : out std_logic); -分頻后輸出信號(hào) end; architecture one of pulse1 is -定義結(jié)構(gòu)體 signal full : std_logic; -定義信號(hào)full begin p0:process(clk) -進(jìn)程p0,以clk為敏感參數(shù) variable cnt8 :std_logic_vector(7 downto 0); -定義內(nèi)部變量cnt8 begin,if clkevent and clk=1 then if cnt8=11111111 then c

5、nt8:=d; full=1; -如果cnt8記滿全1,預(yù)置數(shù)d被同步置入計(jì)數(shù)器cnt8, 準(zhǔn)備開始下次加法計(jì)數(shù)。記滿時(shí)進(jìn)位信號(hào)輸出高電平1 else cnt8:=cnt8+1;full=0; -否則繼續(xù)作加1計(jì)數(shù),full輸出低電平0 end if; end if; end process; p1:process(full) -進(jìn)程p1,以full信號(hào)為敏感岑書 variable cnt2 :std_logic; -定義內(nèi)部變量cnt2 begin if fullevent and full=1 then cnt2:=not cnt2; -變量cnt2是信號(hào)full的2分頻 end if;

6、if cnt2=1 then fout=1; -分頻最終結(jié)果fout else fout=0; end if; end process; end;,關(guān)于fout頻率的計(jì)算 full信號(hào)的分頻比F=11111111d7.0+1,而fout信號(hào)的頻率是full頻率的一半,產(chǎn)生的分頻信號(hào)fout的分頻比應(yīng)是R=(11111111d7.0+1)2。通過(guò)公式根據(jù)需要的分頻比,計(jì)算預(yù)置初值d。假設(shè)需要進(jìn)行8分頻,預(yù)置數(shù)d是252(二進(jìn)制11111100)。,思考: 1、分頻波形從12.8us開始的原因? 2、clk時(shí)鐘頻率為20MHz,預(yù)置數(shù)d=252,則信號(hào)full的頻率?信號(hào)fout的頻率? 3、如果

7、預(yù)置數(shù)是238呢?,思考:采用此方法能夠設(shè)計(jì)的分頻器的特點(diǎn)? 偶次分頻?奇次分頻?占空比?,(2)分頻系數(shù)2.5的小數(shù)分頻器設(shè)計(jì)方案 設(shè)有一個(gè)5MHz的時(shí)鐘源,電路中需要產(chǎn)生一個(gè)2MHz的時(shí)鐘信號(hào),則分頻比是2.5。 設(shè)計(jì)中,先設(shè)計(jì)一個(gè)模3的計(jì)數(shù)器(上升沿計(jì)數(shù)),然后通過(guò)在時(shí)鐘下降沿處產(chǎn)生分頻信號(hào)的上升沿,以實(shí)現(xiàn)半整數(shù)分頻。,library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity half_integer is port( inclk :in std_logic; -初始時(shí)鐘inclk

8、,需要分頻的信號(hào) fout : out std_logic; -分頻后輸出時(shí)鐘 clk :buffer std_logic); -模3計(jì)數(shù)時(shí)鐘 end; architecture one of half_integer is signal div2,cout:std_logic; signal cnt :std_logic_vector(1 downto 0);,begin clk=inclk xor div2; -inclk與divide2異或后作為模3計(jì)數(shù)器的時(shí)鐘 fout=cout; p0:process(clk) begin if clkevent and clk=1 then if

9、cnt=10 then cout=1;cnt=00; else cout=0;cnt=cnt+1; end if; end if; end process;,p1:process(cout) begin if coutevent and cout=1 then -信號(hào)cout上升沿時(shí),div2取反 div2=not div2; -即div2是cout的二分頻 end if; end process; end;,設(shè)計(jì)的關(guān)鍵點(diǎn)在于一個(gè)信號(hào)與0異或,得到的是信號(hào)本身;與1異或, 得到的是信號(hào)的取反。,inclk是分頻前的初始時(shí)鐘,在計(jì)數(shù)到2時(shí),信號(hào)cout是低電平0,div2也是0,此時(shí)inclk與

10、div2相異或,得到的結(jié)果clk等于inclk,因此在這一段時(shí)間內(nèi),相當(dāng)于以inclk為脈沖進(jìn)行計(jì)數(shù)。第3個(gè)inclk計(jì)數(shù)脈沖上升沿到來(lái)后,根據(jù)程序判斷此時(shí)cnt=“10”,所以cnt賦值0,cout賦值高電平1,即cout產(chǎn)生上升沿,將會(huì)觸發(fā)進(jìn)程p1,導(dǎo)致信號(hào)div2反轉(zhuǎn),變?yōu)楦唠娖?。當(dāng)div2變?yōu)楦唠娖?后,div2與inclk相異或,使得信號(hào)clk變?yōu)閕nclk取反,即在第3個(gè)inclk下降沿處會(huì)產(chǎn)生clk信號(hào)的上升沿,導(dǎo)致cnt計(jì)數(shù)從0到1,即0的持續(xù)時(shí)間只有半個(gè)周期(第3個(gè)inclk信號(hào)上升沿到下降沿),因而是一個(gè)2.5分頻的結(jié)果。,5實(shí)驗(yàn)步驟與結(jié)果 (1)實(shí)驗(yàn)步驟(略) 注:(A)把SW5改造成普通I/O口(P51); (

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論