交通燈控制器的設(shè)計 EDA課程設(shè)計
《交通燈控制器的設(shè)計 EDA課程設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《交通燈控制器的設(shè)計 EDA課程設(shè)計(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 大 學 課程設(shè)計說明書 名稱 交通燈控制器的設(shè)計 院 系 電子信息工程系 班 級 姓 名 學 號 系 主 任 教研室主任 指導教師 目錄 第一章 緒論 3 1電子設(shè)計自動化簡介 3 1.1概要 3 1.2 EDA數(shù)字系統(tǒng)設(shè)計 4 1.2.1 分析方法 4 第二章 設(shè)計要求 5 2 設(shè)計基本要求 5 2.1電路工作原理 5 第三章 系統(tǒng)
2、的設(shè)計 6 3 系統(tǒng)設(shè)計要求 6 3.1 設(shè)計思路 7 3.2 設(shè)計流程 7 3.3 系統(tǒng)結(jié)構(gòu)圖 8 3.4 系統(tǒng)程序 9 3.5 仿真與調(diào)試 14 第四章 心得體會 15 參考文獻 16 第一章 緒論 1電子設(shè)計自動化簡介 1.1概要 EDA技術(shù)是指以計算機為工作平臺,融合了應(yīng)用電子技術(shù)、計算機技術(shù)、信息處理及智能化技術(shù)的最新成果,進行電子產(chǎn)品的自動設(shè)計。 利用EDA工具,電子設(shè)計師可以從概念、算法、協(xié)議等開始設(shè)計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設(shè)計、性能分析到設(shè)計出IC版圖或PCB版圖的整個過程的計算機上自動處理完
3、成。 現(xiàn)在對EDA的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學、軍事等各個領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。 1.1.1 EDA系統(tǒng)的設(shè)計分類 根據(jù)采用計算機輔助技術(shù)的介入程度,可以分為三類: 第一類:人工設(shè)計方法,這是一種傳統(tǒng)的設(shè)計方法,從方案的提出到驗證和修改均采用人工手段完成,尤其是系統(tǒng)的驗證需要經(jīng)過實際搭試電路完成,花費大、效率低、制造周期長。 第二類:借助計算機來完成數(shù)據(jù)處理、模擬評價、設(shè)計驗證等部分,由人和計算機共同完成,但由于軟件匱乏,該階段許多工作尚需人工完成。 第三類:該階
4、段的世紀方法稱為電子設(shè)計自動化,這個階段發(fā)展起來的EDA工具,目的是在設(shè)計前期將設(shè)計工程師從事的許多高層次設(shè)計由工具完成。整個設(shè)計過程或大部分設(shè)計均有計算機完成。 1.1.2 EDA技術(shù)發(fā)展表現(xiàn)形式 (1) CPLD/FPGA系統(tǒng):使用EDA技術(shù)開發(fā)CPLD/FPGA,使自行開發(fā)的CPLD/FPGA作為電子系統(tǒng)、控制系統(tǒng)、信息處理系統(tǒng)的主體。 (2) “CPLD/FPGA+MCU”系統(tǒng):綜合應(yīng)用EDA技術(shù)與單片機技術(shù),將自行開發(fā)的“CPLD/FPGA+MCU”作為電子系統(tǒng)、控制系統(tǒng)、信息處理系統(tǒng)的主體。 (3) “CPLD/FPGA+專用DSP處理器”系統(tǒng):將EDA技術(shù)與DSP專用處
5、理器配合使用,用“CPLD/FPGA+專用DSP處理器”構(gòu)成一個數(shù)字信號處理系統(tǒng)的整體。 (4) 基于FPGA實現(xiàn)的現(xiàn)代DSP系統(tǒng):基于SOPC(a System on a Programmable Chip)技術(shù)、EDA技術(shù)與FPGA技術(shù)實現(xiàn)方式的現(xiàn)代DSP系統(tǒng)。 (5) 基于FPGA實現(xiàn)的SOC片上系統(tǒng):使用超大規(guī)模的FPGA實現(xiàn)的,內(nèi)含1個或數(shù)個嵌入式CPU或DSP,能夠?qū)崿F(xiàn)復雜系統(tǒng)功能的單一芯片系統(tǒng)。 (6) 基于FPGA實現(xiàn)的嵌入式系統(tǒng):使用CPLD/FPGA實現(xiàn)的,內(nèi)含嵌入式處理器,能滿足對象系統(tǒng)要求的特定功能的,能夠嵌入到宿主系統(tǒng)的專用計算機應(yīng)用系統(tǒng)。 1.2 EDA數(shù)字
6、系統(tǒng)設(shè)計 1.2.1 分析方法 傳統(tǒng)的電路設(shè)計方法都是自底向上進行設(shè)計的,也就是首先確定可用的元器件,然后根據(jù)這些器件進行邏輯設(shè)計,完成各模塊后進行連接,最后形成系統(tǒng)。 在基于EDA技術(shù)的系統(tǒng)設(shè)計的最重要環(huán)節(jié)——在系統(tǒng)的基本功能或行為級上對設(shè)計的產(chǎn)品進行描述和定義時,我們采用自頂向下分析,自底向上設(shè)計的方法。所謂“自頂向下分析”,就是指將數(shù)字系統(tǒng)的整體逐步分解為各個子系統(tǒng)和模塊,若子系統(tǒng)規(guī)模較大,則還需將子系統(tǒng)進一步分解為更小的子系統(tǒng)和模塊,層層分解,直至整個系統(tǒng)中各子系統(tǒng)關(guān)系合理,并便于邏輯電路級的設(shè)計和實現(xiàn)為止。 1.2.2 實現(xiàn)方法 1.硬件描述語言編程實現(xiàn)法 2.
7、原理圖設(shè)計實現(xiàn)法 3.參數(shù)可設(shè)置兆功能塊實現(xiàn)法 4.軟的或硬的IP核實現(xiàn)法 第二章 設(shè)計要求 2 設(shè)計基本要求 1)設(shè)計一個十字路口的交通燈控制器,能顯示十字路口東西、南北兩個方向的紅、黃、綠燈的指示狀態(tài)。用兩組紅、黃、綠三種顏色的燈分別作為東西、南北兩個方向的紅、黃、綠燈。變化規(guī)律為:東西綠燈亮,南北紅燈亮——東西黃燈亮,南北紅燈亮——東西紅燈亮,南北綠燈亮——東西紅燈亮,南北黃燈亮 ——東西綠燈亮,南北紅燈亮 ……,這樣依次循環(huán)。 2)南北方向是主干車道,東西方向是支干車道,要求兩條交叉道路上的車輛交替運行,主干車道每次通行時間為35秒,支干車道每次
8、通行的時間為25秒,時間可設(shè)置修改。 3)在綠燈轉(zhuǎn)為紅燈時,要求黃燈先亮5秒鐘,才能變換運行車道。 4)要求交通控制器有復位功能,在復位信號使能的情況下能夠?qū)崿F(xiàn)交通燈的自動復位,并且要求所有交通燈的狀態(tài)變化,包括復位信號引起的均發(fā)生在時鐘脈沖的上升沿。 2.1電路工作原理 根據(jù)交通燈系統(tǒng)設(shè)計要求,可以用一個有限的狀態(tài)機來實現(xiàn)這個交通燈控制器。根據(jù)功能要求,明確兩組交通燈的狀態(tài),這兩組交通燈總共有四種狀態(tài),分別可用st0,st1,st2,st3不表示: st0表示主干路綠燈亮,支干路紅燈亮; st1表示主干路黃燈亮,支干路紅燈亮; st2表示主干路紅燈亮,支干路綠燈亮; st3
9、表示主干路紅燈亮,支干路黃燈亮; 根據(jù)上述四種描述列出的狀態(tài)轉(zhuǎn)換表如下表1所示及交通燈控制器狀態(tài)轉(zhuǎn)換圖如下圖1所示: 表1 交通燈控制器狀態(tài)轉(zhuǎn)換表 第三章 系統(tǒng)的設(shè)計 3 系統(tǒng)設(shè)計要求 1)設(shè)計一個十字路口的交通燈控制器,能顯示十字路口東西、南北、南北左轉(zhuǎn)三個方向的紅、黃、綠燈的指示狀態(tài)。用三組紅、黃、綠三種顏色的燈分別作為東西、南北、南北左轉(zhuǎn)三個方向的紅、黃、綠燈。變化規(guī)律為: 南北綠燈亮,南北左轉(zhuǎn)紅燈亮 ,東西紅燈亮 南北黃燈亮,南北左轉(zhuǎn)紅燈亮 ,東西紅燈亮 南
10、北紅燈亮,南北左轉(zhuǎn)綠燈亮 ,東西紅燈亮 南北紅燈亮,南北左轉(zhuǎn)黃燈亮 ,東西紅燈亮 南北紅燈亮,南北左轉(zhuǎn)紅燈亮 ,東西綠燈亮 南北紅燈亮,南北左轉(zhuǎn)紅燈亮 ,東西黃燈亮 南北綠燈亮,南北左轉(zhuǎn)紅燈亮 ,東西紅燈亮這樣依次循環(huán)。 2)南北方向是主干車道,東西方向是支干車道,要求兩條交叉道路上的車輛交替運行,主干車道每次通行時間為35秒,主干轉(zhuǎn)彎車道每次通行時間為20秒,支干車道每次通行的時間為25秒,時間可設(shè)置修改。 3)在綠燈轉(zhuǎn)為紅燈時,要求黃燈先亮5秒鐘,才能變換運行車道。 4)要求交通控制器有復位功能,在復位信號使能的情況下能夠?qū)崿F(xiàn)交通燈的自動復位,并且要求所有交通
11、燈的狀態(tài)變化,包括復位信號引起的均發(fā)生在時鐘脈沖的上升沿。 5)顯示器倒計時顯示時間 3.1 設(shè)計思路 1)本交通燈控制器是一個已知主、主左、支干道通行時間的系統(tǒng),為了滿足主、主左、支干道通行時間變化要求,我們可設(shè)計一個可預(yù)置主、主左、支干道通行時間的交通控制器。 2)交通燈控制器的電路控制主要包括置數(shù)器模塊、定時計數(shù)器模塊、主控制器模塊和譯碼器模塊。置數(shù)器模塊將交通燈的點亮時間預(yù)置到置數(shù)電路中。計數(shù)器模塊以秒為單位倒計時,當計數(shù)值減為零時,主控電路改變輸出狀態(tài),電路進入下一個狀態(tài)的倒計時。核心部分是主控制模塊。 3.2 設(shè)計流程 根據(jù)設(shè)計要求和系統(tǒng)所具有功能,并參考相關(guān)
12、的文獻資料,經(jīng)可行方案設(shè)計畫出如下所示的十字路口交通燈控制器系統(tǒng)框圖,及為設(shè)計的總體方案,框圖如下圖(2)所示: CLK 交通燈控制及計時模塊 掃描顯示模塊 LED顯示 圖(2)交通燈控制器系統(tǒng)框圖 3.3 系統(tǒng)結(jié)構(gòu)圖 3.4 系統(tǒng)程序 控制器電路程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ledcontrol IS PORT( reset,clk,urgen : IN STD_LOGIC;
13、state : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); sub,set1,set2,set3: OUT STD_LOGIC); END ledcontrol; ARCHITECTURE a OF ledcontrol IS SIGNAL count : STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL subtemp: STD_LOGIC; BEGIN sub<=subtemp AND (NOT clk) ; statelabel: PROCESS (reset,clk)
14、BEGIN IF reset='1' THEN count<="0000000"; state<="000"; set2<='1'; ELSIF clk'event AND clk='1' THEN IF urgen='0' THEN count<=count+1;subtemp<='1';ELSE subtemp<='0';END IF; IF count=0 then state<="000";set1<='1';set2<='1';set3<='1'; ELSIF count=35 then state<="001";se
15、t1<='1'; ELSIF count=40 THEN state<="010";set1<='1';set2<='1'; ELSIF count=60 THEN state<="011";set2<='1'; ELSIF count=65 THEN state<="100";set2<='1';set3<='1'; elsif count=90 THEN state<="101";set3<='1'; ELSIF count=95 THEN count<="0000000"; ELSE set1<='0'; set2<='0';set3<='0';END IF;
16、 END IF; END PROCESS statelabel; END a; 輸出顯示電路程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ledshow IS PORT( clk,urgen : IN STD_LOGIC; state : IN STD_LOGIC_VECTOR(2 DOWNTO 0); sub,set1,set2,set3: IN STD_LOGIC; eg1,ey1,er1,edg2
17、,edy2,edr2,ng1,ny1,nr1: OUT STD_LOGIC; led1,led2 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ledshow; ARCHITECTURE a OF ledshow IS SIGNAL count1,count2,count3: STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL setstate1,setstate2,setstate3: STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL etg1,ety1,etr1,edirr1,ed
18、irg1,ediry1,norg2,nory2,norr2: STD_LOGIC; BEGIN led1<="00000000" WHEN urgen='1' AND clk='0' ELSE count1 WHEN state="000" ELSE count1 WHEN state="001" ELSE count2 WHEN state="010" ELSE count2 WHEN state="011" ELSE count2 WHEN state="100" ELSE count1; led2<="00000000" WHEN
19、urgen='1' AND clk='0' ELSE count3 WHEN state="000" ELSE count3 WHEN state="001" ELSE count3 WHEN state="010" ELSE count3 WHEN state="011" ELSE count3 WHEN state="100" ELSE count3 WHEN state="101" ELSE count3; etg1<='1' WHEN state="000" AND urgen='0' ELSE '0'; ety1<='1' WHE
20、N state="001" AND urgen='0' ELSE '0'; etr1<='1' WHEN state="010" or urgen='1' OR state="011" OR state="100" OR state="101" OR state="110" OR state="111" ELSE '0'; edirg1<='1' WHEN state="010" and urgen='0' ELSE '0'; ediry1<='1' WHEN state="011" and urgen='0' ELSE '0'; edirr1<='1' WHEN state="0
21、00" OR urgen='1' OR state="001" OR state="100" OR state="101" OR state="110" OR state="111" ELSE '0'; norg2<='1' WHEN state="100" AND urgen='0' ELSE '0'; nory2<='1' WHEN state="101" and urgen='0' ELSE '0'; norr2<='1' WHEN state="000" OR state="001" OR state="010" OR state="011" OR state="110" OR
22、 state="111" OR urgen='1' ELSE '0'; setstate1<="00110101" WHEN state="000" ELSE "00000101" WHEN state="001" ELSE "00110000"WHEN state="101" ELSE "00100000" ; setstate2<="00010101" WHEN state="000" ELSE "00100000" WHEN state="010" ELSE "00000101" WHEN state="01
23、1" ELSE "00110000" WHEN state="100" ELSE "00000000" ; setstate3<="01100101" WHEN state="000" ELSE "00100101" WHEN state="100" ELSE "00000101" WHEN state="101" ELSE "01100101" ; label3: PROCESS (sub) BEGIN IF sub'event AND sub='1' THEN IF set3='1' THEN
24、count3<=setstate3; elsif count3(3 downto 0)="0000" then count3<=count3-7; ELSE count3<=count3-1; END IF; ng1<=norg2; ny1<=nory2; nr1<=norr2; END IF; END PROCESS label3; label2: PROCESS (sub) BEGIN IF sub'event AND sub='1' THEN IF set2='1' THEN count2<=setstate2;
25、elsif count2(3 downto 0)="0000" then count2<=count2-7; ELSE count2<=count2-1; END IF; edg2<=edirg1; edy2<=ediry1; edr2<=edirr1; END IF; END PROCESS label2; label1: PROCESS (sub) BEGIN IF sub'event AND sub='1' THEN IF set1='1' THEN count1<=setstate1; elsif count1(3
26、downto 0)="0000" then count1<=count1-7; ELSE count1<=count1-1; END IF; eg1<=etg1; er1<=etr1; ey1<=ety1; END IF; END PROCESS label1; END a; 3.5 仿真與調(diào)試 系統(tǒng)總體仿真圖如圖(3)所示: 圖(3)系統(tǒng)總體仿真圖 復位電路仿真圖: 圖(4)復位仿真圖 系統(tǒng)硬件管腳分配圖如下: 圖(5)管腳分配圖 第四章 心得體會 參考文獻 【1】孫加存《 電子設(shè)計自動化 》西安電子科技大學出版社 2008 【2】譚會生等主編,《EDA技術(shù)及應(yīng)用》,西安電子科技大學出版社,2001 【2】江國強《 EDA技術(shù)與應(yīng)用 》北京電子工業(yè)出版社 2003 【3】焦素敏 《 EDA應(yīng)用技術(shù) 》北京清華大學出版社 2005 15
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹問題講課
- 小小圖書館賈世喜
- 小班數(shù)學:變得一樣多
- 蘇教版三年級數(shù)學上冊教學ppt課件58:解決問題的策略復習
- 小學科學六下《拓展與應(yīng)用》-公開課一等獎ppt課件
- 高中英語人教版選修七Unit-2-Robots-ppt課件
- 第九章長期負債課件
- 皮膚免疫系統(tǒng)課件
- 辦公樓施工現(xiàn)場消防安全管理要求規(guī)范課件
- freeroi在功能磁共振roi分析中的應(yīng)用
- 《永遇樂&#183;京口北固亭懷古》用典講解課件
- 《秋天的雨》微課課件
- 護患溝通技巧-課件
- 《高等數(shù)學B》第十章___微分方程與差分方程__第6節(jié)__差分與差分方程的概念_、……課件
- 英語(人教版)九年級總復習題型訓練補全對話(含最新原創(chuàng)題)課件