版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ?。?0 屆)</b></p><p> 基于Verilog HDL交通燈控制系統(tǒng)設(shè)計(jì)</p><p><b> 目錄</b></p><p><b> 摘要III</b></p>&
2、lt;p> AbstractIV</p><p><b> 第一章 緒論1</b></p><p> 1.1 交通燈簡(jiǎn)介1</p><p> 1.2 基于Verilog HDL交通燈控制的優(yōu)點(diǎn)2</p><p> 第二章 CPLD及Verilog HDL介紹4</p>&l
3、t;p> 2.1 CPLD介紹4</p><p> 2.2 Verilog HDL介紹6</p><p> 2.3 仿真軟件9</p><p> 2.4 仿真流程10</p><p> 第三章 交通信號(hào)控制電路的功能及實(shí)現(xiàn)原理12</p><p> 3.1 交通信號(hào)控制電路的功能
4、分析12</p><p> 3.2 交通信號(hào)控制電路實(shí)現(xiàn)原理12</p><p> 第四章 交通控制電路的Verilog HDL的設(shè)計(jì)實(shí)現(xiàn)15</p><p> 4.1 分頻模塊15</p><p> 4.2 控制模塊15</p><p> 4.3 定時(shí)模塊16</p>&
5、lt;p> 4.4 計(jì)數(shù)模塊17</p><p> 4.5 計(jì)數(shù)器控制模塊17</p><p> 4.6 譯碼模塊18</p><p> 4.7 緊急模塊19</p><p> 第五章 總結(jié)與展望20</p><p> 5.1 開(kāi)發(fā)難點(diǎn)與解決技巧20</p>&l
6、t;p> 5.2 系統(tǒng)說(shuō)明與總結(jié)20</p><p> 5.3 展望21</p><p><b> 參考文獻(xiàn)22</b></p><p><b> 附錄23</b></p><p><b> 致謝37</b></p><p>
7、; 基于Verilog HDL交通燈控制系統(tǒng)設(shè)計(jì)</p><p><b> 摘要</b></p><p> 城市道路交叉口是城市道路網(wǎng)絡(luò)的基本節(jié)點(diǎn),也是網(wǎng)絡(luò)交通流的瓶頸。交通燈是城市交通監(jiān)管系統(tǒng)的重要組成部分,對(duì)于保證機(jī)動(dòng)車(chē)輛的安全行駛,維持城市道路的順暢起到了重要作用。而交通信號(hào)控制的目的是為城市道路交叉口(或交通網(wǎng)絡(luò))提供安全可靠和有效的交通流,通常最為常用
8、的原則是車(chē)輛在交叉口的通過(guò)量最大或車(chē)輛在交叉口的延誤最小。</p><p> 本論文主要介紹以目前應(yīng)用較為廣泛的Verilog HDL硬件描述語(yǔ)言,實(shí)現(xiàn)對(duì)路口交通燈系統(tǒng)的控制器的硬件電路描述。這種硬件電路描述在Altera公司的EDA軟件平臺(tái)MAX+PLUSⅡ環(huán)境下通過(guò)了編譯、仿真、并下載到CPLD器件上進(jìn)行編程制作,實(shí)現(xiàn)了交通燈系統(tǒng)的控制過(guò)程。利用CPLD的可重復(fù)編程和在動(dòng)態(tài)系統(tǒng)重構(gòu)的特性,大大地提高了數(shù)字系
9、統(tǒng)設(shè)計(jì)的靈活性和通用性。</p><p> 關(guān)鍵詞:Verilog HDL;CPLD;交通燈控制器;仿真</p><p> Traffic control system based on Verilog HDL</p><p><b> Abstract</b></p><p> Urban road inter
10、sections city road network is the basic nodes, also is the bottleneck of the network traffic flow. The traffic light is urban traffic supervision system important constituent, to guarantee the safety of motor vehicle dri
11、ving, maintain the urban road smooth played an important role. And traffic signal control is designed for urban road intersections (or traffic network) provide safe and reliable and effective traffic flow, usually the pr
12、inciple is most commonly used vehicles in cr</p><p> This paper mainly introduces the application at present are more widely Verilog HDL hardware description language, realize the intersection traffic light
13、 system controller hardware circuit is described. The hardware circuit described in the EDA software platform Altera company Ⅱ environment MAX + PLUS passed compiled, simulation, and download to CPLD device on production
14、, realizing the programming the control process of traffic light system. Use CPLD repeated programming and the characteristics </p><p> Keywords: Verilog HDL,CPLD,Traffic Light Controller, Simulation</p&
15、gt;<p><b> 第一章 緒論</b></p><p> 1.1 交通燈簡(jiǎn)介</p><p> 交通燈的雛形誕生于19世紀(jì)的英國(guó),它最初只有紅綠兩種燈,由交警手動(dòng)切換紅綠顏色。而黃色信號(hào)燈的發(fā)明者是我國(guó)的胡汝鼎,他懷著“科學(xué)救國(guó)”的抱負(fù)到美國(guó)深造,在大發(fā)明家愛(ài)迪生為董事長(zhǎng)的美國(guó)通用電器公司任職員。一天,他站在繁華的十字路口等待綠燈信號(hào),當(dāng)
16、他看到紅燈而正要過(guò)去時(shí),一輛轉(zhuǎn)彎的汽車(chē)呼地一聲擦身而過(guò),嚇了他一身冷汗?;氐剿奚?,他反復(fù)琢磨,終于想到在紅、綠燈中間再加上一個(gè)黃色信號(hào)燈,提醒人們注意危險(xiǎn)。他的建議立即得到有關(guān)方面的肯定。于是紅、黃、綠三色信號(hào)燈即以一個(gè)完整的指揮信號(hào)家族,遍及全世界陸、海、空交通領(lǐng)域了。隨著各種交通工具的發(fā)展和交通指揮的需要,第一盞名副其實(shí)的三色燈(紅、黃、綠三種標(biāo)志)于1918年誕生。它是三色圓形四面投影器,被安裝在紐約市五號(hào)街的一座高塔上,由于它的
17、誕生,使城市交通大為改善。并且規(guī)定:綠燈亮?xí)r,準(zhǔn)許車(chē)輛通行,黃燈亮?xí)r,已越過(guò)停止線的車(chē)輛可以繼續(xù)通行;紅燈亮?xí)r,禁止車(chē)輛通行。</p><p> 從最早的手牽皮帶到20世紀(jì)50年代的電氣控制,從采用計(jì)算機(jī)控制到現(xiàn)代化的電子定時(shí)監(jiān)控,交通信號(hào)燈在科學(xué)化、自動(dòng)化上不斷地更新、發(fā)展和完善。現(xiàn)在大多數(shù)的交通燈都由單片機(jī)控制,由紅黃綠三色燈組成,通過(guò)設(shè)置好南北向和東西向各色燈的亮滅順序和維持的時(shí)間來(lái)指揮交通。</p
18、><p> 交通對(duì)國(guó)民經(jīng)濟(jì)的發(fā)展具有重要的作用,然而,大多數(shù)城市交通常常出現(xiàn)交通堵塞現(xiàn)象,車(chē)輛行駛中不僅車(chē)速受到限制,并且非機(jī)動(dòng)車(chē)輛和行人的干擾,有時(shí)甚至頻繁遇到多個(gè)紅燈信號(hào),難以實(shí)現(xiàn)高效、快捷地運(yùn)行。因此,協(xié)調(diào)性控制交通樞紐的信號(hào),對(duì)提高城市道路的通行能力十分有效[1]。</p><p> 城市交通燈控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測(cè)、交通信號(hào)燈與交通疏導(dǎo)的計(jì)算機(jī)綜合系統(tǒng),它是現(xiàn)代城市監(jiān)控指
19、揮系統(tǒng)中最重要的組成部分[2]。交通燈的出現(xiàn)極大的改善了城市交通,保障了人民的交通安全。但是,隨著現(xiàn)在科技取得不斷的進(jìn)步,人民生活質(zhì)量不斷提高,大量的車(chē)流量注入城市的交通,僅僅靠傳統(tǒng)的單片機(jī)交通控制燈已經(jīng)不太適應(yīng)了。并且傳統(tǒng)的交通燈也存在一些缺點(diǎn)和不足。比如,單片機(jī)控制的交通燈不夠穩(wěn)定,經(jīng)過(guò)長(zhǎng)期運(yùn)行容易出現(xiàn)故障,其次它升級(jí)擴(kuò)展時(shí)必須全部更換,這樣一來(lái)很大的造成了運(yùn)用上的不便和資源上的浪費(fèi)。</p><p> 傳
20、統(tǒng)的交通燈一般只能實(shí)現(xiàn)定時(shí)的控制,而現(xiàn)在市區(qū)用的相對(duì)比較智能化的交通燈也只能根據(jù)前一天的車(chē)流量,來(lái)調(diào)節(jié)第二天紅綠燈的定時(shí)時(shí)間,無(wú)法做到實(shí)時(shí)變化。而智能交通燈系統(tǒng)是通過(guò)一條通信總線把控制各車(chē)道繼電器控制器和車(chē)輛探測(cè)器輸入多功能模塊連接起來(lái),通過(guò)監(jiān)控中心的管理計(jì)算機(jī)實(shí)現(xiàn)集中管理。管理計(jì)算機(jī)可對(duì)現(xiàn)場(chǎng)控制設(shè)備任意配置,任意開(kāi)啟某一車(chē)道。</p><p> 現(xiàn)在的智能交通燈系統(tǒng)一般采用EDA技術(shù)實(shí)現(xiàn)。EDA技術(shù)自動(dòng)化、智
21、能化程度高,功能比較完善,界面非常友好,并且技術(shù)相當(dāng)實(shí)用,在信號(hào)燈的研發(fā)過(guò)程中,需要用到EDA技術(shù)中的關(guān)鍵技術(shù)Verilog HDL 硬件描述語(yǔ)言來(lái)編寫(xiě)信號(hào)燈的控制仿真程序。而Verilog HDL是其中目前應(yīng)用最廣泛的一種[3]。是全方位的硬件描述語(yǔ)言,幾乎覆蓋了以往各種硬件描述語(yǔ)言的功能,整個(gè)自頂向下或自底向上的電路設(shè)計(jì)過(guò)程都可以用Verilog HDL 硬件描述語(yǔ)言來(lái)完成。因此將EDA技術(shù)運(yùn)用到信號(hào)控制交叉口的設(shè)計(jì)中。隨著EDA技
22、術(shù)的發(fā)展,在今后的電子產(chǎn)品研究開(kāi)發(fā)中,EDA具有更好的開(kāi)發(fā)手段和性?xún)r(jià)比,擁有廣泛的市場(chǎng)前景[4]。</p><p> 交通燈控制器設(shè)計(jì)是數(shù)字電路中的經(jīng)典問(wèn)題,傳統(tǒng)的設(shè)計(jì)方法是基于中.小規(guī)模集成電路進(jìn)行的,采用的電路元件多,接線復(fù)雜,故障率高,可靠性低,修改電路的功能需要硬件電路的支持。可編程邏輯器件PLD的出現(xiàn),使得我們?cè)趯?shí)驗(yàn)室就可以制作專(zhuān)用集成電路。超高速硬件描述語(yǔ)言 Verilong HDL 可以對(duì)數(shù)字系統(tǒng)
23、進(jìn)行抽象的行為與功能描述 ,在電子設(shè)計(jì)的各個(gè)階段、各個(gè)層次可以用計(jì)算機(jī)進(jìn)行仿真驗(yàn)證,編程簡(jiǎn)單,程序修改容易,不需要硬件電路的支持,給設(shè)計(jì)者帶來(lái)了很大的方便。</p><p> 因此,隨著城市交通的快速發(fā)展,傳統(tǒng)上的交通燈已經(jīng)很少使用了,大多數(shù)的交通燈都開(kāi)始使用新的技術(shù)來(lái)代替?zhèn)鹘y(tǒng)的交通燈了。</p><p> 1.2 基于Verilog HDL交通燈控制的優(yōu)點(diǎn)</p>&
24、lt;p> Verilog HDL是工業(yè)和學(xué)術(shù)界的硬件設(shè)計(jì)者所使用的兩種主要的HDL之一,另一種是VHDL?,F(xiàn)在他們都已成為IEEE標(biāo)準(zhǔn)。兩者各有特點(diǎn),但Verilog HDL擁有更悠久的歷史、更廣泛的設(shè)計(jì)群體,資源也遠(yuǎn)比VHDL豐富,且非常容易學(xué)習(xí)掌握。</p><p> Verilog HDL語(yǔ)言具有結(jié)構(gòu)清晰、文法簡(jiǎn)明、功能強(qiáng)大、高速模擬和多庫(kù)支持等優(yōu)點(diǎn),被近90%的半導(dǎo)體公司使用,成為一種強(qiáng)大的設(shè)
25、計(jì)工具[5]?;赩erilog HDL交通燈改善了傳統(tǒng)交通燈不夠穩(wěn)定和不利于升級(jí)的缺點(diǎn)。</p><p> 本文提出了以Verilog HDL語(yǔ)言為手段,設(shè)計(jì)了交通燈控制系統(tǒng)。其代碼具有良好的可讀性和易理解性。交通燈控制系統(tǒng)主要是實(shí)現(xiàn)城市十字交叉路口紅綠燈的控制。在現(xiàn)代化的大城市中,十字交叉路口越來(lái)越多,在每個(gè)交叉路口都需要使用紅綠燈進(jìn)行交通指揮和管理,紅、黃、綠燈的轉(zhuǎn)換要有一個(gè)準(zhǔn)確的時(shí)間間隔和轉(zhuǎn)換順序,這就
26、需要有一個(gè)安全、自動(dòng)的系統(tǒng)對(duì)紅、黃、綠燈的轉(zhuǎn)換進(jìn)行管理,本系統(tǒng)就是基于此目的而開(kāi)發(fā)的。</p><p> Verilog HDL是一種全方位的硬件描述語(yǔ)言,實(shí)現(xiàn)對(duì)路口交通燈系統(tǒng)的控制器的硬件電路描述。這種硬件電路描述在Altera公司的EDA軟件平臺(tái)MAX+PLUSⅡ環(huán)境下通過(guò)了編譯、仿真、并下載到CPLD器件上進(jìn)行編程制作,實(shí)現(xiàn)了交通燈系統(tǒng)的控制過(guò)程[6]。利用CPLD的可重復(fù)編程和在動(dòng)態(tài)系統(tǒng)重構(gòu)的特性,大大
27、地提高了數(shù)字系統(tǒng)設(shè)計(jì)的靈活性和通用性。</p><p> 第二章 CPLD及Verilog HDL介紹</p><p> 2.1 CPLD介紹</p><p> 可編程邏輯器件PLD(programmable logic device)是20世紀(jì)70年代發(fā)展起來(lái)的一種劃時(shí)代的新型邏輯器件,經(jīng)歷了PLA(programmable logic array)、P
28、AL(programmable array logic)、GAL(generic array logic)、CPLD(complex programmable logic device)/FPGA(field programmable gate array)幾個(gè)發(fā)展階段,其中Altera推出的類(lèi)似于PAL結(jié)構(gòu)的擴(kuò)展型 CPLD(Complex Programmable Logic Dvice) 是一種較PLD更為復(fù)雜的邏輯元件。用戶(hù)可以
29、根據(jù)各自的需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助集成開(kāi)發(fā)軟件平臺(tái),用原理圖、硬件描述語(yǔ)言等方法,生成相應(yīng)的目標(biāo)文件,通過(guò)下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。CPLD的生產(chǎn)廠家主要有Altera、Xilinx和 Lattice這三個(gè)公司,它們也是CPLD發(fā)展的典型代表。</p><p> Xilinx公司主要產(chǎn)品有XC9500/4000、Coolrunner(
30、XPLA3)、Spartan和Vertex等系列,其最大的Vertex–Ⅱ Pro器件已經(jīng)達(dá)到800萬(wàn)門(mén)。開(kāi)發(fā)軟件也由Foundation系列發(fā)展到了現(xiàn)在ISE6.x。ISE(integrated system configuration)是Xilinx提供的一套工具集,它集成的工具可以完成整個(gè)CPLD/FPGA的開(kāi)發(fā)過(guò)程,支持幾乎所有的Xilinx公司的CPLD/FPGA的主流器件[7]。</p><p>
31、Lattice公司是ISP(in–system programmability)技術(shù)的發(fā)明者,ISP技術(shù)極大地促進(jìn)了PLD產(chǎn)品的發(fā)展,它的主要產(chǎn)品有ispLSI2000/5000/8000,MACH4/5等。開(kāi)發(fā)軟件為ISP Synario、ispLever3.x。</p><p> 近年來(lái),可編程邏輯器件的發(fā)展主要趨于如下幾個(gè)方面:</p><p> 1.力求功耗更低,可編程邏輯器件
32、的將向著低于5V的方向前進(jìn);</p><p> 2.ASCI和PLD將把各自的優(yōu)點(diǎn)相互融合,共同發(fā)展;</p><p> 3.集成度提高,價(jià)格降低是可編程邏輯器件發(fā)展的必然趨勢(shì);</p><p> 4.把DSP、存儲(chǔ)器、應(yīng)用接口等集成在PLD上以拓展其功能是可編程邏輯器件的現(xiàn)狀,可見(jiàn)在可編程邏輯器件上的可編程片上系統(tǒng)集成SOPC(System on a pro
33、grammable chip)是它的另一個(gè)發(fā)展趨勢(shì);</p><p> 5.為滿(mǎn)足更高的硬件需求,可編程邏輯器件將向高頻方向發(fā)展;</p><p> 6.高擴(kuò)展性的發(fā)展方向是CPLD改進(jìn)電路的必然需求。</p><p> 隨著PLD的發(fā)展,CPLD必定能在EDA之路上發(fā)揮越來(lái)越大的作用。</p><p> CPLD主要是由可編程邏輯宏
34、單元(MC,Macro Cell)圍繞中心的可編程互連矩陣單元組成。其中MC結(jié)構(gòu)較復(fù)雜,并具有復(fù)雜的I/O單元互連結(jié)構(gòu),可由用戶(hù)根據(jù)需要生成特定的電路結(jié)構(gòu),完成一定的功能。由于CPLD內(nèi)部采用固定長(zhǎng)度的金屬線進(jìn)行各邏輯塊的互連,所以設(shè)計(jì)的邏輯電路具有時(shí)間可預(yù)測(cè)性,避免了分段式互連結(jié)構(gòu)時(shí)序不完全預(yù)測(cè)的缺點(diǎn)。CPLD具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn)。它既繼承了PLD和通用門(mén)陣列可實(shí)現(xiàn)較大規(guī)模的電路和編程靈活的特點(diǎn),與
35、其相比又有過(guò)之而無(wú)不及的優(yōu)點(diǎn),比如它設(shè)計(jì)制造成本低、設(shè)計(jì)開(kāi)發(fā)周期短、開(kāi)發(fā)工具先進(jìn)、具有電可擦除、邊緣掃描及在線編程的功能。因此被廣泛應(yīng)用于門(mén)陣列,PLD和中小規(guī)模通用數(shù)字集成電路的場(chǎng)合。隨著超大規(guī)模集成電路工藝的不斷提高CPLD芯片的規(guī)模也由最初的幾十門(mén)擴(kuò)大到現(xiàn)在的上百萬(wàn)門(mén)。而利用可編程邏輯器件設(shè)計(jì)交通信號(hào)控制電路時(shí)有如下優(yōu)點(diǎn):</p><p> (1)抗干擾能力強(qiáng)。隨著工業(yè)的發(fā)展,電磁干擾日趨嚴(yán)重,而交通燈應(yīng)
36、用的特殊場(chǎng)合需要較高的穩(wěn)定,故本文選用高抗干擾能力的CPLD來(lái)設(shè)計(jì);</p><p> (2)穩(wěn)定性高。CPLD通常的平均無(wú)故障時(shí)間都在30萬(wàn)小時(shí)以上;</p><p> (3)可重復(fù)編程。設(shè)計(jì)更新時(shí)隨意更改和補(bǔ)充,不必再更換新器件,彌補(bǔ)了ASIC芯片設(shè)計(jì)的交通燈的靈活度不高,難以更新和擴(kuò)展的特點(diǎn),既減輕了工作負(fù)擔(dān),又節(jié)約了資源;</p><p> (4)近年
37、來(lái)CPLD價(jià)格逐步下降,性能卻大幅度的提高,實(shí)際應(yīng)用性高。</p><p> 盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點(diǎn),但由于CPLD和FPGA結(jié)構(gòu)上的差異,具有各自的特點(diǎn):</p><p> 1.CPLD更適合完成各種算法和組合邏輯,FPGA更適合于完成時(shí)序邏輯。換句話說(shuō),FPGA更適合于觸發(fā)器豐富的結(jié)構(gòu),而CPLD更適合于觸發(fā)器有限而乘積項(xiàng)豐富的結(jié)構(gòu); <
38、/p><p> 2.CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲是均勻的和可預(yù)測(cè)的,而FPGA的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測(cè)性; </p><p> 3.在編程上FPGA比CPLD具有更大的靈活性。CPLD通過(guò)修改具有固定內(nèi)連電路的邏輯功能來(lái)編程,FPGA主要通過(guò)改變內(nèi)部連線的布線來(lái)編程;FP GA可在邏輯門(mén)下編程,而CPLD是在邏輯塊下編程; </p><p&g
39、t; 4.FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn);</p><p> 5.CPLD比FPGA使用起來(lái)更方便。CPLD的編程采用E2PROM或FASTFLASH技術(shù),無(wú)需外部存儲(chǔ)器芯片,使用簡(jiǎn)單。而FPGA的編程信息需存放在外部存儲(chǔ)器上,使用方法復(fù)雜; </p><p> 6.CPLD的速度比FPGA快,并且具有較大的時(shí)間可預(yù)測(cè)性。這是由于FPGA是門(mén)級(jí)編程,并且
40、CLB之間采用分布式互聯(lián),而CPLD是邏輯塊級(jí)編程,并且其邏輯塊之間的互聯(lián)是集總式的; </p><p> 7.在編程方式上,CPLD主要是基于E2PROM或FLASH存儲(chǔ)器編程,編程次數(shù)可達(dá)1萬(wàn)次,優(yōu)點(diǎn)是系統(tǒng)斷電時(shí)編程信息也不丟失。CPLD又可分為在編程器上編程和在系統(tǒng)編程兩類(lèi)。FPGA大部分是基于SRAM編程,編程信息在系統(tǒng)斷電時(shí)丟失,每次上電時(shí),需從器件外部將編程數(shù)據(jù)重新寫(xiě)入SRAM中。其優(yōu)點(diǎn)是可以編程任
41、意次,可在工作中快速編程,從而實(shí)現(xiàn)板級(jí)和系統(tǒng)級(jí)的動(dòng)態(tài)配置; </p><p> 8.CPLD保密性好,FPGA保密性差; </p><p> 9.一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。</p><p> 2.2 Verilog HDL介紹</p><p> 近30年來(lái),由于微電子學(xué)和計(jì)算機(jī)科學(xué)的迅速發(fā)展,給E
42、DA(電子設(shè)計(jì)自動(dòng)化)行業(yè)帶來(lái)了巨大的變化。特別是進(jìn)入20世紀(jì)90年代后,電子系統(tǒng)已經(jīng)從電路板級(jí)系統(tǒng)集成發(fā)展成為包括ASIC、FPGA和嵌入系統(tǒng)的多種模式。可以說(shuō)EDA產(chǎn)業(yè)已經(jīng)成為電子信息類(lèi)產(chǎn)品的支柱產(chǎn)業(yè)。EDA之所以能蓬勃發(fā)展的關(guān)鍵因素之一就是采用了硬件描述語(yǔ)言(HDL)描述電路系統(tǒng)。就FPGA和CPLD開(kāi)發(fā)而言,比較流行的HDL主要有Verilog HDL、VHDL、ABEL-HDL和 AHDL 等。其中VHDL與Verilog H
43、DL這兩種語(yǔ)言都是用于數(shù)字電子系統(tǒng)設(shè)計(jì)的硬件描述語(yǔ)言,而且都已經(jīng)是 IEEE 的標(biāo)準(zhǔn)。 VHDL 1987 年成為標(biāo)準(zhǔn),而Verilog硬件描述語(yǔ)言(Verilog HDL)于1995年被接納為IEEE標(biāo)準(zhǔn),標(biāo)準(zhǔn)編號(hào)為IEEE Std 1364-1995。它使各種設(shè)計(jì)工具(包括驗(yàn)證仿真、時(shí)序分析、測(cè)試分析以及綜合)能夠在多個(gè)抽象層次上以標(biāo)準(zhǔn)文本格式描述數(shù)字系統(tǒng),簡(jiǎn)單、直觀并富有效率。由于其豐富的功能,Ver
44、ilog HDL已經(jīng)成為數(shù)字系統(tǒng)設(shè)計(jì)的首選語(yǔ)言。</p><p> 這兩者有其共同的特點(diǎn):1. 能形式化地抽象表示電路的行為和結(jié)構(gòu);2. 支持邏輯設(shè)計(jì)中層次與范圍地描述;3. 可借用高級(jí)語(yǔ)言地精巧結(jié)構(gòu)來(lái)簡(jiǎn)化電路行為和結(jié)構(gòu);具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性;4. 支持電路描述由高層到低層的綜合轉(zhuǎn)換;5. 硬件描述和實(shí)現(xiàn)工藝無(wú)關(guān);6. 便于文檔管理;7. 易于理解和設(shè)計(jì)重用。<
45、;/p><p> 但是兩者也各有特點(diǎn):</p><p> Verilog HDL 推出已經(jīng)有 20 年了,擁有廣泛的設(shè)計(jì)群體,成熟的資源也比 VHDL 豐富。 Verilog 更大的一個(gè)優(yōu)勢(shì)是:它非常容易掌握,只要有 C 語(yǔ)言的編程基礎(chǔ),通過(guò)比較短的時(shí)間,經(jīng)過(guò)一些實(shí)際的操作,可以在 2 ~ 3 個(gè)月內(nèi)掌握這種設(shè)計(jì)技術(shù)。而 VHDL 設(shè)計(jì)相對(duì)要難一點(diǎn),這個(gè)是因?yàn)?VHDL 不是很直觀,需要有
46、EDA編程基礎(chǔ),一般認(rèn)為至少要半年以上的專(zhuān)業(yè)培訓(xùn)才能掌握。 目前版本的 Verilog HDL 和 VHDL 在行為級(jí)抽象建模的覆蓋面范圍方面有所不同。一般認(rèn)為 Verilog 在系統(tǒng)級(jí)抽象方面要比 VHDL 略差一些,而在門(mén)級(jí)開(kāi)關(guān)電路描述方面要強(qiáng)的多。 近 10 年來(lái), EDA 界一直在對(duì)數(shù)字邏輯設(shè)計(jì)中究竟用哪一種硬件描述語(yǔ)言爭(zhēng)論不休,目前在美國(guó),高層次數(shù)字系統(tǒng)設(shè)計(jì)領(lǐng)域中,應(yīng)用 Verilog 和 VHDL 的比率是
47、80 %和 20 %;日本和臺(tái)灣和美國(guó)差不多;而在歐洲 VHDL 發(fā)展的比較好。在中國(guó)很多集成電路設(shè)計(jì)公司都采用 Verilog ,但 VHDL 也有一定的市場(chǎng)。</p><p> Verilog HDL是一種硬件描述語(yǔ)言,可用于從算法級(jí)、門(mén)級(jí)到開(kāi)關(guān)級(jí)的多種抽象層次的數(shù)字系統(tǒng)建模[8]。由于Verilog HDL既是機(jī)器可讀的語(yǔ)言也是人類(lèi)可讀的語(yǔ)言,因此它支持硬件設(shè)計(jì)的開(kāi)發(fā)、驗(yàn)證、綜合和測(cè)試
48、;硬件數(shù)據(jù)之間的通信;硬件的設(shè)計(jì)、維護(hù)和修改?,F(xiàn)在,Verilog HDL已經(jīng)成為數(shù)字系統(tǒng)設(shè)計(jì)的首選語(yǔ)言,并成為綜合、驗(yàn)證和布局布線技術(shù)的基礎(chǔ)。</p><p> Verilog HDL的基本結(jié)構(gòu)是:用Verilog HDL描述的電路設(shè)計(jì)就是該電路的Verilog HDL模型,也稱(chēng)為模塊,是Verilog的基本描述單位。模塊描述某個(gè)設(shè)計(jì)的功能或結(jié)構(gòu)以及與其他模塊通信的外部接口,一般來(lái)說(shuō)一個(gè)文件就是一個(gè)
49、模塊,但并不絕對(duì)如此。模塊是并行運(yùn)行的,通常需要一個(gè)高層模塊通過(guò)調(diào)用其他模塊的實(shí)例來(lái)定義一個(gè)封閉的系統(tǒng),包括測(cè)試數(shù)據(jù)和硬件描述。一個(gè)模塊的基本架構(gòu)如下:</p><p> module module_name (port_list) //聲明各種變量、信號(hào)
50、60; reg //寄存器 wire//線網(wǎng) parameter//參數(shù) input//輸入信號(hào)
51、160; output/輸出信號(hào) inout//輸入輸出信號(hào) function//函數(shù) task//任務(wù)
52、0; …… //程序代碼 initial assignment always assignment &
53、#160; module assignment gate assignment UDP assignment continous assignment endmodule 說(shuō)明部分用于定義不同的項(xiàng),例如模塊描述中使用的寄存器和參數(shù)。語(yǔ)
54、句用于定義設(shè)計(jì)的功能和結(jié)構(gòu)。說(shuō)明部分可以分散于模塊的任何地方,但是變量、寄存器、線網(wǎng)和參數(shù)等的說(shuō)明必須在使用</p><p> module <模塊名> (<端口列表>) <定義> <模塊條目> endmodule 其中,<定義>用來(lái)指定數(shù)據(jù)對(duì)象為寄存器型、存儲(chǔ)器型、線型以及過(guò)程塊。<模塊條目>可以是initial
55、結(jié)構(gòu)、always結(jié)構(gòu)、連續(xù)賦值或模塊實(shí)例[9]。</p><p> Verilog包含了豐富的內(nèi)建原語(yǔ),包括邏輯門(mén)、用戶(hù)定義的原語(yǔ)、開(kāi)關(guān)以及線邏輯。它還具有器件管腳間的時(shí)延和時(shí)序檢查功能。從本質(zhì)上講,Verilog所具有的混合抽象層次由兩種數(shù)據(jù)類(lèi)型所提供,這兩種數(shù)據(jù)類(lèi)型是線網(wǎng)(net)和變量(variable)。對(duì)于連續(xù)賦值,變量和線網(wǎng)的表達(dá)式能夠連續(xù)地將值驅(qū)動(dòng)到線網(wǎng),它提供了基本的結(jié)構(gòu)級(jí)建模方法。對(duì)于過(guò)程賦
56、值,變量和網(wǎng)絡(luò)值的計(jì)算結(jié)果可以存儲(chǔ)于變量當(dāng)中,它提供了基本的行為級(jí)建模方法。一個(gè)用Verilog HDL描述的設(shè)計(jì)包含一組模塊,每一個(gè)模塊都包含一個(gè)I/O接口和一個(gè)功能描述。模塊的功能描述可以是結(jié)構(gòu)級(jí)的、行為級(jí)的、也可以是結(jié)構(gòu)級(jí)和行為級(jí)的混合。這些模塊組成一個(gè)層次化結(jié)構(gòu)并使用線網(wǎng)進(jìn)行互連。 Verilog語(yǔ)言可以通過(guò)使用編程語(yǔ)言接口(Programming Language Interfac
57、e,PLI)和Verilog程序接口(Verilog Procedural Interface,VPI)進(jìn)行擴(kuò)展。PLI/VPI是一些例程的集合,它使得外部函數(shù)能夠訪問(wèn)包含在Verilog HDL描述內(nèi)部的信息,推動(dòng)了與仿真之間的動(dòng)態(tài)交互。PLI/VPI的</p><p><b> 2.3 仿真軟件</b></p><p> 本設(shè)計(jì)
58、利用的是Max+plusⅡ仿真軟件進(jìn)行仿真,Max+plusⅡ是Altera公司提供的FPGA/CPLD開(kāi)發(fā)集成環(huán)境,Altera是世界上最大可編程邏輯器件的供應(yīng)商之一。Max+plusⅡ界面友好,使用便捷,被譽(yù)為業(yè)界最易用易學(xué)的EDA軟件。在Max+plusⅡ上可以完成設(shè)計(jì)輸入、元件適配、時(shí)序仿真和功能仿真、編程下載整個(gè)流程,它提供了一種與結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)環(huán)境,是設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程[10]。</p>
59、;<p> Max+plusⅡ開(kāi)發(fā)系統(tǒng)的特點(diǎn):</p><p><b> 1、開(kāi)放的界面 </b></p><p> Max+plusⅡ支持與Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。</p><p><b>
60、 2、與結(jié)構(gòu)無(wú)關(guān) </b></p><p> Max+plusⅡ系統(tǒng)的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可編程邏輯器件,提供了世界上唯一真正與結(jié)構(gòu)無(wú)關(guān)的可編程邏輯設(shè)計(jì)環(huán)境。 </p><p><b> 3、完全集成化 </b>&l
61、t;/p><p> Max+plusⅡ的設(shè)計(jì)輸入、處理與較驗(yàn)功能全部集成在統(tǒng)一的開(kāi)發(fā)環(huán)境下,這樣可以加快動(dòng)態(tài)調(diào)試、縮短開(kāi)發(fā)周期。 </p><p><b> 4、豐富的設(shè)計(jì)庫(kù) </b></p><p> Max+plusⅡ提供豐富的庫(kù)單元供設(shè)計(jì)者調(diào)用,其中包括74系列的全部器件和多種特殊的邏輯功能(Macro-Function)以及新型的參數(shù)
62、化的兆功能(Mage-Function)。 </p><p><b> 5、模塊化工具 </b></p><p> 設(shè)計(jì)人員可以從各種設(shè)計(jì)輸入、處理和較驗(yàn)選項(xiàng)中進(jìn)行選擇從而使設(shè)計(jì)環(huán)境用戶(hù)化。 </p><p> 6、硬件描述語(yǔ)言(HDL) </p><p> Max+plusⅡ軟件支持各種HDL設(shè)計(jì)輸入選項(xiàng),包括
63、VHDL、Verilog HDL和Altera自己的硬件描述語(yǔ)言AHDL。 </p><p> 7、Opencore特征 </p><p> Max+plusⅡ軟件具有開(kāi)放核的特點(diǎn),允許設(shè)計(jì)人員添加自己認(rèn)為有價(jià)值的宏函數(shù)。</p><p><b> 2.4 仿真流程</b></p><p> 用VHDL/Ver
64、ilogHD語(yǔ)言開(kāi)發(fā)PLD/FPGA的完整流程為:</p><p> 1.文本編輯:用任何文本編輯器都可以進(jìn)行,也可以用專(zhuān)用的HDL編輯環(huán)境。通常VHDL文件保存為.vhd文件,Verilog文件保存為.v文件。</p><p> 2.功能仿真:將文件調(diào)入HDL仿真軟件進(jìn)行功能仿真,檢查邏輯功能是否正確(也叫前仿真,對(duì)簡(jiǎn)單的設(shè)計(jì)可以跳過(guò)這一步,只在布線完成以后,進(jìn)行時(shí)序仿真)。<
65、/p><p> 3.邏輯綜合:將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合,即把語(yǔ)言綜合成最簡(jiǎn)的布爾表達(dá)式和信號(hào)的連接關(guān)系。邏輯綜合軟件會(huì)生成.edf(edif)的EDA工業(yè)標(biāo)準(zhǔn)文件。</p><p> 4.布局布線:將.edf文件調(diào)入PLD廠家提供的軟件中進(jìn)行布線,即把設(shè)計(jì)好的邏輯安放到PLD/FPGA內(nèi)。</p><p> 5.時(shí)序仿真:需要利用在布局布線中獲得的精確參數(shù)
66、,用仿真軟件驗(yàn)證電路的時(shí)序(也叫后仿真)。</p><p> 6.編程下載:確認(rèn)仿真無(wú)誤后,將文件下載到芯片中。</p><p> 第三章 交通信號(hào)控制電路的功能及實(shí)現(xiàn)原理</p><p> 3.1 交通信號(hào)控制電路的功能分析</p><p> 本文所設(shè)計(jì)的交通控制電路主要實(shí)現(xiàn)直行綠燈倒計(jì)時(shí)、通行方向指示(左轉(zhuǎn)、直行和右轉(zhuǎn))、左轉(zhuǎn)
67、彎待轉(zhuǎn)指示和緊急狀態(tài)這四種功能。</p><p><b> 具體通行情況如下:</b></p><p> (1)南北走向的右轉(zhuǎn)和直行綠燈亮,左轉(zhuǎn)待轉(zhuǎn)指示燈亮,東西走向的指示燈全部為紅燈,持續(xù)20s;</p><p> ?。?)20s后,南北走向的左轉(zhuǎn)待轉(zhuǎn)指示燈滅,右轉(zhuǎn)和直行綠燈切換為黃燈并持續(xù)3s;</p><p>
68、 ?。?)3s后,南北走向的左轉(zhuǎn)指示燈亮,右轉(zhuǎn)和直行指示燈為紅燈,持續(xù)20s;</p><p> ?。?)20s后,南北走向的左轉(zhuǎn)綠燈切換為黃燈并持續(xù)3s;</p><p> ?。?)3s后,南北走向的指示燈全為紅燈,東西走向的右轉(zhuǎn)和直行綠燈亮,左轉(zhuǎn)待轉(zhuǎn)指示燈亮,持續(xù)20s;</p><p> ?。?)20s后,東西走向的左轉(zhuǎn)待轉(zhuǎn)指示燈滅,右轉(zhuǎn)和直行綠燈切換為黃燈并
69、持續(xù)3s;</p><p> ?。?)3s后,東西走向的左轉(zhuǎn)指示燈亮,右轉(zhuǎn)和直行指示燈為紅燈,持續(xù)20s;</p><p> ?。?)20s后,東西走向的左轉(zhuǎn)綠燈切換為黃燈并持續(xù)3s;</p><p> ?。?)以上8種狀態(tài)循環(huán)往復(fù),指揮交通。</p><p> ?。?0)遇到公務(wù)車(chē)出行時(shí)的緊急狀態(tài),各方向全部紅燈亮,讓路給公務(wù)車(chē)。</
70、p><p> 3.2 交通信號(hào)控制電路實(shí)現(xiàn)原理</p><p> 本文設(shè)計(jì)的交通信號(hào)控制控制電路實(shí)現(xiàn)原理是:把由20M的有源晶振HOSONIC419產(chǎn)生的復(fù)雜可編程邏輯器件CPLD的系統(tǒng)時(shí)鐘輸入到分頻模塊,經(jīng)分頻模塊分頻產(chǎn)生頻率為1Hz的時(shí)鐘脈沖,作為控制定時(shí)模塊、控制模塊、緊急模塊、計(jì)數(shù)模塊的時(shí)鐘信號(hào),然后再由定時(shí)模塊來(lái)控制緊急模塊和控制模塊,按照交通管理規(guī)則控制各色箭頭工作狀態(tài)的切換
71、和各箭頭的持續(xù)時(shí)間,然后把各箭頭的狀態(tài)送到發(fā)光二極管來(lái)顯示。最后,由系統(tǒng)時(shí)鐘和計(jì)數(shù)模塊以及控制模塊來(lái)共同控制計(jì)數(shù)器控制模塊,計(jì)數(shù)器的時(shí)鐘為1Hz,再把計(jì)數(shù)器控制模塊送出的BCD碼送給譯碼器譯碼后,送給數(shù)碼管顯示各方向直行綠燈的倒計(jì)時(shí)。</p><p> 本設(shè)計(jì)在EPM7128S芯片上完成設(shè)計(jì),EPM7128S是以CPLD(Complex Programmable Logic Device)MAX7128S為核心
72、芯片。ALTERA的EPM7128S系列CPLD是基于第二代多陣列矩陣(MAX)結(jié)構(gòu)體系地高性能EEPROM結(jié)構(gòu)的CPLD。完全符合IEEE 1149.1 JTAG邊界掃描標(biāo)準(zhǔn),具有5V ISP的功能;邏輯密度為2500個(gè)可用編程門(mén)電路,128個(gè)宏單元;可編程I/O口,TTL邏輯電平為5V或3V;引腳到引腳的邏輯延時(shí)為5.0ns,計(jì)數(shù)器工作頻率可達(dá)到151.5MHz(EPM7128SLC-6);有集電極開(kāi)路選擇,可編程宏單元觸發(fā)器,具有
73、專(zhuān)有的清除(clear)、時(shí)鐘(clock)、輸出使能(OE)控制;與不同電源電壓的系統(tǒng)接口,VCCIO引腳用于輸出緩沖器接到5V電源時(shí),輸出電平與5V電源兼容,VCCIO引腳用于輸出緩沖器接到3.3V電源時(shí),輸出電平與3.3V電源兼容,VCCINT用于內(nèi)部電路和輸入緩沖器;器件具有一個(gè)可編程的程序加密位,全面保護(hù)你的設(shè)計(jì),防止程序被讀出和復(fù)制。</p><p> 芯片的特點(diǎn)有以下幾點(diǎn):</p>
74、<p> 以第二代多陣列矩陣(MAX)結(jié)構(gòu)為基礎(chǔ),是一種高性能CMOS EEPROM器件; </p><p> 通過(guò)JTAG(Joint Text Action Group聯(lián)合測(cè)試組)接口可實(shí)現(xiàn)在線編程(ISP),本實(shí)驗(yàn)板提供JTAG接口; </p><p> 邏輯密度為2500個(gè)可用編程門(mén)電路,128個(gè)宏單元; </p><p> 68條可編程I
75、/O口,TTL邏輯電平為5V或3V; </p><p> 引腳到引腳的邏輯延時(shí)為5.0ns,計(jì)數(shù)器工作頻率可達(dá)到151.5MHz;</p><p> 有集電極開(kāi)路選擇,可編程宏單元觸發(fā)器,具有專(zhuān)有的清除(clear)、時(shí)鐘(clock)、輸出使能(OE)控制; </p><p> 與不同電源電壓的系統(tǒng)接口,VCCIO引腳用于輸出緩沖器接到5V電源時(shí),輸出電平與
76、5V電源兼容,VCCIO引腳用于輸出緩沖器接到3.3V電源時(shí),輸出電平與3.3V電源兼容,VCCINT用于內(nèi)部電路和輸入緩沖器; </p><p> 包括一個(gè)可編程的程序加密位,全面保護(hù)專(zhuān)利設(shè)計(jì),防止程序被復(fù)制和讀出。</p><p> 以下為交通信號(hào)控制電路實(shí)現(xiàn)原理如圖3.2所示:</p><p> 圖3.2 交通信號(hào)控制電路實(shí)現(xiàn)原理圖</p>
77、<p> 第四章 交通控制電路的Verilog HDL的設(shè)計(jì)實(shí)現(xiàn)</p><p> 本文所設(shè)計(jì)的交通信號(hào)控制電路通過(guò)Verilog HDL來(lái)實(shí)現(xiàn),遵照電路所實(shí)現(xiàn)的功能,確立本課題分為分頻模塊、控制模塊、定時(shí)模塊、計(jì)數(shù)模塊、計(jì)數(shù)器控制模塊、譯碼模塊和緊急模塊七大部分。</p><p><b> 4.1 分頻模塊</b></p>&l
78、t;p> 分頻模塊的作用是將CPLD的頻率轉(zhuǎn)換為所需的時(shí)鐘頻率。本文設(shè)計(jì)所選的CPLD為EPM7128S,它的頻率為20MHz,而交通信號(hào)控制電路所要求的頻率為1Hz。因此,只有把EPM7128S進(jìn)行20000000分頻才能得到所需頻率。分頻模塊的編程代碼見(jiàn)附錄。</p><p><b> 變量定義說(shuō)明如下:</b></p><p> clk:CPLD系統(tǒng)
79、時(shí)鐘;</p><p> CP:分頻后的時(shí)鐘。</p><p><b> 4.2 控制模塊</b></p><p> 控制模塊是交通信號(hào)控制電路中最重要的部分,它按照交通管理規(guī)則控制信號(hào)燈工作狀態(tài)的轉(zhuǎn)換來(lái)指揮交通。本文設(shè)計(jì)的交通信號(hào)控制電路把南北向或東西向相同轉(zhuǎn)向的指示燈使用同一控制端,即節(jié)約了資源,又提高了程序運(yùn)行速度??刂颇K采用M
80、OOR型狀態(tài)機(jī)設(shè)計(jì)方法設(shè)計(jì),其編程代碼見(jiàn)附錄。</p><p><b> 變量定義說(shuō)明如下:</b></p><p> NSlturnsta,WElturnsta:分別為南北向和東西向的左彎待轉(zhuǎn)指示燈;</p><p> NSR1,NSY1,NSG1,NSR2,NSY2,NSG2,NSR3,NSY3,NSG3:分別為南北向左轉(zhuǎn)紅黃綠箭頭,
81、直行紅黃綠箭頭和右轉(zhuǎn)紅黃綠箭頭;</p><p> WER1,WEY1,WEG1,WER2,WEY2,WEG2,WER3,WEY3,WEG3:分別為東西向左轉(zhuǎn)紅黃綠箭頭,直行紅黃綠箭頭和右轉(zhuǎn)紅黃綠箭頭;</p><p> CP:分頻后的時(shí)鐘;</p><p><b> s:各個(gè)燈的狀態(tài);</b></p><p>
82、 控制模塊模擬仿真后得到的波形如圖4.1所示。從圖中可知,當(dāng)南北向左彎待轉(zhuǎn)指示燈亮(NSlturnsta)的時(shí)候,南北向直行綠色指示燈(NSG2)和右轉(zhuǎn)綠色指示燈(NSG3)亮,左轉(zhuǎn)顯示紅燈(NSR1)。當(dāng)南北向直行黃色指示燈(NSY2)和右轉(zhuǎn)黃色指示燈亮(NSY3)的時(shí)候,南北向左彎待轉(zhuǎn)指示燈(NSlturnsta)滅,左轉(zhuǎn)顯示紅燈(NSR1)。當(dāng)左轉(zhuǎn)綠色指示燈亮(或者閃爍)(NSG1)或黃色指示燈</p><p&
83、gt; (NSY1)亮的時(shí)候,直行(NSR2)和右轉(zhuǎn)(NSR3)顯示紅燈,黃燈過(guò)后,南北向全紅燈。切換為東西向顯示,各燈切換順序同南北向。故該模塊符合設(shè)計(jì)要求,設(shè)計(jì)合理。</p><p> 圖4.1 控制模塊仿真波形圖</p><p><b> 4.3 定時(shí)模塊</b></p><p> 定時(shí)模塊是交通信號(hào)控制電路中不可或缺的部分,
84、它決定了各信號(hào)燈持續(xù)亮滅的時(shí)間。因此定時(shí)模塊設(shè)計(jì)的合理性直接影響著交通信號(hào)控制電路的優(yōu)劣。定時(shí)模塊的編程代碼見(jiàn)附錄。</p><p><b> 變量定義說(shuō)明如下:</b></p><p> CP:分頻后的時(shí)鐘;</p><p><b> s:各個(gè)燈的狀態(tài)。</b></p><p> 定時(shí)模塊
85、模擬仿真后得到的波形圖如圖4.2。由圖可知,當(dāng)狀態(tài)0(s=0)持續(xù)17秒(j=16)后切換為狀態(tài)1(s=1),狀態(tài)1持續(xù)3秒(j=19)后切換為狀態(tài)3(s=3)。故該模塊符合設(shè)計(jì)要求,設(shè)計(jì)合理。</p><p> 圖4.2 定時(shí)模塊仿真波形圖</p><p><b> 4.4 計(jì)數(shù)模塊</b></p><p> 本設(shè)計(jì)的計(jì)數(shù)模塊的作用
86、是計(jì)算直行綠燈的持續(xù)時(shí)間20秒,顯示直行綠燈的倒計(jì)時(shí)。計(jì)數(shù)模塊的編程代碼如下:</p><p><b> 變量定義如下:</b></p><p> CP:分頻后的時(shí)鐘;</p><p> dataout:直行綠燈倒計(jì)時(shí)。</p><p> 計(jì)數(shù)模塊模擬仿真后的波形圖如圖4.3。從圖中可看出,計(jì)數(shù)時(shí)間間隔為1秒,數(shù)
87、字從19倒計(jì)數(shù)至0。故符合設(shè)計(jì)要求,設(shè)計(jì)合理。</p><p> 圖4.3 計(jì)數(shù)模塊仿真波形</p><p> 4.5 計(jì)數(shù)器控制模塊</p><p> 計(jì)數(shù)器控制模塊也就是動(dòng)態(tài)掃描模塊,它的作用是把計(jì)數(shù)模塊的數(shù)字送給譯碼模塊。計(jì)數(shù)器控制模塊的編程代碼見(jiàn)附錄。</p><p><b> 變量定義說(shuō)明如下:</b&g
88、t;</p><p> NSlturnsta,WElturnsta:分別為南北向和東西向左彎待轉(zhuǎn)指示燈;</p><p> NS1,NS2,WE1,WE2:置位指示信號(hào);</p><p> Datain:從計(jì)數(shù)器傳送來(lái)的數(shù)據(jù);</p><p> Dataled:置位后輸出給譯碼器的數(shù)據(jù);</p><p> C
89、lk:CPLD系統(tǒng)時(shí)鐘。</p><p> 計(jì)數(shù)器控制模塊模擬仿真后的波形如圖4.4。由圖可知,當(dāng)南北向左彎待轉(zhuǎn)指示燈(NSlturnsta)亮、東西向左彎待轉(zhuǎn)指示燈(WElturnsta)滅,狀態(tài)(s)為1的時(shí)候,把計(jì)數(shù)器的個(gè)位數(shù)送給南北向數(shù)碼顯示管的個(gè)位,南北向個(gè)位置位指示燈(NS1)亮;當(dāng)狀態(tài)為2的時(shí)候把計(jì)數(shù)器的十位數(shù)送給南北向數(shù)碼顯示管的十位,南北向個(gè)位置位指示燈(NS2)亮。</p>&
90、lt;p> 當(dāng)東西向左彎待轉(zhuǎn)指示燈(WElturnsta)亮、南北向左彎待轉(zhuǎn)指示燈(NSlturnsta)滅,狀態(tài)(s)為3的時(shí)候,把計(jì)數(shù)器的個(gè)位數(shù)送給東西向數(shù)碼顯示管的個(gè)位,東西向個(gè)位置位指示燈(WE1)亮;當(dāng)狀態(tài)為4的時(shí)候把計(jì)數(shù)器的十位數(shù)送給東西向數(shù)碼顯示管的十位,東西向十位置位指示燈(WE2)亮。</p><p> 圖4.4 計(jì)數(shù)器控制模塊仿真波形圖</p><p>&l
91、t;b> 4.6 譯碼模塊</b></p><p> 譯碼模塊的作用是把計(jì)數(shù)器控制模塊傳送過(guò)來(lái)的BCD碼轉(zhuǎn)換成7段字型代碼,并送給數(shù)碼顯示管顯示。譯碼模塊的編程代碼見(jiàn)附錄。</p><p><b> 變量定義說(shuō)明如下:</b></p><p> a,b,c,d,e,f,g:7段數(shù)碼管的各段指示燈;</p>
92、<p> dp:數(shù)碼管上的小數(shù)點(diǎn);</p><p> data:從計(jì)數(shù)器控制模塊傳送來(lái)的數(shù)據(jù)。</p><p> 譯碼模塊的模擬仿真波形如圖4.5。由圖可知,符合設(shè)計(jì)要求,設(shè)計(jì)合理。</p><p> 圖4.5 譯碼模塊仿真波形圖</p><p><b> 4.7 緊急模塊</b></p
93、><p> 緊急模塊的作用是為警車(chē)、消防車(chē)、救護(hù)車(chē)、運(yùn)鈔車(chē)及裝載有毒物品的貨車(chē)等特殊類(lèi)型的車(chē)輛提供實(shí)時(shí)優(yōu)先通行權(quán),它的實(shí)現(xiàn)原理是使得系統(tǒng)時(shí)鐘顯示低電平狀態(tài),讓各方向都顯示全紅燈狀態(tài)。緊急模塊的編程代碼如下:</p><p><b> 變量定義說(shuō)明如下:</b></p><p> jinji:緊急狀態(tài)輸入端;</p><p&
94、gt;<b> clk:系統(tǒng)時(shí)鐘;</b></p><p> clk1:緊急狀態(tài)模塊時(shí)鐘。</p><p> 緊急模塊的模擬仿真波形如圖4.6。如圖可知,當(dāng)緊急狀態(tài)按鈕(jinji)按下的時(shí)候,時(shí)鐘(clk1)顯示為低電平,否則時(shí)鐘為CPLD的時(shí)鐘(clk)。故符合設(shè)計(jì)要求,設(shè)計(jì)合理。</p><p> 圖4.6 緊急模塊仿真波形圖&
95、lt;/p><p> 第五章 總結(jié)與展望</p><p> 5.1 開(kāi)發(fā)難點(diǎn)與解決技巧</p><p> 本設(shè)計(jì)在開(kāi)發(fā)過(guò)程中遇到了眾多問(wèn)題和困難,現(xiàn)在把一些主要的開(kāi)發(fā)難點(diǎn)和解決技巧羅列如下:</p><p> 問(wèn)題一、由于輸出口太多,不僅浪費(fèi)了資源,而且影響了程序的執(zhí)行速度。</p><p> 解決技巧:把兩
96、個(gè)相對(duì)方向的相同轉(zhuǎn)向的同顏色指示燈接同一輸出口,每一時(shí)刻直行和右轉(zhuǎn)方向的狀態(tài)相同。既加快了程序運(yùn)行速度,又節(jié)約了資源。</p><p> 問(wèn)題二、該系統(tǒng)對(duì)直行綠燈的持續(xù)時(shí)間進(jìn)行了倒計(jì)時(shí),所以在南北向和東西向七段數(shù)碼顯示管的切換上難以把握。</p><p> 解決技巧:在設(shè)計(jì)過(guò)程中,本文使用了動(dòng)態(tài)掃描來(lái)實(shí)現(xiàn)。具體實(shí)現(xiàn)方法為:把計(jì)數(shù)器輸出的數(shù)據(jù)傳送給計(jì)數(shù)器控制器,然后把輸出的數(shù)據(jù)送給譯碼器
97、,最后在不同時(shí)刻把數(shù)據(jù)的個(gè)位和十位分別南北向的個(gè)位和十位或東西向的個(gè)位和十位。</p><p> 總之,在開(kāi)發(fā)設(shè)計(jì)的過(guò)程中存在有種種問(wèn)題和難點(diǎn)。但是,經(jīng)過(guò)查閱資料和指導(dǎo)老師的指導(dǎo)下,以及同學(xué)的幫助下,解決了很多困難和難題。</p><p> 5.2 系統(tǒng)說(shuō)明與總結(jié)</p><p> 本系統(tǒng)主要應(yīng)用于交通繁忙、路況繁忙的十字路口,系統(tǒng)設(shè)置為南北向直行和右轉(zhuǎn)綠燈
98、持續(xù)20秒后,切換為黃燈亮3秒,然后再切換為紅燈,同時(shí)左轉(zhuǎn)綠燈亮,持續(xù)20秒。最后左轉(zhuǎn)黃燈亮3秒,切換為紅燈,同時(shí)東西向各指示燈以相同的順序和時(shí)間間隔執(zhí)行(注:各走向的左彎待轉(zhuǎn)指示燈跟直行燈同時(shí)亮滅)。交通部門(mén)亦可根據(jù)各路段各時(shí)間點(diǎn)的路況信息隨時(shí)調(diào)整系統(tǒng)各指示燈的持續(xù)狀態(tài)。</p><p> 該系統(tǒng)配備一個(gè)緊急狀態(tài)遙控器,上面有緊急按鈕,警車(chē)、救護(hù)車(chē)等公務(wù)車(chē)出行的時(shí)候,可以通過(guò)此按鈕讓各方向都指示為紅燈,以便讓
99、公務(wù)車(chē)優(yōu)先行駛。緊急情況出現(xiàn)太過(guò)頻繁或持續(xù)時(shí)間過(guò)長(zhǎng),將嚴(yán)重影響交通或造成堵塞,所以必須控制該遙控器數(shù)量,并加以嚴(yán)格保管。最終實(shí)現(xiàn)城市交通安全,暢通無(wú)阻的交通環(huán)境,以提高人民生活安全保障。</p><p><b> 5.3 展望</b></p><p> 隨著生活水平的日益提高,以車(chē)帶步的需求會(huì)越來(lái)越高,因此汽車(chē)數(shù)量也會(huì)越來(lái)越多,這將直接導(dǎo)致交通狀況越來(lái)越糟。所以
100、不管時(shí)代如何發(fā)展,交通信號(hào)控制電路系統(tǒng)是永遠(yuǎn)不會(huì)被淘汰的,而且隨著時(shí)代的進(jìn)步,對(duì)此的要求越來(lái)越高,設(shè)計(jì)越來(lái)越復(fù)雜。在以后的設(shè)計(jì)中,不妨加入傳感器,擴(kuò)展新的功能,可以根據(jù)上下班高峰或節(jié)假日的車(chē)流量調(diào)整各方向各色指示燈的亮滅順序和持續(xù)時(shí)間,使之更加智能化,使得交通更加規(guī)范有序。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]史忠科,陳小鋒,趙凱.
101、一種智能交通信號(hào)控制機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2004,08:145.[2]陳宗梅.交通燈控制系統(tǒng)電路設(shè)計(jì)[J].重慶職業(yè)技術(shù)學(xué)院學(xué)報(bào),2005,02:1.</p><p> [3]趙凱.一種基于EDA的智能交通燈設(shè)計(jì)[J].武漢工業(yè)學(xué)院學(xué)報(bào),2009,01:1.[4]徐春嬌.基于VHDL狀態(tài)機(jī)設(shè)計(jì)的智能交通控制燈[J].國(guó)外電子元器件,2007,02:39.</p><p&
102、gt; [5]何峰.基于Verilog HDL設(shè)計(jì)的交通燈控制系統(tǒng)[J].現(xiàn)代電子技術(shù),2005, 08:2.[6]郭長(zhǎng)輝,王思明.基于Verilog HDL語(yǔ)言的帶左轉(zhuǎn)復(fù)雜交通燈設(shè)計(jì)[J].微型電腦應(yīng)用,2006,04:1.[7]徐志軍,徐光輝.CPLD/FPGA的開(kāi)發(fā)與應(yīng)用[M].北京:電子工業(yè)出版社,2002.17.</p><p> [8]王金明,楊吉斌.數(shù)字系統(tǒng)設(shè)計(jì)與Verilong HDL[M
103、].北京:電子工業(yè)出版社,2002.146.</p><p> [9]張明.Verilong HDL實(shí)用教程[M].成都:電子科技大學(xué)出版社,1999.18.</p><p> [10]文暢.基于FPGA/CPLD和VHDL語(yǔ)言的交通燈控制系統(tǒng)設(shè)計(jì)[J].開(kāi)發(fā)研究與設(shè)計(jì)技術(shù),2007,06:1618.</p><p><b> 附錄</b>
104、;</p><p> EPM7128S芯片參考圖片:</p><p> 4.1 分頻模塊的編程代碼程序如下:</p><p> module fenpin(CP,clk);</p><p> output CP;</p><p><b> reg CP;</b></p>&
105、lt;p> reg[24:0]i;</p><p> input clk;</p><p> always@(posedge clk)</p><p><b> begin</b></p><p> if(i==19999999) //實(shí)現(xiàn)20000000分頻</p><p>&
106、lt;b> begin</b></p><p><b> i<=0;</b></p><p><b> CP<=1;</b></p><p><b> end</b></p><p><b> else</b><
107、;/p><p><b> begin</b></p><p><b> i<=i+1;</b></p><p><b> CP<=0;</b></p><p><b> end</b></p><p><b&g
108、t; end</b></p><p><b> endmodule</b></p><p> 4.2 控制模塊編程代碼程序如下:</p><p> module control(NSlturnsta,NSR1,NSY1,NSG1,NSR2,NSY2,NSG2,NSR3,NSY3,NSG3,</p><p&
109、gt; WElturnsta,WER,WEY1,WEG1,WER2,WEY2,WEG2,WER3,WEY3,WEG3,s,CP);</p><p> output NSlturnsta,NSR1,NSY1,NSG1,NSR2,NSY2,NSG2,NSR3,NSY3,NSG3,WElturnsta,</p><p> WER1,WEY1,WEG1, WER2,WEY2,WEG2,WER
110、3,WEY3,WEG3;</p><p> output[3:0]s;</p><p><b> input CP;</b></p><p> reg NSlturnsta,NSR1,NSY1,NSG1,NSR2,NSY2,NSG2,NSR3,NSY3,NSG3,WElturnsta,</p><p> WER1
111、,WEY1,WEG1,WER2,WEY2,WEG2,WER3,WEY3,WEG3;</p><p> reg[3:0]s;</p><p> always@(posedge CP)</p><p><b> begin</b></p><p> if(s==11) </p><p><
112、;b> s<=0;</b></p><p><b> else </b></p><p><b> s<=s+1;</b></p><p><b> end</b></p><p> always@(s)</p><p
113、><b> begin</b></p><p><b> case(s)</b></p><p> 4'b0000: //南北向直行和右轉(zhuǎn)綠燈以及左彎待轉(zhuǎn)指示燈亮,東西向全紅燈 </p><p><b> begin</b></p><p>
114、; NSlturnsta<=1;</p><p> WElturnsta<=0;</p><p> NSR1<=1;NSY1<=0;NSG1<=0;</p><p> NSR2<=0;NSY2<=0;NSG2<=1;</p><p> NSR3<=0;NSY3<=0;NSG
115、3<=1; </p><p> WER1<=1;WEY1<=0;WEG1<=0; </p><p> WER2<=1;WEY2<=0;WEG2<=0;</p><p> WER3<=1;WEY3<=0;WEG3<=0;</p><p><b> end&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文-交通燈控制系統(tǒng)設(shè)計(jì)【精校排版】
- 基于verilog hdl交通燈控制系統(tǒng)設(shè)計(jì)
- 基于verilog hdl交通燈控制系統(tǒng)設(shè)計(jì)【通信工程畢業(yè)論文】
- 基于verilog hdl交通燈控制系統(tǒng)設(shè)計(jì)【通信工程畢業(yè)論文】
- 基于Verilog HDL交通燈控制系統(tǒng)設(shè)計(jì)開(kāi)題報(bào)告 .doc
- 基于Verilog HDL交通燈控制系統(tǒng)設(shè)計(jì)(初稿)--楊福.doc
- 基于verilog hdl數(shù)字系統(tǒng)設(shè)計(jì)--交通燈
- 基于Verilog HDL交通燈控制系統(tǒng)設(shè)計(jì)(二稿)--楊福.doc
- 基于Verilog HDL交通燈控制系統(tǒng)設(shè)計(jì)(答辯稿)--楊福.doc
- 畢業(yè)論文-基于單片機(jī)的多路交通燈集中控制系統(tǒng)【精校排版】
- 畢業(yè)論文-基于80c51單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)【精校排版】
- 畢業(yè)論文-基于at89c52單片機(jī)的智能交通燈控制系統(tǒng)設(shè)計(jì)【精校排版】
- plc交通燈畢業(yè)論文--基于plc的交通燈控制系統(tǒng)設(shè)計(jì)
- 交通燈控制系統(tǒng)畢業(yè)論文設(shè)計(jì)
- 交通燈控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 交通燈控制系統(tǒng)畢業(yè)論文設(shè)計(jì)
- 交通燈控制系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 畢業(yè)論文—交通燈控制系統(tǒng)
- 交通燈控制系統(tǒng)畢業(yè)論文
- 交通燈控制系統(tǒng)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論