基于CPLD的多功能數(shù)字時(shí)鐘(共25頁)_第1頁
基于CPLD的多功能數(shù)字時(shí)鐘(共25頁)_第2頁
基于CPLD的多功能數(shù)字時(shí)鐘(共25頁)_第3頁
基于CPLD的多功能數(shù)字時(shí)鐘(共25頁)_第4頁
基于CPLD的多功能數(shù)字時(shí)鐘(共25頁)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上前 言我們已經(jīng)進(jìn)入了數(shù)字化和信息化的時(shí)代,其特點(diǎn)是各種數(shù)字產(chǎn)品的廣泛應(yīng)用?,F(xiàn)代數(shù)字產(chǎn)品在性能提高、復(fù)雜度增大的同時(shí),其更新?lián)Q代的步伐也越來越快,實(shí)現(xiàn)這種進(jìn)步的因素在于生產(chǎn)制造技術(shù)和電子設(shè)計(jì)技術(shù)的進(jìn)步。CPLD器件和EDA技術(shù)的出現(xiàn),改變了這種傳統(tǒng)的設(shè)計(jì)思路,使人們可以立足于CPLD芯片來實(shí)現(xiàn)各種不同的功能,新的設(shè)計(jì)方法能夠由設(shè)計(jì)者自己定義器件內(nèi)部邏輯和管腳,將原來由電路板設(shè)計(jì)完成的工作大部分放在芯片的設(shè)計(jì)中進(jìn)行。這樣不僅可以通過芯片設(shè)計(jì)實(shí)現(xiàn)各種邏輯功能,而且由于管腳定義的靈活性,減輕了原理圖和印制板設(shè)計(jì)的工作量和難度,增加了設(shè)計(jì)的自由度,提高了效率。同時(shí)這種設(shè)計(jì)減少了

2、所需芯片的種類和數(shù)量,縮小了體積,降低了功耗,提高了系統(tǒng)的可靠性。目 錄1、 設(shè)計(jì)內(nèi)容和要求1. 設(shè)計(jì)一個(gè)數(shù)字鐘,具有計(jì)時(shí),校時(shí),鬧鐘和整點(diǎn)報(bào)時(shí)的功能。基本要求:1) 計(jì)時(shí)功能采用24小時(shí)方式,顯示小時(shí)、分鐘和秒;2) 采用雙鍵調(diào)整法,MODE和SET。3) MODE按鍵用于模式選擇,包括時(shí)鐘數(shù)碼管模塊顯示。計(jì)時(shí)模塊數(shù)碼管顯示,包括計(jì)時(shí)、秒校時(shí)、分校時(shí)和小時(shí)校時(shí);鬧鐘模塊數(shù)碼管顯示,包括鬧鐘校時(shí)和校分。4) SET作為校時(shí)脈沖;5) 結(jié)果用6個(gè)數(shù)碼管顯示和一個(gè)蜂嚀器;6) 用VHDL語言編程實(shí)現(xiàn)系統(tǒng)功能;7) 在Quartus II環(huán)境中編譯、仿真通過,并得到正確的波形;8) 在實(shí)驗(yàn)系統(tǒng)上下載

3、成功并有正確的結(jié)果;9) 完成相應(yīng)的實(shí)訓(xùn)報(bào)告。2、 實(shí)驗(yàn)環(huán)境1. 軟件環(huán)境QuartusQuartus軟件包是MAX+plus的升級版本,Altera公司的第四代開發(fā)軟件,該軟件提供了一個(gè)完整高效的設(shè)計(jì)環(huán)境,非常適應(yīng)具體的設(shè)計(jì)需要。Quartus提供了方便的設(shè)計(jì)輸入方式、快速的編譯和直接易懂的器件編程。能夠支持邏輯門數(shù)在百萬門以上的邏輯器件的開發(fā),并且為第三方工具提供了無縫接口。Quartus軟件包的編程器是系統(tǒng)的核心,提供功能強(qiáng)大的設(shè)計(jì)處理,設(shè)計(jì)者可以添加特定的約束條件來提高芯片的利用率。2. 硬件環(huán)境基于CYCLONE II系列 EP2C35F484I8芯片的實(shí)驗(yàn)箱。3、 系統(tǒng)設(shè)計(jì)方案的確

4、定1. 結(jié)構(gòu)框圖鬧鐘模塊計(jì)時(shí)模塊校時(shí)模塊顯示模塊報(bào)時(shí)模塊揚(yáng)聲器圖1 數(shù)字鐘結(jié)構(gòu)框圖2. 總體思路根據(jù)設(shè)計(jì)要求,計(jì)時(shí)結(jié)果用6個(gè)數(shù)碼管分別顯示小時(shí)、分鐘和秒,用揚(yáng)聲器響鈴表示鬧鐘以及整點(diǎn)報(bào)時(shí)。校時(shí)和鬧鐘校時(shí)采用雙鍵MODE和SET,前者選擇時(shí)鐘模式,后者作為校時(shí)脈沖。第一次按下MODE鍵為校時(shí)模式,SET鍵校時(shí);第二次按下MODE鍵為校分模式,SET鍵校分;第三次按下MODE鍵為校秒模式,SET鍵校秒;第四次按下MODE鍵為鬧鐘校時(shí)模式且數(shù)碼管顯示鬧鐘模式,SET鍵鬧鐘校時(shí);第五次按下MODE鍵為鬧鐘校分模式,SET鍵鬧鐘校分;第六次按下MODE鍵為又回到時(shí)鐘顯示模式,SET鍵無效;參考數(shù)字鐘的各

5、個(gè)模式圖接口如下圖。1) 總體電路圖2) 校時(shí)模塊 專心-專注-專業(yè)校時(shí)模塊用于時(shí)間校正。輸入端口有6個(gè):EN: 接高電平VCCCLK1HZ:數(shù)字鐘時(shí)鐘輸入,用于計(jì)時(shí);MODE:按下MODE鍵選擇時(shí)鐘模式,包括計(jì)時(shí)、秒校時(shí)、分校時(shí)和小時(shí)校時(shí)四種;SET:校時(shí)脈沖輸入,用于校準(zhǔn)時(shí)間;S_ENOUT :秒計(jì)數(shù)器的進(jìn)位信號;F_ENOUT: 分計(jì)數(shù)器的進(jìn)位信號。輸出端口有3個(gè):CLK: 單次數(shù)字時(shí)鐘輸出;F_CE: 使能輸出;H_CE: 使能輸出; 圖3 校時(shí)模塊模塊程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIG

6、NED.ALL;ENTITY JIAOSHI IS PORT( EN,CLK1HZ,SET,S_ENOUT,F_ENOUT : IN STD_LOGIC ;MODE : IN STD_LOGIC_VECTOR(2 DOWNTO 0);CLK,S_CE,F_CE,H_CE : out std_logic);END JIAOSHI;ARCHITECTURE behave OF JIAOSHI ISBEGINPROCESS (CLK1HZ,MODE,SET,S_ENOUT,F_ENOUT,EN)BEGINIF MODE = 000 THENCLK = CLK1HZ;F_CE = S_ENOUT;H_

7、CE = F_ENOUT;S_CE = EN;ELSIF MODE = 001 THENCLK = SET;S_CE =0;F_CE = 0;H_CE = EN;ELSIF MODE = 010 THENCLK = SET;F_CE = EN;S_CE = 0;H_CE = 0;ELSIF MODE = 011 THENCLK = SET;F_CE =0;S_CE = EN;H_CE = 0;ELSIF MODE = 100 THENCLK = CLK1HZ;F_CE = S_ENOUT;H_CE = F_ENOUT;S_CE = EN;ELSIF MODE = 101 THENCLK = C

8、LK1HZ;F_CE = S_ENOUT;H_CE = F_ENOUT;S_CE = EN;ELSIF MODE = 110 THENCLK = CLK1HZ;F_CE = S_ENOUT;H_CE = F_ENOUT;S_CE = EN;END IF;END PROCESS;END;3) 時(shí)鐘模塊由時(shí)模塊,分模塊,秒模塊組成,用于正常時(shí)間計(jì)數(shù)。輸入端口有6個(gè):CLK:數(shù)字鐘時(shí)鐘輸入,用于計(jì)時(shí);EN:使能輸入,為1時(shí)允許計(jì)數(shù)輸出端口有8個(gè):SH3.0、FH3.0、FL3.0、MH3.0、ML3.0、SL3.0:譯碼輸出,連接至6個(gè)七段數(shù)碼管,用于顯示正常計(jì)時(shí)時(shí)間或校準(zhǔn)時(shí)間。F_ENOUT: 分

9、模塊的進(jìn)位輸出;S_ENOUT: 秒模塊的進(jìn)位輸出。 圖4 時(shí)鐘模塊模塊程序CNT60 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT60 IS PORT(en,clk : IN STD_LOGIC; qh,ql : BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);cot : out std_logic);END CNT60;ARCHITECTURE behave OF CNT60 ISBEGINPROCESS(clk,en) BEGIN IF (cl

10、kEVENT AND clk= 1) THENIF en = 1 THENIF ql = 9 thenql = 0000;IF (qh = 5) THENqh= 0000;ELSEqh = qh + 1;END IF;ELSEql = ql + 1;END IF;END IF;end if;IF qh = 5 and ql = 9 AND en = 1 THENcot = 1;ELSE cot = 0;END IF;END PROCESS;END behave;CNT24LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UN

11、SIGNED.ALL;ENTITY CNT24 IS PORT( en,clk : IN STD_LOGIC ; qh,ql : BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END CNT24;ARCHITECTURE behave OF CNT24 ISBEGINPROCESS(clk,en) BEGIN IF (clkEVENT AND clk= 1) THENIF en = 1 THENIF ql = 9 or (qh = 2 and ql = 3) thenql = 0000;IF (qh = 2) THENqh= 0000;ELSEqh = qh + 1;

12、END IF;ELSEql = ql + 1;END IF;END IF;end if;END PROCESS;END behave;4) 鬧鐘模塊當(dāng)計(jì)數(shù)器模塊的時(shí)、分與鬧鐘計(jì)數(shù)器模塊的時(shí)、分一一對應(yīng)時(shí),鬧鐘模塊發(fā)出信號,使揚(yáng)聲器發(fā)出聲音,持續(xù)一分鐘。輸入端口有10個(gè):MODE:按下MODE鍵選擇時(shí)鐘模式,包括鬧鐘校時(shí)、分校時(shí)和數(shù)碼管輸出顯示選擇;SET:校時(shí)脈沖輸入,用于設(shè)置鬧鐘時(shí)間。FG3.0,FD3.0: 接入分計(jì)數(shù)器模塊的譯碼輸出;SG3.0,SD3.0: 接入時(shí)計(jì)數(shù)器模塊的譯碼輸出;FFG3.0,FFD3.0: 接入鬧鐘分計(jì)數(shù)器模塊的譯碼輸出;SSG3.0,SSD3.0: 接入鬧鐘時(shí)

13、計(jì)數(shù)器模塊的譯碼輸出;輸出端口有8個(gè):SH3.0,SL3.0,FH3.0,FL3.0:譯碼輸出,連接至4個(gè)七段數(shù)碼管,用于顯示正常計(jì)時(shí)時(shí)間或校準(zhǔn)時(shí)間;EN1,EN2: 使能輸出,用于鬧鐘調(diào)節(jié)時(shí)控制分與時(shí)計(jì)數(shù);DS: 鬧鐘信號輸出 ,接入揚(yáng)聲器;CLK: 時(shí)鐘信號輸出;圖5 鬧鐘模塊模塊程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY NAOZHONG IS PORT(SET : IN STD_LOGIC;MODE : IN STD_LOGIC_VECTOR(2 DOWNTO 0);

14、FG,FD,SG,SD,SFD,SFG,SSG,SSD : IN STD_LOGIC_VECTOR(3 DOWNTO 0);SH,SL,FH,FL: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);EN1,EN2 : BUFFER STD_LOGIC;NS,CLK: OUT STD_LOGIC);END NAOZHONG;ARCHITECTURE behave OF NAOZHONG ISBEGINPROCESS(MODE,FG,FD,SG,SD,SFD,SFG,SSG,SSD,EN1,EN2)BEGINIF MODE = 000 THENEN1 = 0;EN2 = 0;SH

15、 = SG;SL = SD;FH = FG;FL = FD;ELSIF MODE = 001 THENEN1 = 0;EN2 = 0;SH = SG;SL = SD;FH = FG;FL = FD;ELSIF MODE = 010 THENEN1 = 0;EN2 = 0;SH = SG;SL = SD;FH = FG;FL = FD;ELSIF MODE = 011 THENEN1 = 0;EN2 = 0;SH = SG;SL = SD;FH = FG;FL = FD;ELSIF MODE = 100 THENEN1 = 1;EN2 = 0;CLK = SET;SH = SSG;SL = SS

16、D;FH = SFG;FL = SFD;ELSIF MODE = 101 THENEN1 = 0;EN2 = 1;CLK = SET;SH = SSG;SL = SSD;FH = SFG;FL = SFD;ELSIF MODE = 110 THENEN1 = 0;EN2 = 0;CLK = 0;SH = SG;SL = SD;FH = FG;FL = FD;END IF;IF (SFD = FD AND SFG = FG AND SSG = SG AND SSD = SD) THENNS = 0;ELSENS = 1;END IF;END PROCESS;END;5) 鬧鐘計(jì)數(shù)器模塊鬧鐘計(jì)數(shù)器

17、模塊用來存儲鬧鐘時(shí)間,輸入端口有4個(gè):CLK:數(shù)字鐘時(shí)鐘輸入,用于計(jì)時(shí);EN:使能輸入,為1時(shí)允許計(jì)數(shù)輸出端口有4個(gè):CNT24: QH3.0、QL3.0為鬧鐘校時(shí)譯碼輸出,連接至鬧鐘模塊,用于比較正常計(jì)時(shí)時(shí);CNT601: QH3.0、QL3.0為鬧鐘校分譯碼輸出,連接至鬧鐘模塊,用于比較正常計(jì)時(shí)分。 圖6 鬧鐘計(jì)數(shù)器模塊模塊程序CNT24LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT24 IS PORT( en,clk : IN STD_LOGIC ; qh,ql : B

18、UFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END CNT24;ARCHITECTURE behave OF CNT24 ISBEGINPROCESS(clk,en) BEGIN IF (clkEVENT AND clk= 1) THENIF en = 1 THENIF ql = 9 or (qh = 2 and ql = 3) thenql = 0000;IF (qh = 2) THENqh= 0000;ELSEqh = qh + 1;END IF;ELSEql = ql + 1;END IF;END IF;end if;END PROCESS;END behave

19、;CNT601LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT601 IS PORT( en,clk : IN STD_LOGIC ; qh,ql : BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END CNT601;ARCHITECTURE behave OF CNT601 ISBEGINPROCESS(clk,en)BEGINIF (clkEVENT AND clk= 1) THENIF en = 1 THENIF ql = 9 thenql =

20、 0000;IF (qh = 5) THENqh= 0000;ELSEqh = qh + 1;END IF;ELSEql = ql + 1;END IF;END IF;end if;END PROCESS;END;6) 報(bào)時(shí)模塊報(bào)時(shí)模塊用于整點(diǎn)報(bào)時(shí),當(dāng)59分52秒開始到00分00秒,揚(yáng)聲器發(fā)出間隔性聲音,每響鈴一秒暫停一秒。輸入端口有7個(gè):CLK、SH、3.0、SL3.0 :目前未使用(當(dāng)需要百天整點(diǎn)報(bào)時(shí),而深夜不報(bào)時(shí)可以添加使用);FH3.0、FL3.0、MH3.0、ML3.0:用于接入時(shí)間模塊分和秒計(jì)數(shù)器的輸出;輸出端口有1個(gè):D: 報(bào)時(shí)信號輸出 ,接入揚(yáng)聲器。 圖7 整點(diǎn)報(bào)時(shí)模塊7) M

21、ODE按鍵模塊MODE按鍵同時(shí)控制鬧鐘模塊和校時(shí)模塊輸入端口有1個(gè):MODE :模式選擇輸入,鏈接按鍵按鍵。A2.0: 模式選擇信號輸出,鏈接到校時(shí)模塊和鬧鐘模塊上的MODE2.0. 圖8 MODE按鍵模塊模塊程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ANJIAN IS PORT( MODE : IN STD_LOGIC;A : BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);END ANJIAN;ARCHITECTURE behave OF ANJ

22、IAN ISBEGINPROCESS (MODE)BEGINIF MODEEVENT AND MODE = 1 THENA = A + 1;END IF;IF A = 6 THENA = 000;END IF;END PROCESS;END;4、 仿真與引腳鎖定1. 仿真當(dāng)設(shè)計(jì)文件被編譯好,并在波形編輯器中將輸入波形編輯完畢后,就可以進(jìn)行行為仿真了,通過仿真可以檢驗(yàn)設(shè)計(jì)的邏輯關(guān)系是否準(zhǔn)確.2. 引腳鎖定引腳鎖定采用試驗(yàn)箱模式7接法,試驗(yàn)箱模式7電路圖如下圖所示,MODE用按鍵4,SET用鍵1,時(shí)間顯示分別用數(shù)碼管8、7、5、2、1,整點(diǎn)報(bào)時(shí)和鬧鐘用揚(yáng)聲器。試驗(yàn)箱GW48CK/PK2/PK3/P

23、K4系統(tǒng)萬能接插口與結(jié)構(gòu)圖信號/與芯片引腳對照如下圖所示本次采用芯片為GW2C35 EP2C35FBGA484I8 CycloneII結(jié)構(gòu)圖上的信號名GWAC6EP1C6/12Q240 CycloneGWAC3EP1C3TC144CycloneGWA2C5EP2C5TC144CycloneIIGWA2C8EP2C8QC208CycloneIIGW2C35EP2C35FBGA484I8 CycloneIIWAK30/50EP1K30/50TQC144 ACEX GWXS200XC3S200 SPARTANGWXS200XC3S200 SPARTAN引腳號引腳號引腳號引腳號引腳號引腳號引腳號引腳號

24、PIO023311438AB158521PIO1234214410AB149622PIO22353311AB1310724PIO32364412AB1212826PIO42375713AA20131027PIO52386814AA19171128PIO62397915AA18181229PIO7240102430L19191331PIO81112531J14201433PIO92322633H15211534PIO103332734H14221715PIO114342835G16231816PIO126353037F15262035PIO137363139F14272136PIO1483732

25、40F13282337PIO1512384041L18292439PIO1613394143L17302540PIO1714404244K22312642PIO1815414345K21322743PIO1916424446K18332844PIO2017474547K17363045結(jié)構(gòu)圖上的信號名GWAC6EP1C6/12Q240 CycloneGWAC3EP1C3TC144CycloneGWA2C5EP2C5TC144CycloneIIGWA2C8EP2C8QC208CycloneIIGW2C35EP2C35FBGA484I8 CycloneIIWAK30/50EP1K30/50TQC1

26、44 ACEX GWXS200XC3S200 SPARTANGWXS200XC3S200 SPARTAN引腳號引腳號引腳號引腳號引腳號引腳號引腳號引腳號PIO2118484748J22373146PIO2219494856J21383248PIO2320505157J20393350PIO2421515258J19413551PIO2541525359J18423652PIO26128676792E116576113PIO27132686994E96777114PIO28133697095E86878115PIO29134707196E76979116PIO30135717297D117080

27、117PIO31136727399D97282119PIO321377374101D87383120PIO331387475102D77884122PIO341397576103C97985123PIO351407679104H78086123結(jié)構(gòu)圖上的信號名GWAC6EP1C6/12Q240 CycloneGWAC3EP1C3TC144CycloneGWA2C5EP2C5TC144CycloneIIGWA2C8EP2C8QC208CycloneIIGW2C35EP2C35FBGA484I8 CycloneIIWAK30/50EP1K30/50TQC144 ACEX GWXS200XC3S20

28、0 SPARTANGWXS200XC3S200 SPARTANPIO361417780105Y78187125PIO371587881106Y138289126PIO381598386107U208390128PIO391608487108K208692130PIO401618592110C138793131PIO411629693112C78895132PIO421639794113H38996133PIO431649896114U39097135PIO441659997115P39198137PIO4516610399116F49299138PIO46167105100117C109510

29、0139PIO47168106101118C1696102140PIO48169107103127G2097103141PIO49173108104128R2098104143PIO60226131129201AB161371302PIO61225132132203AB171381313PIO62224133133205AB181401324PIO63223134134206AB191411355PIO64222139135207AB201421377PIO65219140136208AB71431409PIO662181411373AB814414110PIO672171421394AB11

30、7111PIO68180122126145A10119129161PIO69181121125144A9118123156結(jié)構(gòu)圖上的信號名GWAC6EP1C6/12Q240 CycloneGWAC3EP1C3TC144CycloneGWA2C5EP2C5TC144CycloneIIGWA2C8EP2C8QC208CycloneIIGW2C35EP2C35FBGA484I8 CycloneIIWAK30/50EP1K30/50TQC144 ACEX GWXS200XC3S200 SPARTANGWXS200XC3S200 SPARTAN引腳號引腳號引腳號引腳號引腳號引腳號引腳號引腳號PIO70182120122143A8117122155PIO71183119121142A7116119154PIO72184114120141A6114118152P

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論