前言 從最早的手牽皮帶到20世紀(jì)50年代的電氣控制,從采用計(jì)算機(jī)控制到現(xiàn)代化的電子定時監(jiān)控,交通信號燈在科學(xué)化、自動化上不斷地更新、發(fā)展和完善。 交通指揮燈是非裔美國人加萊特?摩根在1923年發(fā)明的。此前,鐵路交通已經(jīng)使用自動轉(zhuǎn)換的燈光信號有一段時間了。但是由于火車是按固定的時刻表以單列方式運(yùn)行的,而且火車要停下來不是很容易,因此鐵路上使用的信號只有一種命令:通行。公路交通的紅綠燈則不一樣,它的職責(zé)在很大程度上是要告訴汽車司機(jī)把車輛停下來。新式的紅綠燈能將闖紅燈的人拍照下來。犯事的司機(jī)不久就會收到罰款單。有的紅綠燈還具備監(jiān)測車輛行駛速度的功能。 目前城市交通控制研究的新發(fā)展主要體現(xiàn)在城市交通網(wǎng)絡(luò)的各個方面:
區(qū)域交通信號燈和城市快速公路匝道口的新的控制方法上;實(shí)現(xiàn)區(qū)域和快速公路的集成控制;采用動態(tài)路由導(dǎo)航與交通網(wǎng)絡(luò)控制結(jié)合:以實(shí)現(xiàn)先進(jìn)車輛控制系統(tǒng)AvcS為主的智能交通系統(tǒng)(ITS);以實(shí)現(xiàn)先進(jìn)交通管理系統(tǒng)ATMS和先進(jìn)駕駛員信息系統(tǒng)ATIS為主的城市多智能體交通控制系統(tǒng);以及一些輔助的交通策略如道路自動計(jì)費(fèi)、公共交通優(yōu)先等。
可以說,在近百年的發(fā)展中,道路交通信號控制系統(tǒng)經(jīng)歷了無感應(yīng)控制到有感應(yīng)控制、手動控制到自動控制再到智能控制、單點(diǎn)控制(點(diǎn)控)到干線控制(線控)再到區(qū)域控制和網(wǎng)絡(luò)控制(面控)的過程。 目錄 前言 1 一、實(shí)驗(yàn)?zāi)康?/strong> 3 二、題目:交通燈控制器 3 2.1 系統(tǒng)功能設(shè)計(jì)要求 3 2.2 數(shù)碼管顯示 3 2.3 計(jì)數(shù) 3 三、設(shè)計(jì)原理 3 3.1 交通燈控制器的狀態(tài)轉(zhuǎn)換 4 3.2電路符號 4 3.3 顯示模塊 4 四、使用軟件Quartus 4 4.1 Quartus簡介 5 五、設(shè)計(jì)方法 5 5.1 準(zhǔn)備工作 5 5.2 設(shè)計(jì)輸入 6 5.3 編譯、綜合 9 六、仿真準(zhǔn)備 10 6.1 進(jìn)行仿真 10 6.2設(shè)置節(jié)點(diǎn) 10 6.3 設(shè)置End Time 10 七、仿真波形 11 7.1 功能仿真 11 八、實(shí)驗(yàn)總結(jié)和心得 12
EDA設(shè)計(jì)專周 熟悉Quartus||的使用方法和步驟,熟悉FPGA硬件的調(diào)試方法。 實(shí)現(xiàn)十字路口的雙向交通燈控制 2.1 系統(tǒng)功能設(shè)計(jì)要求 東西南北各設(shè)有一個紅、黃、綠指示燈;一個2位7段數(shù)碼管 東西方向:綠燈37秒-黃燈3秒-紅燈20秒。 南北方向:綠燈17秒-黃燈3秒-紅燈40秒。 當(dāng)前信號燈狀態(tài)顯示 當(dāng)前信號燈剩余時間計(jì)數(shù)和動態(tài)顯示 2.2 數(shù)碼管顯示 用兩組數(shù)碼管,以倒計(jì)時方式顯示兩個方向允許通行或禁止通行的剩余時間。 2.3 計(jì)數(shù) 能實(shí)現(xiàn)正常的倒計(jì)時顯示功能。能實(shí)現(xiàn)總體清理功能,計(jì)數(shù)器有初始狀態(tài) 開始計(jì)數(shù),對應(yīng)狀態(tài)的指示燈亮。 三、設(shè)計(jì)原理 3.1 交通燈控制器的狀態(tài)轉(zhuǎn)換 根據(jù)論文題目要求,將紅綠燈的狀態(tài)轉(zhuǎn)換列成如
3.2 電路符號 Clk為系統(tǒng)時鐘信號輸入端。r1 為東西方向紅燈信號輸出端,y1為東西方向黃燈信號輸出端,g1為東西方向綠燈信號輸出端。r2為南北方向紅燈信號輸出端,y2為南北方向黃燈信號輸出端,g2為南北方向綠燈信號輸出端。Digit1為十位數(shù)七段碼,digit2為個位數(shù)七段碼。 3.3 顯示模塊 顯示模塊由兩部分組成,一是由七段數(shù)碼管組成的倒計(jì)時顯示器,每個方向兩個七段數(shù)碼管;二是由發(fā)光二極管代替的交通燈,每個方向3個發(fā)光二極管。 四、使用軟件:Quartus 4.1 Quartus簡介 Quartus II 是Altera公司的綜合性PLD/FPGA開發(fā)軟件,原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完Quartus II可以在Windows、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個階段使用熟悉的第三方EDA工具。此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺。 Maxplus II 作為Altera的上一代PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計(jì)輔助工具,集成了SOPC和HardCopy設(shè)計(jì)流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。 Altera Quartus II 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。 5.1 準(zhǔn)備工作:創(chuàng)建Quartus II項(xiàng)目 菜單“File/New Project Wizard”, 逐步設(shè)置:工作目錄、項(xiàng)目名和實(shí)體名;是否添加設(shè)計(jì)文件;選擇器件;是否使用第三方eda工具 注意:項(xiàng)目名、實(shí)體名、文件名要相同! 5.2 設(shè)計(jì)輸入:采用HDL輸入方式 新建文件(菜單File/New...)選擇VHDL文件類型(VHDL File),擴(kuò)展名*.vhd 輸入VHDL設(shè)計(jì)的代碼 采用文本編輯法,即采用VHDL語言描述交通控制器,代碼如下:
5.3 編譯、綜合 在Processing菜單選擇Start Compilation 項(xiàng)(或者紫色的編譯按鈕),則自動進(jìn)行編譯,并且軟件左側(cè)出現(xiàn)Status狀態(tài)窗口,給出編譯步驟和執(zhí)行進(jìn)度。 若設(shè)計(jì)無錯誤,則給出編譯報告和其他處理步驟的報告。 若有錯誤,則根據(jù)錯誤提示修改設(shè)計(jì)文件,重新編譯。 6.1 進(jìn)行仿真:功能仿真 新建“激勵信號”的波形文件: (菜單File/New...)選擇波形文件類型(Wector Waveform File),擴(kuò)展名*.vwf,打開波形編輯窗口 6.2 設(shè)置節(jié)點(diǎn) 選擇要仿真的節(jié)點(diǎn):在“Name”列空白處,右鍵菜單,如上圖所示。選擇菜單“Insert Node or Bus...”,在對話框選擇“Nodes Finder”按鈕 根據(jù)過濾條件,列出節(jié)點(diǎn)名稱:List選擇節(jié)點(diǎn)OK 根據(jù)需要編輯輸入端口“激勵信號”的波形 注意:保存波形文件,默認(rèn)文件名即可。
6.3 設(shè)置End Time
七、仿真波形 7.1功能仿真 在 Processing 菜單內(nèi)選擇Simulator Tool 項(xiàng),可以實(shí)現(xiàn)更多的仿真功能(功能仿真、時序仿真;指定仿真時間長度,其他可選項(xiàng)等)。 如果仿真沒有錯誤,則完成后自動打開仿真結(jié)果的波形窗口(仿真報告窗口)。
八、實(shí)驗(yàn)總結(jié)和心得 短短一個星期的EDA課程設(shè)計(jì)很快就結(jié)束了,這次設(shè)計(jì)使我對EDA的認(rèn)識提高了一個層次,現(xiàn)在我能夠熟練的使用Quartus2,能夠用VHDL語言編寫簡單的、實(shí)用的小程序。這次EDA課程設(shè)計(jì)重點(diǎn)學(xué)習(xí)了交通燈程序的編寫、調(diào)試。在整個課程設(shè)計(jì)的過程中,我查閱了大量關(guān)于交通燈設(shè)計(jì)的資料。 在設(shè)計(jì)的過程還應(yīng)該多聯(lián)系下實(shí)際情況,要了解實(shí)際情況下交通信號燈的工作情況,才能更好的完成此次的課程設(shè)計(jì)。在今后的工作學(xué)習(xí)中,我們不能僅僅把目光停留在課本上,而要更多的把理論聯(lián)系到實(shí)際。
- library ieee;
- use ieee.std_logic_1164.all;
- use ieee.std_logic_unsigned.all;
- entity traffic is
- port(clk:in std_logic;
- r1,r2,y1,y2,g1,g2:out std_logic;
- cou:out integer range 0 to 37;
- digit1,digit2:out std_logic_vector(6 downto 0));
- end traffic;
- architecture behavior of traffic is
- constant timemax:integer:=37;
- signal coun:integer range 0 to timemax;
- constant timeRG:integer:=17;
- constant timeRY:integer:=3;
- constant timeGR:integer:=37;
- constant timeYR:integer:=3;
- type state is (RG,RY,GR,YR);
- signal pr_state,nx_state :state;
- signal time:integer range 0 to timemax;
- signal temp1:integer range 0 to 10;
- signal temp2:integer range 0 to 10;
- begin
- process(clk)
- variable count:integer range 0 to timemax;
- begin
- if(clk'event and clk='1')then
- count:=count+1;
- if (count=time)then
- pr_state<=nx_state;
- count:=0;
- end if;
- end if;
- coun<=count;
- cou<=coun;
- end process;
- process(pr_state)
- begin
- case pr_state is
- when RG=>
- r1<='1';r2<='0';y1<='0';y2<='0';g1<='0';g2<='1';
- nx_state<=RY;
- time <=timeRG;
- when RY=>
- r1<='1';r2<='0';y1<='0';y2<='1';g1<='0';g2<='0';
- nx_state<=GR;
- time <=timeRY;
- when GR=>
- r1<='0';r2<='1';y1<='0';y2<='0';g1<='1';g2<='0';
- nx_state<=YR;
- time <=timeGR;
- when YR=>
- r1<='0';r2<='1';y1<='1';y2<='0';g1<='0';g2<='0';
- nx_state<=RG;
- time <=timeYR;
- end case;
- end process;
- process(coun)
- begin
- temp1<=coun/10;
- temp2<=coun mod 10;
- case temp1 is
- when 0=>digit1<="1111110";
- when 1=>digit1<="0110000";
- when 2=>digit1<="1101101";
- when 3=>digit1<="1111001";
- when 4=>digit1<="0110011";
- when 5=>digit1<="1011011";
- when 6=>digit1<="1011111";
- when 7=>digit1<="1110000";
- when 8=>digit1<="1111111";
- when 9=>digit1<="1111011";
- when others=>null;
- end case;
- case temp2 is
- when 0=>digit2<="1111110";
- when 1=>digit2<="0110000";
- when 2=>digit2<="1101101";
- when 3=>digit2<="1111001";
- when 4=>digit2<="0110011";
- when 5=>digit2<="1011011";
- when 6=>digit2<="1011111";
- when 7=>digit2<="1110000";
- when 8=>digit2<="1111111";
- when 9=>digit2<="1111011";
- when others=>null;
- end case;
- end process;
- end behavior;
復(fù)制代碼
完整的Word格式文檔51黑下載地址:
新建 Microsoft Office Word 2007 文檔.docx
(390.63 KB, 下載次數(shù): 85)
2018-4-22 21:00 上傳
點(diǎn)擊文件名下載附件
EDA設(shè)計(jì)-交通燈控制 下載積分: 黑幣 -5
|