畢業(yè)設(shè)計(jì)論文基于FPGA的交通燈設(shè)計(jì)
《畢業(yè)設(shè)計(jì)論文基于FPGA的交通燈設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)論文基于FPGA的交通燈設(shè)計(jì)(31頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、基于FPGA的交通燈設(shè)計(jì) 摘要 交通信號指示燈是城市中交通指揮疏導(dǎo)中不可缺少的智能工具。以前用到的大多數(shù)交通燈的控制系統(tǒng)都是采用單片機(jī)或者PLC進(jìn)行設(shè)計(jì)開發(fā)的。本文將采用VHDL硬件描述語言來論述各模塊代碼,并在Quartus II開發(fā)環(huán)境下進(jìn)行編譯,在硬件板子上進(jìn)行調(diào)試和演示。在計(jì)算機(jī)上運(yùn)行成功并生產(chǎn)生成頂層文件后下載在FPGA器件EP2C5T144開發(fā)板子上進(jìn)行驗(yàn)證。通過調(diào)試結(jié)果顯示,本文的設(shè)計(jì)完全可以滿足現(xiàn)在交通指揮的需求,包括時(shí)間提示顯示、相關(guān)狀態(tài)控制和主、支干道的紅、黃、綠燈交替顯示功能。本文在交通燈控制的基礎(chǔ)上,對硬件描述語言以及其設(shè)計(jì)流程做了簡單介紹。 EDA工具是
2、一種十分重要的VHDL語言開發(fā)工具,它是一款能夠?qū)υO(shè)計(jì)過程中任何一個(gè)環(huán)節(jié)或者階段進(jìn)行計(jì)算機(jī)模擬的強(qiáng)大工具,因而,該工具能夠確保準(zhǔn)確的設(shè)計(jì),減少設(shè)計(jì)周期,大大降低成本?;贔PGA的交通燈控制器具有較高的可靠性、擦寫迅速、高效的運(yùn)算能力、故障少、設(shè)計(jì)簡單、質(zhì)量輕以及體積不大等優(yōu)勢。本次設(shè)計(jì)將采用EP2C5T144最小系統(tǒng)開發(fā)板,因?yàn)樗捏w積不大,可以輕松嵌入到外圍電路中,完全可以快速進(jìn)行邏輯判斷,數(shù)據(jù)計(jì)算以及系統(tǒng)運(yùn)算等。本文采用QuartusII軟件進(jìn)行開發(fā),運(yùn)用自頂向下的新型設(shè)計(jì)方法。 關(guān)鍵詞:自動(dòng)、邏輯、交通燈、EDA、FPGA Abstract Traffic light
3、 controller plays a very important role in the regulation of urban traffic. The traditional traffic light controller is based on single-chip microcomputer or PLC. This paper introduces a scheme based on FPGA technology and II Quartus development platform to realize the intersection traffic light con
4、troller. Using VHDL hardware description language description of the module program, and in the II Quartus environment to compile, simulate, generate the top level files downloaded in the FPGA device EPF10K10LC84 FLEX for verification. The verification results show that the basic design to achieve t
5、he control of traffic light controller, including the countdown time display function and main function, the special state control, a road of red, yellow, and green light display function alternately, indicating that the design scheme is correct. In this paper, the design process of the traffic ligh
6、t controller, and briefly introduces the hardware description bright prospect in the digital system design of VHDL language structure model and process design, VHDL design advantages and the language and an important position. EDA tools for electronic design personnel is extremely important, it can
7、 in each stage of electronic design, the level of computer simulation and verification, to ensure the design accuracy and can shorten the design cycle and reduce design cost. Can realize the automatic control of traffic lights crossroads traffic lights. Based on the FPGA design of traffic lights sys
8、tem has high reliability, real-time flash, high operation speed, the failure rate is low, the circuit is simple, and the volume is small. This design uses Altera cycloneii series ep2c5t144 chip as the core of the minimum system, it can easily embed into the actual traffic lights application system,
9、can realize the function of the simple logic control, data acquisition, signal processing and mathematical computing; using QuartusII software as a development platform; using top-down design Keywords: automatic, logic, traffic lights, EDA, FPGA -27- 目錄 摘要 I Abstract II 目錄 III 前言 1 1 緒論 2 1
10、.1論文研究背景及意義 2 1.2 FPGA開發(fā)的歷史及簡介 3 1.3 EP2C5T144最小系統(tǒng)介紹 4 1.4 本文研究的主要內(nèi)容 5 2 硬件設(shè)計(jì) 6 2.1硬件開發(fā)環(huán)境介紹 6 2.2硬件開發(fā)環(huán)境平臺搭建 6 2.3原理圖設(shè)計(jì) 11 3 軟件設(shè)計(jì) 12 3.1軟件開發(fā)平臺介紹 12 3.2軟件開發(fā)平臺搭建 13 3.3程序設(shè)計(jì) 14 3.3.1 程序設(shè)計(jì)分析 15 3.3.2 程序設(shè)計(jì)中需要注意的問題 19 4 實(shí)物模型展示 20 4.1 實(shí)物模型介紹 20 4.2 實(shí)物模型演示方法 21 4.2 仿真說明 23 總結(jié) 25 參考文獻(xiàn) 26 致
11、謝 27 附件1 部分程序源代碼 28 前言 交通燈控制指揮系統(tǒng),其本質(zhì)就是規(guī)范和管理行人和車輛穿越路口的行為,從確保人和車輛能夠安全、快速、合理和有效通過。在現(xiàn)在,交通燈控制器安裝在各個(gè)路口上,大大提高了路口行人和車輛的通行安全性和規(guī)范性,減少了交通事故的發(fā)生幾率。目前實(shí)現(xiàn)交通燈控制有很多方案,比如采用PLC[1](可編程序控制器)、標(biāo)準(zhǔn)邏輯器件、51單片機(jī)[2]等方案來進(jìn)行開發(fā)。若采用單片機(jī)平臺進(jìn)行開發(fā)設(shè)計(jì),其大致電路框架包括基于單片機(jī)的主控電路、電源電路、顯示電路和無線收發(fā)控制電路四個(gè)部分組成。控制電路的芯片為51單片機(jī)或者STC單片機(jī)都可以。同
12、時(shí)需要一個(gè)3.3V或者5.5CV的DCDC,數(shù)碼管顯示電路和無線收發(fā)控制電路是由數(shù)據(jù)發(fā)射模塊和編碼芯片兩部分組成。電路設(shè)計(jì)相對復(fù)雜不說,而且還需要進(jìn)行軟件的設(shè)計(jì)。雖然基于單片機(jī)的交通燈控制系統(tǒng)具有運(yùn)行穩(wěn)定,功能較多,靈活性比較好等優(yōu)勢,但是任然存在許多問題。特別是電路的修改比較花費(fèi)時(shí)間,設(shè)計(jì)比較繁瑣,在一定程度下增加了設(shè)計(jì)成本和維護(hù)周期??删幊炭刂破鱌LC的優(yōu)勢在于是可靠性較好和穩(wěn)定性較高,但是其也有諸多問題。PLC是一個(gè)封閉的結(jié)構(gòu),所以不同PLC控制器的兼容性較差,而且不同的PLC在程序設(shè)計(jì)上也存在著差異。這就意味著,一旦選擇一種PLC之后,就只能按照該型號PLC的相關(guān)方式進(jìn)行編編程,而且需
13、要學(xué)習(xí)相關(guān)的設(shè)計(jì)語言規(guī)律,這些問題大大的的限制了PLC的靈活性和多元性。與前兩者相比,基于FPGA的開發(fā)方案,不僅具有很好靈活性,穩(wěn)定性,而且編程語言是完全統(tǒng)一性,而且更簡單和穩(wěn)定。因而,此次交通燈的控制器開發(fā)設(shè)計(jì)采用基于VHDL語言,F(xiàn)PGA的方式進(jìn)行設(shè)計(jì),不僅經(jīng)濟(jì)節(jié)約和而且更加可靠穩(wěn)定。其開發(fā)設(shè)計(jì)也相對更加簡單,故障維護(hù)也比較容易,更加適合目前城市交通指揮的需求。 1 緒論 1.1論文研究背景及意義 現(xiàn)在城市發(fā)展迅速,然而城市的交通問題卻越來越嚴(yán)重。城市的交通道路交通壓力越來越大,經(jīng)常會有交通擁堵,甚至是交通事故發(fā)生,交通疏導(dǎo)不及時(shí)也是造成這些問題重要原因。如今,全國幾乎所有城市
14、或多或少的都存在這交通擁堵,交通混亂,甚至造成嚴(yán)重的交通事故,這給人們的出行以及車輛行駛帶來了極大的安全隱患,甚至造成生命和財(cái)產(chǎn)的重大損失。那么如何能夠快速指揮和疏導(dǎo)交通,規(guī)范和約束行人和車輛的行為,構(gòu)建一個(gè)合理規(guī)范的交通秩序,是目前的當(dāng)務(wù)之急。 經(jīng)研究調(diào)查發(fā)現(xiàn),城市中擁堵的主要因素是由當(dāng)前城市交通指揮制度以及管理機(jī)制等問題不完善造成的,現(xiàn)今城市正準(zhǔn)備打造一個(gè)智慧城市,其中的包含智慧交通,而智能交通正是城市道路上最重要的一塊。本設(shè)計(jì)采用了FPGA方案設(shè)計(jì)則正好大大滿足了智慧交通的理念。它將實(shí)現(xiàn)城市的每個(gè)路口運(yùn)用交通控制系統(tǒng)從而控制整個(gè)城市的交通,包括系統(tǒng)的改進(jìn),道路的疏通,以及各路口的指揮。
15、尤其是在十字路口,它將把現(xiàn)代化技術(shù)融入其中,打造成一個(gè)智慧的交通路口。為了確保路口行人與車輛能夠合理、有序、安全和快速的通過相關(guān)區(qū)域,采用交通信號燈來進(jìn)行指揮和疏導(dǎo)交通情況,將大大降低事故發(fā)生的幾率以及確保交通通暢,人車有序通過。隨著生活水平的提高,人們對生活質(zhì)量的要求不斷增加,汽車的數(shù)量還在不斷增加,研究和設(shè)計(jì)現(xiàn)代智能交通燈具有很好實(shí)際意義。 現(xiàn)今EDA的技術(shù)發(fā)展越來越快,人們利用EAD技術(shù)越來越方便于電路。利用EDA技術(shù)和FPGA方法來實(shí)現(xiàn)交通燈的設(shè)計(jì),非常的復(fù)合目前的需求,具有設(shè)計(jì)周期短,效果穩(wěn)定,維護(hù)方便以及運(yùn)用簡單等諸多特點(diǎn)。這種設(shè)計(jì)方案也是符合目前電子技術(shù)發(fā)展的方向的,是比較合理
16、。 1.2 FPGA開發(fā)的歷史及簡介 FPGA或CPLD芯片都是ASIC相關(guān)芯片系列中比較特殊的一種,其不僅具有ASIC芯片自身的特點(diǎn)之外,還具有如下的獨(dú)特的特點(diǎn): 隨著VLSI(超大集成電路)工藝的不斷提高,現(xiàn)能將幾毫米見方的硅片上集成上萬至百萬晶體管,無數(shù)個(gè)晶體管排列在一起,這樣做的話既能大大的縮小空間,降低成本,而且還能保持原有的功能。FPGA/CPLD芯片的所含的規(guī)模也越來越大,其中,光是單片邏輯門數(shù)就已經(jīng)達(dá)上百萬門。因此,它能夠所實(shí)現(xiàn)的功能也越來越強(qiáng),能在上面完成系統(tǒng)集成,即SOC(片上系統(tǒng))。 況且,每個(gè)FPGA/CPLD芯片都有質(zhì)量保證,因?yàn)槊繅K芯片在出廠之前都做過測試,
17、測試結(jié)果達(dá)標(biāo)才能投入市場,因此,設(shè)計(jì)人員完全不需要承擔(dān)任何風(fēng)險(xiǎn),設(shè)計(jì)人員只需要完成自己的設(shè)計(jì),通過軟硬件完成設(shè)計(jì)的最終步驟。所以,F(xiàn)PGA/CPLD的資金投入就少,減少了潛在的花費(fèi)。 假如使用FPGA的設(shè)計(jì)方案,用戶可以隨意的擦數(shù)以及編程,需要實(shí)現(xiàn)什么樣的功能完全由用戶自己決定,這樣用戶就能完成在不懂任何電路的情況下實(shí)現(xiàn)交通燈的多種功能。FPGA/CPLD芯片中還包含多種功能,比如輸入工具,這樣大大方便了用戶將程序輸入的步驟,還有仿真工具,以及版圖設(shè)計(jì)工具等多種功能,多種功能的集合,大大的方便了設(shè)計(jì)人員,有了這些功能,設(shè)計(jì)人員就能夠快速的完成電路及程序的輸入以及調(diào)試。 Iverson于19
18、62年的時(shí)候提出了硬件描述語言(VHDL),詳細(xì)的講解了語言的基本內(nèi)容和基本結(jié)構(gòu),以及利用該語言在各種層次上對數(shù)字系統(tǒng)的建模方法,從此之后,各國出現(xiàn)了多種硬件描述語言,比如美國的DATA I/O公司的ABEL-HDL、 Verilog公司開發(fā)的Verilog HDL以及日本電子工業(yè)振興協(xié)會開發(fā)的UDL/I語言。但是由于這些硬件描述語言的與其公司的硬件產(chǎn)品密切相關(guān),本身就是為其公司設(shè)計(jì)而成,不能推廣開來,而且語法雜亂,因此造成了信息交流不便以及設(shè)備維護(hù)的種種困難。但自從1987年VHDL(超高速硬件描述語言)被定為IEEE標(biāo)準(zhǔn)(IEEE-STD-1076)以來,VHDL已被工業(yè)界廣泛認(rèn)可,并在工
19、業(yè)界推廣開來,越來越多的人使用VHDL語言,VHDL已成為數(shù)字系統(tǒng)設(shè)計(jì)和存檔的重要工具,極大的提高了數(shù)字系統(tǒng)的設(shè)計(jì)水平和效率,在此方面大大的影響了工業(yè)界,給工業(yè)界帶來了無法估計(jì)的價(jià)值。VHDL的出現(xiàn),不僅在工業(yè)界取得了重大作用,而且在大規(guī)模的數(shù)字電路系統(tǒng)領(lǐng)域發(fā)揮的很大的作用,比如在邏輯領(lǐng)域這塊,相比于傳統(tǒng)的方法,利用VHDL將更加便捷,因此,VHDL將成為EDA領(lǐng)域的重要組成部分。 VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),分成外部(或稱
20、可視部分,及端口)和內(nèi)部(或稱不可視部分),這樣分開之后,兩者分開處理,既涉及了實(shí)體的內(nèi)部功能,又能完成算法部分,大大的提高了處理水平。當(dāng)對一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,在處理外部界面時(shí),一旦其內(nèi)部開發(fā)完成后,內(nèi)部的文件就能夠被其他設(shè)計(jì)使用,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。 1.3 EP2C5T144最小系統(tǒng)介紹 本開發(fā)板采用的主芯片F(xiàn)PGA型號為Altera公司最新的Cyclone IV系列中的EP2C5T144,等效門數(shù)大約為50萬門(是Cyclone EP1C3(10萬門)的5倍)。開發(fā)板的電源系統(tǒng)需要的電源大小是5V直流
21、電源,通過板上的LDO電源系統(tǒng)出來,然后給FPGA系統(tǒng)的各個(gè)元件提供所需的各種電壓,并且可以向外輸出5V、3.3V兩種電壓。電源系統(tǒng)出來后則是板上配的EPCS4配置芯片,JTAG和AS兩種下載端口,方便下載程序,以及50MHz有源晶振,給系統(tǒng)提供時(shí)鐘信號。FPGA的所有引腳均是通過兩個(gè)40Pin的2.54mm標(biāo)準(zhǔn)排針接口引出,引腳的大小符合國際標(biāo)準(zhǔn),并與國際流行的DE2開發(fā)板上的擴(kuò)展接口管腳兼容,因此假如有先有的擴(kuò)展卡,都可以拿來使用。系統(tǒng)內(nèi)設(shè)有8個(gè)LED發(fā)光二極管,其作用是用來做I/O的輸出顯示。除此之外,系統(tǒng)內(nèi)還有4個(gè)按鍵開關(guān)、8位數(shù)字撥碼開關(guān)組成的I/O輸入,其作用是用來控制系統(tǒng)的功能。
22、PCB板是采用四層板設(shè)計(jì),板子的性能以及穩(wěn)定性相當(dāng)可靠。通過擴(kuò)展接口可以將同樣的多塊FPGA板以層疊的形式集成在一起簡單擴(kuò)充系統(tǒng)的容量,相當(dāng)于多塊硬盤結(jié)合成一塊大的硬盤,這樣不僅擴(kuò)大了容量,還能省去不少空間。除此之外,PCB板形成了多Nios嵌入式并行處理器的小型實(shí)驗(yàn)系統(tǒng),可以駁接SRAM、SDARM、七段LED、LCD、Video/Audio、AD/DA等設(shè)備和其他各種形式的用戶外設(shè)接口板。該開發(fā)板主要是為學(xué)習(xí)FPGA/HDL/嵌入式Nios等數(shù)字邏輯的學(xué)生和愛好者提供一種簡單廉價(jià)的實(shí)驗(yàn)平臺。 開發(fā)板要求的輸入電壓是5V。通過U2:LM1085-3.3的LDO芯片出來將會到3.3V的電壓。
23、再通過AMS1117-1.2的LDO芯片,通過AMS1117-2.5的LDO芯片U4產(chǎn)生FPGA Cyclone IV芯片內(nèi)部PLL所需要的獨(dú)立電源。其中有3.3V電壓是給FPGA的IO提供的。也就是說本設(shè)計(jì)采用了簡化的FPGA IO引腳電平是+3.3V,而不提供給用戶 Cyclone IV 其它不同電平標(biāo)準(zhǔn)的 I/O電平選擇方式。 +1.2V電壓是提供給FPGA內(nèi)核的工作電壓,+2.5V是FPGA內(nèi)部PLL的專用工作電壓。1.2V電壓的純凈程度要求比較高,故采用鉭電容濾波。 1.4 本文研究的主要內(nèi)容 交通燈控制電路是的作用主要是用于城市的交通疏通,每當(dāng)有大量車輛出入造成堵塞的時(shí)候,交通
24、燈控制電路就能體現(xiàn)它的用處了。交通信號燈在人與車輛交替行駛時(shí),能實(shí)現(xiàn)紅燈、黃燈、綠燈的自動(dòng)指揮,更好的實(shí)現(xiàn)現(xiàn)代化交通管理。交通燈指示告訴我們,綠燈亮?xí)r,準(zhǔn)許車輛通行,但轉(zhuǎn)彎的車輛不得妨礙被放行的直行車輛、行人通行;黃燈亮?xí)r,已越過停止線的車輛可以繼續(xù)通行;紅燈亮?xí)r,禁止車輛通行。在每個(gè)城鄉(xiāng)的十字路口,一般都在每條道路上各有一組紅、黃、綠交通信號燈,這樣的用意就是在于保證交通秩序和行人安全。在未設(shè)置信號燈的路口,車輛和行人應(yīng)當(dāng)按照機(jī)動(dòng)車信號燈的表示通行。交通燈控制電路將會自動(dòng)控制十字路口的交通燈的切換,安全的指揮各種車輛以及行人通過,真正的實(shí)現(xiàn)城鄉(xiāng)交通的自能化管理。一個(gè)十字路口的交通控制器,不光
25、是交通燈的切換,更重要的是將十字路口的四個(gè)方向合理運(yùn)轉(zhuǎn),方向有東南西北,東西方向的紅綠燈狀態(tài)一樣,南北方向的紅綠燈狀態(tài)一樣,每個(gè)方向上,有四盞燈,分別是左轉(zhuǎn)燈、紅燈、綠燈和黃燈。左拐燈亮表示左轉(zhuǎn)車輛可以通行;紅燈亮表示左轉(zhuǎn)和直行車輛禁行;綠燈亮表示直行車輛和右轉(zhuǎn)的車輛可以通行;黃燈亮表示左轉(zhuǎn)和直行的車輛即將禁行。 本論文則簡要的介紹了FPGA芯片的特點(diǎn)以及設(shè)計(jì)意義,本系統(tǒng)是以QuartusII軟件為開發(fā)平臺,然后通過VHDL硬件描述語言來編寫程序,以及設(shè)計(jì)原理圖以輸入方式來設(shè)計(jì)交通燈。 FPGA芯片是一款功能非常強(qiáng)大,可多次編程及擦除的邏輯芯片,本系統(tǒng)采用了FPGA設(shè)計(jì)ASIC電路,用戶將
26、不需要投片生產(chǎn),基于FPGA交通燈控制器設(shè)計(jì)就能實(shí)現(xiàn)相應(yīng)的功能。FPGA的內(nèi)部有著豐富的觸發(fā)器和I/O引腳。FPGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA的開發(fā),是ASIC電路中風(fēng)險(xiǎn)最小、開發(fā)費(fèi)用最低、設(shè)計(jì)周期最短的器件之一。FPGA采用高速的CHMOS工藝,功耗低,性能強(qiáng),可直接與CMOS和TTL電平兼容。因此用FPGA完成交通燈的設(shè)計(jì)不光要合理,更注重的是芯片的選用。本論文通過設(shè)計(jì)交通安全指揮燈,從而來形象的指揮行人和車輛的安全通行。在十字路口處,是發(fā)生危險(xiǎn)的重點(diǎn)去,因此在十字路口的東西南北四個(gè)方向必須合理安排。東西方向的交通信號燈狀態(tài)保持一致,南北方向的交通信號燈
27、狀態(tài)也保持一致。其中每個(gè)方向有左轉(zhuǎn)燈、紅燈、綠燈和黃燈,共四盞。左轉(zhuǎn)燈亮說明車輛可以左轉(zhuǎn)通行;紅燈亮說明禁止車輛直行和左轉(zhuǎn);綠燈亮說明允許車輛直行和右轉(zhuǎn);黃燈亮說明即將禁止車輛直行和左轉(zhuǎn)。在每個(gè)方向上均設(shè)有一個(gè)倒計(jì)時(shí)顯示器,以顯示禁止或允許通行的倒計(jì)時(shí)間。 2 硬件設(shè)計(jì) 2.1硬件開發(fā)環(huán)境介 在本次畢業(yè)設(shè)計(jì)中,筆者的硬件開發(fā)環(huán)境是AD14,即Altium Designer 14硬件開發(fā)環(huán)境。AD14是Altium Designer 是原Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運(yùn)行在Windows操作系統(tǒng)。該軟件全面集成了原理圖設(shè)計(jì)、原件繪制
28、、原件封裝繪制、PCB板圖繪制以及電氣仿真等等功能,為開發(fā)者提供一個(gè)優(yōu)秀的開發(fā)環(huán)境和靈活的運(yùn)用平臺,目前最高版本為Altium Designer 15.0.7 。 Altium Designer 開發(fā)工具全面包括繼承包括Protel 99SE、Protel DXP在內(nèi)的以前相關(guān)版本的相關(guān)功能和優(yōu)勢外,繼續(xù)添加了一些新的創(chuàng)新的功能,該平臺拓寬了板級設(shè)計(jì)的傳統(tǒng)界面,全面集成了FPGA設(shè)計(jì)功能和SOPC設(shè)計(jì)實(shí)現(xiàn)功能,從而允許工程設(shè)計(jì)人員能將系統(tǒng)設(shè)計(jì)中的FPGA與PCB設(shè)計(jì)及嵌入式設(shè)計(jì)集成在一起。 由于Altium Designer 在繼承先前Protel軟件功能的基礎(chǔ)上,綜合了FPGA設(shè)計(jì)和嵌入式
29、系統(tǒng)軟件設(shè)計(jì)功能,Altium Designer 對計(jì)算機(jī)的系統(tǒng)需求比先前的版本要高一些。 Altium Designer不僅擁有強(qiáng)大的PCB設(shè)計(jì)能力,而且還有強(qiáng)大的邏輯仿真分析能力,是一款特別適合初學(xué)者使用的PCB繪制軟件。該軟件主要任務(wù)包括:1.. 電氣原理圖開發(fā)回執(zhí);2.印刷電氣屬性電路板PCB設(shè)計(jì);3.FPGA程序及其仿真的設(shè)計(jì);4 .嵌入式系統(tǒng)電路設(shè)計(jì)開發(fā);5. 3D PCB模型繪制及其演示。 2.2硬件開發(fā)環(huán)境平臺搭建 上一節(jié)筆者介紹本次硬件設(shè)計(jì)的軟件為Altium Designe 14.0, 下面筆者簡單介紹AD14如何建立工程項(xiàng)目工程。 步驟一:啟動(dòng)AD軟件,
30、如下圖2.2.1: 圖2.2.1 AD啟動(dòng)界面 步驟二:在啟動(dòng)后的界面如下圖2.2.2所示: 圖2.2.2 步驟三:如圖2.2.3所示,在打開的界面中,打開菜單中選擇File—>project—>PCB Project,即可創(chuàng)建一個(gè)工程項(xiàng)目。 圖2.2.3 步驟四:創(chuàng)建完成后,在窗口的左邊會出現(xiàn)如下控制臺,如圖2.2.4所示: 圖2.2.4 步驟五:如圖2.2.5所示,將鼠標(biāo)移動(dòng)至項(xiàng)目工程圖標(biāo)處,單機(jī)鼠標(biāo)左鍵,在彈出下拉菜單中選擇“add new to P
31、roject”選項(xiàng),在彈出的菜單中,就可以添加原理圖和PCB制作圖板了,如圖所示: 圖2.2.5 在選擇“schematic”,就是添加原理圖制作文件,如圖2.2.6所示為原理圖制作窗口: 圖2.2.6 自此就可以開始設(shè)計(jì)原理圖了。 2.3系統(tǒng)分析 根據(jù)下面的系統(tǒng)框架圖我們可以分析得知,論文中所涉及的十字路口交通燈只能疏導(dǎo)控制系統(tǒng)必須具有能夠指揮前進(jìn)和左轉(zhuǎn)的功能,還有擁有行人指示燈的功能,并且是控制綠黃紅燈按相關(guān)順序進(jìn)行循環(huán)亮和滅的。而且要求綠燈亮轉(zhuǎn)紅燈亮或者轉(zhuǎn)左轉(zhuǎn)燈亮之前要先轉(zhuǎn)黃燈亮5秒,左轉(zhuǎn)燈亮轉(zhuǎn)紅燈亮之前也要先轉(zhuǎn)黃燈亮5秒,紅燈亮可以直接轉(zhuǎn)綠燈或左轉(zhuǎn)燈亮(四種燈的
32、循環(huán)順序如圖2.1所示)。還要求四種顏色燈的點(diǎn)亮?xí)r間能夠通過倒數(shù)計(jì)時(shí)的方式進(jìn)行顯示??梢杂肰HDL語言合理設(shè)計(jì)系統(tǒng)功能,使紅黃綠左轉(zhuǎn)燈的轉(zhuǎn)換有一個(gè)準(zhǔn)確的時(shí)間間隔和轉(zhuǎn)換順序。 圖2.3 指示燈轉(zhuǎn)換順序 采用基于FPGA邏輯編程的方法來進(jìn)行該設(shè)計(jì),具有編程簡單、操作靈活、便于優(yōu)化升級的特點(diǎn)。同時(shí),目前FPGA元器件的快速進(jìn)步,編程設(shè)計(jì)和原理圖電路設(shè)計(jì)等設(shè)計(jì)平臺的快速發(fā)展和進(jìn)步,F(xiàn)PGA的設(shè)計(jì)方式越來越受到關(guān)注和運(yùn)用。 根據(jù)設(shè)計(jì)需求和該系統(tǒng)必須所具有功能,并參考相關(guān)的文獻(xiàn)資料經(jīng)現(xiàn)在的方案設(shè)計(jì)畫出十字路智能口交通燈控制系統(tǒng)框圖如下圖所示,這也是本次設(shè)計(jì)的總體方案,框圖如下圖2.4所示: C
33、LK 時(shí)鐘分頻模塊 交通燈控制及計(jì)時(shí)模塊 掃描顯示模塊 LED顯示 數(shù)碼管位碼 數(shù)碼管段碼 圖2.4 系統(tǒng)的框圖 2.4原理圖設(shè)計(jì) 1.數(shù)碼管的時(shí)間顯示以及信號燈切換電路的設(shè)計(jì)原理如下圖所示,如下圖2.3所示為顯示電路部分, 圖2.3 顯示以及信號燈電路 如圖所示,本文的交通燈的顯示和指示燈電路,就是由圖2.3相同的四個(gè)電路構(gòu)成,分別指示四個(gè)路口的交通情況。這里要求的開發(fā)板上必須要設(shè)定一個(gè)計(jì)數(shù)器,且計(jì)數(shù)值為0-60。當(dāng)計(jì)數(shù)值達(dá)到60后,下一個(gè)時(shí)鐘沿回復(fù)到0,開始下一輪計(jì)數(shù)。但是,如何系統(tǒng)檢測發(fā)現(xiàn)了特殊狀況(EMI =‘1’)的出現(xiàn)時(shí),計(jì)數(shù)器將會迅速暫停工作,此
34、時(shí)本系統(tǒng)的復(fù)位信號RESET將命令計(jì)數(shù)器強(qiáng)制清零。 這樣每一個(gè)電路的控制端口都直接連接在開發(fā)板上,便于開發(fā)對整個(gè)系統(tǒng)的控制是完美的。由于采用的FPGA芯片的時(shí)鐘頻率是50MHz,需要將其分頻為1Hz。也就是說當(dāng)前模塊的分頻為50M,且將相關(guān)頻率瞬間變換成1Hz的脈沖波信號,這樣得到的相關(guān)脈沖波的周期將可以達(dá)到1S。假如系統(tǒng)能夠達(dá)到分頻50M,這時(shí)在仿真圖上是根本觀察不了的,也就無法進(jìn)行準(zhǔn)確的驗(yàn)證和測試,所以在仿真的時(shí)候,最好是將分頻系數(shù)調(diào)小一些,大約20分頻就可以了,這時(shí)候就可以很清楚的從圖中得到并分析對時(shí)鐘輸入信號的分頻了,如圖2.4所示, Reset是復(fù)位信號,CLK_50MHz是輸入時(shí)
35、鐘頻率,CLK_1Hz是輸出時(shí)鐘頻率,從圖中可以看出,輸出頻率CLK_1Hz確實(shí)是輸入時(shí)鐘頻率CLK_50MHz的20分頻。交通燈信號計(jì)時(shí)顯示部分,是按照相關(guān)輸入的STATUS信號,產(chǎn)生相應(yīng)的指示燈的信號,其直接可以控制交通燈的點(diǎn)亮或熄滅,在指示燈信號顯示電路程序測試真結(jié)果中,不難發(fā)現(xiàn),STATUS是一種輸入信號,而它是必須按照狀態(tài)控制模塊產(chǎn)生的脈沖信號,即STATUS信號,一種六種狀態(tài),依次為000(S1)、001(S2)、010(S3)、011(S4)、100(S5)、101(S6);EW_LRGY(8位)是東西方向上交通信號燈的狀態(tài), SN_LRGY(8位)是南北方向上交通信號燈的狀態(tài),
36、依次為左轉(zhuǎn)、紅、綠、黃,對應(yīng)著EW_LRGY、SN_LRGY的前四位,‘1’表示點(diǎn)亮,‘0’表示熄滅,后四位均為0,表示四個(gè)燈的陰極接負(fù)極。 圖2.4 整個(gè)指示電路 3 軟件設(shè)計(jì) 3.1軟件開發(fā)平臺介紹 在本次畢業(yè)設(shè)計(jì)中,主要運(yùn)用的軟件開發(fā)環(huán)境是Quartus II, Quartus II 是Altera公司的新一代功能跟強(qiáng)大的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、Verilog HDL以及AHDL語言等多種不同設(shè)計(jì)形式和方法,其內(nèi)部它本身獨(dú)立的綜合器以及獨(dú)立高效仿真器,能夠進(jìn)行從程序設(shè)計(jì)輸入到相關(guān)硬件的設(shè)置和模擬仿真等設(shè)計(jì)流程。 Quart
37、us II可以在XP系統(tǒng)、Linux系統(tǒng)包括Unix系統(tǒng)上都可以進(jìn)行安裝運(yùn)行,同時(shí)該軟件兼容Tcl腳本語言,而且還具有人性化的用戶UI環(huán)境可以體驗(yàn),具有很快的操作速度和運(yùn)行速度,高度的界面統(tǒng)一性,功能強(qiáng)大實(shí)用,操作簡單等特點(diǎn)。Quartus II兼容Altera的相關(guān)IP核,同時(shí)內(nèi)嵌了LPM/MegaFunction宏定義的功能模塊底層庫,這樣用戶很容易調(diào)用相關(guān)的函數(shù)模塊進(jìn)行編程設(shè)計(jì),對用戶而言更加簡單和方便。另外該軟件開發(fā)平臺也支持相關(guān)第三方的EDA開大平臺。比如支持Synplify pro、Lenoardo Specturn以及Modelsem等第三方EDA工具來完成設(shè)計(jì)任務(wù)和仿真。Qua
38、rtus平臺與Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供應(yīng)商的開發(fā)工具相兼容。該軟件開發(fā)平臺進(jìn)一步改進(jìn)了系統(tǒng)模塊工具中的LogicLock模塊分析和設(shè)計(jì)功能,另外也增加了FastFit編譯的選項(xiàng)。 事實(shí)上,在Quartus II開發(fā)平臺目前的運(yùn)用已經(jīng)十分的普遍,在很多領(lǐng)域隨著FPGA編程的普及,不可避免的運(yùn)用到了相關(guān)的Quartus II開發(fā)平臺,因?yàn)樵撈脚_操作相對比較簡單,而且也比較容易理解,學(xué)起來也比較快,操作更加順手。另外,其具有強(qiáng)大的編譯和分析功能,特別是在處理復(fù)雜邏輯運(yùn)算時(shí),可以直接調(diào)用其內(nèi)嵌的大量的
39、處理工具。因此,該平臺收到了極大的歡迎。 3.2 Quartus II的設(shè)計(jì)流程介紹 如圖3.1所示就是Quartus II的設(shè)計(jì)流程圖, 圖3.1 設(shè)計(jì)流程圖 該軟件開發(fā)平臺的具體的操作過程如下所示: 1. 首先,進(jìn)行設(shè)計(jì)之前,需要建立一個(gè)工作庫的文件夾和并且新建相關(guān)的編譯設(shè)計(jì)和程序編寫的文件。 2. 然后,開始創(chuàng)建相關(guān)的工程文件。 3. 編程完畢后,就開始進(jìn)行編譯程序進(jìn)行調(diào)試。 4. 調(diào)試沒有語法錯(cuò)誤后,就可以進(jìn)行時(shí)序仿真 5. 時(shí)序仿真后,如果沒有問題,就可以進(jìn)行引腳鎖定 6. 最后,就可以將程序下載到相關(guān)硬件環(huán)境中實(shí)際驗(yàn)證 3
40、.3程序設(shè)計(jì) 1用VHDL編寫程序,來實(shí)現(xiàn)交通燈控制器的原理框圖如圖3.3示 圖3.3交通信號燈控制器程序原理框圖 程序中的時(shí)鐘信號clk為石英晶體(327868HZ)分頻后的8Hz標(biāo)準(zhǔn)信號作為產(chǎn)生1秒信號的輸入信號,為LED數(shù)碼管驅(qū)動(dòng)電路(MC4511)提供輸入信號,用于縣市交通燈所處的狀態(tài)的時(shí)間。6個(gè)輸出信號(對應(yīng)兩組紅黃綠燈,F(xiàn)R1、FY1和FG1為主干道紅黃綠燈信號, FR2、FY2和FG2為支干道紅黃綠燈信號)。 該程序由7個(gè)進(jìn)程組成,進(jìn)程P1和P2將8Hz標(biāo)準(zhǔn)信號分頻后產(chǎn)生1秒信號(carry),進(jìn)程P1和P2 進(jìn)程P3、P4和P5 進(jìn)程構(gòu)成兩
41、個(gè)帶有預(yù)置數(shù)功能的十進(jìn)制計(jì)數(shù)器,其中P4產(chǎn)生允許十位計(jì)數(shù)器計(jì)數(shù)的控制信號(en)。進(jìn)程P6實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換和產(chǎn)生狀態(tài)轉(zhuǎn)換的控制信號(load),進(jìn)程P7產(chǎn)生次態(tài)信號(next_state)和信號燈輸出信號(FR1、FY1、FG1、FR2、FY2和FG2),以及每一個(gè)狀態(tài)的時(shí)間值(即計(jì)數(shù)器的預(yù)置數(shù))和下一個(gè)狀態(tài)。 3.3.1 程序設(shè)計(jì)分析 圖3.4 程序流程圖 上圖就是本次設(shè)計(jì)的程序流程圖 3.3.2 程序分析與仿真 一個(gè)完整的VHDL語言程序通常包括實(shí)體(Entity)、構(gòu)造體、配置、包集合(Packag
42、e)和庫(Library)5個(gè)部分組成。下面結(jié)合實(shí)際的程序來加以說明。首先是更燈函數(shù)的轉(zhuǎn)換如下圖3.3所示 when ew_yellow0 => ew_state<=ew_turnl; ew_secondH:=2; ew_secondL:=0; -- 下一狀態(tài)的左轉(zhuǎn)燈 when ew_turnl =>ew_state<=ew_yellow1; ew_secondH:=0; ew_secondL:=5; -- 下一狀態(tài)的黃燈 when ew_yellow1 =>ew_state<=ew_red; ew_secondH:=8; ew
43、_secondL:=0; -- 下一狀態(tài)的紅燈 when others => ew_state<=ew_red; ew_secondH:=8; ew_secondL:=0; -- 下一狀態(tài)的紅燈 2.顯示器片選 case cnt is –顯示時(shí)間 when 0 => L<="000"; dled<=display(ew_secondH); when 1 => L<="001"; dled<=display(ew_secondL); when 2 => L<="010"; dled<=X
44、"00"; when 3 => L<="011"; dled<=X"00"; when 4 => L<="100"; dled<=X"00"; when 5 => L<="101"; dled<=X"00"; when 6 => L<="110"; dled<=display(sn_secondH); when 7 => L<="111"; dled<=display(sn_secondL); end case; end if; end process;
45、 end control; 關(guān)于各種信號依次是: clk:系統(tǒng)輸入時(shí)鐘50MHz rst_n:系統(tǒng)異步復(fù)位信號 LEDDX:東西向的LED紅綠燈 rledDX:東西向的人行道紅燈 LEDNB:南北向的LED紅綠燈 rledNB:南北向的人行道紅燈 SGMDX:東西向的數(shù)碼管段選 SGMNB:南北向的數(shù)碼管段選 SWDX:東西向的數(shù)碼管位選 SWNB:南北向的數(shù)碼管位選 仿真圖如下圖3.5所示 圖3.5 信號仿真圖 **產(chǎn)生計(jì)時(shí)信號2 */ always @(posedge clk or negedge rst_n) begin if(!rst_n
46、) begin scountb<='d2; cntb<='d0; end else if(start_countb==1'b1) begin if(cntb>=50000000) begin cntb<='d0; if(scountb>'d0) scountb<=scountb-'d1; else scountb<='d0; end else cntb<=cntb+'d1; end else scountb<=timesb; end 4 實(shí)物模型展示
47、 4.1 實(shí)物模型介紹 圖4.1 交通燈模型圖 如圖4.1所示,這就是本文設(shè)計(jì)的一個(gè)智能交通等的大致模型,從圖上可以看出,每一個(gè)路口有三個(gè)指示和兩個(gè)行人指示燈。考慮到實(shí)驗(yàn)室所用的FPGA器件EP2C5T144最小系統(tǒng)板上的數(shù)碼管數(shù)量比較少以及LED邏輯狀態(tài)的指示管數(shù)量相對比較有少,因此,本論文設(shè)計(jì)的十字路口交通燈控制器不具有左拐彎功能,僅實(shí)現(xiàn)主、支干道紅、黃、綠燈、倒計(jì)時(shí)數(shù)的顯示,初始化設(shè)置以及特殊狀態(tài)控制功能。實(shí)現(xiàn)紅黃綠燈的智能控制和管理系統(tǒng)的廣泛運(yùn)用是目前現(xiàn)代城市構(gòu)建智能交通指揮疏導(dǎo)系統(tǒng)的重要研究課題。通過對上面模型圖的分析,可以明白本設(shè)計(jì),是介紹的一種基于FPGA的十字路口智能交通
48、燈控制系統(tǒng),該系統(tǒng)分別由四組紅、黃、綠燈以及四組紅綠燈組成,其中四組的紅黃綠燈是指揮十字路口車輛的,四組紅綠燈是指揮行人的。另外由VHDL語言在相關(guān)開發(fā)系統(tǒng)板上對所以燈的開關(guān)進(jìn)行系統(tǒng)合理的控制,使得所有顏色的燈按照一定規(guī)律循環(huán)亮和滅。 4.2 實(shí)物模型演示方法 該模擬平臺只要給其通上電源后,系統(tǒng)開發(fā)板會自動(dòng)啟動(dòng)在一個(gè)計(jì)算周期內(nèi),該交通控制指揮系統(tǒng)有四種運(yùn)行模式,包括S0、S1、S2、S3四個(gè)不同的狀態(tài)。四種狀態(tài)的運(yùn)行模式為S0→S1→S2→S3,S3結(jié)束后,返回到S0狀態(tài),整個(gè)運(yùn)行周期連續(xù)為60s。R表示信號的重置,相關(guān)設(shè)置重置后系統(tǒng)開始自動(dòng)按原來規(guī)律進(jìn)行循環(huán)。SPC是一種緊急的控制信號
49、,一旦該信號電平置高后系統(tǒng)自動(dòng)切換至S6狀態(tài),該狀態(tài)解除后,系統(tǒng)將被初始化,自動(dòng)變?yōu)镾0。WE和SN是兩組控制不同方向左轉(zhuǎn)的控制信號。當(dāng)直行方向允許通車后,WE將被置高,系統(tǒng)被切換值S4模式,同樣S4狀態(tài)解除后,系統(tǒng)切換至S1模式。當(dāng)直行方向禁止通車后,SN將被置高,此時(shí)系統(tǒng)將會變成S5狀態(tài),S5狀態(tài)解除后,系統(tǒng)立刻變成S3狀態(tài),又以此循環(huán)下去。每一組紅綠燈的狀態(tài)指示方式如下:S0: 直行道路點(diǎn)亮綠的,另一直行道路顯示紅燈。也就是說此時(shí)一條直行道路可以通車,另一條直行道路將被禁止通車,整個(gè)狀態(tài)維持60s。 S1狀態(tài): 一條直行道路亮黃燈、另一條亮紅燈。這個(gè)時(shí)候第一條直行道路即將禁止通行,另一
50、側(cè)的直行通道任然禁止通車,這個(gè)狀態(tài)將維持5S。 4.3 效果展示 如下圖所示,這就是硬件運(yùn)行后的效果圖, 圖4.3 效果圖1 總結(jié) 利用網(wǎng)絡(luò)和圖書館的有效資源,并且參考閱讀了很多的資料,并進(jìn)行仔細(xì)分析和研究,充分驗(yàn)證后作出了相關(guān)的設(shè)計(jì)思路;最后按照該方案,通過向同學(xué)老師請教,最終完成了這個(gè)課題任務(wù)。本設(shè)計(jì)是通過利用VHDL語言進(jìn)行程序設(shè)計(jì)的,以芯片EP2C5T144的FPGA試驗(yàn)箱為開發(fā)平臺,通過簡單的外圍電路,以雙色LED的變換過程,模擬交通十字路口交通燈的紅綠兩個(gè)信號燈的變化,本設(shè)計(jì)綜合分析了多種通行情況的可能,加入了比較了人性化的聲音和時(shí)間提示功能。因?yàn)?/p>
51、硬件芯片I/O口數(shù)量實(shí)在無法滿足相關(guān)需求,在硬件測試過程中不得不刪除了一部分軟件調(diào)試中的功能,比如由三行道改為了雙行道,但是這并不意味著該系統(tǒng)功能在軟件仿真上不能實(shí)現(xiàn)。同時(shí),我深深體會到了通過FPGA在設(shè)計(jì)數(shù)字電路方面,具有操作方便、設(shè)計(jì)簡潔的特點(diǎn),這讓我相信未來數(shù)字電路的應(yīng)用必將更加廣泛。另外,我深深的感覺到:從事研發(fā)和設(shè)計(jì)的相關(guān)工作,必須要保持勤奮、踏實(shí)、認(rèn)真、不放棄的學(xué)習(xí)態(tài)度,堅(jiān)持這種態(tài)度才能讓自己的學(xué)習(xí)和工作做得更好。讓我認(rèn)識自己能力,找準(zhǔn)自己的不足點(diǎn),加強(qiáng)相關(guān)點(diǎn)的學(xué)習(xí)和認(rèn)知。 更重要的是,這一次畢業(yè)設(shè)計(jì)讓我學(xué)會了如何面對艱難、如何別人合作和交流、如何獨(dú)立思考和應(yīng)對不確定問題。讓我深刻了解到,成功之初的艱辛,只有認(rèn)真找到問題的實(shí)質(zhì),真正理解到問題的根本后,才能夠有更有效的找到解決問題的方法。 最后敬請各位專家、老師和同學(xué)對論文的不足和謬誤之處提出寶貴的指導(dǎo)意見和建議,謝謝。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案