【正文】
5b=39。) then if en5a=39。event and clk=39。architecture art of t5s is signal t3b:std_logic_vector(2 downto 0)。 輸入的標(biāo)準(zhǔn)時鐘和使能信號 dout5:out std_logic_vector(7 downto 0))。 (4)5s定時單元控制兩路黃燈的顯示時間,從DOUT5端口輸出到顯示控制模塊的AIN5 端口,EN5A、EN5B分別甲路和乙路紅燈的使能信號控制應(yīng)該那一路紅燈亮。 then t4b=t4b+1。or en10b=39。) then if en10a=39。event and clk=39。architecture art of t10s is signal t4b:std_logic_vector(3 downto 0)。 輸入的標(biāo)準(zhǔn)時鐘和使能信號 dout10:out std_logic_vector(7 downto 0))。(3)10s定時單元控制兩路左拐燈的顯示時間,從DOUT10端口輸出到顯示控制模塊的AIN10 端口,EN10A、EN10B分別甲路和乙路紅燈的使能信號控制應(yīng)該那一路紅燈亮。 then t6b=t6b+1。or en60b=39。) then if en60a=39。event and clk=39。architecture art of t60s is signal t6b:std_logic_vector(5 downto 0)。 輸入的標(biāo)準(zhǔn)時鐘和使能信號 dout60:out std_logic_vector(7 downto 0))。 (2)60s定時單元控制兩路紅燈的顯示時間,從DOUT60端口輸出到顯示控制模塊的AIN60 端口,EN60A、EN60B分別甲路和乙路紅燈的使能信號控制應(yīng)該那一路紅燈亮。 then t6b=t6b+1。or en45b=39。) then if en45a=39。event and clk=39。architecture art of t45s is signal t6b:std_logic_vector(5 downto 0)。 輸入的標(biāo)準(zhǔn)時鐘和使能信號 dout45:out std_logic_vector(7 downto 0))。 定時單元以及顯示控制、譯碼電路(1)45s定時單元控制兩路綠燈的顯示時間,從DOUT45端口輸出到顯示控制模塊的AIN45 端口,EN45A、EN45B分別甲路和乙路綠燈的使能信號控制應(yīng)該哪一路的綠燈亮。en:=39。clr:=39。039。039。 if s=45 then a路綠燈亮狀態(tài)持續(xù)45s state=B。bl=39。bg=39。by=39。 A狀態(tài)各路燈的亮滅 br=39。al=39。ag=39。ay=39。 整形變量s范圍0到60 when A=ar=39。 信號燈的亮滅狀態(tài)分為六種 signal state:state_type。 定義各路信號燈 end entity jtdkz。CLK是輸入標(biāo)準(zhǔn)時鐘信號,AR、AY、AG、AL為輸出信號控制甲車道的四盞指示燈,BR、BY、BG、BL為輸出信號控制乙車道的四盞指示燈,部分程序如下: entity jtdkz is port(clk:in std_logic。 ,CLK為整個電路提供1Hz的標(biāo)準(zhǔn)信號,用四個定時單元60s 、45s、10s、5s分別控制四盞交通指示燈的倒計時顯示時間,交通燈控制部分JTDKZ控制交通燈的每一種狀態(tài),顯示控制部分XSKZ部分主要控制交通燈的亮滅時間,圖中譯碼器是47譯碼器,譯碼后數(shù)據(jù)輸出到共陰數(shù)碼管。甲路乙路4 系統(tǒng)設(shè)計 交通燈控制器的頂層電路圖是采用硬件描述語言設(shè)計的一個復(fù)雜電路系統(tǒng),而且采用自頂向下的設(shè)計思想,將系統(tǒng)按功能逐層分割的層次化設(shè)計方法。交通規(guī)則明確顯示必須按照交通指示燈來執(zhí)行,尤其是左拐,只有在左拐燈亮的時候才可以左拐。 交通燈工作示意圖十字路口的東西方向和南北方向分別安裝紅、綠、黃、藍(lán)交通信號燈。重復(fù)以上過程。閃爍5s后,再切換到甲車道,重復(fù)上述過程。標(biāo)準(zhǔn)信號為整個電路提供1Hz信號,信號燈控制電路控制8路燈的亮滅,定時電路分為45s、10s、5s、60s定時單元,分別控制8路燈的亮滅時間,顯示控制電路控制每一路燈的倒計時顯示時間,譯碼后通過數(shù)碼管顯示。方案三以CPLD器件為核心,以VHDL語言為基礎(chǔ),編程具有很大的靈活性,而且這種語言也易于掌握和理解,調(diào)試和修改都比較容易,滿足課題的要求,所以最終選擇方案三。:標(biāo)準(zhǔn)信號各定時電路顯示控制電路譯碼顯示電路信號燈控制電路信號燈 系統(tǒng)組成框圖(2)方案論證方案一采用的是集成硬件電路的搭建,各個模塊之間的接口很難保證,而且用到大量芯片來搭建各個模塊,整個電路系統(tǒng)體積相對較大,增加了系統(tǒng)的調(diào)試難度,不滿足現(xiàn)代社會發(fā)展的需求。輸入信號部分,直接在I/O口接上按鍵開關(guān),精簡和優(yōu)化電路,該系統(tǒng)對于交通燈及數(shù)碼管的控制只用單片機(jī)本身的I/O口就可以實(shí)現(xiàn),顯示電路采用共陽數(shù)碼管。在整個系統(tǒng)設(shè)計當(dāng)中,以AT89C52單片機(jī)為核心,為使各模塊穩(wěn)定工作,采用單片機(jī)控制模塊提供電源,節(jié)約成本,但輸出功率不高。主控制器是系統(tǒng)的主要部分,由它控制其他電路之間的協(xié)調(diào)工作。時鐘脈沖產(chǎn)生電路利用晶振,它可以發(fā)出連續(xù)脈沖從而控制兩片74LS161組成的計時電路的CLK端。時鐘產(chǎn)生電路是該系統(tǒng)中定時器和控制器的標(biāo)準(zhǔn)時鐘信號源。3 交通燈控制系統(tǒng)方案論證 設(shè)計方案及論證(1)設(shè)計方案方案一:采用小規(guī)模集成電路,用純硬件電路搭建。幾乎所有應(yīng)用中小規(guī)模通用數(shù)字集成電路的場合均可應(yīng)用CPLD器件。目前應(yīng)用已深入網(wǎng)絡(luò)、儀器儀表、汽車電子、數(shù)控機(jī)床、航天測控設(shè)備等方面。其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因為它的硬件結(jié)構(gòu)設(shè)計可由軟件完成(相當(dāng)于房子蓋好后人工設(shè)計局部室內(nèi)結(jié)構(gòu)),因而它的設(shè)計比純硬件的數(shù)字電路具有很強(qiáng)的靈活性,但其過于簡單的結(jié)構(gòu)也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。由于CPLD內(nèi)部采用固定長度的金屬線進(jìn)行各邏輯塊的互連,所以設(shè)計的邏輯電路具有時間可預(yù)測性,避免了分段式互連結(jié)構(gòu)時序不完全預(yù)測的缺點(diǎn)。 CPLD(1)CPLD簡介CPLD主要是由可編程邏輯宏單元(MC,Macro Cell)圍繞中心的可編程互連矩陣單元組成。 ④ 豐富的設(shè)計庫 Max+plusⅡ提供豐富的庫單元供設(shè)計者調(diào)用,其中包括74系列的全部器件和多種特殊的邏輯功能(MacroFunction)以及新型的參數(shù)化的兆功能(MageFunction)。 ② 與結(jié)構(gòu)無關(guān) Max+plusⅡ系統(tǒng)的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可編程邏輯器件,提供了世界上唯一真正與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計環(huán)境。在Max+plusⅡ上可以完成設(shè)計輸入、元件適配、時序仿真和功能仿真、編程下載整個流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,是設(shè)計者能方便地進(jìn)行設(shè)計輸入、快速處理和器件編程[11]。 MAX+PLUSⅡ(1) 軟件簡介 Max+plusⅡ是Altera公司提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大可編程邏輯器件的供應(yīng)商之一。 ?、?對于用VHDL完成的一個確定的設(shè)計,可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。 ?、?VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗設(shè)計系統(tǒng)的功能可行性,隨時可對設(shè)計進(jìn)行仿真模擬[10]。(3) VHDL的優(yōu)勢 ?、?與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。⑥ 易于共享和復(fù)用 VHDL采用基于庫(Library)的設(shè)計方法,可以建立各種可再次利用的模塊。當(dāng)設(shè)計描述完成后,可以用多種不同的器件結(jié)構(gòu)來實(shí)現(xiàn)其功能。VHDL支持預(yù)定義的和自定義的數(shù)據(jù)類型,給硬件描述帶來較大的自由度,使設(shè)計人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。而描述既可以采用行為描述、寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級描述。在硬件電路設(shè)計過程中,主要的設(shè)計文件是用VHDL編寫的源代碼,因為VHDL易讀和結(jié)構(gòu)化,所以易于修改設(shè)計。VHDL還支持各種設(shè)計方法,既支持自底向上的設(shè)計,又支持自頂向下的設(shè)計;既支持模塊化設(shè)計,又支持層次化設(shè)計。它具有多層次的設(shè)計描述功能,層層細(xì)化,最后可直接生成電路級描述。這種將設(shè)計實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點(diǎn)。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項工程設(shè)計,或稱設(shè)計實(shí)體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分)設(shè)計[9]。 VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。它在80年代的后期出現(xiàn)。傳統(tǒng)機(jī)電設(shè)備的電器控制系統(tǒng),如果利用EDA技術(shù)進(jìn)行重新設(shè)計或進(jìn)行技術(shù)改造,不但設(shè)計周期短、設(shè)計成本低,而且將提高產(chǎn)品或設(shè)備的性能,縮小產(chǎn)品體積,提高產(chǎn)品的技術(shù)含量,提高產(chǎn)品的附加值[8]。 EDA技術(shù)與傳統(tǒng)電子設(shè)計方法的比較與傳統(tǒng)的電子設(shè)計方法相比,EDA技術(shù)對于復(fù)雜電路的設(shè)計和調(diào)試都比較簡單,如果某一過程存在錯誤,查找和修改起來比較方便,而且EDA技術(shù)的可移植性很強(qiáng)。HDL具有與具體硬件電路無關(guān)和與設(shè)計平臺無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語言易讀性和層次化結(jié)構(gòu)化設(shè)計方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力[7]。 硬件描述語言(HDL)是相對于一般的計算機(jī)軟件語言如C、Pascal而言的。EDA技術(shù)涉及面很廣,內(nèi)容豐富,主要應(yīng)掌握如下四個方面的內(nèi)容:(1)大規(guī)??删幊踢壿嬈骷?; (2)硬件描述語言;(3)軟件開發(fā)工具;(4)實(shí)驗開發(fā)系統(tǒng)。盡管目標(biāo)系統(tǒng)是硬件,但整個設(shè)計和修改過程如同完成軟件設(shè)計一樣方便和高效?,F(xiàn)代EDA技術(shù)就是以讓算機(jī)為工具,在EDA軟件平臺上,根據(jù)硬件描述語言HDL完成的設(shè)計文件,能自動地完成用軟件方式描述的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、布局布線、邏輯仿真,直至完成對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)使得設(shè)計者的工作僅限于利用軟件的方式,即利用硬件描述語言和EDA軟件來完成對系統(tǒng)硬件功能的實(shí)現(xiàn)[3]。本次設(shè)計是通過設(shè)計交通燈控制器,了解EDA技術(shù),掌握VHDL硬件描述語言的設(shè)計方法和思想,鞏固和綜合運(yùn)用所學(xué)過的計算機(jī)組成原理知識,提高分析、解決計算機(jī)技術(shù)實(shí)際問題的獨(dú)立工作能力??上攵?,一個沒有交通燈的社會將是何種樣子,那必將是交通秩序混亂,人們的出行安全沒有了任何保障,社會秩序也必將混亂不堪。隨著我國經(jīng)濟(jì)的穩(wěn)步發(fā)展,人民生活水平的日漸提高,越來越多的汽車進(jìn)入尋常百姓的家庭,再加上政府大力地發(fā)展公交、出租車行業(yè),道路上的車輛越來越多,使得城市的交通成為了一個主要的問題。 交通燈的研究目的不同的城市存在著不同的城市問題,但其中有一個共同的問題就是城市交通。 目前城市交通控制研究的新發(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);以及一些輔助的交通策略如道路自動計費(fèi)、公共交通優(yōu)先等。于是,智能交通系統(tǒng)(ITS)應(yīng)運(yùn)而生,并得到迅猛發(fā)展。進(jìn)入20世紀(jì)80年代后期,隨著城市化進(jìn)程的加快和汽車的普及,城市交通擁擠、阻塞現(xiàn)象日趨惡化,由此引發(fā)的事故、噪聲和環(huán)境污染己成為日益嚴(yán)重的社會問題,交通問題成為困擾世界各國的普遍性難題。澳大利亞在70年代末也開發(fā)了基于配時方案實(shí)時選擇方法來實(shí)現(xiàn)路網(wǎng)協(xié)調(diào)控制的SCAT(Sydney Coordinated Adaptive Traffic Method)系統(tǒng)。國外對城市區(qū)域交通控制的研究,開始于20世紀(jì)60年代初。人們認(rèn)識到,要更好地提高城市管理水平,不僅僅依靠硬件設(shè)備的更新和改進(jìn),還必須同時在控制邏輯和方法上有所突破,即城市交通的區(qū)域協(xié)調(diào)控制。這是道路交通控制技術(shù)發(fā)展的里程碑。超聲波檢測器主要在日本等少數(shù)國家得到廣泛應(yīng)用。繼氣動橡皮管式檢測器之后,雷達(dá)、超聲波、光電、地磁、電磁、微波、紅外以及環(huán)形線圈等檢測器相繼問世。車輛感應(yīng)控制器的特點(diǎn)是它能根據(jù)檢測器測量的交通流量來調(diào)整綠燈時間的長短,使綠燈時間更有效地被利用,減少車輛在交叉口的時間延誤,比定時控制方式有更大的靈活性。這種系統(tǒng)以后不斷改進(jìn)、完善,成為當(dāng)今的協(xié)調(diào)控制系統(tǒng)。除了多時段多方案定時控制的使用,為了避免各交叉路口之間“各自為政”的孤立控制方式對交通流造成的頻繁停車,還必須把相鄰的交叉路口作為一個系統(tǒng)來統(tǒng)一地加以控制。早期的交通信號燈使用“固定配時”方式實(shí)行自動控制,這種方式對于早期交通流量不大的情況曾起過一定的作用。1914年及稍晚一些時候,美國的克利夫蘭、紐約和芝加哥才重新出現(xiàn)了交通信號燈,它們采用電力驅(qū)動,與現(xiàn)在意義上的信號燈已經(jīng)相差無幾。1 概述早在1850年,城市交叉口處不斷增長的交通就引發(fā)了人們對安全和擁堵的關(guān)注。但是這些控制方法的功能修改及調(diào)試都需要硬