版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、3 數(shù)字秒表的系統(tǒng)設(shè)計3.1 系統(tǒng)的整體設(shè)計數(shù)字秒表的設(shè)計主要是一個計數(shù)電路,首先對一個時鐘進行不同的分頻,然后將分頻出的時鐘分別送給相應(yīng)的模塊,毫秒計數(shù)器,秒計數(shù)器,分計數(shù)器,時計數(shù)器,然后經(jīng)過譯碼電路送給數(shù)碼管,顯示出相應(yīng)數(shù)字,具體的秒表設(shè)計系統(tǒng)框圖如下所示。 圖3.1 系統(tǒng)框圖本次設(shè)計采用1.25mhz的基準輸入脈沖,將其進行12500分頻后得到100hz的標準脈沖,因為秒表的精確度要求為0.01s,所以需要用100hz的脈沖。分頻模塊的輸出脈沖作為計時模塊的輸入,當(dāng)?shù)谝粋€模塊計數(shù)滿100后向秒進位,當(dāng)秒計數(shù)滿60后向分進位,分記滿60后向小時計數(shù),然后將要顯示的數(shù)字進行譯碼后送給七段數(shù)
2、碼管進行顯示即可。3.2 秒表的層次化設(shè)計 3.2.1 分頻模塊 分頻電路在eda的各種設(shè)計電路中應(yīng)用非常多。我們經(jīng)常用分頻電路來實現(xiàn)多種我們需要的不同頻率的脈沖。分頻的基本原理就是將一個頻率比較高的數(shù)字脈沖經(jīng)過是當(dāng)?shù)奶幚砗?,輸出一個或者多個頻率相對較低數(shù)字脈沖,它的實質(zhì)是計數(shù)器,計數(shù)的大小即分頻常數(shù)有輸入和輸出的比值決定,它的輸出是依據(jù)分頻常數(shù)對輸出信號的低電平和高電平的控制。另外分頻器可分為整數(shù)分頻和小數(shù)分頻,本次設(shè)計采用整數(shù)分頻。本次設(shè)計的精確度為0.01s,首先需要一個準確的計時基準時鐘,它的周期為10ms,即需要用100hz的計時時鐘,本次設(shè)計提供的時鐘信號源為1.25mkhz,先經(jīng)
3、過12500分頻后可以獲得100hz的時鐘,讓100hz作為計時模塊的輸入,用vhdl語言實現(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 計時電路模塊計時電路是eda進行各種數(shù)字電路的設(shè)計時幾乎是不可缺少的一部分,可用于分頻,定時電路的定時,基本的計數(shù)功能,甚至還可以用來做數(shù)學(xué)運算等。本次的數(shù)字秒表的設(shè)計中用到很多計數(shù)器,比如進行時鐘分頻時用到兩種計數(shù)器,一個十進制和一個一百進制的,計數(shù)時用到一個100進制、兩個60進制和一個24進制的
5、計數(shù)器。計數(shù)器的基本工作原理是將多個觸發(fā)器按照一定的順序連接起來,按照不同的觸發(fā)器的狀態(tài)遵循不同的規(guī)律來記時鐘的個數(shù),有了這個計數(shù)的規(guī)律,我們就輕而易舉的對計數(shù)器進行vhdl描述了。本次設(shè)計把秒表的計時范圍把一般的擴展到小時了,有一個100進制的計數(shù)器,兩個60進制的和一個24進制的,毫秒和秒的vhdl語言描述如下,其它的模塊程序參考附錄a。1、100進制的計數(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進制的計數(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è)計的描述本次設(shè)計數(shù)字秒表采用了原理圖輸入的方法進行
10、了描述,具體的過程:首先將每一個模塊進行編譯、綜合、仿真后,針對vhdl生成相應(yīng)的圖符文件,然后將每個模塊的圖符文件和各自的vhdl放在一塊,最后用原理圖的方法將每個模塊連接在一塊,結(jié)果如圖3.2所示。 圖3.2 頂層設(shè)計原理圖 4 系統(tǒng)仿真4.1 quartus的簡介quartus開發(fā)軟件是altera公司推出的業(yè)內(nèi)比較領(lǐng)先的fpga設(shè)計軟件,具有最全面的開發(fā)環(huán)境,它較多的應(yīng)用于大規(guī)模的邏輯電路的設(shè)計,提供了從設(shè)計輸入到器件編程的全部功能,與第三代設(shè)計軟件相比較,它具有更加完美的功能,支持度可編程邏輯器件的數(shù)量也越來越多,它設(shè)計的輸入,編譯和綜合仿真的過程都更加的簡單,同時在編譯和仿真的同時
11、會生成相應(yīng)的報告。quartus軟件的設(shè)計方法很多,支持圖形編輯輸入法,文本輸入法,以及圖形和文本混用輸入法等多種編輯輸入法。同時器內(nèi)部有自帶的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的整個設(shè)計流程。4.1.1 quartus的特點1、最容易使用的可編程邏輯器件的設(shè)計軟件altera的 quartus ii軟件支持max ii器件和其他的max cpld系列,因為它提供最全面的開發(fā)環(huán)境,并且也是最易使用的,可以完成從設(shè)計輸入到硬件配置結(jié)束的整個設(shè)計項目流程。2、quartus ii給max+plus ii用戶帶來了很大的方便quartus ii提供了一個內(nèi)置的max+plus ii外觀選
12、項,兩者是兼容的,max+plus ii的使用者不需要學(xué)習(xí)一個新的界面,就能獲得quartus ii軟件的所有的功能,它比max+plus ii的性能更好,它比max+plus ii的性能平均快百分之十五左右,對于固定的設(shè)計其平均的器件資源減少了百分之五。3、器件的兼容quartus ii的核心器件不僅支持max 3000a系列、max7000系列、max9000系列、flex6000系列、flex10k系列之外,還支持max ii cpld系列,cyclone系列等等最新的fpga系列的器件。4、系統(tǒng)設(shè)計技術(shù)altera的 quartus ii軟件是第一個支持基于ip系統(tǒng)設(shè)計的軟件,它包含了
13、完整的自動的系統(tǒng)定義和實施,不需要最低層的硬件描述語言和原理圖。設(shè)計的人員可以在很短的時間內(nèi)實現(xiàn)自己先要的系統(tǒng)。5、時序逼近的方法quartus ii采用了以內(nèi)最先進的時序逼近的方法,使設(shè)計的人員能夠迅速的獲得自己設(shè)計的時序仿真的要求。這種時序逼近的方法是直接集成在它的工具包中,不需要單獨對其進行操作。6、驗證方法quartus ii不僅集成了第三方的eda的驗證工具和方案,還提供有高級多時鐘時序分析的能力,它可以讓使用者決定設(shè)計中的速率關(guān)鍵和性能受限路徑,以此來優(yōu)化關(guān)鍵的時序路徑。還包含了芯片編輯器,它可以在幾分鐘內(nèi)實現(xiàn)系統(tǒng)內(nèi)部的漸進式設(shè)計更改。altera 公司的quartus ii 作為
14、一種可編程邏輯的設(shè)計環(huán)境, 因為它的設(shè)計能力的強大和接口的簡單易用,越來越受到更多數(shù)字系統(tǒng)設(shè)計者的青睞。4.2 各個模塊的仿真在本次設(shè)計中,我采用了altera 公司的quartus ii做為仿真軟件,對各個模塊的源程序進行了編譯、綜合、仿真,并讓每個模塊的源程序生成相應(yīng)的圖符元件,用于頂層電路的設(shè)計描述。每個模塊經(jīng)仿真后被驗證是正確的,具體的仿真波形如下。1、分頻仿真波形 分頻輸入clock為1.25mhz的輸入脈沖,en為使能端,當(dāng)en為高電平時,分頻器開始工作,分頻輸出信號clk為100hz的脈沖。 圖5.1 分頻模塊的仿真波形從仿真波形中可以看出,當(dāng)en為高電平時,分頻器開始工作,這時
15、輸出脈沖clk為正確輸出,從時間軸可以看出,clk的周期為10ms,頻率為周期的倒數(shù),因此輸出為100hz。2、毫秒的仿真波形 輸入的信號為clk2,暫停鍵用pause鍵控制,清零鍵用res控制,h和l為十分秒和百分秒的輸出,co為進位信號。圖5.2 毫秒的仿真波形從圖5.2可以看出,當(dāng)時鐘的上升沿過來后,暫停鍵無效時,低位計數(shù)開始,計數(shù)計滿10后向高位進位,當(dāng)高位記滿10后,即整體計數(shù)滿100后,進位信號co顯示高電平,如圖5.2中co所示,當(dāng)暫停鍵pause為高電平時,低位計數(shù)器停止計數(shù),圖中顯示低位暫停在3,高位暫停在1處;當(dāng)復(fù)位鍵res出現(xiàn)高電平時,低位和高位都顯示為零,仿真結(jié)果正確,
16、符合要求。3、秒的仿真波形秒的輸入脈沖是由前一個模塊的進位輸出作為時鐘信號clk2的,暫停鍵用pause控制,清零用res控制,l為秒的個位顯示,h為秒的十位顯示,co為進位信號。圖5.3 秒的仿真波形 從圖5.3可以得出,暫停鍵為高電平時,停止計數(shù);復(fù)位鍵為高電平時,全部清零;計數(shù)滿60后有輸出,仿真結(jié)果正確。分鐘、小時、和譯碼顯示模塊的仿真結(jié)果參考附錄。4、頂層設(shè)計的仿真波形clk作為分頻的輸入,en作為總的控制時鐘的開始,暫停鍵用pause控制,清零用res控制,w1-w8分別為秒表的低位到高位的8個數(shù)碼管顯示,高四位通過譯碼模塊連接,共7位,低四位硬件自帶的譯碼器,輸出為四位。圖5.3
17、頂層設(shè)計的仿真波形由圖5.3可得,秒表可以正常工作,當(dāng)毫秒記滿100后秒開始計數(shù),秒計滿60后向分鐘有進位,與設(shè)計的預(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、小時的vhdl語言描述library ieee;use
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年紙箱銷售合同-紙箱包裝定制與銷售服務(wù)協(xié)議6篇
- 2024版商業(yè)空間升級改造委托合同版B版
- 2025酒水推銷業(yè)務(wù)員合同協(xié)議書
- 2024年銷售合同具體條款
- 2025年度物業(yè)買賣合同社區(qū)安全防范措施3篇
- 2025年度日化用品個性化定制與銷售合同3篇
- 二零二五口腔診所聘用口腔修復(fù)師專項合同3篇
- 二零二五年度醫(yī)療健康產(chǎn)業(yè)專利申請與授權(quán)合同2篇
- 2024年高品質(zhì)改性瀝青采購合同一
- 2024年標準居間業(yè)務(wù)合作合同版
- 2024年新華人壽保險股份有限公司招聘筆試參考題庫含答案解析
- 能源托管服務(wù)投標方案(技術(shù)方案)
- 2024年新奧集團股份有限公司招聘筆試參考題庫含答案解析
- 乳頭混淆疾病演示課件
- 高速公路涉路施工許可技術(shù)審查指南(一)
- 海南物流行業(yè)發(fā)展趨勢分析報告
- 安全運維配置檢查
- 移相變壓器計算程序標準版
- 期末測試(試題)-三年級數(shù)學(xué)上冊人教版
- 藥劑科門診中成西藥房利用PDCA循環(huán)降低門診藥房調(diào)劑內(nèi)差發(fā)生率品管圈QCC成果匯報
- 物料員工作計劃與總結(jié)
評論
0/150
提交評論