

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)論文(設計)</p><p> 論文(設計)題目:基于VHDL技術的交通節(jié)點控制系統(tǒng)優(yōu)化設計</p><p> 學 院: </p><p> 專 業(yè): 電子信息工程 </p><p> 班 級: </p><p&
2、gt; 學 號: </p><p> 學生姓名: </p><p> 指導教師: </p><p><b> 2013年6月7日</b></p><p><b> 目錄</b></p>
3、;<p><b> 摘要III</b></p><p> AbstractIV</p><p><b> 引言1</b></p><p><b> 第1章 概述2</b></p><p> 1.1交通燈的背景2</p><p
4、> 1.2交通控制系統(tǒng)目前國內外發(fā)展現狀3</p><p> 1.3 EDA技術概述5</p><p> 1.3.1 EDA技術簡介及發(fā)展5</p><p> 1.3.2 EDA設計方法5</p><p> 1.3.3 EDA系統(tǒng)設計的主要特點5</p><p> 1.3.4 傳統(tǒng)電子設計與
5、EDA設計方法比較5</p><p> 1.4 VHDL語言綜述6</p><p> 1.4.1 VHDL語言簡介6</p><p> 1.4.2 VHDL語言的特點6</p><p> 1.4.3 VHDL的設計流程7</p><p> 1.5 QuatusII軟件簡介7</p>
6、<p> 第2章 設計方案的優(yōu)化選擇9</p><p> 2.1 方案1、基于單片機的交通節(jié)點控制系統(tǒng)的設計。9</p><p> 2.2 方案2、基于小規(guī)模集成電路的設計。10</p><p> 2.3 方案3、基于VHDL的設計。10</p><p> 第3章 交通燈控制系統(tǒng)的具體設計12</p>
7、<p> 3.1總體設計及思路分析12</p><p> 3.2 紅、綠、黃燈及左轉藍色指示燈的工作規(guī)律13</p><p> 3.3 分模塊設計17</p><p> 3.3.1 定時單元模塊17</p><p> 3.3.2顯示控制電路模塊設計29</p><p> 3.3.3
8、譯碼顯示電路模塊設計32</p><p> 第4章 設計總結37</p><p><b> 參考文獻39</b></p><p><b> 致謝40</b></p><p><b> 附錄41</b></p><p> 基于VHDL技
9、術的交通節(jié)點控制系統(tǒng)優(yōu)化設計</p><p><b> 摘要</b></p><p> 決定一個城市的發(fā)展與進步的因數有很多,但交通道路系統(tǒng)無疑是這眾多因素中重要的一環(huán)。城市發(fā)展了,人民生活水平不斷提高,城市里的車也越來越多,這使得城市的道路交通成為一個非常棘手的問題,嚴重的交通擁堵現象,給廣大市民的上班等出行帶來了許多不便。為了緩解城市的交通擁堵問題,特別是交通
10、交叉路口擁堵問題,那么研究一個更加智能、先進的交通燈控制系統(tǒng)就顯得非常有必要。 </p><p> 縱觀以前的交通控制系統(tǒng)多數由PLC或單片機實現,本設計介紹的是基于VHDL技術的交通燈控制系統(tǒng)的優(yōu)化設計。通過對系統(tǒng)進行詳細結構分析,采用層次化的設計方法,給出模塊的VHDL程序,再利用Quatusц軟件對程序進行仿真分析。在用系統(tǒng)硬件描述語言進行電路設計時,還應充分認識到VHDL語言的特點,從設計思路、語句運用
11、及描述方法等多方面進行優(yōu)化設計。</p><p> 關鍵詞:交通控制系統(tǒng);VHDL語言;Quatusц軟件;仿真</p><p><b> Abstract</b></p><p> Determine a city's development and progress of factor are many, but the tr
12、affic system is one important part of the many factors. Urban development, people's living standards continue to improve, the car in the city more and more, which makes the city of road traffic become a very thorny p
13、roblem, severe traffic congestion phenomenon, to the general public to work such as travel brings a lot of inconvenience. In order to relieve urban traffic congestion problem, especially the intersection traffi</p>
14、<p> Throughout most previous traffic control system by PLC and singlechip microcomputer, the design is optimized design of traffic light control system based on VHDL. Through analyzing system structure in d
15、etail, using the design method of hierarchical module is given VHDL program, reusing Quatus ц software for simulation analysis program. When using hardware description language for circuit design, should also fully reali
16、ze VHDL language characteristics, from the design thought, statements, us</p><p> key words: the traffic control system; VHDL language; Quatus ц software; The simulation</p><p><b> 引言<
17、;/b></p><p> 自改革開放以來,我國的經濟及各方面都取得了前所未有的進步與發(fā)展。人民生活水平不斷提高,城鎮(zhèn)化進程進一步加快,現在我國已經到達“城市人口的臨界點”,大約有6.75億人生活在城市,占到了我國總人口的一半以上。到2030年,這一數字有望增加到10億人。城市人口的增加,必然會給城市的交通帶來很大的負擔,這將是大多數城市將面臨的一大問題。城市交通是一個城市活動的非常重要的組成部分,就像遍
18、布我們人體全身的動脈一樣,維系著整個城市系統(tǒng)的正常運轉。發(fā)展決定了人們的需求不斷變化,隨著人類社會的進步,人口不斷增多,科技的日趨進步和城市規(guī)模不斷擴大,人們出行的交通方式也不斷變化。交通方式也由原來簡單的馬車木船小舟,逐漸演變成為現在的火車、汽車、地鐵、飛機、大型艦船等各種綜合型的運輸方式。交通作為現代城市的重要體現和標志,始終見證著每一個城市的發(fā)展與興衰。每一個城市經濟的發(fā)展,城市化進程的加快,人口的增多,必然會使城市的交通高速發(fā)展
19、的同時也對交通設施的建設(特別是交通控制系統(tǒng))提出更高的要求。</p><p> 以前普通的交通控制器主要根據事先給定的時間進行通道的通禁控制,已達到自動控制的目的。顯然如今車流量的不斷增多,以前的交通控制系統(tǒng)已經不能滿足現有交通控制系統(tǒng)的要求。為了緩解城市交通擁堵的狀況,交通燈在其中扮演著舉足輕重的角色。</p><p> 設計一個交通燈控制系統(tǒng)的方法有很多種,我們可以采用標準邏輯器
20、件、單片機實現、可編程控制器PLC等方案實現。然而前面的3種方案都需要硬件電路來支持其功能的修改和調試,這樣就在一定程度上增加了設計的困難,交通控制系統(tǒng)未來的發(fā)展趨勢更加偏向提高通行能力、加強環(huán)境保護、開展智能化控制等專項技術,在這過程中更加注重以人為本,重點開展交通安全技術的研究,同時兼顧經濟合理原則的目標,促進新材料的廣泛應用和開發(fā)。面對如上問題,隨著電子技術的發(fā)展,電子設計自動化(EDA)的關鍵技術之一就是用形式化方法來描述數字系
21、統(tǒng)的硬件電路,即用所謂硬件描述語言來描述硬件電路。 </p><p><b> 第1章 概述</b></p><p><b> 1.1交通燈的背景</b></p><p> 交通燈控制系統(tǒng)中的紅綠燈(交通信號燈)是以規(guī)定時間交互更迭的光色訊號,設置于交岔路口或其它特殊地點,用以將道路通行權指定給車輛駕駛人與行人,管
22、制其行止及轉向的交通管制設施。以紅、黃、綠三色燈號或輔以音響,指示車輛及行人停止、注意與行進。紅綠燈的由來:19世紀初,在英國中部的約克城。紅、綠裝分別代表女性的不同身份。其中,穿著紅裝的女人表示我已結婚,而穿著綠裝的女人則表示是未婚者。后來,英國倫敦議會大廈前經常發(fā)生馬車軋人的事故,于是人們受到紅綠裝啟發(fā),1868年12月10日,信號燈家族的第一個成員就在倫敦議會大廈的廣場上誕生了。由當時英國機械師德·哈特設計、制造的燈柱高
23、7m,身上掛著一盞紅、綠兩色的提燈——煤氣交通信號燈,這是城市街道的第一盞信號燈。在燈的腳下,一名手持長桿的警察隨心所欲地牽動皮帶轉換提燈的顏色。后來在信號燈的中心裝上煤氣燈罩,它的前面有兩塊紅、綠玻璃交替遮擋。不幸的是只面世23天的煤氣燈突然爆炸自滅,使一位正在值勤的警察也因此斷送了性命。從此,這個城市的剛剛誕生不久的交通信號燈馬上被取締了。直到1914年,在美國的克利夫蘭市才率先恢復了紅、綠燈,不過,這時已是“電氣信號燈</p
24、><p> 黃色信號燈的燈的發(fā)明者是我國的胡汝鼎,他懷著“科學救國”的抱負到美國深造,在大發(fā)明家愛迪生為董事長的美國通用電器公司任職員。一天,他站在繁華的十字路口等待綠燈信號,當他看到紅燈而正要過去時,一輛轉彎的汽車呼地一聲擦身而過,嚇了他一身冷汗?;氐剿奚?他反復琢磨,終于想到在紅、綠燈中間再加上一個黃色信號燈,使紅燈和綠燈切換有個緩沖,以提醒人們注意危險。他的建議立即得到有關方面的肯定。</p>
25、<p> 1918年,電氣啟動的紅綠燈出現在美國。這種紅綠燈由紅綠黃三色圓形的投光器組成,安裝在紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”,黃燈表示“警告”。至此世界上第一盞名副其實的紅、黃、綠三色燈誕生了。信號燈的出現,使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的
26、車輛可以直行,左轉彎和右轉彎,除非另一種標志禁止某一種轉向。左右轉彎車輛都必須讓合法地正在路口內行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。此后,這一規(guī)定在全世界開始通用。于是紅、黃、綠三色信號燈即以一個完整的指揮信號家族,世遍及全界陸、海、空交通領域了。</p>&l
27、t;p> 從最早的手牽皮帶到20世紀50年代的電氣自動化控制,從采用計算機控制到現代化的電子定時監(jiān)控,交通信號燈在科學化、自動化上不斷地更新、發(fā)展和完善。</p><p> 1.2交通控制系統(tǒng)目前國內外發(fā)展現狀</p><p> 國外城市交通信號控制系統(tǒng)的現狀匯英國、澳大利亞、美國、法國、意大利和加拿大等西方發(fā)達國家對交通控制系統(tǒng)的研究投入大量的人力、物力,取得了一系列成果。比
28、較成功的有英國的TRANSYT系統(tǒng)、SC00T系統(tǒng)、美國ACTRA交通信號控制系統(tǒng)和澳大利亞的SCATS系統(tǒng)。</p><p> SCOOTS系統(tǒng)是一種實時自適應控制系統(tǒng),即綠信比一信號周期一相位差優(yōu)化技術,1975年研制成功,在英國測試時取得了較好的效果。SCOOTS系統(tǒng)已經經歷了幾十年的發(fā)展,不斷的改進,在全世界有100多個城市正在運行作。SCOOTS系統(tǒng)的主要特有:實用性強,主要采用連續(xù)微調的方式對配時參
29、數進行優(yōu)化;穩(wěn)定性強,各個傳感器將車輛檢測數據采集起來分析,再通過模型計算出配時方案參數,完成信號控制方案聯(lián)調執(zhí)行。</p><p> ACTRA交通信號控制系統(tǒng)是由美國西門子公司所研發(fā)的,也是一種自適應的信號控制系統(tǒng),自適應反映迅速,交通響應模式主要是系統(tǒng)按照交通流的變化或非典型交通的需求在系統(tǒng)范圍內進行優(yōu)化配時和方案的執(zhí)行。通過從分配的前端交通檢測器上獲得的數據對劃分區(qū)域范圍內的周期長、綠信比和相位差分別自
30、適應調整和控制,具有感應式線協(xié)調控制功能。</p><p> SCATS系統(tǒng)同樣是一種自適應交通控制系統(tǒng),采用三級協(xié)調分布式控制系統(tǒng):即控制中心為中央控制級、確定協(xié)調控制級(多個區(qū)域)和路口控制器級。SCATS系統(tǒng)的主要特點是檢測器安裝在道路停車線上,不需要建立具體的交通模型,所以我們可以看出其控制方案不是基于交通模型的;周期、綠信比和相位差等參數的優(yōu)化需要在預先確定的多個方案中根據實測的飽和度值進行選擇;系統(tǒng)
31、可根據交通需求變換相位的輪換次序或跳過下一個相位,能及時響應每個周期的交通需求。</p><p> 這三種系統(tǒng)都比較先進復雜,在控制原理和控制方式上有很多的相似性。但每個系統(tǒng)又有著自己的特點,在實際應用中,每個城市應該根據自身的實際情況選擇合適的信號控制系統(tǒng),這些系統(tǒng)在全世界范圍內都得到了很好的廣泛應用。</p><p> 我國城市交通信號控制系統(tǒng)方面的工作起步較晚,在20世紀70年代
32、后期北京開始采用DJS一130型計算機對干道協(xié)調控制問題進行了研究。80年代以來,城市道路交通問題越來越嚴重,國家一方面進行以改善城市市中心交通為核心的UTSM(Urbantraffi。systemmanage)技術研究;另一方面采取引進與開發(fā)相結合的方針,建立了一些城市道路交通信號控制系統(tǒng)。如北京引進了SC00T系統(tǒng),上海引進了SCAT系統(tǒng),深圳引進了日本的控制系統(tǒng)。我國近幾年經過深入研究國外的交通信號控制系統(tǒng),也開發(fā)出一些適用的交通
33、信號控制系統(tǒng),主要有上海交通大學的SUATA系統(tǒng)和南京、深圳等地研制的系統(tǒng)。而如合肥、湘潭、岳陽等國內中小城市,交通控制系統(tǒng)主要還是使用國產的簡易單點信號機和集中協(xié)調式信號機的控制系統(tǒng)。</p><p> 這些交通信號控制系統(tǒng)雖然取得了滿意的效果,但是中國的國情決定了需要對這些系統(tǒng)進行改進,主要體現在:</p><p> (1)需要合理解決混合交通流問題</p><
34、p><b> (2)國產化率低</b></p><p> (3)穩(wěn)定性和可靠性</p><p> (4)沒有統(tǒng)一標準的通訊協(xié)議</p><p> 國外先進系統(tǒng)往往比較復雜、昂貴,很難適合我國其他一些城市的使用,同時國內的一些企業(yè)也著手研發(fā)自己的信號控制系統(tǒng)。</p><p> 最新一代智能化交通信號控制系
35、統(tǒng)是將人工智能和知識工程等先進的前沿科技應用于交通信號控制系統(tǒng),已取得了一系列重要研究成果。智能控制主要是指基于專家系統(tǒng)的控制、模糊控制、神經網絡控制、基于遺傳算法的控制等。智能控制方法的最大特點是其控制算法具有較強的逼近非線性函數的能力,不依賴于精確的數學模型,這對于交通系統(tǒng)這樣復雜難以建立較好數學模型的系統(tǒng)是一個有效方法。美國和荷蘭等國目前正在研究基于智能Agent的UTC,主要原理是在城市交通網絡中的一系列重要節(jié)點部署智能Agen
36、t,用于對所屬的網絡區(qū)域實現信號燈控制,它不但具有交通管理專家的經驗知識,還具有不斷學習的能力,具有本區(qū)域的交通流信息。這些智能Agent之間通過通信層(規(guī)范、內容、協(xié)議)進行信息(路由信息、交通流信息、控制信息)交流,解決單智能Agent信息不完整性,并通過協(xié)調層進行目標協(xié)同,解決交通網絡中的資源、目標和結果沖突,最終實現交通控制的優(yōu)化。</p><p> 1.3 EDA技術概述</p><
37、;p> 1.3.1 EDA技術簡介及發(fā)展</p><p> EDA是電子設計自動化(Electronic Design Automation)的縮寫,在20世紀60年代中期從計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。</p><p> 在電子技術設計領域,可編程邏輯器件(如CPLD、FPGA)的應用,
38、已得到廣泛的普及,這些器件為數字系統(tǒng)的設計帶來了極大的靈活性。</p><p> EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言VHDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術的出現,極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。</p>&l
39、t;p> 1.3.2 EDA設計方法</p><p> (1) 前端設計(系統(tǒng)建模RTL 級描述)后端設計(FPGAASIC)系統(tǒng)建模。</p><p><b> (2)IP復用。</b></p><p><b> (3) 前端設計。</b></p><p> (4) 系統(tǒng)描述:建立
40、系統(tǒng)的數學模型。</p><p> (5) 功能描述:描述系統(tǒng)的行為或各子模塊之間的數據流圖。</p><p> (6)邏輯設計:將系統(tǒng)功能結構化,通常以文本、原理圖、邏輯圖、布爾表達式來表示設計結果。</p><p> (7) 仿真:包括功能仿真和時序仿真,主要驗證系統(tǒng)功能的正確性及時序特性。</p><p> 1.3.3 EDA系
41、統(tǒng)設計的主要特點</p><p> 用軟件的方式設計硬件; </p><p> 用軟件方式設計的系統(tǒng)到硬件系統(tǒng)的轉換是由有關的開發(fā)軟件自動完成的; </p><p> 采用自頂向下(top-down)的設計方法; </p><p> 設計過程中可用有關軟件進行各種仿真; </p><p> 系統(tǒng)可現場編程
42、,在線升級; </p><p> 整個系統(tǒng)可集成在一個芯片上,體積小、功耗低、可靠性高。</p><p> 1.3.4 傳統(tǒng)電子設計與EDA設計方法比較</p><p> EDA與傳統(tǒng)的電子設計方法相比,EDA技術對于復雜電路的設計和調試都比較簡單,如果某一過程存在錯誤,查找和修改起來比較方便,而且EDA技術的可移植性很強。傳統(tǒng)機電設備的電器控制系統(tǒng),如果利用
43、EDA技術進行重新設計或進行技術改造,不但設計周期短、設計成本低,而且將提高產品或設備的性能,縮小產品體積,提高產品的技術含量,提高產品的附加值。</p><p> 1.4 VHDL語言綜述</p><p> 1.4.1 VHDL語言簡介</p><p> VHDL(VHSIC Hardware Description Langu
44、age)是美國國防部在80年代后期推出的面向多層次的硬件描述語言,它是70年代末、80年代初VHSIC(Very High Speed Integrated Circuit)計劃的產物。VHDL支持硬件的設計、綜合、驗證和測試,言于1987年被定為IEEE1076標準,1993年升級為IEEE1164標準。目前幾乎所有的EDA工具都不同程度上支持VHDL語言VHDL主要用于描述數字系統(tǒng)的結構,行為
45、,功能和接口。</p><p> 1.4.2 VHDL語言的特點</p><p> ?。?) VHDL 語言功能強大,設計方式多樣。VHDL 語言具有強大的語言結構,只需采用簡單明確的VHDL語言程序就可以描述十分復雜的硬件電路。同時,它還具有多層次的電路設計描述功能。此外,VHDL 語言能夠同時支持同步電路、異步電路和隨機電路的設計實現,這是其他硬件描述語言所不能比擬的。VHDL 語言
46、設計方法靈活多樣,既支持自頂向下的設計方式,也支持自底向上的設計方法; 既支持模塊化設計方法,也支持層次化設計方法。</p><p> ?。?) VHDL 語言具有強大的硬件描述能力。VHDL 語言具有多層次的電路設計描述功能,既可描述系統(tǒng)級電路,也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結構描述,也可以采用三者的混合描述方式。同時,VHDL 語言也支持慣性延遲和傳輸延遲,這樣可以準確地建
47、立硬件電路的模型。</p><p> (3) VHDL 語言具有很強的移植能力。VHDL 語言很強的移植能力主要體現在: 對于同一個硬件電路的 VHDL 語言描述,它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。</p><p> ?。?) VHDL 語言的設計描述與器件無關。采用 VHDL 語言描述硬件電路時,設計
48、人員并不需要首先考慮選擇進行設計的器件。這樣做的好處是可以使設計人員集中精力進行電路設計的優(yōu)化,而不需要考慮其他的問題。當硬件電路的設計描述完成以后,VHDL 語言允許采用多種不同的器件結構來實現。</p><p> (5) VHDL 語言程序易于共享和復用。VHDL 語言采用基于庫 ( library) 的設計方法。在設計過程中,設計人員可以建立各種可再次利用的模塊,一個大規(guī)模的硬件電路的設計不可能從門級電路
49、開始一步步地進行設計,而是一些模塊的累加。這些模塊可以預先設計或者使用以前設計中的存檔模塊,將這些模塊存放在庫中,就可以在以后的設計中進行復用。</p><p> 1.4.3 VHDL的設計流程</p><p><b> VHDL代碼編寫。</b></p><p><b> 編譯源文件。</b></p>
50、<p> 功能仿真(前仿真)。</p><p> 邏輯綜合、優(yōu)化和布局布線。</p><p> 時序仿真(后仿真)。</p><p><b> 編程下載。</b></p><p> 由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標準硬件描述語言,因此它可以使設計成果在設計人員之間方便地進行
51、交流和共享,從而減小硬件電路設計的工作量,縮短開發(fā)周期。</p><p> 1.5 QuatusII軟件簡介</p><p> QuartusII是著名FPGA廠商Altera公司提供的FPGA/CPLD開發(fā)集成環(huán)境,屬于平臺化設計工具。用戶可以在QuartusII中實現整個數字集成電路的FPGA設計流程。QuartusII在21世紀初推出,是Altera前一代FPGA/CPLD集成開
52、發(fā)環(huán)境MAX+plus II的更新?lián)Q代產品,其界面友好,使用便捷。在QuartusII上可以完成設計輸入、HDL綜合、布線布局(適配)、仿真和下載和硬件測試等流程,它提供了一種與結構無關的設計環(huán)境,使設計者能方便地進行設計輸入、快速處理和器件編程。</p><p> QuartusII 提供了完整的多平臺設計環(huán)境,能滿足各種特定設計的需要,也是單芯片可編程系統(tǒng)(SOPC)設計的綜合性環(huán)境和SOPC開發(fā)的基本設計
53、工具,并為AlteraDSP開發(fā)包進行系統(tǒng)模型設計提供了集成綜合環(huán)境。QuartusII設計工具內部嵌有VHDL、Verilog邏輯綜合器。QuartusII也可以利用第三方的綜合工具,如Leonardo Spectrum、SynplifyPro、FPGA Complier II,并能直接調用這些工具。同樣,QuartusII具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,QuartusII與MATLAB和DSP B
54、uilder結合,可以進行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現的關鍵EDA工具。</p><p> 第2章 設計方案的優(yōu)化選擇</p><p> 交通節(jié)點控制系統(tǒng)的設計是數字電路設計中的經典案例,其設計方案有基于單片機的設計、基于小規(guī)模集成電路的設計、基于VHDL的設計等。下面我主要對這3種設計方案進行分析及論證,最后優(yōu)化選擇實現設計。</p><p&
55、gt; 2.1 方案1、基于單片機的交通節(jié)點控制系統(tǒng)的設計。</p><p> 圖1.基于單片機的系統(tǒng)框圖</p><p> 由上圖可以看出基于單片機的交通節(jié)點控制系統(tǒng)的設計中,其設計主要以AT89C52單片機為核心器件,設計中考慮到各模塊的穩(wěn)定工作,就采用單片機控制模塊提供電源,這主要可以節(jié)約成本,但輸出功率不高。關于復位電路的部分,為了使程序更加簡潔,避免冗長,就采用按鍵復位,另
56、外還需在芯片的復位端口外接一個復位電路,通過按鍵對單片機輸入一個高電平的脈沖,以便達到復位目的。關于輸入信號部分,直接在I/O口接上按鍵開關,達到精簡和優(yōu)化電路的目的,本控制系統(tǒng)對于交通燈及數碼管的控制只用單片機本身的I/O口就能夠實現,顯示電路部分采用共陽數碼管顯示。</p><p> 本方案分析:該設計主要以AT89C52單片機為核心器件,電路部分較為簡單,擴展性也較為良好,調試難度一般,但是該方案不滿足本
57、次畢業(yè)設計基于VHDL語言的要求,故不能采用。</p><p> 2.2 方案2、基于小規(guī)模集成電路的設計。</p><p> 圖2.基于小規(guī)模集成電路設計的系統(tǒng)框圖</p><p> 由上系統(tǒng)框圖可以看出,基于小規(guī)模集成電路的交通控制系統(tǒng)設計,其主要由時鐘產生電路、主控制電路、計時控制電路、交通信號顯示電路四部分組成。時鐘產生電路是系統(tǒng)中定時器和控制器的標準
58、時鐘信號源。譯碼器輸出兩組信號燈的控制信號,經驅動電路驅動信號燈工作。時鐘脈沖產生電路利用晶振,它可以發(fā)出連續(xù)脈沖從而控制兩片74LS161組成的計時電路的CLK端。主控制器是系統(tǒng)的最主要部分,由它控制其他電路之間的協(xié)調工作。</p><p> 本方案分析:本套方案采用的是以集成硬件電路進行搭建連接,各個小模塊之間的接口不一定有保證,其連接過程中采用大量芯片來搭建各個模塊,這樣就使得電路系統(tǒng)體積相對較大,相對來
59、說就增加了系統(tǒng)的調試難度,以基本不能滿足現代電路的設計要求。故該方案舍棄。</p><p> 2.3 方案3、基于VHDL的設計。</p><p> 圖3.基于VHDL的設計框圖</p><p> 上圖3為基于VHDL交通節(jié)點控制系統(tǒng)設計框圖,該方案主要以CPLD器件為核心,并用VHDL編程實現各模塊單元以及控制電路的功能,用QuartusII軟件仿真調試,最
60、后顯示電路采用7段共陰極數碼管。</p><p> 本方案分析:該方案主要CPLD器件為核心,以VHDL硬件描述語言為基礎,編程具有很大的靈活性,在設計過程中采用自頂向下,分小模塊進行設計,調試和修改都比較容易,設計方法及技術更加先進,滿足畢業(yè)設計的要求,故我最終選擇本方案。</p><p> 第3章 交通燈控制系統(tǒng)的具體設計</p><p> 3.1總體設計
61、及思路分析</p><p> 總體設計的思路主要圍繞任務書提供要求進行擴展,現將任務書的主要設計要求展現如下: 1、用VHDL硬件描述語言設計一個交通節(jié)點(以十字路口為例)的交通燈控制系統(tǒng) ,該系統(tǒng)包括基本的紅、綠、黃燈的顯示、車的左轉以及基本的交通燈功能。另外,該系統(tǒng)應還具有時間顯示、倒計時設置以及顯示等基本功能。2、設東西方向和南北方向的車流量大致相同,因此紅、黃、綠燈的時常也相同,則定為紅燈58秒,黃燈3
62、秒,綠燈45秒;另設置左轉燈為藍色箭頭指示燈,時間為10秒。3、同時用7段數碼管顯示當前紅燈、黃燈、綠燈的時間狀態(tài)。4、選用Quatusц軟件設計及仿真分析。</p><p> 由上面任務書的主要設計要求,再結合上一章選擇的論證方案,基于VHDL的交通節(jié)點控制系統(tǒng)的設計,我的總體設計將采取自頂向下的思路,分小模塊進行設計、編程、仿真。由上章的圖3可以知道,本設計共可以分為6個基本的小模塊:標準信號電路模塊、定時
63、單元電路模塊、信號燈控制電路模塊、顯示控制電路模塊、信號燈顯示模塊、譯碼顯示電路模塊。其中每個模塊有不同的功能,標準信號電路模塊的作用為整個電路提供1Hz信號;信號燈控制電路模塊的作用控制8路燈的亮滅;定時單元電路模塊的作用為綠燈45s、左轉燈10s、黃燈3s、紅燈58s定時單元,分別控制8路燈的亮滅時間;信號燈顯示模塊的作用為LED紅、綠、黃燈及左轉藍色指示燈顯示;顯示控制電路模塊的作用為控制每一路燈的倒計時顯示時間,譯碼顯示電路模塊
64、的作用為將倒計時時間譯碼后通過7段數碼管顯示。然后得出基于VHDL的交通控制系統(tǒng)總體設計框圖見上頁(圖3.基于VHDL的設計框圖)。</p><p> 3.2 紅、綠、黃燈及左轉藍色指示燈的工作規(guī)律</p><p> 圖4.十字交叉路口簡圖</p><p> 由圖4.十字交叉路口簡圖可以看出,計劃在十字交叉路口的東西方向和南北方向分別安裝紅、綠、黃交通信號燈
65、及左轉藍色指示燈。一般交通規(guī)則情況下,當車行駛路線綠燈亮時,行進中的車右轉將不受其他限制,故本設計不考慮車右轉的情況。根據交通規(guī)則,為了避免交通事故,行駛路線上的車必須嚴格按照交通指示燈來執(zhí)行,尤其是交通節(jié)點交叉路口處車的左拐,只有在左拐燈亮的時候才可以左拐。</p><p> 現將各交通燈的亮滅工作規(guī)律設定為:南北方向車道的綠燈和東西方向車道的紅燈(紅燈亮58s)同時亮,然后南北方向車道的車可以通行,東西方向
66、車道禁止通行,經45s后,南北方向車道綠燈滅,同時南北方向的左拐藍色指示燈亮,南北方向車可以左轉東西方向通行,經10s后左轉指示燈熄滅,南北方向車道黃燈開始閃爍,閃爍3s后,南北方向車道紅燈亮(亮58s),與此同時東西方向紅燈熄滅,綠燈亮,南北方向車道車禁止通行,東西方向車道開始通車,經45s后,東西方向車道綠燈熄滅,同時東西方向車道的左拐指示燈亮,東西方向車左轉南北方向通行,經10s后東西方向左轉指示燈熄滅,禁止東西方向車左轉,緊接著
67、東西方向車道黃燈開始閃爍,閃爍3s后,東西方向紅燈亮(亮58s),再切換到南北方向車道,同時南北綠燈亮,重復上述過程。在開始時表示南北方向車道的綠色發(fā)光二極管亮45s,然后依次是表示左拐的藍色二極管亮10s和黃色二極管亮3s,同時此過程東西方向車道的紅色二極管亮58s;此后東西方向車道的綠色發(fā)光二極管亮45s,藍色發(fā)光二極管亮10s,黃色發(fā)光二極管亮3s,同時此過程南北方向車道紅色發(fā)光二極管亮58s。重復以上過程。在這循環(huán)</p&
68、gt;<p> 四組交通燈的亮滅設定,“1 ”代表亮,“0 ”代表滅(不亮)。 </p><p> 四組交通燈: 紅燈 黃燈 綠燈 左轉燈 </p><p> 南北方向: 0 0 1 0</p><p> 東西方向: 1 0
69、 0 0</p><p> 南北方向: 0 0 0 1</p><p> 東西方向: 1 0 0 0</p><p> 南北方向: 0 1 0 0</p><p>
70、 東西方向: 1 0 0 0</p><p> 南北方向: 1 0 0 0</p><p> 東西方向: 0 0 1 0</p><p> 南北方向: 1 0 0
71、 0</p><p> 東西方向: 0 0 0 1</p><p> 南北方向: 1 0 0 0</p><p> 東西方向: 0 1 0 0</p><p> 由上真值表可以看出,南
72、北方向和東西方向的燈可以分為上面六種狀態(tài),現在將其按照紅燈、黃燈、綠燈、左轉燈依次排列可以得出其狀態(tài)圖如下: </p><p><b> 圖5.狀態(tài)轉換圖</b></p><p> 由上面的圖5可以看出,其主要控制部分分別列出了四種顏色交通燈燈的亮滅狀態(tài),可以分為六種狀態(tài)A、B、C、D、E、F,其中每種狀態(tài)的持續(xù)時間即是對應控制每一路的四種不同交通燈亮的時間。如下
73、為交通燈控制模塊生成的器件,在此處設定CLK是輸入標準時鐘信號,ar(a代表南北方向車道,r為red開頭字母,ar為南北方向車道紅燈)ay(a代表南北方向車道,y為yellow開頭字母,ay為南北方向車道黃燈)、ag(a代表南北方向車道,g為green開頭字母,ag為南北方向車道綠燈)、al(left左轉燈)為輸出信號控制南北方向車道的四盞交通指示燈,br(b代表東西方向車道,r為red開頭字母,故br為東西方向車道紅燈)、by(yel
74、low黃燈)、bg(green綠燈)、bl(left左轉燈)為輸出信號控制東西方向車道的四盞交通指示燈,現在將部分程序展示如下:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p>&l
75、t;p> entity jtd is</p><p> port(clk:in std_logic;</p><p> ar,ay,ag,al,br,by,bg,bl:out std_logic); --開始定義各路交通信號燈</p><p> end entity jtd;</p><p> architecture a
76、of jtd is</p><p> type state_type is(A,B,C,D,E,F); --南北方向和東西方向的信號亮滅狀態(tài)分為六種狀態(tài)</p><p> signal state:state_type;</p><p><b> begin</b></p><p> cnt:process(cl
77、k)</p><p> variable s:integer range 0 to 58; --整形變量s范圍0到58</p><p> when A=>ar<='0';ay<='0';ag<='1';al<='0'; --A狀態(tài)各路燈的亮滅狀態(tài)</p><p&g
78、t; br<='1';by<='0';bg<='0';bl<='0';</p><p> if s=45 then --南北車道路綠燈亮狀態(tài)持續(xù)45s</p><p> state<=B;clr:='0';en:='0';<
79、/p><p><b> else</b></p><p> state<=A;clr:='1';en:='1';</p><p><b> 仿真結果如下:</b></p><p> 圖7.控制模塊仿真圖</p><p> 仿真分析,
80、由上圖可以清晰的看出,CLK處于高電平時,在A狀態(tài)下東西方向車道的br紅燈處于高電平時,即紅燈亮,則南北方向車道的ag也處于高電平,即綠燈亮45s,當綠燈時間結束,緊接著左轉指示燈亮10s,即al處于高電平,當左轉燈熄滅,黃燈緊接開始閃爍3s,即ay處于高電平,黃燈閃爍結束,緊接著南北方向車道ar紅燈和東西方向bg同時處于高電平,即南北方向紅燈亮,同時東西方向綠燈亮。</p><p> 圖6.控制模塊生成圖&l
81、t;/p><p><b> 3.3 分模塊設計</b></p><p> 3.3.1 定時單元模塊</p><p> 定時單元模塊在本設計中的作用非常重要,每個定時單元模塊主要控制南北和東西兩路各交通燈亮的顯示時間。58s紅燈定時單元模塊主要控制南北車道和東西車道兩路紅燈處于亮狀態(tài)的顯示時間,從Djs58端口輸出到顯示控制模塊的譯碼顯示端口,
82、58s紅燈定時單元模塊生成器件中,EN58A(EN為使能信號標志,另A代表南北方向車道)為南北方向車道紅燈的使能控制信號,其作用是當其處于高電平時,則控制南北方向車道的紅燈處于亮狀態(tài)。EN58B(EN為使能信號標志,B代表東西方向車道)為東西方向車道紅燈的使能控制信號,當其處于高電平時,則東西方向車道的紅燈處于亮狀態(tài)。58s定時單元模塊及58S倒計時程序如下:</p><p> library ieee;<
83、;/p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity ds58s is</p><p> port (CLK,EN58A,EN58B:in std_logic;</p><p>
84、 djs58:out std_logic_vector(7 downto 0));</p><p> end entity ds58s;</p><p> architecture a of ds58s is</p><p> signal cnt6b:std_logic_vector(5 downto 0);</p><p><
85、;b> begin</b></p><p> process(CLK, EN58A,EN58B) </p><p><b> begin</b></p><p> if(CLK'event and CLK='1') then </p><p> if EN58A=
86、9;1'or EN58B='1' then cnt6b<=cnt6b+1;</p><p> else cnt6b<="000000";</p><p><b> end if;</b></p><p><b> end if;</b></p>&
87、lt;p> end process;</p><p> process(cnt6b) </p><p><b> begin</b></p><p> case cnt6b is</p><p> when"000001"=>djs58<="01011000&qu
88、ot;; </p><p> when"000010"=>djs58<="01010111"; </p><p> when"000011"=>djs58<="01010110"; </p><p> when"000100"=>d
89、js58<="01010101"; </p><p> when"000101"=>djs58<="01010100"; </p><p> when"000110"=>djs58<="01010011"; </p><p> wh
90、en"000111"=>djs58<="01010010"; </p><p> when"001000"=>djs58<="01010001"; </p><p> when"001001"=>djs58<="01010000";
91、 </p><p> when"001010"=>djs58<="01001001"; </p><p> when"001011"=>djs58<="01001000"; </p><p> when"001100"=>djs58
92、<="01000111"; </p><p> when"001101"=>djs58<="01000110"; </p><p> when"001110"=>djs58<="01000101"; </p><p> whe
93、n"001111"=>djs58<="01000100";</p><p> when"010000"=>djs58<="01000011";</p><p> when"010001"=>djs58<="01000010";<
94、;/p><p> when"010010"=>djs58<="01000001";</p><p> when"010011"=>djs58<="01000000";</p><p> when"010100"=>djs58<=&
95、quot;00111001";</p><p> when"010101"=>djs58<="00111000";</p><p> when"010110"=>djs58<="00110111";</p><p> when"01011
96、1"=>djs58<="00110110";</p><p> when"011000"=>djs58<="00110101";</p><p> when"011001"=>djs58<="00110100";</p><
97、;p> when"011010"=>djs58<="00110011";</p><p> when"011011"=>djs58<="00110010";</p><p> when"011100"=>djs58<="0011000
98、1";</p><p> when"011101"=>djs58<="00110000";</p><p> when"011110"=>djs58<="00101001";</p><p> when"011111"=>
99、djs58<="00101000";</p><p> when"100000"=>djs58<="00100111";</p><p> when"100001"=>djs58<="00100110";</p><p> when
100、"100010"=>djs58<="00100101";</p><p> when"100011"=>djs58<="00100100";</p><p> when"100100"=>djs58<="00100011";<
101、/p><p> when"100101"=>djs58<="00100010";</p><p> when"100110"=>djs58<="00100001";</p><p> when"100111"=>djs58<=&q
102、uot;00100000";</p><p> when"101000"=>djs58<="00011001";</p><p> when"101001"=>djs58<="00011000";</p><p> when"101010
103、"=>djs58<="00010111";</p><p> when"101011"=>djs58<="00010110";</p><p> when"101100"=>djs58<="00010101";</p><
104、p> when"101101"=>djs58<="00010100";</p><p> when"101110"=>djs58<="00010011";</p><p> when"101111"=>djs58<="00010010
105、";</p><p> when"110000"=>djs58<="00010001";</p><p> when"110001"=>djs58<="00010000";</p><p> when"110010"=>d
106、js58<="00001001";</p><p> when"110011"=>djs58<="00001000";</p><p> when"110100"=>djs58<="00000111";</p><p> when&
107、quot;110101"=>djs58<="00000110";</p><p> when"110110"=>djs58<="00000101";</p><p> when"110111"=>djs58<="00000100";</
108、p><p> when"111000"=>djs58<="00000011";</p><p> when"111001"=>djs58<="00000010";</p><p> when"111010"=>djs58<=&qu
109、ot;00000001";</p><p> when others=>djs58<="00000000";</p><p><b> end case;</b></p><p> end process;</p><p> end architecture a;<
110、/p><p> 圖8.紅燈定時模塊,倒計時仿真圖</p><p> 仿真分析,由上圖8仿真截圖可以看出,紅燈58秒定時控制模塊此時處于南北方向車道紅燈亮的狀態(tài)。輸入Clk處于高電平,南北方向車道紅燈使能信號控制EN58A處于高電平,東西方向車道紅燈使能信號控制EN58B處于低電平。則倒計時顯示djs58輸出的為南北方向的紅燈的倒計時顯示時間。上圖輔助線指示處顯示為倒計時58秒時,依次為57
111、s,56s,55s,54s,53s,。但從輔助線處觀察可以看出在這仿真過程中因為軟件的關系輸出結果有一定的延遲,當clk一開始處于高電平上升沿時,就應該開始倒數計時58s。</p><p> 下圖9為上面程序再通過QuartusII軟件生成器件。</p><p> 圖9.紅燈定時模塊生成器件</p><p> 綠燈45s定時、45s倒計時模塊的設計在此的主要作
112、用是控制南北方向車道和東西方向車道兩路綠燈的顯示時間,從djs45s端口輸出到顯示控制模塊的端口,南北方向車道使能控制信號EN45A作用為控制南北方向的45s綠燈是否處于亮的狀態(tài)、東西方向車道的使能信號EN45B作用為控制東西方向的綠燈是否處于亮的狀態(tài)。其VHDL程序如下:</p><p> library ieee;</p><p> use ieee.std_logic_1164.
113、all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity ldds45s is</p><p> port (clk,EN45A,EN45B:in std_logic;</p><p> djs45s:out std_logic_vector(7 downto 0))
114、;</p><p> end entity ldds45s;</p><p> architecture a of ldds45s is</p><p> signal cnt6b:std_logic_vector(5 downto 0);</p><p><b> begin</b></p>&l
115、t;p> process(clk, EN45A,EN45B) --將時鐘信號、南北方向(A)路、東西方向(B)路使能信號設為敏感信號</p><p><b> begin</b></p><p> if(clk'event and clk='1') then </p><p> if EN45A=
116、'1'or EN45B='1' then cnt6b<=cnt6b+1;</p><p> else cnt6b<="000000";</p><p><b> end if;</b></p><p><b> end if;</b></p>
117、<p> end process;</p><p> process(cnt6b) </p><p><b> begin</b></p><p> case cnt6b is </p><p> when"000001"=>djs45s<="01
118、000101"; </p><p> when"000010"=>djs45s<="01000100";</p><p> when"000011"=>djs45s<="01000011";</p><p> when"000100
119、"=>djs45s<="01000010";</p><p> when"000101"=>djs45s<="01000001";</p><p> when"000110"=>djs45s<="01000000";</p>&
120、lt;p> when"000111"=>djs45s<="00111001";</p><p> when"001000"=>djs45s<="00111000";</p><p> when"001001"=>djs45s<="00
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于vhdl的電梯控制系統(tǒng)畢業(yè)設計
- 智能交通控制系統(tǒng)畢業(yè)設計
- 基于單片機的交通控制系統(tǒng)畢業(yè)設計
- 實驗基于vhdl電梯控制系統(tǒng)設計
- 基于plc交通燈控制系統(tǒng)畢業(yè)設計
- 基于plc交通燈控制系統(tǒng)畢業(yè)設計
- 基于plc交通燈控制系統(tǒng)畢業(yè)設計
- 畢業(yè)設計-基于plc的交通燈控制系統(tǒng)設計
- 畢業(yè)設計--基于plc的交通燈控制系統(tǒng)的設計
- 城市交通控制系統(tǒng)畢業(yè)設計
- 畢業(yè)設計----交通燈控制系統(tǒng)
- 畢業(yè)設計--基于plc的智能交通燈控制系統(tǒng)設計
- 基于mcu的交通信號控制系統(tǒng)設計【畢業(yè)設計】
- 交通燈控制系統(tǒng)畢業(yè)設計
- 基于plc的智能交通燈控制系統(tǒng)設計畢業(yè)設計
- 畢業(yè)設計----交通燈控制系統(tǒng)的設計
- 基于vhdl智能交通燈控制系統(tǒng)的設計20說明書
- 畢業(yè)設計(論文)-基于plc交通燈控制系統(tǒng)
- 基于plc的交通燈控制系統(tǒng)的畢業(yè)設計論文
- 基于數字電路的交通燈控制系統(tǒng)畢業(yè)設計
評論
0/150
提交評論