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