




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)說明書(本科) 題 目: 基于CPLD/FPDA數(shù)字秒表設(shè)計(jì) 姓 名: 趙 超 尚曉亮 王 浩 專 業(yè): 電子信息工程 班 級: 08級2班 2011年 6 月 21 日目錄摘要 3第一章 設(shè)計(jì)任務(wù)和目的 31.1 設(shè)計(jì)任務(wù) 31.2 設(shè)計(jì)目的 31.3 設(shè)計(jì)中所用工具 3第二章 EDA、CPLD及VHDL語言概述 42.1 EDA概述及開發(fā)工具 42.1.1 EDA技術(shù)概述 42.1.2 EDA技術(shù)工具 42.1.3 PCB設(shè)計(jì)軟件 52.2 CPLD概述及開發(fā)工具 52.2.1 CPLD技術(shù)概述 52.2.2 CPLD開發(fā)工具 52.3 VHDL語言概述及特點(diǎn) 62.3.1 語言概
2、述 62.3.2 VHDL語言特點(diǎn) 7第三章 總體設(shè)計(jì)的方案 73.1 總體設(shè)計(jì)思想 73.2 總體硬件設(shè)計(jì)方案 83.3 總體軟件設(shè)計(jì)方案 9第四章 軟件設(shè)計(jì)及仿真 104.1 10分頻模塊程序設(shè)計(jì)及仿真 104.2 1000分頻模塊程序設(shè)計(jì)及仿真 114.3 七段數(shù)碼譯碼程序及仿真 124.4 100分之1秒模塊程序設(shè)計(jì)及仿真 144.5 輸出掃描模塊程序設(shè)計(jì)及仿真 164.6 分鐘模塊程序設(shè)計(jì)及仿真 184.7 分鐘模塊程序設(shè)計(jì)及仿真 19第五章 基于AT89C51單片機(jī)的表設(shè)計(jì) 215.1 秒表硬件總電路 215.2 系統(tǒng)仿真及調(diào)試 22第六章 總結(jié) 246.1 總結(jié) 246.2 收獲
3、 24參考文獻(xiàn) 25附錄一: 單片機(jī)秒表匯編源程序 25 基于CPLD/FPDA數(shù)字秒表設(shè)計(jì)摘要: 本次EDA課程設(shè)計(jì)硬件器件基于CPLD,軟件程序基于VHDL語言,仿真采用Quartus 5.0,制作一個秒表。電路原理圖的制作使用了Protel 99 se,軟件設(shè)計(jì)思想從底層到頂層依次調(diào)試仿真。并寫出了每一部分的源程序和時序仿真圖。另外本設(shè)計(jì)中還基于Protues用AT89C51制作了一個秒表,將CPLD和單片機(jī)進(jìn)行比較。關(guān)鍵詞: EDA CPLD VHDL Quartus 5.0 Protues AT89C51 秒表第一章 設(shè)計(jì)任務(wù)的目的1.1 設(shè)計(jì)任務(wù) 設(shè)計(jì)并實(shí)現(xiàn)數(shù)字秒表。下載芯片:Al
4、tera的MAX3000系列EPM3256ATC144-10。電子秒表具有以下基本功能:1具有秒表計(jì)時顯示功能,最大計(jì)數(shù)99.9,分辨率0.1秒(基本功能);2具有計(jì)時啟動與停止功能(基本功能);3. 可以實(shí)現(xiàn)上次計(jì)時數(shù)據(jù)的調(diào)出顯示功能(擴(kuò)展功能);1.2 設(shè)計(jì)目的 1掌握可編程邏輯器件的基本原理及利用EDA開發(fā)工具QuartusII5.0(Max+plusII)進(jìn)行可編程邏輯器件設(shè)計(jì)的方法; 2熟練掌握可編程邏輯器件的原理圖層次化設(shè)計(jì)方法;3掌握利用QuartusII5.0(Max+plusII10.2)進(jìn)行軟件仿真及對可編程邏輯器件進(jìn)行硬件下載的方法。4熟悉實(shí)際工程項(xiàng)目開發(fā)的流程與設(shè)計(jì)思想
5、;1.3 設(shè)計(jì)中所用工具 本設(shè)計(jì)硬件是基于CPLD/FPGA芯片制作一個簡單的數(shù)字秒表,具體實(shí)現(xiàn)是用CPLD/FPGA開發(fā)硬件實(shí)驗(yàn)系統(tǒng)上的EPM3254ATC144-10芯片作主控模塊,顯示模塊用8個七段數(shù)碼管顯示,實(shí)驗(yàn)開發(fā)板一有很多的時鐘信號,本實(shí)驗(yàn)中所用的1MHz時鐘可從開發(fā)板上很容易獲得。開發(fā)軟件是基于Quartus5.0,它繼承了MAX-plus所有優(yōu)點(diǎn),是更加完善的PLD設(shè)計(jì)工具。它提供了完整的多平臺設(shè)計(jì)環(huán)境,能夠直接滿足特定設(shè)計(jì)需要,為可編程芯片系統(tǒng)(SOPC)提供全面的設(shè)計(jì)環(huán)境,將為Altera的DSP模塊進(jìn)行系統(tǒng)模型設(shè)計(jì)提供了集成綜合環(huán)境。它可以完成VHDL語言的編譯、時序的仿
6、真和程序的調(diào)試燒寫工作等工作。本設(shè)計(jì)中所用語言為VHDL(Very-High-Speed Integrated Circuit HDL),設(shè)計(jì)思想是從底層到頂層依次調(diào)試、仿真。VHDL是以高級語言為甚而,能夠以形式化方式描述電路的結(jié)構(gòu)和行為并用于模擬和綜合的高級描述方法。目的是用軟件的方法實(shí)現(xiàn)硬件電路的設(shè)計(jì),實(shí)現(xiàn)RTL級仿真,驗(yàn)證設(shè)計(jì)的正確性,而不必像在傳統(tǒng)的手工設(shè)計(jì)過程中那樣,必須等到完成后才能進(jìn)行實(shí)測和調(diào)試。第三章 總體設(shè)計(jì)方案3.1 總體設(shè)計(jì)思想 要產(chǎn)生準(zhǔn)確的時鐘信號必須要一個很高頻率的信號進(jìn)行分頻后得到想要的時鐘信號才能確保時鐘的精度,本設(shè)計(jì)中使用1MHz時鐘信號先進(jìn)行10分頻得到10
7、0KHz的信號為數(shù)碼管掃描信號,再將1KHz信號進(jìn)行1000分頻得到100Hz信號,此信號作為秒表的百分之一秒為,然后每100碼元產(chǎn)生一個進(jìn)為從后得到1秒鐘的信號,再每60秒產(chǎn)生一個分鐘信號作為分鐘信號??傮w設(shè)計(jì)方案如圖3-1所示。 圖3-1 秒表總體設(shè)計(jì)方案3.2 總體硬件設(shè)計(jì)方案 硬件使用EPM3254ATC144-10(引腳如圖3-2)作主控制,8個七段數(shù)碼管作顯示部分,三個開關(guān)分別起:開始、暫停、清零作用,總電路圖如圖3-4圖3-2 EPM3254ATC144-10引腳圖 3-3 總硬件電路圖3.3 總體軟件設(shè)計(jì)方案 軟件設(shè)計(jì)思想是從底層往頂層設(shè)計(jì),將一個比較復(fù)雜的程序劃分成7個小的模
8、塊,再通過一個頂層電路將七個子程序連接起來。本設(shè)計(jì)中分為七個子模塊分別為:10分頻、1000分頻、一百分之一秒模塊、秒鐘模塊、分鐘模塊、譯碼模塊和顯示模塊。具體電路圖如圖 3-4所示,體仿真結(jié)果如圖 3-5所示。 圖 3-4 軟件總電路圖圖 3-5 軟件總電路仿真結(jié)果第四章 軟件設(shè)計(jì)及仿真4.1 10分頻模塊程序設(shè)計(jì)及仿真library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity f10 isport(clk:in std_logic; clk_out:out std_logic);end;ar
9、chitecture art of f10 issignal count:integer range 0 to 9;-改X值,signal clk_data:std_logic;beginprocess(clk,count)begin if clk'event and clk='1' then if count=9 then -X值決定分頻倍數(shù) count<=0; clk_data<=not clk_data; else count<=count+1; end if;end if;clk_out<=clk_data;end process;end
10、 art;圖 4-14.2 1000分頻模塊程序設(shè)計(jì)及仿真library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity f1000 isport(clk:in std_logic; clk_out:out std_logic);end;architecture art of f1000 issignal count:integer range 0 to 999;-改X值,signal clk_data:std_logic;beginprocess(clk,count)begin if clk
11、9;event and clk='1' then if count=999 then -X值決定分頻倍數(shù) count<=0; clk_data<=not clk_data; else count<=count+1; end if;end if;clk_out<=clk_data;end process;end art;圖 4-24.3 七段數(shù)碼譯碼程序及仿真 說明:本程序適用于共陽極七段數(shù)碼管。其硬件如下圖所示:硬件描述語言如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_uns
12、igned.all;entity deled is port( num: in std_logic_vector(3 downto 0 ); led: out std_logic_vector(6 downto 0) ); end deled;architecture fun of deled is beginled<= "1000000"WHEN num="0000" ELSE -顯示“0” "1111001"WHEN num="0001" ELSE -顯示“1” "0100100"WH
13、EN num="0010"ELSE -顯示“2” "0110000"WHEN num= "0011"ELSE -顯示“3” "0011001"WHEN num= "0100"ELSE -顯示“4” "0010010"WHEN num= "0101"ELSE -顯示“5” "0000010"WHEN num="0110" ELSE -顯示“6” "1111000"WHEN num="011
14、1" ELSE -顯示“7” "0000000"WHEN num= "1000"ELSE -顯示“8” "0010000"WHEN num= "1001" ELSE -顯示“9” "0111111"WHEN num="1111" -顯示“-” end fun;圖 4-3注: 從圖中可看出當(dāng)num=”0000”時,led=“1000000”所以顯示的是“0”,又如當(dāng)num=”0111”時,led=”1111000”所以顯示為“7”。4.4 100分之1秒模塊程序設(shè)計(jì)及
15、仿真百分之一秒硬件如下圖所示,clk為時鐘脈沖輸入端,實(shí)際中脈沖頻率為100Hz,clr為清零端,當(dāng)clr=1時歸“00”En為使能端,當(dāng)En=1時,芯片使能Stop為停止計(jì)數(shù)端,當(dāng)stop=1時停止計(jì)數(shù)Co 為分鐘進(jìn)位端,每100個clk產(chǎn)生一個進(jìn)位信號Sec1 百分之一秒的十位Sec0 百分之一秒的個位硬件描述語言:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity miao100 isport(clk,clr,En,STOP:in std_logic;-時鐘/清零信號 sec1,s
16、ec0:out std_logic_vector(3 downto 0);-秒高位/低位 co:out std_logic);-輸出/進(jìn)位信號end miao100 ;architecture SEC of miao100 isbeginprocess(clk,clr)variable cnt1,cnt0:std_logic_vector(3 downto 0);-計(jì)數(shù)beginif clr='1' then-當(dāng)ckr為1時,高低位均為0cnt1:="0000"cnt0:="0000"elsif clk'event and clk
17、='1' then IF En='1'THEN if stop='1' then cnt0:=cnt0; cnt1:=cnt1; elsif cnt1="1001" and cnt0="1000" thenco<='1'-進(jìn)位cnt0:="1001"-低位為9elsif cnt0<"1001" then-小于9時cnt0:=cnt0+1;-計(jì)數(shù)elsecnt0:="0000"if cnt1<"1001&q
18、uot; then-高位小于5時cnt1:=cnt1+1;elsecnt1:="0000"co<='0'end if;end if;end if;end if;sec1<=cnt1;sec0<=cnt0;end process;end SEC;圖4-4從圖中可以看出如下: 在1個clk處sec0每1個clk自增1,當(dāng)clk=100Hz時,每個sec0為一百分之一秒 在10個clk處sec1 每10個clk自增1為100分之一秒的十位 在100個clk處co產(chǎn)生一個進(jìn)位,為1S信號4.5 輸出掃描模塊程序設(shè)計(jì)及仿真動態(tài)掃描顯示程序硬件模擬圖l
19、ibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity seltime isport(clk:in std_logic; count1:in std_logic_vector(3 downto 0); count2:in std_logic_vector(3 downto 0); count3:in std_logic_vector(3 downto 0); count4:in std_logic_vector(3 downto 0); count5:in std_logic_vector(3
20、 downto 0); count6:in std_logic_vector(3 downto 0); sel:out std_logic_vector(7 downto 0); YIMA:out std_logic_vector(3 downto 0); end entity seltime;architecture art of seltime is signal daout:std_logic_vector(3 downto 0); signal sum:std_logic_vector(3 downto 0); begin YIMA<=DAOUT; process(clk) is
21、 begin if clk'event and clk='1'then if sum>="0111" then sum<="0000" else sum<=sum+1; END IF; ELSE NULL;END IF;case sum is when "0000"=>daout<=count1;sel<="00000001" when "0001"=>daout<=count2;sel<="00000010
22、" when "0010"=>daout<="1111"sel<="00000100" when "0011"=>daout<=count3;sel<="00001000" when "0100"=>daout<=count4;sel<="00010000" when "0101"=>daout<="1111"sel<="00
23、100000" when "0110"=>daout<=count5;sel<="01000000" when "0111"=>daout<=count6;sel<="10000000" WHEN OTHERS=>daout<="1111" end case; end process;end architecture;圖 4-54.6 秒模塊程序設(shè)計(jì)及仿真library ieee;use ieee.std_logic_1164.all;u
24、se ieee.std_logic_unsigned.all;entity SECOND isport(clk,clr:in std_logic;-時鐘/清零信號 sec1,sec0:out std_logic_vector(3 downto 0);-秒高位/低位 co:out std_logic);-輸出/進(jìn)位信號end SECOND;architecture SEC of SECOND isbeginprocess(clk,clr)variable cnt1,cnt0:std_logic_vector(3 downto 0);-計(jì)數(shù)beginif clr='1' then-
25、當(dāng)ckr為1時,高低位均為0cnt1:="0000"cnt0:="0000"elsif clk'event and clk='1' then if cnt1="0101" and cnt0="1000" then-當(dāng)記數(shù)為58(實(shí)際是經(jīng)過59個記時脈沖) cnt0:="1001"-低位為9 co<='1'-進(jìn)位elsif cnt0<"1001" then-小于9時cnt0:=cnt0+1;-計(jì)數(shù)elsecnt0:="
26、;0000" if cnt1<"0101" then-高位小于5時cnt1:=cnt1+1;elsecnt1:="0000"Co<='0'end if;end if;end if;sec1<=cnt1;sec0<=cnt0;end process;end SEC;圖 4-64.7 分鐘模塊程序設(shè)計(jì)及仿真library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity MINUTE isport(clk,clr:i
27、n std_logic; min1,min0:out std_logic_vector(3 downto 0); co:out std_logic);end MINUTE;architecture MIN of MINUTE isbeginprocess(clk,clr)variable cnt1,cnt0:std_logic_vector(3 downto 0);beginif clr='1' then-當(dāng)ckr為1時,高低位均為0cnt1:="0000"cnt0:="0000"elsif clk'event and clk='1' then if cnt1="0101" and cnt0="1000" thenco<='1'cnt0:="1001"elsif cnt0<"1001" thencnt0:=cnt0+
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分期房產(chǎn)合同范本
- 收款付款合同范本
- 京東送包車合同范本
- 單位門頭安裝合同范本
- 醫(yī)用氧氣購銷合同范本
- 助理就業(yè)合同范本
- 包裝材料銷毀合同范本
- 傳媒剪輯合同范本
- 醫(yī)生參加培訓(xùn)合同范本
- 勞務(wù)配送合同范本
- 麥語言函數(shù)手冊參考模板
- 冷庫噴涂施工工藝(詳細(xì))
- 電機(jī)學(xué)辜承林(第三版)第1章
- 知情同意書-北京大學(xué)腫瘤醫(yī)院
- 建筑材料碳排放因子查詢表
- 觀音神課三十二卦
- 醫(yī)療機(jī)構(gòu)停業(yè)(歇業(yè))申請書
- 發(fā)票(商業(yè)發(fā)票)格式
- 30立方容積表2.6m
- 宮保雞丁ppt課件
- 食品生產(chǎn)企業(yè)生產(chǎn)線員工食品安全知識培訓(xùn)
評論
0/150
提交評論