版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計(jì)</p><p> 課程設(shè)計(jì)名稱: EDA課程設(shè)計(jì) </p><p> 專 業(yè) 班 級 : xxxxxxxxxxx </p><p> 學(xué) 生 姓 名 : xxxxx </p><p> 學(xué) 號 : xxxxxxxxxx
2、xxxxx </p><p> 指 導(dǎo) 教 師 : </p><p> 課程設(shè)計(jì)時間: 2011-12-19~2011-12-30 </p><p> 電子信息工程與技術(shù) 專業(yè)課程設(shè)計(jì)任務(wù)書</p><p><b> 1 設(shè)計(jì)任務(wù)及要求</b></p><
3、p> 設(shè)計(jì)任務(wù):模擬十字路口交通信號燈的工作過程,利用實(shí)驗(yàn)板上的兩組紅、黃、綠LED作為交通信號燈,設(shè)計(jì)一個交通信號燈控制器。要求:</p><p> 交通燈從綠變紅時,有4秒黃燈亮的間隔時間;</p><p> 交通燈紅變綠是直接進(jìn)行的,沒有間隔時間;</p><p> 主干道上的綠燈時間為45秒,支干道的綠燈時間為25秒;</p>&
4、lt;p> 在任意時間,顯示每個狀態(tài)到該狀態(tài)結(jié)束所需的時間。</p><p><b> 支干道</b></p><p><b> 主干道</b></p><p> 圖1 路口交通管理示意圖</p><p> 表1 交通信號燈的4種狀態(tài)</p><p><
5、b> 設(shè)計(jì)要求:</b></p><p> 采用VHDL語言編寫程序,并在QUARTUSII工具平臺中進(jìn)行仿真,下載到EDA實(shí)驗(yàn)箱進(jìn)行驗(yàn)證。</p><p> 編寫設(shè)計(jì)報(bào)告,要求包括方案選擇、程序清單、調(diào)試過程、測試結(jié)果及心得體會。</p><p> 2設(shè)計(jì)原理及總體框圖</p><p><b> 設(shè)計(jì)目
6、的:</b></p><p> 學(xué)習(xí)DEA開發(fā)軟件和QuartusII的使用方法,熟悉可編程邏輯器件的使用。通過制作來了解交通燈控制系統(tǒng),交通燈控制系統(tǒng)主要是實(shí)現(xiàn)城市十字交叉路口紅綠燈的控制</p><p><b> 設(shè)計(jì)原理</b></p><p> ?。?)第一模塊:clk時鐘秒脈沖發(fā)生電路</p><p
7、> 在紅綠燈交通信號系統(tǒng)中,大多數(shù)情況是通過自動控制的方式指揮交通的。因此為了避免意外事件的發(fā)生,電路必須給一個穩(wěn)定的時鐘(clock)才能讓系統(tǒng)正常運(yùn)作。</p><p><b> 模塊說明:</b></p><p><b> 系統(tǒng)輸入信號:</b></p><p> Clk: 由外接信號發(fā)生器提供256
8、的時鐘信號;</p><p> 系統(tǒng)輸出信號: full:產(chǎn)生每秒一個脈沖的信號;</p><p> ?。?)第二模塊:計(jì)數(shù)秒數(shù)選擇電路</p><p> 計(jì)數(shù)電路最主要的功能就是記數(shù)負(fù)責(zé)顯示倒數(shù)的計(jì)數(shù)值,對下一個模塊提供狀態(tài)轉(zhuǎn)換信號。</p><p><b> 模塊說明:</b></p><p
9、> 系統(tǒng)輸入:full: 接收由clk電路的提供的1hz的時鐘脈沖信號;</p><p> 系統(tǒng)輸出信號: tm: 產(chǎn)生顯示電路狀態(tài)轉(zhuǎn)換信號</p><p> tl:倒計(jì)數(shù)值 秒數(shù)個位變化控制信號</p><p> th:倒計(jì)數(shù)值 秒數(shù)十位變化控制信號</p><p> ?。?)第三模塊:紅綠燈狀態(tài)轉(zhuǎn)換電路</p>
10、<p> 本電路負(fù)責(zé)紅綠燈的轉(zhuǎn)換。</p><p><b> 模塊說明:</b></p><p> 系統(tǒng)輸入信號:full: 接收由clk電路的提供的1hz的時鐘脈沖信號;</p><p> tm: 接收計(jì)數(shù)秒數(shù)選擇電路狀態(tài)轉(zhuǎn)換信號;</p><p> 系統(tǒng)輸出信號: comb_out: 負(fù)
11、責(zé)紅綠燈的狀態(tài)顯示。</p><p> ?。?)第四模塊:時間顯示電路</p><p> 本電路負(fù)責(zé)紅綠燈的計(jì)數(shù)時間的顯示。</p><p><b> 模塊說明:</b></p><p> 系統(tǒng)輸入信號:tl:倒計(jì)數(shù)值 秒數(shù)個位變化控制信號;</p><p> th:倒計(jì)數(shù)值 秒數(shù)十位變化
12、控制信號;</p><p> 系統(tǒng)輸出信號: led7s1: 負(fù)責(zé)紅綠燈的顯示秒數(shù)個位。</p><p> led7s2: 負(fù)責(zé)紅綠燈的顯示秒數(shù)十位</p><p><b> 總體框圖</b></p><p><b> 時間顯示數(shù)據(jù)輸出</b></p><p>
13、;<b> 紅黃綠燈信號輸出</b></p><p> 圖2 交通信號燈控制器的原理框圖</p><p> 采用VHDL語言輸入的方式實(shí)現(xiàn)交通信號燈控制器</p><p><b> CLK</b></p><p><b> 時間顯示數(shù)據(jù)輸出</b></p>
14、<p><b> 信號燈輸出</b></p><p> 圖3 交通信號燈控制器程序原理框圖</p><p> 該程序由7個進(jìn)程組成,進(jìn)程P1和P2將CLK信號分頻后產(chǎn)生1秒信號,進(jìn)程P3、P4、P5構(gòu)成兩個帶有預(yù)置數(shù)功能的十進(jìn)制計(jì)數(shù)器,其中P4產(chǎn)生允許十位計(jì)數(shù)器計(jì)數(shù)的控制信號。進(jìn)程P6實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換和產(chǎn)生狀態(tài)轉(zhuǎn)換的控制信號,進(jìn)程P7產(chǎn)生次態(tài)信號和信號
15、燈輸出信號,以及每一個狀態(tài)的時間值。</p><p><b> 3 程序設(shè)計(jì)</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p>
16、<p> ENTITY traffic IS </p><p> PORT (clk:in std_logic;</p><p> led7s1:out std_logic_vector(6 downto 0);</p><p> led7s2:out std_logic_vector(6 downto 0);</p><p&g
17、t; comb_out:out std_logic_vector(5 downto 0));</p><p><b> END;</b></p><p> ARCHITECTURE one OF traffic IS</p><p> TYPE dm IS (s0,s1,s2,s3);</p><p> SIg
18、nal current_state,next_state:dm;</p><p> SIGNAL FULL : STD_LOGIC;</p><p> SIGNAL tl :STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p> SIGNAL th:STD_LOGIC_VECTOR(1 DOWNTO 0);</p>&l
19、t;p> SIGNAL tm :STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p> SIGNAL TIME :STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p><b> BEGIN</b></p><p> P_REG: PROCESS(CLK)</p>&
20、lt;p> VARIABLE CNT8:STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p><b> BEGIN</b></p><p> IF CLK'EVENT AND CLK='1' THEN</p><p> IF CNT8 = "11111111" TH
21、EN</p><p> CNT8:="01111111";</p><p> FULL<='1';</p><p> ELSE CNT8 := CNT8+1;</p><p> FULL <= '0';</p><p> END IF;
22、END IF;</p><p> END PROCESS P_REG;</p><p> PROCESS(full)</p><p><b> BEGIN</b></p><p> IF full'EVENT AND full='1' THEN</p><p>
23、IF TIME<"1000011" THEN </p><p> TIME<=TIME+1;</p><p> ELSe TIME <="0000000"; </p><p><b> END IF;</b></p><p><b> END I
24、F;</b></p><p> END PROCESS;</p><p> REG:process( full,current_state)</p><p><b> BEGIN</b></p><p> IF full='1' AND full'EVENT THEN <
25、/p><p> current_state<=next_state;</p><p><b> END IF;</b></p><p> END process;</p><p> COM:process(current_state, time)</p><p><b> b
26、egin</b></p><p> case current_state is</p><p> when s0=>comb_out<="001100";tm<=39-time;</p><p> if time=39 then next_state<=s1;</p><p>
27、 else next_state<=s0;</p><p><b> end if;</b></p><p> when s1=>comb_out<="010100";tm<=43-time;</p><p> if time=43 then next_state<=s2;</p
28、><p> else next_state<=s1;</p><p><b> end if;</b></p><p> when s2=>comb_out<="100010";tm<=63-time;</p><p> if time=63 then next_stat
29、e<=s3;</p><p> else next_state<=s2;</p><p><b> end if;</b></p><p> when s3=>comb_out<="100001";tm<=67-time;</p><p> if time=67
30、then next_state<=s0;</p><p> else next_state<=s3;</p><p><b> end if;</b></p><p><b> end case;</b></p><p> end process;</p><
31、;p> PROCESS(tm)</p><p><b> BEGIN </b></p><p> IF tm>=30 THEN th<="11";tl<=tm-30;</p><p> ELSIF tm>=20 THEN th<="10";tl<=tm-2
32、0;</p><p> ELSIF tm>=10 THEN th<="01";tl<=tm-10;</p><p> ELSE th<="00";tl<=tm;</p><p><b> END IF;</b></p><p> END PR
33、OCESS;</p><p> process(th,tl)</p><p><b> begin</b></p><p> case th is</p><p> when"00"=>led7s1<="0111111";</p><p>
34、; when"01"=>led7s1<="0000110";</p><p> when"10"=>led7s1<="1011011";</p><p> when"11"=>led7s1<="1001111";</p>
35、;<p> when others=>null;</p><p><b> end case;</b></p><p> case tl is </p><p> when "0000000"=>led7s2<="0111111";</p><p
36、> when"0000001"=>led7s2<="0000110";</p><p> when "0000010"=>led7s2<="1011011";</p><p> when"0000011"=>led7s2<="1001
37、111";</p><p> when"0000100"=>led7s2<="1100110";</p><p> when "0000101"=>led7s2<="1101101";</p><p> when "0000110&quo
38、t;=>led7s2<="1111101";</p><p> when"0000111"=>led7s2<="0000111";</p><p> when "0001000"=>led7s2<="1111111";</p><p
39、> when "0001001"=>led7s2<="1101111";</p><p> when others=>null;</p><p><b> end case;</b></p><p> end process;</p><p><
40、;b> end;</b></p><p><b> 4 編譯及仿真</b></p><p> CLK為1KHZ系統(tǒng)時鐘脈沖</p><p> CAR為支干道車輛行駛情況,高電平為有車行駛,低電平為無車行駛</p><p> LED為交通燈發(fā)光情況</p><p> S
41、EL為數(shù)碼管位碼掃描</p><p><b> SEG為數(shù)碼管段碼</b></p><p> CLK綁定時鐘1KHZ</p><p><b> CAR綁定DK4</b></p><p> LED[0]綁定LED6;--支干道紅燈</p><p> LED[1]綁定L
42、ED7;--支干道黃燈</p><p> LED[2]綁定LED8;--支干道綠燈</p><p> LED[3]綁定LED1;--主干道紅燈</p><p> LED[4]綁定LED2;--主干道黃燈</p><p> LED[5]綁定LED3;--主干道綠燈</p><p> SEL[0]綁定LI0;&l
43、t;/p><p> SEL[1]綁定LI1;</p><p> SEL[2]綁定LI2。</p><p> SEG[0]綁定G8;</p><p> SEG[1]綁定F8;</p><p> SEG[2]綁定E8;</p><p> SEG[3]綁定D8;</p><
44、p> SEG[4]綁定C8;</p><p> SEG[5]綁定B8;</p><p> SEG[6]綁定A8;</p><p><b> 仿真圖如下</b></p><p> 5 硬件調(diào)試與結(jié)果分析</p><p> 接下來就要選擇目標(biāo)器件并對相應(yīng)的引腳進(jìn)行鎖定了,我們選擇的器
45、件為cyclone系列的EP1C3T144芯片,引腳鎖定方法如下圖所示。將未使用的管腳設(shè)置為三態(tài)輸入(一定要設(shè)置,否則可能會損壞芯片)。</p><p> 本實(shí)驗(yàn)只能用采用模式6下載調(diào)試,一切正常</p><p> 將程序下載到實(shí)驗(yàn)板后,CAR置于低電平后,可以看到LED燈的顯示情況為主干道亮綠燈,支干道亮紅燈,主干道數(shù)碼管顯示45秒,支干道數(shù)碼管顯示50秒。但支干道有車時,把CAR置
46、于高電平,可以看到主、支干道的數(shù)碼管開始倒計(jì)時;主干道倒計(jì)時結(jié)束后再進(jìn)行4秒倒計(jì)時,并且交通燈變?yōu)辄S燈;當(dāng)主干道倒計(jì)時結(jié)束后,主干道數(shù)碼管顯示30,支干道數(shù)碼管顯示25,主干道變?yōu)榧t燈,支干道變?yōu)榫G燈,繼續(xù)進(jìn)行倒計(jì)時;支干道倒計(jì)時結(jié)束后再經(jīng)行4秒倒計(jì)時,交通燈變?yōu)辄S燈;支干道倒計(jì)時結(jié)束后再回到初始狀態(tài)。</p><p> 從實(shí)驗(yàn)板上可以看出硬件測試下的效果達(dá)到了設(shè)計(jì)的要求,能夠?qū)崿F(xiàn)交通信號燈控制器的基本功能。但
47、是,由于實(shí)驗(yàn)板的系統(tǒng)時鐘不穩(wěn)定,導(dǎo)致數(shù)碼管的掃描有時會出現(xiàn)閃動的現(xiàn)象,在更換了實(shí)驗(yàn)板后可以看出,數(shù)碼管的掃描基本穩(wěn)定,在視覺上不會出現(xiàn)閃動的情況。或者可以將系統(tǒng)的時鐘頻率改為2KHZ,更改分頻模塊后再進(jìn)行編譯下載,這樣可以加快數(shù)碼管掃描的速度,從而達(dá)到消除視覺上閃動的現(xiàn)象。</p><p><b> 6 參考文獻(xiàn)</b></p><p> VHDL數(shù)字控制系統(tǒng)設(shè)計(jì)
48、 電子工業(yè)出版社</p><p> EDA技術(shù)與VHDL 清華大學(xué)出版社</p><p> 數(shù)字原理與設(shè)計(jì) 清華大學(xué)出版社</p><p> FPGA EP1C3T144的模式結(jié)構(gòu)圖與引腳對應(yīng)資料
49、 網(wǎng)上資料 </p><p><b> 心得體會</b></p><p> 通過這次課程設(shè)計(jì),我進(jìn)一步加深了對電子設(shè)計(jì)自動化的了解。并進(jìn)一步熟練了對QuartusII軟件的操作。在編寫程序的過程中,遇到了很多問題,使我發(fā)現(xiàn)自己以前學(xué)習(xí)上存在的不足。通過與同學(xué)探討和請教老師,終于把問題都解決了,并加深了對交通燈原理和設(shè)計(jì)思路的了解。同時也掌握了做課程設(shè)計(jì)的一
50、般流程,為以后的設(shè)計(jì)積累了一定的經(jīng)驗(yàn)。做課程設(shè)計(jì)時,先查閱相關(guān)知識,把原理吃透,確定一個大的設(shè)計(jì)方向,在按照這個方向分模塊的把要實(shí)現(xiàn)的功能用流程圖的形式展示。最后參照每個模塊把輸入和輸出引腳設(shè)定,運(yùn)用我們所學(xué)的VHDL語言進(jìn)行編程。</p><p> 在波形仿真的過程中,同樣遇到了困難,有的時候,由于END TIME的時間修改的太大,會出現(xiàn)仿真時間過長的問題,這個時候應(yīng)該要把END TIME的時間相應(yīng)的改小,或
51、是修改系統(tǒng)時鐘的頻率。</p><p> 在設(shè)計(jì)的過程中還應(yīng)該多聯(lián)系下實(shí)際情況,要了解實(shí)際情況下交通信號燈的工作情況,才能更好的完成此次的課程設(shè)計(jì)。在今后的工作和學(xué)習(xí)中,我們不能僅僅把目光停留在課本上,要多理論聯(lián)系實(shí)際。有的時候,理論上是正確的東西放到現(xiàn)實(shí)中去,可能由于種種因素的制約,并不能達(dá)到實(shí)際的效果,還需要我們進(jìn)行相應(yīng)的修改才能完成要求。這次的課程設(shè)計(jì)使我鞏固了以前學(xué)習(xí)到的知識,還使我掌握了以前沒有掌握的
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)電eda交通信號燈的課程設(shè)計(jì)--交通信號燈控制器
- eda課程設(shè)計(jì)---交通信號燈控制器設(shè)計(jì)
- 信號燈課程設(shè)計(jì)---簡易交通信號燈控制器
- 課程設(shè)計(jì)---交通信號燈控制器
- 課程設(shè)計(jì)---交通信號燈控制器
- 交通信號燈控制器課程設(shè)計(jì)
- 課程設(shè)計(jì)---交通信號燈控制器
- eda課程設(shè)計(jì)報(bào)告交通信號燈控制
- 數(shù)電交通信號燈課程設(shè)計(jì)---交通信號燈控制器仿真設(shè)計(jì)
- eda課程設(shè)計(jì)報(bào)告--交通信號燈控制
- 課程設(shè)計(jì)---交通信號燈控制器設(shè)置
- 課程設(shè)計(jì)-- 簡易交通信號燈控制器
- 課程設(shè)計(jì)--簡易交通信號燈控制器
- 簡易交通信號燈控制器課程設(shè)計(jì)
- 交通信號燈控制器課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)---交通信號燈控制器.doc
- 課程設(shè)計(jì)---交通信號燈控制器的設(shè)計(jì)
- 數(shù)電課程設(shè)計(jì)---交通信號燈控制器
- 交通信號燈課程設(shè)計(jì)---交通信號燈系統(tǒng)設(shè)計(jì)
- 交通信號燈課程設(shè)計(jì)--交通信號燈控制電路的設(shè)計(jì)
評論
0/150
提交評論