九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

EDA課程設計-交通燈.doc

  • 資源ID:6707815       資源大小:3.05MB        全文頁數(shù):15頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

EDA課程設計-交通燈.doc

交通信號燈控制電路設計1、 概述 城市道路交叉口是城市道路網(wǎng)絡的基本節(jié)點,也是網(wǎng)絡交通流的瓶頸。目前,大部分無控制交叉口都存在高峰小時車流混亂、車速緩慢、延誤情況嚴重、事故多發(fā)、通行能力和服務水平低下等問題。特別是隨著城市車流量的快速增長,城市無控制道路交叉口的交通壓力越來越大。因此,做好基于EDA技術平臺的交叉口信號控制設計是緩解交通阻塞、提高城市道路交叉口車輛通行效率的有效方法。交通信號控制的目的是為城市道路交叉口(或交通網(wǎng)絡)提供安全可靠和有效的交通流,通常最為常用的原則是車輛在交叉口的通過量最大或車輛在交叉口的延誤最小。交通信號燈控制電路是顯示主干道和支干道交替放行時間并用試驗箱左上角的彩燈來代替信號燈的一種實際電路。設計一個基于FPGA的紅綠燈交通信號控制器。假設某個十字路口是由一條主干道和一條次干道匯合而成,在每個方向設置紅綠黃三種信號燈,紅燈亮禁止通行,綠燈亮允許通行。黃燈亮允許行駛中車輛有時間停靠到禁止線以外。本課程的基本原理是在合適的時鐘信號的控制下,使主干道與支道的紅黃綠燈循環(huán)顯示,用VHDL語言編輯文本程序,按設計要求連接好線以后,進行波形仿真,仿真結果正確后下載程序并對試驗箱進行調試,使其最終的顯示結果符合設計要求。二、方案設計與論證在硬件時鐘電路的基礎上,采用分頻器,輸出一個1S的時鐘信號,在時鐘信號的控制下,實現(xiàn)主干道和支干道紅綠燈交替顯示。 紅綠燈交通燈控制器層次設計:EDA技術的基本設計方法有電路級設計方法和系統(tǒng)級設計方法。電路級設計方法已經(jīng)不能適應新的形勢,本系統(tǒng)采用的是系統(tǒng)級層次設計方法,對整個系統(tǒng)進行方案設計和功能劃分,系統(tǒng)的關鍵電路用一片F(xiàn)PGA芯片實現(xiàn),首先用VHDL語言編寫各個功能模塊程序,最后通過綜合器和適配器生成最終的目標器件,然后用頂層原理圖將各功能模塊連接起來。下面給出各模塊的VHDL設計過程和仿真結果。1、 系統(tǒng)時序發(fā)生電路clk_gen的VHDL設計在紅綠燈交通信號控制系統(tǒng)中,大多數(shù)的情況是通過自動控制的方式指揮交通的。因此,為了避免意外事件的發(fā)生,電路必須給一個穩(wěn)定的時鐘(clock)才能讓系統(tǒng)正常運作。但為了配合高峰時段,防止交通擁擠,有時也必須使用手動控制,即讓交警能夠順利地指揮交通。Clk_gen電路最主要的功能就是產(chǎn)生一些額外的輸出信號,并將其用做后續(xù)幾個電路的使能(enable)控制與同步信號處理。 該電路的核心部分就是分頻電路,通過對外接信號發(fā)生器提供1kHz的時鐘信號進行1000分頻,得到一個周期為1秒的輸出使能信號ena_lhz(占空比1:1000)和flash_lhz(占空比1:1);4分頻后得到紅綠燈信號譯碼電路所需的頻率為250Hz的顯示使能信號ena_scan。architecture one of fenpingqi issignal counter:integer range 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK=1 and CLKevent) then if CLR=1 then counter<=0; elsif counter =4999999 then counter<=0; q<=not q; else counter<=counter+1; end if;end if; end process;end one;2、 開關控制部分的ASM圖i、j、k、分別代表開關狀態(tài);1表示開關閉合,為高電平;0表示開關斷開為低電平。當開關處于不同的狀態(tài)時,分別給變量G不同的值,用來實現(xiàn)控制通行時間。X<=i&j&kX=001X=010X=100G=29G=39G=49yyyG=0x<=i&j&k;cnt:process (clk)variable s:integer range 0 to 49;variable g:integer range 0 to 49;variable nclr,en:bit; Beginif x<="001"then g:=29;elsif x<="010"then g:=39;elsif x<="100"then g:=49;else g:=0;end if;3、 信號燈轉換控制部分的ASM圖Rm、Ym、Gm分別表示主干道紅、黃、綠;Rf、Yf、Gf分別表示支道紅、黃、綠;S表示燈亮的時間;nclr是計時器的清零端,低電平有清零;en是計時器的使能端,高電平使能。Gm<=1Rf<=1S=GS=S+1nclr=1en=1Ym<=1Rf<=1S=3Rm<=1Gf<=1S=GS=3 Rm<=1Yf<=1yyyyS=S+1nclr=1en=1 nclr=0en=0nclr=0en=0 if (clkevent and clk=1) then if nclr=0 then s:=0; elsif en=0 then s:=s; else s:=s+1; end if;case state iswhen a=>rm<=0;ym<=0;gm<=1; rf<=1;yf<=0;gf<=0;if s=g thenstate <=b;nclr:=0;en:=0;Elsestate<=a;nclr:=1;en:=1;end if; 3、狀態(tài)裝換 (1)開始設置為支路為綠燈、主路為紅燈,持續(xù)時間為30秒; (2)30秒后,支路由綠燈變?yōu)辄S燈,主路紅燈不變,持續(xù)時間為4秒; (3)4秒后,支路由黃燈變?yōu)榧t燈,主路由紅燈變?yōu)榫G燈,持續(xù)時間30秒; (4)30秒后,支路紅燈不變,主路由綠燈變?yōu)辄S燈,持續(xù)時間為4秒; (5)4秒后,支路由紅燈變?yōu)榫G燈,主路由黃燈變?yōu)榫G燈,持續(xù)時間為30秒; 隨時間,主、支系統(tǒng)依次循環(huán),可以自動切換,紅綠燈時間間隔可以手動設置,以適應不同需求。 case state iswhen a=>rm<=0;ym<=0;gm<=1; rf<=1;yf<=0;gf<=0;if s=g thenstate <=b;nclr:=0;en:=0;Elsestate<=a;nclr:=1;en:=1;end if;when b=>rm<=0;ym<=1;gm<=0; rf<=1;yf<=0;gf<=0;if s=3 thenstate <=c;nclr:=0;en:=0;Elsestate<=b;nclr:=1;en:=1;end if;when c=>rm<=1;ym<=0;gm<=0; rf<=0;yf<=0;gf<=1;if s=g thenstate <=d;nclr:=0;en:=0;Elsestate<=c;nclr:=1;en:=1;end if;when d=>rm<=1;ym<=0;gm<=0; rf<=0;yf<=1;gf<=0;if s=3 thenstate <=a;nclr:=0;en:=0;Elsestate<=d;nclr:=1;en:=1;end if;end case;4、 總原理圖1、電路連接圖2、分頻器模塊 3、交通燈控制器模塊 4、波形仿真仿真圖一仿真圖二5、 硬件仿真:為了能對所設計的紅綠燈交通燈控制器電路進行硬件測試,應將其輸入輸出信號鎖定在開發(fā)系統(tǒng)的目標芯片引腳上,并重新編譯,然后對目標芯片進行編程下載,完成紅綠燈交通燈控制器的最終開發(fā),其硬件測試示意圖如圖6-62。不失一般性,本設計選用的EDA開發(fā)平臺為GW48電路模式為No.5,選擇目標器件為Cylone系列EP1C3T144C8芯片。 鎖定引腳時將CLK接至clock2(接受1kHz的時鐘頻率);內部自復位信號同鍵3(PIO8)相連;手動、自動切換鈕(1:自動、0手動)接鍵4(PIO9);:紅綠燈狀態(tài)切換鍵(每按一次就切換一個狀態(tài))接鍵5(PIO13); R1接發(fā)光二級管D8(PIO23)用于指示南北路口紅燈;G1接發(fā)光二級管D7(PIO22)用于指示南北路口綠燈;Y1接發(fā)光二級管D6(PIO21)用于指示南北路口黃燈;R0接發(fā)光二級管D5(PIO20)用于指示東西路口紅燈;G0接發(fā)光二級管D4(PIO19)用于指示東西路口綠燈;Y0接發(fā)光二級管D3(PIO18)用于指示東西路口紅燈;NEXT_S 接發(fā)光二級管D1(PIO16)用于轉態(tài)指示。引腳鎖定完成后,重新對該工程進行編譯,綜合適配后將配置數(shù)據(jù)下載入GW48實驗平臺的FPGA中(有關CLK等引腳在FPGA芯片EP1C6Q240C8引腳中的序號,請參見EDA書后的附錄的附表)。選模式5,情況一(紅綠燈間隔30秒,黃綠間隔5秒),設定最右邊三個燈(從右到左)為支路燈:紅燈、綠燈、黃燈;緊接著為主路:紅燈、綠燈、黃燈(6號燈已壞順延到7號燈);仿真圖片如下:圖一:支路綠燈,主路紅燈圖二:支路黃燈,主路紅燈圖三:支路紅燈,主路綠燈圖四:支路紅燈,主路黃燈圖五:支路綠燈,主路紅燈五、實驗目的1. 熟練掌握VHDL 語言和MAX+ PLUSII 軟件的使用;2. 理解狀態(tài)機的工作原理和設計方法;3. 掌握利用EDA 工具進行自頂向下的電子系統(tǒng)設計方法六、實驗步驟1.將實驗系統(tǒng)上RS232接口與計算機串行口相連。2.用VHDL將兩個方案的源程序輸入MAX+ PLUSII 軟件中。3.編譯程序并進行引腳分配,最后將程序下載到器件中去。七、結果分析本次課程設計基本上滿足了任務的設計要求,可以通過開關手動設置主干道和支道每次通行的時間分別為為30s、40s、50s,從而控制通行時間長短的轉換;各個狀態(tài)之間的轉化及各個狀態(tài)的通行時間也可以滿足“主干道和支干道自動循環(huán)。主干道和支道每次通行的時間為30s,而在兩個狀態(tài)交換過程出現(xiàn)的"主黃,支紅"和"主紅,支黃"狀態(tài),持續(xù)時間都為4s”的設計要求。但是設計也存在一定的缺陷,設計只能完成當開關i,j,k只有一個為高電平時使交通燈正常工作,,其他狀態(tài)時定義G=0,這時交通燈不能正常工作。例如當X=I&J&K=101,時,其波形仿真各個狀態(tài)時間通行時間長短會出現(xiàn)差錯,如下圖 然而,這種狀況在實際生活中是不允許出現(xiàn)的。其解決方法是:在各個when語句后增加一條if判斷語句,判斷如果g等于0,則保持原狀態(tài),如果g不等于0,則執(zhí)行原來方案中的狀態(tài)轉換語句。八、硬件要求主芯片EPF10K10LC84-4;6個LED燈(紅、黃、綠各兩個);四個開關。九、心得體會通過課程設計能提高學生對所學知識的綜合應用能力,能全面檢查并掌握所學內容,在這學期的課程設計中,在收獲知識的同時,還收獲了閱歷,收獲了成熟,在此過程中,我們通過查找資料,請教老師,以及不懈的努力,不僅培養(yǎng)了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,我們學會了很多學習的方法。通過本學期的這次的課程設計與幾次實驗,我學會了語言的一些基本用法,應用了原來不會或者不熟練的句型,如process進程,也學會了一些基本功能的實現(xiàn)方法,如分頻,狀態(tài)控制等。雖然這次實驗遇到的問題不少,但是在老師以及同學的幫助下,我都順利地解決了,并為將來的實踐積累了寶貴的經(jīng)驗和教訓。通過經(jīng)常和老師、同學交流,以便及時發(fā)現(xiàn)自己在實驗中的紕漏和不足,促進進步。EDA設計中程序調試最為重要,我在編完各模塊程序之后,編譯查錯最初有很多錯誤,有輸入錯誤,語法錯誤,通過反復的修改最終通過了編譯。必須注意工程名和實體名的一致,在仿真無誤的情況下把程序下載到是芯片中,進行硬件的調試。邏輯正確和仿真真確并不代表著實際實驗的正確,通常情況下,要適當?shù)卣{整邏輯以適應硬件。要特別注意仿真時出現(xiàn)的毛刺和偏差,到底是由于仿真設置不合理還是仿真結果確實有問題。這次課程設計雖然結束了,也留下了很多遺憾,因為由于時間的緊缺和許多課業(yè)的繁忙,并沒有做到最好,但是,最起碼我們沒有放棄,它是我們的驕傲!相信以后我們會以更加積極地態(tài)度對待我們的學習、對待我們的生活。實驗的順利完成,與老師的熱心指導是分不開的,最后十分感謝胡輝老師的認真負責的工作,讓我受益匪淺!十、參考文獻EDA技術與實驗 機械工業(yè)出版社 李國洪、胡輝、沈明山EDA技術實驗與課程設計 清華大學出版社 曹新燕、周鳳臣、聶春燕EDA技術綜合應用實例與分析 西安電子科技大學出版社 譚會生、翟遂春附件1、頂層設計代碼library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;ENTITY JiaoTongDeng is port(clr,clk,i,j,k:in std_logic; rm,ym,gm,rf,yf,gf:out std_logic; recount:out std_logic; NEXT_S:out std_logic);end entity JiaoTongDeng;architecture JTD of JiaoTongDeng is component fenpingqi port(CLR,CLK:in std_logic; q:buffer std_logic); end component; component kongzhi port(clk,i,j,k:in std_logic; rm,ym,gm,rf,yf,gf:out std_logic); end component; component count_down port(clk,reset, ena_1Hz, recount: in std_logic; load: in std_logic_vector(7 downto 0); seg7:out std_logic_vector(15 downto 0); next_state: out std_logic); end component; signal Q, signal recount_1,signal next_state_1:std_logic;begin u1: fenpingqi port map(CLR=>clr,CLK=>clk,q=>Q); u2: kongzhi port map(i=>i,j=>j,k=>k,clk=>Q,rm=>rm,ym=>ym,gm=>gm1,rf=>rf,yf=>yf,gf=>gf); u3:count_down port map(RE,CLK,ena_1Hz_1,recount_1,load,S,next_state_1); NEXT_S<=next_state_1;end architecture JTD;分頻器代碼 library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenpingqi isport (CLR,CLK:in std_logic ; q:buffer std_logic);end fenpingqi;architecture one of fenpingqi issignal counter:integer range 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK=1 and CLKevent) then if CLR=1 then counter<=0; elsif counter =4999999 then counter<=0; q<=not q; else counter<=counter+1; end if;end if; end process;end one;3、交通燈控制器代碼 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity kongzhi isport (clk,i,j,k:in std_logic; rm,ym,gm,rf,yf,gf:out std_logic);end kongzhi; architecture arc of kongzhi istype state_type is (a,b,c,d);signal state:state_type;signal x:std_logic_vector(2 downto 0);Beginx<=i&j&k;cnt:process (clk)variable s:integer range 0 to 49;variable g:integer range 0 to 49;variable nclr,en:bit; Beginif x<="001"then g:=29;elsif x<="010"then g:=39;elsif x<="100"then g:=49;else g:=0;end if;if (clkevent and clk=1) then if nclr=0 then s:=0; elsif en=0 then s:=s; else s:=s+1; end if;case state iswhen a=>rm<=0;ym<=0;gm<=1; rf<=1;yf<=0;gf<=0;if s=g thenstate <=b;nclr:=0;en:=0;Elsestate<=a;nclr:=1;en:=1;end if;when b=>rm<=0;ym<=1;gm<=0; rf<=1;yf<=0;gf<=0;if s=3 thenstate <=c;nclr:=0;en:=0;Elsestate<=b;nclr:=1;en:=1;end if;when c=>rm<=1;ym<=0;gm<=0; rf<=0;yf<=0;gf<=1; if s=g thenstate <=d;nclr:=0;en:=0;Elsestate<=c;nclr:=1;en:=1;end if;when d=>rm<=1;ym<=0;gm<=0; rf<=0;yf<=1;gf<=0;if s=3 thenstate <=a;nclr:=0;en:=0;Elsestate<=d;nclr:=1;en:=1;end if;end case;end if;end process cnt;end arc;4、兩位七段譯碼輸出顯示代碼LIBRAYR IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.all;ENTITY count_down IS port(reset, clk, ena_1Hz, recount: in std_logic; load: in std_logic_vector(7 downto 0); seg7:out std_logic_vector(15 downto 0); next_state: out std_logic);end; ARCHITECTURE BEHAVIOR of count_down IS signal cnt_ff:std_logic_vector(7 downto 0); begin count:process(clk,reset) begin if (reset=1) then cnt_ff<="00000000" seg7<="0000000000000000" elsif (clkevent and clk=1) then if ena_1Hz=1 then if (recount=1) then cnt_ff<=load-1; else cnt_ff<=cnt_ff-1; end if; end if; case conv_integer(cnt_ff) is when 0=>seg7(15 downto 0)<="0011111100111111"-dt gfedcba(十位) dt gfedcba(個位) when 1=>seg7(15 downto 0)<="0011111100000110" when 2=>seg7(15 downto 0)<="0011111101011011" when 3=>seg7(15 downto 0)<="0011111101001111" when 4=>seg7(15 downto 0)<="0011111101100110" when 5=>seg7(15 downto 0)<="0011111101101101" when 6=>seg7(15 downto 0)<="0011111101111101" when 7=>seg7(15 downto 0)<="0011111100000111" when 8=>seg7(15 downto 0)<="0011111101111111" when 9=>seg7(15 downto 0)<="0011111101111011" when 10=>seg7(15 downto 0)<="0000011000111111" when 11=>seg7(15 downto 0)<="0000011000000110" when 12=>seg7(15 downto 0)<="0000011001011011" when 13=>seg7(15 downto 0)<="0000011001001111" when 14=>seg7(15 downto 0)<="0000011001100110" when 15=>seg7(15 downto 0)<="0000011001101101" when 16=>seg7(15 downto 0)<="0000011001111101" when 17=>seg7(15 downto 0)<="0000011000000111" when 18=>seg7(15 downto 0)<="0000011001111111" when 19=>seg7(15 downto 0)<="0000011001111011" when 20=>seg7(15 downto 0)<="0101101100111111" when 21=>seg7(15 downto 0)<="0101101100000110" when 22=>seg7(15 downto 0)<="0101101101011011" when 23=>seg7(15 downto 0)<="0101101101001111" when 24=>seg7(15 downto 0)<="0101101101100110" when 25=>seg7(15 downto 0)<="0101101101101101" when 26=>seg7(15 downto 0)<="0101101101111101" when 27=>seg7(15 downto 0)<="0101101100000111" when 28=>seg7(15 downto 0)<="0101101101111111" when 29=>seg7(15 downto 0)<="0101101101111011" when 30=>seg7(15 downto 0)<="0100111100111111" when 31=>seg7(15 downto 0)<="0100111100000110" when 32=>seg7(15 downto 0)<="0100111101011011" when 33=>seg7(15 downto 0)<="0100111101001111" when 34=>seg7(15 downto 0)<="0100111101100110" when 35=>seg7(15 downto 0)<="0100111101101101" when 36=>seg7(15 downto 0)<="0100111101111101" when 37=>seg7(15 downto 0)<="0100111100000111" when 38=>seg7(15 downto 0)<="0100111101111111" when 39=>seg7(15 downto 0)<="0100111101111011" when others=>seg7(15 downto 0)<="0011111100111111" end case; end if; end process; next_state <= 1 when cnt_ff=1 else 0; end BEHAVIOR;

注意事項

本文(EDA課程設計-交通燈.doc)為本站會員(xin****828)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!