數(shù)字秒表的系統(tǒng)設(shè)計(jì)_第1頁
數(shù)字秒表的系統(tǒng)設(shè)計(jì)_第2頁
數(shù)字秒表的系統(tǒng)設(shè)計(jì)_第3頁
數(shù)字秒表的系統(tǒng)設(shè)計(jì)_第4頁
數(shù)字秒表的系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、3 數(shù)字秒表的系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)的整體設(shè)計(jì)數(shù)字秒表的設(shè)計(jì)主要是一個(gè)計(jì)數(shù)電路,首先對一個(gè)時(shí)鐘進(jìn)行不同的分頻,然后將分頻出的時(shí)鐘分別送給相應(yīng)的模塊,毫秒計(jì)數(shù)器,秒計(jì)數(shù)器,分計(jì)數(shù)器,時(shí)計(jì)數(shù)器,然后經(jīng)過譯碼電路送給數(shù)碼管,顯示出相應(yīng)數(shù)字,具體的秒表設(shè)計(jì)系統(tǒng)框圖如下所示。 圖3.1 系統(tǒng)框圖本次設(shè)計(jì)采用1.25mhz的基準(zhǔn)輸入脈沖,將其進(jìn)行12500分頻后得到100hz的標(biāo)準(zhǔn)脈沖,因?yàn)槊氡淼木_度要求為0.01s,所以需要用100hz的脈沖。分頻模塊的輸出脈沖作為計(jì)時(shí)模塊的輸入,當(dāng)?shù)谝粋€(gè)模塊計(jì)數(shù)滿100后向秒進(jìn)位,當(dāng)秒計(jì)數(shù)滿60后向分進(jìn)位,分記滿60后向小時(shí)計(jì)數(shù),然后將要顯示的數(shù)字進(jìn)行譯碼后送給七段數(shù)

2、碼管進(jìn)行顯示即可。3.2 秒表的層次化設(shè)計(jì) 3.2.1 分頻模塊 分頻電路在eda的各種設(shè)計(jì)電路中應(yīng)用非常多。我們經(jīng)常用分頻電路來實(shí)現(xiàn)多種我們需要的不同頻率的脈沖。分頻的基本原理就是將一個(gè)頻率比較高的數(shù)字脈沖經(jīng)過是當(dāng)?shù)奶幚砗?,輸出一個(gè)或者多個(gè)頻率相對較低數(shù)字脈沖,它的實(shí)質(zhì)是計(jì)數(shù)器,計(jì)數(shù)的大小即分頻常數(shù)有輸入和輸出的比值決定,它的輸出是依據(jù)分頻常數(shù)對輸出信號的低電平和高電平的控制。另外分頻器可分為整數(shù)分頻和小數(shù)分頻,本次設(shè)計(jì)采用整數(shù)分頻。本次設(shè)計(jì)的精確度為0.01s,首先需要一個(gè)準(zhǔn)確的計(jì)時(shí)基準(zhǔn)時(shí)鐘,它的周期為10ms,即需要用100hz的計(jì)時(shí)時(shí)鐘,本次設(shè)計(jì)提供的時(shí)鐘信號源為1.25mkhz,先經(jīng)

3、過12500分頻后可以獲得100hz的時(shí)鐘,讓100hz作為計(jì)時(shí)模塊的輸入,用vhdl語言實(shí)現(xiàn)如下。library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fenpin is port ( en, clock: in std_logic ;clk1: out std_logic);end fenpin; architecture bhv of fenpin is begin process(clock)variable cout:integer:=0;begin if clockeven

4、t and clock=1 and en=1 thencout:=cout+1;if cout=6250 then clk1=0; elsif cout12500 then clk1=1;else cout:=0;end if; end if; end process;end bhv;3.2.2 計(jì)時(shí)電路模塊計(jì)時(shí)電路是eda進(jìn)行各種數(shù)字電路的設(shè)計(jì)時(shí)幾乎是不可缺少的一部分,可用于分頻,定時(shí)電路的定時(shí),基本的計(jì)數(shù)功能,甚至還可以用來做數(shù)學(xué)運(yùn)算等。本次的數(shù)字秒表的設(shè)計(jì)中用到很多計(jì)數(shù)器,比如進(jìn)行時(shí)鐘分頻時(shí)用到兩種計(jì)數(shù)器,一個(gè)十進(jìn)制和一個(gè)一百進(jìn)制的,計(jì)數(shù)時(shí)用到一個(gè)100進(jìn)制、兩個(gè)60進(jìn)制和一個(gè)24進(jìn)制的

5、計(jì)數(shù)器。計(jì)數(shù)器的基本工作原理是將多個(gè)觸發(fā)器按照一定的順序連接起來,按照不同的觸發(fā)器的狀態(tài)遵循不同的規(guī)律來記時(shí)鐘的個(gè)數(shù),有了這個(gè)計(jì)數(shù)的規(guī)律,我們就輕而易舉的對計(jì)數(shù)器進(jìn)行vhdl描述了。本次設(shè)計(jì)把秒表的計(jì)時(shí)范圍把一般的擴(kuò)展到小時(shí)了,有一個(gè)100進(jìn)制的計(jì)數(shù)器,兩個(gè)60進(jìn)制的和一個(gè)24進(jìn)制的,毫秒和秒的vhdl語言描述如下,其它的模塊程序參考附錄a。1、100進(jìn)制的計(jì)數(shù)器,輸出為0.1s和0.01slibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minsecond isport(clk1,r

6、es, pause:in std_logic; l,h:out std_logic_vector(3 downto 0); co:out std_logic);end minsecond;architecture sec of minsecond issignal hout,lout:std_logic_vector(3 downto 0); begin process(clk1,res, pause, hout, lout) begin if res=1 then hout=0000; lout=0000; elsif pause=1 then hout=hout; lout1000) th

7、en if (lout1000) then lout=0000; hout=0000; co=1; else lout=lout+1; end if; else if (lout=1001) then lout=0000; hout=hout+1; else lout=lout+1; co=0; end if; end if; end if; end process; l=lout; h=hout;end sec;2、60進(jìn)制的計(jì)數(shù)器以秒為例。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ent

8、ity second isport( clk2,res,pause:in std_logic; l,h:out std_logic_vector(3 downto 0); co:out std_logic);end second;architecture sec of second issignal hout,lout:std_logic_vector(3 downto 0); begin process(clk2,res,pause, hout, lout) begin if res=1 then hout=0000; lout=0000; elsif pause=1 then hout=h

9、out; lout0100) then if (lout1000) then lout=0000; hout=0000; co=1; else lout=lout+1; end if; else if (lout=1001) then lout=0000; hout=hout+1; else lout=lout+1; co=0; end if; end if; end if;end process; l=lout; hwwwwwwwwww=1101111;-顯示9end case; end process;end dis;3.3 數(shù)字秒表頂層設(shè)計(jì)的描述本次設(shè)計(jì)數(shù)字秒表采用了原理圖輸入的方法進(jìn)行

10、了描述,具體的過程:首先將每一個(gè)模塊進(jìn)行編譯、綜合、仿真后,針對vhdl生成相應(yīng)的圖符文件,然后將每個(gè)模塊的圖符文件和各自的vhdl放在一塊,最后用原理圖的方法將每個(gè)模塊連接在一塊,結(jié)果如圖3.2所示。 圖3.2 頂層設(shè)計(jì)原理圖 4 系統(tǒng)仿真4.1 quartus的簡介quartus開發(fā)軟件是altera公司推出的業(yè)內(nèi)比較領(lǐng)先的fpga設(shè)計(jì)軟件,具有最全面的開發(fā)環(huán)境,它較多的應(yīng)用于大規(guī)模的邏輯電路的設(shè)計(jì),提供了從設(shè)計(jì)輸入到器件編程的全部功能,與第三代設(shè)計(jì)軟件相比較,它具有更加完美的功能,支持度可編程邏輯器件的數(shù)量也越來越多,它設(shè)計(jì)的輸入,編譯和綜合仿真的過程都更加的簡單,同時(shí)在編譯和仿真的同時(shí)

11、會(huì)生成相應(yīng)的報(bào)告。quartus軟件的設(shè)計(jì)方法很多,支持圖形編輯輸入法,文本輸入法,以及圖形和文本混用輸入法等多種編輯輸入法。同時(shí)器內(nèi)部有自帶的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的整個(gè)設(shè)計(jì)流程。4.1.1 quartus的特點(diǎn)1、最容易使用的可編程邏輯器件的設(shè)計(jì)軟件altera的 quartus ii軟件支持max ii器件和其他的max cpld系列,因?yàn)樗峁┳钊娴拈_發(fā)環(huán)境,并且也是最易使用的,可以完成從設(shè)計(jì)輸入到硬件配置結(jié)束的整個(gè)設(shè)計(jì)項(xiàng)目流程。2、quartus ii給max+plus ii用戶帶來了很大的方便quartus ii提供了一個(gè)內(nèi)置的max+plus ii外觀選

12、項(xiàng),兩者是兼容的,max+plus ii的使用者不需要學(xué)習(xí)一個(gè)新的界面,就能獲得quartus ii軟件的所有的功能,它比max+plus ii的性能更好,它比max+plus ii的性能平均快百分之十五左右,對于固定的設(shè)計(jì)其平均的器件資源減少了百分之五。3、器件的兼容quartus ii的核心器件不僅支持max 3000a系列、max7000系列、max9000系列、flex6000系列、flex10k系列之外,還支持max ii cpld系列,cyclone系列等等最新的fpga系列的器件。4、系統(tǒng)設(shè)計(jì)技術(shù)altera的 quartus ii軟件是第一個(gè)支持基于ip系統(tǒng)設(shè)計(jì)的軟件,它包含了

13、完整的自動(dòng)的系統(tǒng)定義和實(shí)施,不需要最低層的硬件描述語言和原理圖。設(shè)計(jì)的人員可以在很短的時(shí)間內(nèi)實(shí)現(xiàn)自己先要的系統(tǒng)。5、時(shí)序逼近的方法quartus ii采用了以內(nèi)最先進(jìn)的時(shí)序逼近的方法,使設(shè)計(jì)的人員能夠迅速的獲得自己設(shè)計(jì)的時(shí)序仿真的要求。這種時(shí)序逼近的方法是直接集成在它的工具包中,不需要單獨(dú)對其進(jìn)行操作。6、驗(yàn)證方法quartus ii不僅集成了第三方的eda的驗(yàn)證工具和方案,還提供有高級多時(shí)鐘時(shí)序分析的能力,它可以讓使用者決定設(shè)計(jì)中的速率關(guān)鍵和性能受限路徑,以此來優(yōu)化關(guān)鍵的時(shí)序路徑。還包含了芯片編輯器,它可以在幾分鐘內(nèi)實(shí)現(xiàn)系統(tǒng)內(nèi)部的漸進(jìn)式設(shè)計(jì)更改。altera 公司的quartus ii 作為

14、一種可編程邏輯的設(shè)計(jì)環(huán)境, 因?yàn)樗脑O(shè)計(jì)能力的強(qiáng)大和接口的簡單易用,越來越受到更多數(shù)字系統(tǒng)設(shè)計(jì)者的青睞。4.2 各個(gè)模塊的仿真在本次設(shè)計(jì)中,我采用了altera 公司的quartus ii做為仿真軟件,對各個(gè)模塊的源程序進(jìn)行了編譯、綜合、仿真,并讓每個(gè)模塊的源程序生成相應(yīng)的圖符元件,用于頂層電路的設(shè)計(jì)描述。每個(gè)模塊經(jīng)仿真后被驗(yàn)證是正確的,具體的仿真波形如下。1、分頻仿真波形 分頻輸入clock為1.25mhz的輸入脈沖,en為使能端,當(dāng)en為高電平時(shí),分頻器開始工作,分頻輸出信號clk為100hz的脈沖。 圖5.1 分頻模塊的仿真波形從仿真波形中可以看出,當(dāng)en為高電平時(shí),分頻器開始工作,這時(shí)

15、輸出脈沖clk為正確輸出,從時(shí)間軸可以看出,clk的周期為10ms,頻率為周期的倒數(shù),因此輸出為100hz。2、毫秒的仿真波形 輸入的信號為clk2,暫停鍵用pause鍵控制,清零鍵用res控制,h和l為十分秒和百分秒的輸出,co為進(jìn)位信號。圖5.2 毫秒的仿真波形從圖5.2可以看出,當(dāng)時(shí)鐘的上升沿過來后,暫停鍵無效時(shí),低位計(jì)數(shù)開始,計(jì)數(shù)計(jì)滿10后向高位進(jìn)位,當(dāng)高位記滿10后,即整體計(jì)數(shù)滿100后,進(jìn)位信號co顯示高電平,如圖5.2中co所示,當(dāng)暫停鍵pause為高電平時(shí),低位計(jì)數(shù)器停止計(jì)數(shù),圖中顯示低位暫停在3,高位暫停在1處;當(dāng)復(fù)位鍵res出現(xiàn)高電平時(shí),低位和高位都顯示為零,仿真結(jié)果正確,

16、符合要求。3、秒的仿真波形秒的輸入脈沖是由前一個(gè)模塊的進(jìn)位輸出作為時(shí)鐘信號clk2的,暫停鍵用pause控制,清零用res控制,l為秒的個(gè)位顯示,h為秒的十位顯示,co為進(jìn)位信號。圖5.3 秒的仿真波形 從圖5.3可以得出,暫停鍵為高電平時(shí),停止計(jì)數(shù);復(fù)位鍵為高電平時(shí),全部清零;計(jì)數(shù)滿60后有輸出,仿真結(jié)果正確。分鐘、小時(shí)、和譯碼顯示模塊的仿真結(jié)果參考附錄。4、頂層設(shè)計(jì)的仿真波形clk作為分頻的輸入,en作為總的控制時(shí)鐘的開始,暫停鍵用pause控制,清零用res控制,w1-w8分別為秒表的低位到高位的8個(gè)數(shù)碼管顯示,高四位通過譯碼模塊連接,共7位,低四位硬件自帶的譯碼器,輸出為四位。圖5.3

17、頂層設(shè)計(jì)的仿真波形由圖5.3可得,秒表可以正常工作,當(dāng)毫秒記滿100后秒開始計(jì)數(shù),秒計(jì)滿60后向分鐘有進(jìn)位,與設(shè)計(jì)的預(yù)期成果一致。1、分鐘的vhdl語言描述library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute isport( clk2,res,pause:in std_logic; l,h:out std_logic_vector(3 downto 0); co:out std_logic);end minute;architecture min of minute issi

18、gnal hout,lout:std_logic_vector(3 downto 0); begin process(clk2,res,pause, hout, lout) begin if res=1 then hout=0000; lout=0000; elsif pause=1 then hout=hout; lout0100) then if (lout1000) then lout=0000; hout=0000; co=1; else lout=lout+1; end if; else if (lout=1001) then lout=0000; hout=hout+1; else lout=lout+1; co=0; end if; end if; end if;end process; l=lout; h=hout;end min; 2、小時(shí)的vhdl語言描述library ieee;use

溫馨提示

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

評論

0/150

提交評論