版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 《自動化專業(yè)綜合課程設(shè)計2》</p><p><b> 課程設(shè)計報告</b></p><p> 題 目: 交通燈控制系統(tǒng)的設(shè)計 </p><p> 院 (系): 機電與自動化學(xué)院 </p><p> 專業(yè)班級: <
2、;/p><p> 學(xué)生姓名: </p><p> 學(xué) 號: </p><p> 指導(dǎo)教師: </p><p> 2013年1月 7日至2013年 1 月 23日</p><p> 《自動化專業(yè)綜合課程設(shè)計2
3、》課程設(shè)計任務(wù)書</p><p><b> 目 錄</b></p><p> 1設(shè)計任務(wù)及要求……………………………………………………………………6</p><p> 1.1設(shè)計任務(wù)…………………………………………………………………………6</p><p> 1.2設(shè)計要求………………………………………………
4、…………………………6</p><p> 2.系統(tǒng)設(shè)計……………………………………………………………………………6</p><p> 2.1系統(tǒng)原理…………………………………………………………………………6</p><p> 2.2分頻器模塊………………………………………………………………………7</p><p> 2.3計數(shù)器模塊…
5、……………………………………………………………………8</p><p> 2.4控制模塊…………………………………………………………………………9</p><p> 2.5顯示模塊…………………………………………………………………………11</p><p> 2.6頂層文件設(shè)計……………………………………………………………………13</p>&l
6、t;p> 2.7引腳鎖定…………………………………………………………………………14</p><p> 2.8下載驗證…………………………………………………………………………14</p><p> 3.心得體會……………………………………………………………………………15</p><p> 參考文獻………………………………………………………………………
7、………16</p><p> 課程設(shè)計成績評定表…………………………………………………………………17</p><p><b> 1設(shè)計任務(wù)及要求</b></p><p><b> 1.1設(shè)計任務(wù):</b></p><p> 模擬十字路口交通信號燈的工作過程,利用實驗板上的兩組紅、黃、綠LE
8、D作為交通信號燈,設(shè)計一個交通信號燈控制器。要求:</p><p> 交通燈從綠變紅時,有5秒黃燈亮的間隔時間;</p><p> 交通燈紅變綠是直接進行的,沒有間隔時間;</p><p> 主干道上的綠燈時間為35秒,支干道的綠燈時間為15秒;</p><p> 在任意時間,顯示每個狀態(tài)到該狀態(tài)結(jié)束所需的時間。</p>
9、<p> 圖1 交通信號燈的4種狀態(tài)</p><p><b> 1.2設(shè)計要求:</b></p><p> 1 設(shè)計FPGA的基礎(chǔ)工作電路</p><p> 2 設(shè)計紅綠黃12個燈與FPGA芯片的硬件電路連接</p><p> 3 設(shè)計顯示部分硬件電路</p><p> 4
10、 使用底層及頂層設(shè)計完成電路設(shè)計,并作出各文件的仿真</p><p> 5 程序下載并進行硬件調(diào)試</p><p> 6七段數(shù)碼管的顯示可以采用靜態(tài)顯示,但應(yīng)有鎖存部分,保證顯示的正確及穩(wěn)定。</p><p><b> 2 系統(tǒng)設(shè)計</b></p><p><b> 2.1 系統(tǒng)原理</b>
11、</p><p><b> 圖2 系統(tǒng)原理圖</b></p><p><b> 2.2 分頻器模塊</b></p><p> 在紅綠燈交通信號系統(tǒng)中,大多數(shù)情況是通過自動控制的方式指揮交通的。因此為了避免意外事件的發(fā)生,電路必須給一個穩(wěn)定的時鐘(clock)才能讓系統(tǒng)正常運作。設(shè)計的分頻器模塊如圖3所示,</p
12、><p><b> 圖3 分頻模塊</b></p><p> 說明:模塊的名字為ihz,clk為系統(tǒng)給定時鐘,clkout為分頻后的輸出端</p><p><b> 程序:</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.ST
13、D_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_ARITH.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY ihz IS</p><p> PORT(clk : IN STD_LOGIC;<
14、/p><p> clkout : OUT STD_LOGIC);</p><p><b> END ;</b></p><p> ARCHITECTURE bhv OF ihz IS</p><p> SIGNAL count : STD_LOGIC_VECTOR(3 DOWNTO 0);</p>
15、<p><b> BEGIN</b></p><p> PROCESS(clk)</p><p><b> BEGIN</b></p><p> if clk'event and clk='1' THEN</p><p> IF count="
16、;1111" then</p><p> count<=(others=>'0');</p><p><b> ELSE</b></p><p> Count <= count +1;</p><p><b> END IF ;</b></p
17、><p><b> END IF ;</b></p><p> END PROCESS;</p><p> clkout <= count(1);</p><p><b> END ;</b></p><p><b> 分頻模塊仿真:</b>
18、;</p><p> 圖4 分頻模塊仿真結(jié)果</p><p><b> 2.3 計數(shù)模塊</b></p><p> 計數(shù)電路最主要的功能就是記數(shù)負責(zé)顯示倒數(shù)的計數(shù)值,對下一個模塊提供狀態(tài)轉(zhuǎn)換信號。模塊的名字為jsq,見下圖5</p><p> 系統(tǒng)輸入:clkout: 接收由clk電路的提供的1hz的時鐘脈沖信
19、號;</p><p> rst : 復(fù)位信號</p><p> 系統(tǒng)輸出信號:counter:60秒計數(shù)信號</p><p><b> 圖5 計數(shù)器模塊</b></p><p><b> 程序:</b></p><p> IBRARY IEEE; </p&
20、gt;<p> USE IEEE.STD_LOGIC_1164.ALL; </p><p> ENTITY jsq is </p><p> PORT ( clkout,rst:in std_logic; </p><p> counter:buffer INTEGER RANGE 0 TO 59);</p><p>&
21、lt;b> END;</b></p><p> ARCHITECTURE bhv1 OF jsq IS </p><p><b> BEGIN</b></p><p> process(rst,clkout)</p><p><b> BEGIN</b></p>
22、;<p> IF rst='1' THEN</p><p> counter<=0;</p><p> ELSIF clkout'event and clkout='1' THEN</p><p> IF counter=59 THEN</p><p> counter&l
23、t;=0;</p><p><b> ELSE</b></p><p> counter<=counter+1;</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END
24、 PROCESS;</p><p><b> END;</b></p><p><b> 計數(shù)器仿真見下圖:</b></p><p> 圖6 計數(shù)器仿真結(jié)果</p><p><b> 2.4 控制器模塊</b></p><p> 計數(shù)輸出之后,
25、把一個計數(shù)周期分成4個部分控制,</p><p> 0s-35s 主干道綠燈亮,副干道紅燈亮;</p><p> 34s-39s主干道黃燈閃,副干道紅燈亮;</p><p> 40s-54s主干道紅燈亮,副干道綠燈亮;</p><p> 55s-59s主干道紅燈亮,副干道黃燈閃。</p><p><b&g
26、t; 圖7 控制器模塊</b></p><p><b> 程序:</b></p><p> LIBRARY IEEE;</p><p> use ieee.std_logic_1164.all;</p><p> entity cpu is</p><p><b>
27、 port(</b></p><p> clk,clkout:in std_logic;</p><p> counter:in integer range 0 to 59;</p><p> r1,r2,b1,b2,y1,y2:out std_logic);</p><p><b> end;</b&g
28、t;</p><p> architecture bhv2 of cpu is</p><p><b> begin</b></p><p> process(clkout,clk)</p><p><b> begin</b></p><p> if rising
29、_edge(clkout)then</p><p> if counter<35 then</p><p><b> r1<='1';</b></p><p><b> b1<='0';</b></p><p><b> y1<
30、;='0';</b></p><p><b> r2<='0';</b></p><p><b> b2<='1';</b></p><p><b> y2<='0';</b></p>&
31、lt;p> elsif counter<40 then</p><p><b> r1<='1';</b></p><p><b> b1<='0';</b></p><p><b> y1<='0';</b><
32、;/p><p><b> r2<='0';</b></p><p><b> b2<='0';</b></p><p> y2<=('1'AND clkout);</p><p> elsif counter<55 then
33、</p><p><b> r1<='0';</b></p><p><b> b1<='1';</b></p><p><b> y1<='0';</b></p><p><b> r2<
34、;='1';</b></p><p><b> b2<='0';</b></p><p><b> y2<='0';</b></p><p> elsif counter<60 then</p><p><b&
35、gt; r1<='0';</b></p><p><b> b1<='0';</b></p><p> y1<=('1'and clkout);</p><p><b> r2<='1';</b></p>
36、<p><b> b2<='0';</b></p><p><b> y2<='0';</b></p><p><b> end if;</b></p><p><b> end if;</b></p>
37、<p> end process;</p><p><b> end;</b></p><p><b> 控制器仿真見下圖:</b></p><p> 圖8 控制器仿真結(jié)果</p><p><b> 2.5 顯示模塊</b></p><
38、;p> 在主干道紅燈亮(45s-54s)和副干道紅燈亮(30s-39s)分別顯示10秒倒計時,從9、8、7、6......0。顯示器模塊名字為xianshiqi,如圖9所示</p><p><b> 圖9 顯示器模塊</b></p><p><b> 程序:</b></p><p> LIBRARY IEEE
39、;</p><p> use ieee.std_logic_1164.all;</p><p> entity xianshi is</p><p> port(data_in:in std_logic_vector (2 downto 0);</p><p> data_out:out std_logic_vector (7 dow
40、nto 0);</p><p> counter:integer range 0 to 59;</p><p> led1:out std_logic_vector(7 downto 0));</p><p><b> end;</b></p><p> architecture bhv2 of xianshi
41、is</p><p><b> begin</b></p><p> process(data_in)</p><p><b> begin</b></p><p> case data_in is</p><p> when "000"=>
42、; data_out <= "00000001";</p><p> when others =>data_out <= "XXXXXXXX";</p><p><b> end case;</b></p><p> end process;</p><p>
43、; process(counter)</p><p><b> begin</b></p><p> case counter is</p><p> when 51 => led1<=x"6f";--09</p><p> when 52 => led1<=x&qu
44、ot;7f";--08</p><p> when 53 => led1<=x"07";--07</p><p> when 54 => led1<=x"7d";--06</p><p> when 55 => led1<=x"6d";--05<
45、;/p><p> when 56 => led1<=x"66";--04</p><p> when 57 => led1<=x"4f";--03</p><p> when 58 => led1<=x"5b";--02</p><p> wh
46、en 59 => led1<=x"06";--01</p><p> when 31 => led1<=x"6f";--09</p><p> when 32 => led1<=x"7f";--08</p><p> when 33 => led1<=
47、x"07";--07</p><p> when 34 => led1<=x"7d";--06</p><p> when 35 => led1<=x"6d";--05</p><p> when 36 => led1<=x"66";--04&l
48、t;/p><p> when 37 => led1<=x"4f";--03</p><p> when 38 => led1<=x"5b";--02</p><p> when 39 => led1<=x"06";--01</p><p> w
49、hen others=> led1<=x"00";</p><p><b> end case;</b></p><p> end process ;</p><p><b> end;</b></p><p><b> 顯示模塊仿真:</b&
50、gt;</p><p> 圖10 顯示模塊仿真</p><p><b> 2.6頂層文件設(shè)計</b></p><p> 分頻器,計數(shù)器,控制器,顯示模塊設(shè)計出來以后,將他們建立在一個工程里,然后根據(jù)設(shè)計的原理將元器件連接起來,形成圖11的 頂層文件。</p><p><b> 圖11 頂層文件</
51、b></p><p> 頂層文件仿真結(jié)果見下圖:</p><p> 給定4HZ的 clk 時鐘信號,在0-34秒b2和b22主干道的綠燈亮了,r1和r22為支干道紅燈亮了;</p><p> 35-39秒時主干道黃燈y2和y22閃爍,支干道的紅燈r1和r22亮;</p><p> 40-54秒時主干道紅燈r2和r22亮,支干道的
52、綠燈b1和b11亮;</p><p> 55-59秒時主干道紅燈r2和r22亮,支干道的黃燈y1和y22閃爍;</p><p> 在主干道紅燈亮(45s-54s)和副干道紅燈亮(30s-39s)led七段數(shù)碼管段顯示10秒倒計時。</p><p> 綜上所述:仿真的結(jié)果實現(xiàn)了設(shè)計的初衷。</p><p> 圖12 頂層文件仿真<
53、/p><p><b> 2.7引腳鎖定</b></p><p> 因為頂層文件的仿真結(jié)果到達了設(shè)計的要求,所以可以鎖定引腳。我們實驗室所用的EDA芯片為 EPC3C10E1443C08,查相關(guān)的資料可以知道各引腳的位置。所得的引腳設(shè)置見圖13</p><p><b> 圖13 引腳鎖定</b></p>&l
54、t;p><b> 2.8下載驗證</b></p><p> 將編譯產(chǎn)生的 SOF格式的下載的FPGA中,按照相應(yīng)的接線要求連接線路后,進行驗證。 所得的實驗結(jié)果與 頂層文件的仿真一直,即:</p><p> 給定4HZ的 clk 時鐘信號,12盞燈能夠按照系統(tǒng)設(shè)計的要求正常運行。 </p><p> 所以交通燈系統(tǒng)是正確的。3 心
55、得體會</p><p> 為期三個星期的課程設(shè)計轉(zhuǎn)眼就過去了,在這三個星期中。我重新認識了QUARTUS II軟件和EDA芯片。對大二所學(xué)的 EDA課程又重新溫習(xí)了一遍,特別是VHDL語言的編程,好久沒有接觸到,遺忘了很多。</p><p> 看起來很平常的十字路口交通燈,真正要自己去設(shè)計,還是有一定的困難的。里面還涉及到了一定的生活常識,比如主干道的綠燈點亮?xí)r間要比支干道的多,而且黃
56、燈的點亮是在綠燈過渡到紅燈的時候出現(xiàn),還有黃燈不是一直亮,是閃爍的,每一個細節(jié)都有可能影響整個系統(tǒng)的成敗。一個簡單的系統(tǒng)不僅僅需要課本知識,還有許多的生活常識也涉及到了。本次課程設(shè)計不僅讓我們將所學(xué)的課本知識溫故了一遍,并且很好的開闊了一下我們的視野,培養(yǎng)了我們的綜合素質(zhì)。</p><p> 在編寫程序的過程中,遇到了很多問題,使我發(fā)現(xiàn)自己以前學(xué)習(xí)上存在的不足。通過與同學(xué)探討和請教老師,終于把問題都解決了,并加
57、深了對交通燈原理和設(shè)計思路的了解。同時也掌握了做課程設(shè)計的一般流程,為以后的設(shè)計積累了一定的經(jīng)驗。做課程設(shè)計時,先查閱相關(guān)知識,把原理吃透,確定一個大的設(shè)計方向,在按照這個方向分模塊的把要實現(xiàn)的功能用流程圖的形式展示。最后參照每個模塊把輸入和輸出引腳設(shè)定,運用我們所學(xué)的VHDL語言進行編程??傊ㄟ^這次的設(shè)計,進一步了解了EDA技術(shù),收獲很大,對軟件編程、排錯調(diào)試、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高。</p>
58、;<p> 在此,感謝給我提供幫助的老師和同學(xué)。</p><p><b> 參考文獻</b></p><p> [1] 侯伯享. VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計. 西安:西安電子科技大學(xué)出版,2010</p><p> [2] 潘松. EDA技術(shù)實用教程. 成都:電子科技大學(xué)出版社,2010</p>
59、<p> [3] 李玉山. 電子系統(tǒng)集成設(shè)計技術(shù). 北京:電子工業(yè)出版社,2010.6.</p><p> [4] 李國麗.EDA與數(shù)字系統(tǒng)設(shè)計.北京:機械工業(yè)出版社,2009</p><p> [5] 周彩寶.VHDL語言及其應(yīng)用. 上海:華東計算機技術(shù)研究所:2009</p><p> [6] 譚會生.EDA技術(shù)中和應(yīng)用實例與分析.西安:西安電
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda交通燈課程設(shè)計---交通燈控制系統(tǒng)的設(shè)計
- eda交通燈課程設(shè)計--cpld實現(xiàn)交通燈控制系統(tǒng)
- 交通燈課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- eda課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- eda交通燈控制系統(tǒng)的課程設(shè)計
- eda課程設(shè)計--交通燈控制
- eda交通燈課程設(shè)計
- eda交通燈課程設(shè)計
- eda課程設(shè)計報告--交通燈控制系統(tǒng)設(shè)計
- 交通燈課程設(shè)計---交通控制系統(tǒng)設(shè)計
- eda交通燈課程設(shè)計報告(eda)
- 交通燈控制系統(tǒng)課程設(shè)計
- 課程設(shè)計--交通燈控制系統(tǒng)
- 交通燈課程設(shè)計--plc實現(xiàn)交通燈控制設(shè)計
- eda交通燈課程設(shè)計論文
- 交通燈課程設(shè)計--交通燈控制器
- 交通燈控制系統(tǒng)課程設(shè)計
- 交通燈控制系統(tǒng) 課程設(shè)計
- 交通燈控制系統(tǒng)課程設(shè)計
- eda交通燈課程設(shè)計論文
評論
0/150
提交評論