版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 第一章 緒論</b></p><p> EDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫,。EDA技術(shù)就是以計算機(jī)為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。<
2、/p><p> EDA技術(shù)已有30年的發(fā)展歷程,大致可分為三個階段。70年代為計算機(jī)輔助設(shè)計(CAD)階段,人們開始用計算機(jī)輔助進(jìn)行IC版圖編輯、PCB布局布線,取代了手工操作。80年代為計算機(jī)輔助工程(CAE)階段。與CAD相比,CAE除了有純粹的圖形繪制功能外,又增加了電路功能設(shè)計和結(jié)構(gòu)設(shè)計,并且通過電氣連接網(wǎng)絡(luò)表將兩者結(jié)合在一起,實現(xiàn)了工程設(shè)計。CAE的主要功能是:原理圖輸人,邏輯仿真,電路分析,自動布局布線
3、,PCB后分析。90年代為電子系統(tǒng)設(shè)計自動化(EDA)階段。</p><p> “自頂向下”的設(shè)計方法。10年前,電子設(shè)計的基本思路還是選用標(biāo)準(zhǔn)集成電路“自底向上”地構(gòu)造出一個新的系統(tǒng),這樣的設(shè)計方法就如同一磚一瓦建造金字塔,不僅效率低、成本高而且容易出錯。</p><p> 所謂數(shù)字系統(tǒng),是指交互式的以離散形式表示的具有存儲、傳輸、處理信息能力的邏輯子系統(tǒng)的集合物。一臺數(shù)字計算機(jī)就是
4、一 個最完整的數(shù)字系統(tǒng)。顯然,數(shù)字系統(tǒng)的功能、性能、規(guī)模遠(yuǎn)遠(yuǎn)超出了一般中小規(guī)模數(shù)字邏輯電路的范圍。基本步驟包括:系統(tǒng)需求分析、算法設(shè)計、算法描述、系統(tǒng)結(jié)構(gòu)選擇、具體設(shè)計、系統(tǒng)仿真與實驗。</p><p> 第二章:交通燈控制系統(tǒng)簡介</p><p> 2.1交通燈控制系統(tǒng)的背景</p><p> 近年來城市街道車輛大幅度增長,給城市交通帶來巨大壓力,
5、而街道各十字路口,又是車輛通行的瓶頸所在,研究車輛通行規(guī)律,找出提高十字路口車輛通行效率的有效方法,對緩解交通阻塞,提高暢通率具有十分現(xiàn)實的意義。本設(shè)計是交通燈控制系統(tǒng),隨著社會的不斷的進(jìn)步,社會的不斷發(fā)展。交通也日漸復(fù)雜,交通的自動化也不斷更新,交通的一些指揮系統(tǒng)光靠人來完成是遠(yuǎn)遠(yuǎn)不夠的,這就需要設(shè)計各種交通指揮自動化系統(tǒng)來完成這些復(fù)雜的工作。</p><p> 2.2 交通燈控制系統(tǒng)的作用</p>
6、;<p> 交通信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。為了實現(xiàn)交通道路的管理,力求交通管理先進(jìn)性、科學(xué)化。用可編程控制器實現(xiàn)交通燈管制的控制系統(tǒng),以及該系統(tǒng)軟、硬件設(shè)計方法,實驗證明該系統(tǒng)實現(xiàn)簡單、經(jīng)濟(jì),能夠有效地疏導(dǎo)交通,提高交通路口的通行能力。分析了現(xiàn)代城市交通控制與管理問題的現(xiàn)狀,結(jié)合交通的實際情況闡述了交通燈控制系統(tǒng)的工作原理,給出了一種簡單實用的城市交通燈
7、控制系統(tǒng)的PLC設(shè)計方案??删幊绦蚩刂破髟诠I(yè)自動化中的地位極為重要,廣泛的應(yīng)用于各個行業(yè)。隨著科技的發(fā)展,可編程控制器的功能日益完善,加上小型化、價格低、可靠性高,在現(xiàn)代工業(yè)中的作用更加突出。</p><p> 2.3 交通燈控制系統(tǒng)的構(gòu)成</p><p><b> 圖2-1</b></p><p><b> 圖2-2<
8、/b></p><p> 第三章:交通燈控制系統(tǒng)的設(shè)計</p><p><b> 3.1、 設(shè)計要求</b></p><p><b> 3.1.1基本要求</b></p><p> 能顯示十字路口東西、南北兩個方向的紅、黃、綠燈的指示狀態(tài),用兩組紅、黃、綠三色燈作為兩個方向的紅、黃、綠
9、燈; </p><p> 南北向為主干道,每次通行時間為30S,東西向為支干道,每次通行時間為20S;</p><p> 能實現(xiàn)正常的倒計時功能,用兩組數(shù)碼管作為東西、南北向的倒計時顯示。其中,黃燈:5S。</p><p> 能實現(xiàn)特殊狀態(tài)的功能。按下SP鍵后,能實現(xiàn)以下特殊功能: </p><p> ?。?)顯示倒計時的兩組數(shù)碼管閃爍
10、; </p><p> ?。?)計數(shù)器停止計數(shù)并保持在原來的狀態(tài); </p><p> ?。?)東西、南北路口均顯示紅燈狀態(tài); </p><p> ?。?)特殊狀態(tài)解除后能繼續(xù)計數(shù); </p><p> 5. 能實現(xiàn)全清零功能。按下reset鍵后,系統(tǒng)實現(xiàn)全清零,計數(shù)器由初狀態(tài)計數(shù),對應(yīng)狀態(tài)的指示燈亮; </p><p&
11、gt; 6. 用VHDL語言設(shè)計上述功能的交通燈控制器,并用層次化方法設(shè)計該電路; </p><p> 7. 仿真、驗證設(shè)計的正確性。 </p><p><b> 3.1.2附加要求</b></p><p> 時鐘輸入:clkin=1KHz</p><p> 采用分頻器分成:1Hz,然后提供給系統(tǒng) </p
12、><p> 3.2 設(shè)計思路、狀態(tài)機(jī)變化圖</p><p> 交通燈控制器的電路控制原理框圖如圖3-1所示,主要包括置數(shù)器模塊、定時計數(shù)器模塊、主控制器模塊和譯碼器模塊。置數(shù)器模塊將交通燈的點亮?xí)r間預(yù)置到置數(shù)電路中。計數(shù)器模塊以秒為單位倒計時,當(dāng)計數(shù)值減為零時,主控電路改變輸出狀態(tài),電路進(jìn)入下一個狀態(tài)的倒計時。核心部分是主控制模塊。</p><p> 圖3-1
13、電路控制原理框圖</p><p> 圖3-2 狀態(tài)機(jī)變化圖</p><p><b> 3.3設(shè)計流程</b></p><p> 由以上要求可以得到該系統(tǒng)的程序流程圖如圖3-3所示。其中,GA、RA、YA表示A支路的綠燈、紅燈、黃燈,GB、RB、YB表示B支路的綠燈、紅燈、黃燈,S表示特殊功能按鍵,T表示計時的時間。</p>
14、<p> 圖3-3 程序流程圖</p><p> 3.4 設(shè)計步驟及程序</p><p> 1. 啟動QuartusⅡ6.0</p><p><b> 2. 編輯文件</b></p><p> 單擊菜單欄中的File\New命令,打開“Block Diagram\Schematic File”文件
15、。</p><p><b> 3. 輸入原理圖</b></p><p> 畫出如圖3-5所示原理圖</p><p><b> 圖3-5</b></p><p><b> 4 . 輸入程序</b></p><p> 1)控制部分的設(shè)計
16、 --ledcontrol.vhd源程序</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity ledcontrol i
17、s</p><p> port(reset,clk,urgen:in std_logic;</p><p> state :out std_logic_vector(1 downto 0);</p><p> sub,set1,set2 :out std_logic);</p><p> end ledcontrol;</p
18、><p> architecture a of ledcontrol is</p><p> signal count: std_logic_vector(6 downto 0);</p><p> signal subtemp: std_logic;</p><p><b> begin</b></p>
19、<p> sub<=subtemp and (not clk);</p><p> statelabel:</p><p> process(reset,clk)</p><p><b> begin</b></p><p> if reset='1'then</p&g
20、t;<p> count<="0000000";</p><p> state<="00";</p><p> elsif clk'event and clk='1'then</p><p> if urgen='0'then count<=cou
21、nt+1;subtemp<='1';else subtemp<='0';end if;</p><p> if count=0 then state<="00";set1<='1';set2<='1';</p><p> elsif count=25 then state&
22、lt;="01";set1<='1';</p><p> elsif count=30 then state<="10";set1<='1';set2<='1';</p><p> elsif count=45 then state<="11";se
23、t2<='1';</p><p> elsif count=50 then count<="0000000";else set1<='0';set2<='0';end if;</p><p><b> end if;</b></p><p> en
24、d process statelabel;</p><p><b> end a;</b></p><p> 2)顯示部分的設(shè)計 --ledshow.vhd源程序</p><p> library ieee;</p><p> use ieee.std_logic
25、_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity ledshow is</p><p> port(clk,urgen :in std_logic;</p><p> state :in std_lo
26、gic_vector(1 downto 0);</p><p> sub,set1,set2 :in std_logic;</p><p> r1,g1,y1,r2,g2,y2 :out std_logic;</p><p> led1,led2 :out std_logic_vector(7 downto 0));</p
27、><p> end ledshow;</p><p> architecture a of ledshow is</p><p> signal count1,count2:std_logic_vector(7 downto 0);</p><p> signal setstate1,setstate2:std_logic_vector(
28、7 downto 0);</p><p> signal tg1,tg2,tr1,tr2,ty1,ty2 :std_logic;</p><p><b> begin</b></p><p> led1<="11111111"when urgen='1'and clk='0' el
29、se count1;</p><p> led2<="11111111"when urgen='1'and clk='0' else count2;</p><p> tg1<='1'when state="00"and urgen='0' else '0'
30、;;</p><p> ty1<='1'when state="01"and urgen='0' else '0';</p><p> tr1<='1'when state(1)='1'or urgen='1' else '0';</p&
31、gt;<p> tg2<='1'when state="10"and urgen='0' else '0';</p><p> ty2<='1'when state="11"and urgen='0' else '0';</p><
32、;p> tr2<='1'when state(1)='0'or urgen='1' else '0';</p><p> setstate1<= "00100101"when state="00"else</p><p> "00000101"
33、when state="01"else</p><p> "00100000";</p><p> setstate2<= "00010101"when state="10"else</p><p> "00000101"when state="
34、11"else</p><p> "00110000";</p><p><b> label2:</b></p><p> process(sub)</p><p><b> begin</b></p><p> if sub'
35、;event and sub='1'then</p><p> if set2='1'then</p><p> count2<=setstate2;</p><p> elsif count2(3 downto 0)="0000" then count2<=count2-7;else count
36、2<=count2-1; end if;</p><p><b> g2<=tg2;</b></p><p><b> r2<=tr2;</b></p><p><b> y2<=ty2;</b></p><p><b> end if
37、;</b></p><p> end process label2;</p><p><b> label1:</b></p><p> process(sub)</p><p><b> begin</b></p><p> if sub'ev
38、ent and sub='1'then</p><p> if set1='1'then</p><p> count1<=setstate1;</p><p> elsif count1(3 downto 0)="0000" then count1<=count1-7;else count1&l
39、t;=count1-1;end if;</p><p><b> g1<=tg1;</b></p><p><b> r1<=tr1;</b></p><p><b> y1<=ty1;</b></p><p><b> end if;<
40、;/b></p><p> end process label1;</p><p><b> end a;</b></p><p> 3)分頻器部分的設(shè)計</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;<
41、;/p><p> use work.p_alarm.all;</p><p> entity divider is</p><p> port(clk_in:std_logic;</p><p> reset:in std_logic;</p><p> clk:out std_logic);</p>
42、<p> end divider;</p><p> architecture art of divider is</p><p> constant divide_period:t_short:=1000;</p><p><b> begin</b></p><p> process(clk_
43、in,reset) is</p><p> variable cnt:t_short;</p><p><b> begin</b></p><p> if(reset='1')then</p><p><b> cnt:=0;</b></p><p>
44、;<b> clk<='0';</b></p><p> elsif rising_edge(clk_in)then</p><p> if(cnt<=(divide_period/2))then</p><p><b> clk<='1';</b></p&g
45、t;<p> cnt:=cnt+1;</p><p> elsif(cnt<(divide_period-1))then</p><p><b> clk<='0';</b></p><p> cnt:=cnt+1;</p><p><b> else<
46、/b></p><p><b> cnt:=0;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p><b>
47、end art;</b></p><p> p_alarm程序包</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> package p_alarm is</p><p> subtype t_digital
48、is integer range 0 to 9;</p><p> subtype t_short is integer range 0 to 65535;</p><p> type t_clock_time is array(5 downto 0)of t_digital;</p><p> type t_display is array(5 downto
49、 0)of t_digital;</p><p> end package p_alarm;</p><p><b> 創(chuàng)建工程</b></p><p><b> 打開工程向?qū)?lt;/b></p><p> 將設(shè)計文件加到工程中</p><p><b> 選擇
50、目標(biāo)芯片</b></p><p> 選擇仿真器和綜合器類型</p><p><b> 結(jié)束設(shè)置</b></p><p><b> 目標(biāo)芯片的配置</b></p><p><b> 編譯</b></p><p><b> 仿
51、真</b></p><p><b> 建立波形文件</b></p><p><b> 打開波形編輯器</b></p><p><b> 輸入信號節(jié)點</b></p><p><b> 編輯輸入波形</b></p><
52、p> 啟動仿真及閱讀仿真報告</p><p><b> 圖3-6</b></p><p><b> 指定芯片管腳</b></p><p><b> 圖3-7</b></p><p> 3.5 硬件實現(xiàn)及調(diào)試結(jié)果</p><p> 在進(jìn)行
53、硬件測試時,按鍵k1對應(yīng)復(fù)位端reset,按鍵k2對應(yīng)緊急開關(guān)urgent。EDA實驗開發(fā)系統(tǒng)上的時鐘cp2對應(yīng)計數(shù)時鐘CLK,數(shù)碼管M3、M4對應(yīng)東西 走向的時鐘顯示。LED燈l16、l15、l14對應(yīng)東西走向的綠燈G1、黃燈Y1、紅燈R1。數(shù)碼管M1、M2對應(yīng)南北走向的時鐘顯示。LED燈l1、l2、l3對應(yīng)南北走向的綠燈G2、黃燈Y2、紅燈R2,對應(yīng)的硬件結(jié)構(gòu)示意圖如圖3-6
54、所示。 </p><p><b> 圖3-6</b></p><p> 調(diào)試結(jié)果如預(yù)期一樣,主干道從30秒倒計時,支干道從25秒開始倒計時,主、支干道的紅黃綠燈一次點亮,當(dāng)按下復(fù)位鍵是,交通燈系統(tǒng)回到初始狀態(tài),但有一點延時。</p><p><b> 圖3-8</b></p><p>
55、; 第四章:課程設(shè)計總結(jié)</p><p> 課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程 ?;仡櫰鸫舜握n程設(shè)計,至今我仍感慨頗多,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識
56、是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。</p><p> 這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很
57、多問題,但在老師的悉心指導(dǎo)下,終于迎刃而解。在此對給過我?guī)椭乃型瑢W(xué)和指導(dǎo)老師再次表示忠心的感謝!</p><p><b> 參考文獻(xiàn)</b></p><p> 孫加存. 電子設(shè)計自動化. 西安電子科技大學(xué)出版社, 2008</p><p> 肖明耀. PLC原理與應(yīng)用. 中國勞動社會保障出版社, 2006</p>
58、<p> 金西. VHDL與復(fù)雜數(shù)字系統(tǒng)設(shè)技. 2003西安電子科技大學(xué)出版社,2003</p><p> 王振紅. VHDL數(shù)字電路設(shè)計與應(yīng)用實踐教程. 北京機(jī)械工業(yè)出版社,2004</p><p> 林明權(quán). VHDL數(shù)字控制系統(tǒng)設(shè)計范例,北京電子工業(yè)出版社, 2005</p><p> 潘松. EDA技術(shù)實用教程. 北京科學(xué)出版社,2
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于plc交通燈控制系統(tǒng)課程設(shè)計
- 交通燈課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- 交通燈控制系統(tǒng)課程設(shè)計報告
- eda交通燈課程設(shè)計---交通燈控制系統(tǒng)
- 交通燈課程設(shè)計--plc實現(xiàn)交通燈控制設(shè)計
- 交通燈控制系統(tǒng)課程設(shè)計
- 課程設(shè)計--交通燈控制系統(tǒng)
- eda交通燈課程設(shè)計---交通燈控制系統(tǒng)的設(shè)計
- 交通燈控制系統(tǒng)課程設(shè)計
- 交通燈控制系統(tǒng) 課程設(shè)計
- 交通燈控制系統(tǒng)課程設(shè)計
- 交通燈課程設(shè)計---交通控制系統(tǒng)設(shè)計
- plc控制交通燈課程設(shè)計
- plc交通燈課程設(shè)計報告
- 課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- 課程設(shè)計---交通燈控制系統(tǒng)設(shè)計
- 基于plc交通燈控制系統(tǒng)設(shè)計
- eda課程設(shè)計報告--交通燈控制系統(tǒng)設(shè)計
- 課程設(shè)計-交通燈控制系統(tǒng)設(shè)計
- plc交通燈畢業(yè)論文--基于plc的交通燈控制系統(tǒng)設(shè)計
評論
0/150
提交評論