eda課程設計報告-- 交通燈的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  《EDA技術》課程設計報告</p><p><b>  交通燈的設計與實現(xiàn)</b></p><p>  學生姓名 </p><p>  專業(yè)班級: </p><p>  指導教師:

2、 </p><p>  起止日期: </p><p>  重慶郵電大學通信與信息工程學院</p><p>  二Ο一二 年 月 日</p><p><b>  摘 要</b></p><p>  本次課程設計在Altera公司研發(fā)的Alte

3、ra Quartus II 9.0編程環(huán)境中運用VHDL語言并結合相關實驗箱最終實現(xiàn)了對十字路口交通燈控制功能電路的設計。</p><p>  最終試驗的功能為南北方向紅綠燈顯示順序為紅燈、綠燈、黃燈,東西方向?qū)@示為綠燈、紅燈、黃燈。其中紅燈時等待時間為25s,綠燈等待時間為20s,黃燈等待時間為5s。</p><p>  設計過程中通過分頻模塊、分為處理模塊、狀態(tài)轉移模塊、倒計時顯示

4、模塊最終達到了軟硬件兩方面實現(xiàn)交通燈狀態(tài)轉換時間達到兩位數(shù)這一擴展功能的目的。</p><p>  由于此次設計最高等待時間為25秒,設計中采用了十位個位分開處理的方式。為使數(shù)碼管多位顯示時,能達到視覺暫留的效果,敏感信號要求高頻,故此次實驗要求的外部輸入時鐘為1KHz。而后經(jīng)分頻模塊一千分頻后的時鐘信號(周期為1s)作為倒計時模塊的敏感信號,以保證一秒倒計時功能的實現(xiàn)。在狀態(tài)轉移模塊中,本設計采用了對兩個紅綠燈

5、單獨處理的方式,使得程序的設計更加簡單易懂</p><p>  為保證硬件實現(xiàn)的可靠性,本次設計在進行硬件之前進行了軟件仿真,并對仿真解雇進行了分析,從而保證了硬件檢驗時的安全性,降低了試驗箱受損的概率。</p><p>  關鍵詞: 交通燈 分頻 兩位顯示 </p><p><b>  目 錄</b></p><p

6、><b>  摘要.1</b></p><p>  一、課程設計任務及要求3</p><p>  二、系統(tǒng)硬件設計4</p><p>  2.1 交通燈的設計原理4</p><p>  2.2 交通燈的設計方案5</p><p>  三、系統(tǒng)軟件仿真8</p>&l

7、t;p>  3.1 系統(tǒng)實時圖8</p><p>  3.2 時序仿真圖8</p><p>  3.3 引腳分配圖9</p><p><b>  四、硬件的調(diào)試9</b></p><p>  4.1 電路的調(diào)試及下載9</p><p>  4.2 調(diào)試結果及結論分析9</p

8、><p>  五、課程設計心得體會10</p><p>  5.1 個人體會9</p><p>  5.2 問題總結11</p><p>  六、總程序附錄11</p><p><b>  七、參考文獻15</b></p><p><b>  課程設計任務及

9、要求</b></p><p>  1、模擬十字路口交通信號燈的工作過程,利用實驗板上的兩組紅、黃、綠LED燈作為交通信號燈,南北和東西方向各有一組紅、黃、綠燈,各自持續(xù)的時間分別為:25s,5s,20s;</p><p>  2、當南北方向的綠燈亮時,東西方向的紅燈亮;當東西方向的綠燈亮時,南北方向的紅燈亮;南北方向的黃燈亮時,東西方向的紅燈亮;東西方向的黃燈亮時,南北方向的紅

10、燈亮;交通燈十字交叉路口如下所示:</p><p><b>  圖1</b></p><p>  3、要求將實驗箱上的8個LED燈中的6個表示南北方向和東西方向的紅黃綠交通燈。同時在7段數(shù)碼管上以倒計時方式顯示兩個方向允許通行或禁止通行的等待時間,計數(shù)器由初始狀態(tài)開始計數(shù),對應狀態(tài)的指示燈亮。</p><p>  4、用VHDL語言進行程序設計

11、,在EDA實驗箱上完成十字路口交通燈的設計與實現(xiàn),實現(xiàn)正常的交通紅綠燈轉換和顯示倒計時總體功能。</p><p><b>  二、系統(tǒng)硬件設計</b></p><p>  2.1 交通燈的設計原理 </p><p>  根據(jù)課程設計的任務及要求,交通燈控制器的狀態(tài)轉換列成下表1:</p><p><b> 

12、 表1</b></p><p>  2.2 交通燈的設計方案</p><p>  交通燈的控制電路控制東西和南北兩個方向的信號燈,每個方向的信號燈包括紅黃綠3盞燈。該系統(tǒng)還包括通行和等待時間顯示。交通燈一個循環(huán)周期包括50個狀態(tài),對于每個方向紅燈占25個狀態(tài),綠燈占20個狀態(tài),黃燈占5個狀態(tài)。由于此次設計將兩個方向的交通燈分開處理,所以實際需設計的狀態(tài)僅有三種,從而大大降低了

13、程序的設計難度。兩個交通燈的狀態(tài)可以用真值表進行描述。如下表:</p><p>  設計方案中交通燈的實現(xiàn)由四個部分組成:分頻模塊、分位處理模塊、狀態(tài)轉移模塊、倒計時顯示模塊 ,各個模塊先用EDA技術中的VHDL語言編程仿真。</p><p><b>  分頻模塊:</b></p><p>  由于程序中進行位選掃描時需要很高的時鐘頻率而進行倒

14、計時時要求的時鐘頻率為1Hz,所以在此次設計中加入了分頻部分。其主要功能是將有外部輸入的1KHz的時鐘信號進行一千分頻,而后用得到的1Hz的心時鐘控制倒計時模塊。</p><p>  分頻部分程序流程圖如下:</p><p><b>  圖2</b></p><p><b>  分位處理模塊</b></p>

15、<p>  為與交通燈實際情況相結合,此次設計突破了倒計時數(shù)字單位顯示的局限,利用位選快速循環(huán)顯示的方式達到了視覺暫留的靜態(tài)顯示效果。</p><p>  由于所需顯示數(shù)字最高數(shù)值為25,所以采用十位個位分開顯示時十位的數(shù)字只有0、1、2三種情況,故將十位又做了特殊處理,再次降低了程序的復雜度。</p><p>  顯示部分設計流程圖如下:</p><p>

16、;<b>  圖3</b></p><p><b>  狀態(tài)轉移模塊</b></p><p>  由于此次設計將兩個紅綠燈分開處理,所以對于單一的紅綠燈來說,顯示的狀態(tài)只有紅燈、綠燈、黃燈,三種情況,且順序進行。在程序中通過使用同一時鐘信號,使得兩部分紅綠燈在設定的對應狀態(tài)下各自循環(huán),并達到了最終的顯示要求。</p><p&g

17、t;  狀態(tài)轉移部分設計思想圖如下:</p><p><b>  圖4</b></p><p><b>  倒計時顯示模塊</b></p><p>  在進行倒計時顯示時,十位個位為分開顯示。十位顯示為0~2,個位顯示為0~9,且個位變化周期為1s。</p><p><b>  表2<

18、;/b></p><p>  注:7段共陰極數(shù)碼管</p><p><b>  三、系統(tǒng)軟件仿真</b></p><p>  3.1系統(tǒng)RTL圖 </p><p>  根據(jù)交通燈系統(tǒng)的控制要求,下圖5為電路圖。</p><p><b>  圖5</b></p>

19、;<p><b>  3.2 時序仿真圖</b></p><p>  為盡量延長觀測時間并考慮仿真時間,進行方針時設置的截止時間為1ms</p><p><b>  圖6</b></p><p>  3.3 引腳分配圖</p><p>  選擇的器件為Cyclone Ⅲ系列的EP3C

20、10E144C8 10320芯片,引腳鎖定方法如下圖所示。</p><p><b>  圖7</b></p><p><b>  四、硬件的調(diào)試</b></p><p>  4.1 電路的調(diào)試及下載</p><p>  1) 建立一個新的工程完成電路的設計</p><p> 

21、 2) 編譯程序并使用功能仿真來驗證設計</p><p><b>  3) 引腳配置 </b></p><p>  這些配置是確保VHDL代碼中輸出端口能使運用EDA實驗箱的芯片連接到試驗箱上的引腳。重新編譯項目,并將代碼下載到EDA實驗箱上。</p><p>  4) 測試電路的正確性</p><p>  有2個LE

22、D沒有使用,其它6個LED燈作為交通信號燈。三個表示南北方向的LED燈,另外三個表示東西方向的燈;紅燈等待時間為25秒,綠燈等待時間為20秒,黃燈等待時間為5秒。</p><p>  4.2 調(diào)試結果及結論分析</p><p>  代碼下載到EDA實驗箱并進行軟件仿真后,紅、黃、綠燈分別按設計要求所示實現(xiàn)了交通燈秒數(shù)轉換,得到了預期的實驗結果,即實現(xiàn)了模擬十字路口交通信號燈的控制。數(shù)碼管動

23、態(tài)顯示,是通過位選和段選來控制的。通過查詢資料,將2位位選信號接到實驗箱數(shù)碼管位選端,將七位段選信號連接到數(shù)碼管的段選控制端,當接入合適的信號后,數(shù)碼管即可正常工作。</p><p>  五、課程設計心得體會</p><p><b>  5.1個人體會:</b></p><p>  通過了一周的探索和實踐的辛苦努力,我們終于完成了EDA技術課程

24、設計任務——交通燈的設計?;叵肫鹫麄€過程,酸甜苦辣盡在心頭,有太多的感悟與切身體會??偟膩碚f,我們舍去的是我們寶貴的時間,但我們換來的卻是一筆無形的財富。</p><p>  通過這次基于EDA可編程邏輯器件的課程設計,我們受益匪淺。在這整個課程設計過程中,主要在兩個方面學到了很多東西。</p><p>  在學習方面,通過這次設計我們結合所學到的理論知識,將其轉化成為實際有實用價值的東西

25、。在這次較為漫長的課程設計過程中,它逐漸培養(yǎng)了我們的電路設計和程序編程能力,提高了我們的動手操作和獨立思考解決實際問題的能力,鞏固了我們在課本上所學的知識。起初,當課程設計的任務布置下來后,我們都無從著手,覺得有很大的難度,甚至不知道該從哪一部分開始。所以唯一的辦法就是查閱多方面的資料。然而,在這個繁瑣的查閱的過程中,大家都收獲了很多。積累了扎實的知識功底,我們開始了我們的硬件電路設計,分析交通燈的設計原理,開始了我們的探索旅程。一個好

26、的設計需要通過我們不斷的思維,不斷的改善。以前很缺乏獨立能力的我,在通過設計之后,不再像以前那樣遇到問題只會一味求助別人。其實,做任何事情都不能夠一味地好高騖遠,我所意識到的,是我們要通過踏實、虛心、刻苦地學習,才能真正有所收獲。起初我們通過討論,初步有了設計的方案,覺得還是比較簡單的。但是,具體到動手操作時,麻煩一個一個地接踵而來,比如出現(xiàn)的難點問題,段選和位選之間的聯(lián)系和區(qū)別,如何利用位選功能來實現(xiàn)交通燈兩位數(shù)甚至以上的數(shù)碼管動態(tài)顯

27、示,如何通過按鍵來控制相應的狀態(tài)。當遇</p><p>  此外,在團隊合作精神上我門也深刻意識到它的重要性。這種考察綜合能力的課程設計,一個人的力量,是比較難以獨立完成任務的。所以,我感受到的是團隊合作還有那種互幫互助、齊心協(xié)力和共同進步的缺一不可。</p><p>  總的來說,這次課程設計我們還是成功的,我們還是比較滿意的,感覺收獲到了很多。如果沒有這次設計為我們搭建的平臺,我們就不

28、能通過實踐把理論基礎知識掌握牢固。也學不到這種自主獨立學習的能力。相信在此次的課程設計中所學到的知識在以后的生活和學習中對我們會有很大的幫助和提升。</p><p><b>  5.2問題總結:</b></p><p><b>  問題一、</b></p><p><b>  設計思路的局限性:</b>

29、;</p><p>  起初看到老師的設計框架之后沒有認真思考,并將思路局限于狀態(tài)轉移圖以及真值表的情況。而且沒有想到之前學過的真值表化簡以及狀態(tài)機的設計,使得最初的設計模式僅限于基本功能,且倒計時時間沒能突破一位。</p><p>  解決:由于設計要盡量的貼近實際,而實際中的紅綠燈等待時間均在十秒以上,所以想到要突破一位數(shù)的限制,而隨之紅綠燈的狀態(tài)數(shù)也會隨之增加,故應采用化簡后的狀態(tài)轉

30、移情況。</p><p><b>  問題二、</b></p><p>  時間延長后狀態(tài)的增加</p><p>  解決:將兩個紅綠燈分開考慮,其顯示狀態(tài)并不受等待時間的影響,固定為紅黃綠,一次執(zhí)行。所以在設計中使兩部分獨立顯示,各自循環(huán)三個狀態(tài),使得程序更為簡單。</p><p><b>  問題三、<

31、;/b></p><p>  位選段選不能同時進行</p><p>  解決:利用外部1KHz時鐘信號進行位選掃描達到視覺暫留的靜態(tài)顯示效果</p><p><b>  問題四、</b></p><p>  倒計時時鐘要求為1s</p><p>  解決: 將外部時鐘進行分頻,使一秒內(nèi)只存

32、在一個上升沿。</p><p><b>  六、總程序附錄</b></p><p><b>  總程序如下:</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IE

33、EE.STD_LOGIC_UNSIGNED.ALL;</p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p>  ENTITY jtd IS </p><p><b>  PORT(</b></p><p>  seg : OUT STD_LOGIC_VECTOR(7 DOWNTO

34、 0);---duan xuan---</p><p>  dig : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-- wei xuan---</p><p>  light : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);---jtd---</p><p>  clk_1k: IN STD_LOGIC

35、-- Hz ---</p><p><b>  );</b></p><p><b>  END jtd;</b></p><p>  ARCHITECTURE one OF jtd IS</p><p>  SIGNAL clk_1 : STD_LOGIC; ---1 s--dao

36、jishi---</p><p>  SIGNAL wei4 : INTEGER RANGE 0 TO 3; ------------wei xuan de shi hou yong-------------</p><p>  SIGNAL num,num1,num2,num3,num4 : INTEGER RANGE 0 TO 9;-------0-9-----</p>

37、<p>  SIGNAL L1,L2: STD_LOGIC_VECTOR(2 DOWNTO 0);--------------2 1 0----------</p><p>  SIGNAL time1,time2: INTEGER RANGE 0 TO 25;-----------------0~25--------</p><p><b>  BEGIN</

38、b></p><p>  -----------1s------------------</p><p>  PROCESS(clk_1k)</p><p>  VARIABLE count_1k : INTEGER RANGE 0 TO 499;</p><p><b>  BEGIN</b></p>

39、;<p>  IF clk_1k'EVENT AND clk_1k='1' THEN</p><p>  IF wei4=3 THEN</p><p>  wei4<=0; --- wei xuan---</p><p><b>  ELSE</b></p><p>  we

40、i4<=wei4+1;</p><p><b>  END IF;</b></p><p>  IF count_1k=499 THEN</p><p>  count_1k:=0;</p><p>  clk_1<= NOT clk_1;</p><p><b>  ELS

41、E </b></p><p>  count_1k:=count_1k+1;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  -------

42、----------d j s ----------------------</p><p>  PROCESS(wei4,L1,L2,time1,time2)</p><p><b>  BEGIN</b></p><p>  CASE time1 IS ----------------shi wei--------<

43、/p><p>  WHEN 0 TO 9 => num1<=0;</p><p>  WHEN 10 TO 19 => num1<=1;</p><p>  WHEN 20 TO 25 => num1<=2;</p><p>  WHEN OTHERS => num1<=0;</p>

44、<p><b>  END CASE;</b></p><p>  num2<=time1 REM 10; -------------ge wei--</p><p>  CASE time2 IS -----------shi wei--------</p><p>  WHEN 0 T

45、O 9 => num3<=0;</p><p>  WHEN 10 TO 19 => num3<=1;</p><p>  WHEN 20 TO 25 => num3<=2;</p><p>  WHEN OTHERS => num3<=0;</p><p><b>  END CAS

46、E;</b></p><p>  num4<=time2 REM 10; ------ge wei---</p><p>  CASE wei4 IS</p><p><b>  WHEN 0 =></b></p><p>  dig<="11111110";

47、 -----wei xuan--------xian shi si wei --------</p><p>  num<=num1;</p><p><b>  WHEN 1 =></b></p><p>  dig<="11111101";</p>

48、<p>  num<=num2;</p><p><b>  WHEN 2 =></b></p><p>  dig<="11101111";</p><p>  num<=num3;</p><p><b>  WHEN 3 =></b>

49、</p><p>  dig<="11011111";</p><p>  num<=num4;</p><p>  light<="00"&L1&L2;</p><p>  WHEN OTHERS =></p><p>  dig<

50、="11111111";---guan bi wei xuan ---</p><p><b>  END CASE;</b></p><p>  END PROCESS;</p><p>  --------------------led-----------------------</p><p&g

51、t;  PROCESS(num)</p><p><b>  BEGIN</b></p><p>  CASE num IS</p><p>  WHEN 0=>seg<="00111111"; ------0~9-------------</p><p>  W

52、HEN 1=>seg<="00000110";</p><p>  WHEN 2=>seg<="01011011";</p><p>  WHEN 3=>seg<="01001111";</p><p>  WHEN 4=>seg<="0110011

53、0";</p><p>  WHEN 5=>seg<="01101101";</p><p>  WHEN 6=>seg<="01111101";</p><p>  WHEN 7=>seg<="00000111";</p><p>  

54、WHEN 8=>seg<="01111111";</p><p>  WHEN 9=>seg<="01101111";</p><p>  WHEN OTHERS=>seg<="00000000";</p><p>  END CASE;</p>&

55、lt;p>  END PROCESS;</p><p>  --------------------------------------</p><p>  PROCESS(clk_1)</p><p>  VARIABLE i,j : INTEGER RANGE 0 TO 2 :=0;</p><p>  VARIABLE k: IN

56、TEGER RANGE 0 TO 1 :=0;</p><p><b>  BEGIN</b></p><p>  IF clk_1'EVENT AND clk_1='1' THEN</p><p>  ----------------jin ji or not--------an xia wei 0--</p&

57、gt;<p>  IF time1=0 THEN --- road 1---</p><p>  IF i=2 THEN --- i =0 1 2</p><p><b>  i:=0;</b></p><p><b>  ELSE</b></p><p><b> 

58、 i:=i+1;</b></p><p><b>  END IF;</b></p><p><b>  CASE i IS</b></p><p><b>  WHEN 1 =></b></p><p>  time1<=20; ---wait 20

59、s--</p><p>  L1<="001";</p><p>  WHEN 2 => -- wait 5s--</p><p><b>  time1<=4;</b></p><p>  L1<="010";</p><p> 

60、 WHEN 0 => --wait 25s---</p><p>  time1<=25;</p><p>  L1<="100";</p><p>  WHEN OTHERS =></p><p>  time1<=24;------.....</p><p>&l

61、t;b>  END CASE;</b></p><p><b>  ELSE</b></p><p>  time1<=time1-1;</p><p><b>  END IF;</b></p><p>  IF time2=0 THEN --- road 2----&

62、lt;/p><p>  IF j=2 THEN</p><p><b>  j:=0;</b></p><p><b>  ELSE </b></p><p><b>  j:=j+1;</b></p><p><b>  END IF;</

63、b></p><p><b>  CASE j IS</b></p><p><b>  WHEN 1 =></b></p><p>  time2<=25;</p><p>  L2<="100";</p><p><b&g

64、t;  WHEN 2 =></b></p><p>  time2<=20;</p><p>  L2<="001";</p><p><b>  WHEN 0 =></b></p><p><b>  time2<=4;</b><

65、/p><p>  L2<="010";</p><p>  WHEN OTHERS =></p><p>  time2<=24;</p><p><b>  END CASE;</b></p><p><b>  ELSE</b></

66、p><p>  time2<=time2-1;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p><b>  END one;</b>&

67、lt;/p><p><b>  七、參考文獻</b></p><p>  [1] 潘松、黃繼業(yè),EDA技術實用教程--VHDL版(第四版) 北京:科學出版社,2011.</p><p>  [2] 黃沛昱, EDA技術實驗指導書(第一版) 信號基礎教研中心.</p><p>  [3] 王松武, 電子創(chuàng)新設計與實踐 北京:

溫馨提示

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

評論

0/150

提交評論