版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 現(xiàn)代通信網(wǎng)設(shè)計(jì)報(bào)告</b></p><p> 課程名稱(chēng): 現(xiàn)代通信網(wǎng)課程設(shè)計(jì) </p><p> 設(shè)計(jì)名稱(chēng): 基于FPGA的交通燈設(shè)計(jì) </p><p> 姓 名: </p><p>
2、; 學(xué) 號(hào): </p><p> 班 級(jí): </p><p> 指導(dǎo)教師: </p><p> 起止日期: </p><p> 方 向 設(shè) 計(jì) 學(xué) 生 日 志</p><p>
3、 基于FPGA的交通燈設(shè)計(jì)</p><p><b> 摘要</b></p><p> 交通燈是城市交通監(jiān)管系統(tǒng)的重要組成部分,對(duì)于保證機(jī)動(dòng)車(chē)輛的安全運(yùn)行,維持城市道路的順暢起到了重要作用。據(jù)了解,傳統(tǒng)的交通燈是定時(shí)控制的,即控制時(shí)間是預(yù)先已經(jīng)設(shè)定好的,這樣不利于實(shí)時(shí)控制交通信號(hào),不能根據(jù)實(shí)際情況及時(shí)的調(diào)整交通信號(hào),容易導(dǎo)致道路資源,時(shí)間的浪費(fèi),同時(shí)也不便于突發(fā)情況
4、的預(yù)處理。通過(guò)這次的課程設(shè)計(jì),我將對(duì)此情況作出一些改進(jìn)行的設(shè)計(jì)。我將基于FPGA設(shè)計(jì)交通燈控制系統(tǒng),為了對(duì)交通燈系統(tǒng)進(jìn)行精確控制,采用FPGA實(shí)驗(yàn)板,在ISE軟件環(huán)境下,分別實(shí)現(xiàn)脈沖發(fā)生模塊、狀態(tài)定時(shí)模塊、交通燈顯示模塊進(jìn)行仿真實(shí)驗(yàn)和硬件下載,獲得的測(cè)試結(jié)果滿(mǎn)足設(shè)計(jì)要求。</p><p><b> 設(shè)計(jì)目的和意義</b></p><p> 狹義上,通過(guò)本次課程設(shè)計(jì)
5、,應(yīng)用《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)》以及《現(xiàn)代通信網(wǎng)》和《通信原理》等所學(xué)的相關(guān)知識(shí),完成簡(jiǎn)易的十字路口交通燈控制通信系統(tǒng)設(shè)計(jì),達(dá)到理論和實(shí)踐的有效結(jié)合,進(jìn)一步提高我們綜合應(yīng)用所學(xué)知識(shí)和設(shè)計(jì)能力。并且經(jīng)過(guò)這次設(shè)計(jì),可以讓我對(duì)FPGA的相關(guān)知識(shí)有更深一層的認(rèn)識(shí),對(duì)ISE程序設(shè)計(jì)軟件有了更清楚的認(rèn)知,對(duì)通信的基本架構(gòu)也有清晰的理解。</p><p> 通過(guò)本次的設(shè)計(jì),對(duì)交通信號(hào)燈的控制,工作原理有了進(jìn)一步的認(rèn)知
6、,這對(duì)以后根據(jù)發(fā)展后的實(shí)際情況對(duì)信號(hào)燈的控制進(jìn)行進(jìn)一步的修改,完善,奠定了一定基礎(chǔ),同時(shí)也讓自己獲得了一點(diǎn)軟件系統(tǒng)設(shè)計(jì)的經(jīng)驗(yàn)。</p><p> 培養(yǎng)動(dòng)手能力,能夠?qū)嶋H操作,有利于以后工作生活,讓我們體會(huì)到通信的根本含義。</p><p> 宏觀上,由于采用了EDA技術(shù),使數(shù)字系統(tǒng)設(shè)計(jì)的效率顯著提高。FPGA技術(shù)飛速發(fā)展,F(xiàn)PGA的應(yīng)用領(lǐng)域不斷擴(kuò)大,用FPGA來(lái)設(shè)計(jì)交通燈控制器是現(xiàn)代社
7、會(huì)交通的需要,F(xiàn)PGA侵蝕原有ASIC市場(chǎng)的用量極為可觀。此也成為近年來(lái)眾人關(guān)注FPGA的首要焦點(diǎn),不過(guò)也因?yàn)檫^(guò)于聚焦高用量、大市場(chǎng)的觀察,使FPGA的其他新應(yīng)用發(fā)展被人所忽略,但這些應(yīng)用卻也極具意義。</p><p><b> 設(shè)計(jì)原理</b></p><p><b> 3.1、功能描述:</b></p><p>
8、 實(shí)現(xiàn)一個(gè)由一條主干道和一條支干道的匯合點(diǎn)形成的十字路口的交通燈控制 器,具體功能:</p><p> (1) 主、支干道各設(shè)有一個(gè)綠、黃、紅指示燈(用LED燈表示)。</p><p> (2) 主干道處于長(zhǎng)允許通行狀態(tài),而支干道有車(chē)來(lái)時(shí)才允許通行。當(dāng)主干道允許通行亮綠燈時(shí),支干道亮紅燈。而支干道允許通行亮綠燈時(shí),主干道亮紅燈。</p><p> (3) 當(dāng)
9、主干道、支干道均有車(chē)時(shí),兩者交替允許通行,主干道每次通行100s,支干道每次通行30秒,在每次由綠燈向紅燈轉(zhuǎn)換的過(guò)程中,要亮5秒的黃燈作為過(guò)渡,并進(jìn)行減計(jì)時(shí)顯示。每個(gè)周期結(jié)束時(shí)都要進(jìn)行支干道是否有車(chē)的檢測(cè),若有車(chē)則進(jìn)行下一個(gè)周期,若沒(méi)有,則主干道亮綠燈,支干道亮紅燈,直到檢測(cè)到支干道有車(chē)。</p><p><b> 3.2、系統(tǒng)原理圖</b></p><p> 根
10、據(jù)題目要求,設(shè)計(jì)如下總的系統(tǒng)框圖</p><p><b> 交通燈控制系統(tǒng)框圖</b></p><p><b> 3.3、系統(tǒng)的引腳</b></p><p> 根據(jù)3.1系統(tǒng)框圖,很明顯可得出系統(tǒng)設(shè)計(jì)時(shí),各個(gè)引腳的情況(即系統(tǒng)的輸入輸出引腳分別有哪些)。具體的引腳情況如下表:</p><p>
11、<b> I/O管腳的描述</b></p><p> 以及6個(gè)LED燈連接引腳。</p><p><b> 系統(tǒng)的引腳描述表</b></p><p><b> 注:</b></p><p> MODE_SEL為3位的開(kāi)關(guān)控制信號(hào)輸入,用于選擇控制十字路口燈光的亮滅狀態(tài)
12、,其具體更能如下</p><p> 000:正常模式,紅黃綠交替亮</p><p> 001:主干道綠燈亮,支干道紅燈亮</p><p> 010:主干道黃燈亮,支干道紅燈亮</p><p> 011:主干道紅燈亮,支干道綠燈亮</p><p> 100:主干道紅燈亮,支干道黃燈亮</p>&l
13、t;p><b> 101:全為綠燈</b></p><p><b> 110:全為紅燈</b></p><p> 111:全部燈熄滅,封路狀態(tài)</p><p> 3.4、系統(tǒng)模塊組成</p><p> 分頻模塊、狀態(tài)定時(shí)模塊、交通燈顯示模塊、控制模塊</p><p
14、> 注:各模塊詳細(xì)內(nèi)容見(jiàn)后面詳細(xì)設(shè)計(jì)步驟章節(jié)。</p><p><b> 詳細(xì)設(shè)計(jì)步驟</b></p><p> 4.1、系統(tǒng)引腳聲明部分</p><p> 這一模塊,我把它命名為T(mén)raffic_Light,它的主要目的是對(duì)后面所有模塊中將會(huì)用到的一些引腳變量進(jìn)行定義聲明,定義一些符號(hào)常量,同時(shí)也對(duì)LED燈引腳進(jìn)行對(duì)應(yīng)賦值。<
15、;/p><p> 因?yàn)槲腋鶕?jù)參考資料,用自頂向下的設(shè)計(jì)方法來(lái)完成這次設(shè)計(jì),所以,我就在Traffic_Light模塊中先將整個(gè)系統(tǒng)可能會(huì)用到的量值進(jìn)行預(yù)先定義,然后再根據(jù)需求逐個(gè)完成各個(gè)功能模塊??紤]到后面有可能會(huì)隨時(shí)增減變量,導(dǎo)致Traffic_Light模塊中的內(nèi)容會(huì)有改動(dòng),因此,這一模塊中幾乎就不存在任何邏輯結(jié)構(gòu),也不要求實(shí)現(xiàn)什么具體的功能,只是負(fù)責(zé)定義聲明各個(gè)變量,常量,以及一些固定不變的賦值。</p
16、><p> Traffic_Light流程圖 分頻模塊流程圖 </p><p><b> 4.2、分頻模塊</b></p><p> 在紅綠燈交通信號(hào)系統(tǒng)中,大多數(shù)的情況是通過(guò)自動(dòng)控制的方式指揮交通的。因此,為了避免意外事件的發(fā)生,電路必須給出一個(gè)穩(wěn)定的時(shí)鐘才能讓系統(tǒng)正常的工作。因此時(shí)
17、鐘發(fā)生模塊最主要的功能就是產(chǎn)生一些穩(wěn)定的輸出信號(hào),并將其用做后面幾個(gè)電路的使能控制與同步信號(hào)。通過(guò)編程實(shí)現(xiàn)1Hz脈沖的產(chǎn)生。</p><p> 系統(tǒng)的動(dòng)態(tài)掃描需要10KHZ的脈沖,而系統(tǒng)時(shí)鐘計(jì)時(shí)模塊需要1HZ的脈沖。分頻模塊主要為系統(tǒng)提供所需的時(shí)鐘計(jì)時(shí)脈沖。該模塊將10KHZ的脈沖信號(hào)進(jìn)行分頻,產(chǎn)生1S的方波(占空比為50%),作為系統(tǒng)時(shí)鐘計(jì)時(shí)信號(hào)。</p><p> 通過(guò)計(jì)算可以得到
18、以下數(shù)據(jù):F=50MHz,t=2*s=0.2ns; T=1,N=COUNT_VALUE=0.5/(2 * )=2.5 * 因?yàn)?5位2進(jìn)制可表示到33554432>2.5 * </p><p> 所以COUNT_VALUE=25'd2500_0000</p><p> 一開(kāi)始的復(fù)位狀態(tài)先給COUNT_VALUE和clk_1Hz賦值為0,每一次脈沖上升沿到則COUNT_
19、VALUE自加一次,當(dāng)COUNT_VALUE達(dá)到2500_000時(shí)則有clk_1Hz發(fā)生反轉(zhuǎn)一次。</p><p> 通過(guò)兩次clk_1Hz的反轉(zhuǎn)則得到一個(gè)完整的周期方波,即為:1S。</p><p><b> 模塊框圖如下:</b></p><p> I/O管腳描述如下:</p><p> 表二:時(shí)鐘分頻模塊I
20、/O端口描述</p><p> 4.3、狀態(tài)定時(shí)模塊:</p><p> 主要是周期的計(jì)時(shí)器模塊,根據(jù)題目要求,當(dāng)信號(hào)燈處于正常工作時(shí),循環(huán)依次為主綠、主黃、主紅、次黃,四次狀態(tài)時(shí)間周期相加為140s,所以需要一個(gè)140秒的計(jì)時(shí)周期模塊控制。</p><p> 通過(guò)上訴的分頻器我們得到了1Hz的信號(hào)脈沖,在此我們通過(guò)1Hz的脈沖的每一個(gè)上升沿對(duì)circular
21、_value加一處理,為狀態(tài)的轉(zhuǎn)換提供條件。</p><p> 4.4、交通燈顯示模塊:</p><p> 這一模塊功能主要是輸出電平信號(hào)賦值,將LED燈的亮滅情況的控制值分別賦給對(duì)應(yīng)引腳的變量。</p><p> case(current) </p><p> reset:begin LED_DATA <= 6
22、'b111_111; end//全部熄滅</p><p> S1:begin LED_DATA <= 6'b110_011; end//主干道綠燈,支干道紅燈</p><p> S2:begin LED_DATA <= 6'b101_011; end//主干道黃燈,支干道紅燈</p><p> S3:begin LED_DA
23、TA <= 6'b011_110; end//主干道紅燈,支干道綠燈</p><p> S4:begin LED_DATA <= 6'b011_101; end//主干道紅燈,支干道黃燈</p><p> S5:begin LED_DATA <= 6'b110_110; end//全為綠燈</p><p> S6:be
24、gin LED_DATA <= 6'b011_011; end//全為紅燈</p><p> default:begin LED_DATA <= 6'b111_111; end//全部熄滅</p><p><b> 4.5、控制模塊:</b></p><p> 這一模塊根據(jù)主干道、支干道輸入信號(hào)以及時(shí)鐘信號(hào)C
25、LK,發(fā)出主、支干道指示燈的控制信號(hào),同時(shí)向各個(gè)定時(shí)單元、顯示控制單元發(fā)出使能控制信號(hào)產(chǎn)生系統(tǒng)的狀態(tài)機(jī),控制其他部分協(xié)調(diào)工作。</p><p> 控制模塊采用狀態(tài)機(jī)進(jìn)行設(shè)計(jì),可以定義出7種狀態(tài),分別為S1:主干道綠燈,支干道紅燈;S2:主干道黃燈,支干道紅燈;S3:主干道紅燈,支干道綠燈;S4:主干道紅燈,支干道黃燈;S4:主干道紅燈,支干道黃燈;S5:全為綠燈;S6:全為紅燈;reset:全部熄滅。</
26、p><p> 它分別包含了輸入控制信號(hào)的接受處理模塊、狀態(tài)轉(zhuǎn)換模塊。</p><p><b> 接受處理模塊:</b></p><p> 在這一模塊中,采用狀態(tài)機(jī)進(jìn)行設(shè)計(jì),可以定義出7種狀態(tài),具體情況在前面已經(jīng)介紹。同時(shí)用MODE_SEL信號(hào)控制,由3個(gè)開(kāi)關(guān)控制,它是3位二進(jìn)制,可以有8種模式,其中000為正常模式,其他情況下都是特殊模式。這
27、一模塊是實(shí)現(xiàn)手動(dòng)隨機(jī)控制的關(guān)鍵。</p><p><b> 具體情況如下:</b></p><p> 000:正常模式,紅黃綠交替亮</p><p> 001:主干道綠燈亮,支干道紅燈亮</p><p> 010:主干道黃燈亮,支干道紅燈亮</p><p> 011:主干道紅燈亮,支干道
28、綠燈亮</p><p> 100:主干道紅燈亮,支干道黃燈亮</p><p><b> 101:全為綠燈</b></p><p><b> 110:全為紅燈</b></p><p> 111:全部燈熄滅,封路狀態(tài)</p><p> 需要注意的是:當(dāng)有特殊情況時(shí)候,即
29、輸入的控制信號(hào)不是000,則開(kāi)啟了特殊模式,在特殊模式下前四個(gè)模式會(huì)跳轉(zhuǎn)到狀態(tài)轉(zhuǎn)移模式下,而其他的則直接執(zhí)行不經(jīng)過(guò)普通狀態(tài)跳轉(zhuǎn)。因此,交通管理者就可以根據(jù)實(shí)際道路情況,隨時(shí)的調(diào)整交通信號(hào)燈,使得道路能得到充分的利用,減少時(shí)間,空間的浪費(fèi)。</p><p> 狀態(tài)轉(zhuǎn)換模塊:正常模式下,交通燈按4種狀態(tài)正常亮滅。</p><p> 在這一模塊中,它的核心是計(jì)數(shù)時(shí)間,因?yàn)閺腟1到S2要100
30、s,S2到S3要5s,S3到S4要30s,S4回到S1要5s,所以計(jì)數(shù)時(shí)間一次變化為100s,105s,135s,140s。具體情況如下:</p><p> parameter PASS_TIME_SN =8'd100,//主干道通行時(shí)間100s</p><p> YELLOW_TIME_SN = 8'd105,//黃燈時(shí)間5s</p><p&g
31、t; PASS_TIME_EW = 8'd135,//次干道通行時(shí)間30s</p><p> YELLOW_TIME_EW = 88'd140;</p><p> 普通模式的狀態(tài)圖如下所示</p><p> S1:主干道綠燈亮,支干道紅燈亮</p><p> S2:主干道黃燈亮,支干道紅燈亮</p>&
32、lt;p> S3:主干道紅燈亮,支干道綠燈亮</p><p> S4:主干道紅燈亮,支干道黃燈亮</p><p><b> 設(shè)計(jì)結(jié)果及分析</b></p><p> 5.1、程序代碼編譯測(cè)試</p><p> 程序編寫(xiě)工作完成后,終于可以編譯測(cè)試,一探究竟了。在一開(kāi)始的程序編譯時(shí),不能看出什么問(wèn)題,編譯完
33、成后的系統(tǒng)引腳圖如下:</p><p> 開(kāi)始的時(shí)候我以為這兒的輸出引腳的排布情況會(huì)對(duì)實(shí)際顯示有影響,后來(lái)在學(xué)習(xí)了引腳部分的相關(guān)知識(shí)后,知道了這里的引腳如何排布,并不影響輸出顯示,實(shí)際的輸出情況由端口鎖定的引腳決定。</p><p><b> 5.2、仿真測(cè)試</b></p><p> 終于到了可以檢驗(yàn)程序正確與否的時(shí)候了,通過(guò)仿真設(shè)計(jì),
34、我們可以清楚地檢測(cè)出系統(tǒng)是否能正確運(yùn)行。</p><p> 由于時(shí)間取值問(wèn)題,在程序設(shè)計(jì)中COUNT_VALUE的理論值為25000000,,對(duì)于時(shí)序仿真比較麻煩,為解決這一問(wèn)題,所以在仿真時(shí)將COUNT_VALUE的值賦值為1000,則對(duì)于的分頻效果為 4*S,其他變量不變,則后面的仿真比較容易觀察實(shí)現(xiàn)。通過(guò)計(jì)算可以算出黃燈時(shí)間本來(lái)為:T=5*clk_1Hz,但是在此事:T=5*=2*。但是在撰寫(xiě)報(bào)告時(shí),為了
35、貼近理論,我還是按原始數(shù)據(jù)測(cè)試截圖,演示時(shí)可采取上訴方法。所以我把正常模式和特殊模式分開(kāi)測(cè)試。</p><p> 普通情況下的循環(huán)工作時(shí)序仿真:(這兒是低電平有效)</p><p> 如下圖可以看出,當(dāng)MODE_SEL處于000狀態(tài)時(shí),在一個(gè)周期內(nèi),首先是主干道綠燈和次干道紅燈亮,接著是主干道黃燈和次干道紅燈,然后是主干道紅燈光和次干道綠燈,最后是主干道紅燈、次干道黃燈。</p
36、><p> 特殊情況下的工作時(shí)序仿真:</p><p><b> 5.3、器件測(cè)試</b></p><p> 這一部分的關(guān)鍵就是引腳的鎖定,要把各個(gè)端口對(duì)應(yīng)的引腳綁定好,這樣才能準(zhǔn)確地根據(jù)觀察到的運(yùn)行現(xiàn)象判斷出實(shí)際結(jié)果是否有誤。</p><p> 具體的引腳情況跟如下:</p><p> #
37、 PlanAhead Generated physical constraints </p><p> NET "clk_50MHz" LOC = AA12;</p><p> NET "GREEN_EW" LOC = AA22;</p><p> NET "RED_EW" LOC = Y22;<
38、;/p><p> NET "YELLOW_EW" LOC = Y20;</p><p> NET "GREEN_SN" LOC = AB3;</p><p> NET "RED_SN" LOC = Y1;</p><p> NET "YELLOW_SN" LO
39、C = W1;</p><p> NET "rst_n" LOC = V3;</p><p> NET "MODE_SEL[0]" LOC = B2;</p><p> NET "MODE_SEL[1]" LOC = A2;</p><p> NET "MODE_S
40、EL[2]" LOC = A3;</p><p> # PlanAhead Generated IO constraints </p><p> NET "MODE_SEL[2]" IOSTANDARD = LVCMOS18;</p><p> NET "MODE_SEL[1]" IOSTANDARD = LV
41、CMOS18;</p><p> NET "MODE_SEL[0]" IOSTANDARD = LVCMOS18;</p><p> NET "YELLOW_SN" IOSTANDARD = LVCMOS33;</p><p> NET "YELLOW_EW" IOSTANDARD = LVCMOS3
42、3;</p><p> NET "RED_SN" IOSTANDARD = LVCMOS33;</p><p> NET "rst_n" IOSTANDARD = LVCMOS18;</p><p> NET "RED_EW" IOSTANDARD = LVCMOS33;</p><
43、;p> NET "GREEN_SN" IOSTANDARD = LVCMOS33;</p><p> NET "GREEN_EW" IOSTANDARD = LVCMOS33;</p><p><b> 總結(jié)</b></p><p> 這次所設(shè)計(jì)的交通信號(hào)燈控制電路,主要適用于在兩條干道匯合
44、點(diǎn)形成的十字交叉路口,路口設(shè)計(jì)兩組紅綠燈分別對(duì)兩個(gè)方向上的交通運(yùn)行狀態(tài)進(jìn)行管理。交通燈的持續(xù)閃亮?xí)r間由鍵盤(pán)輸入控制。燈亮規(guī)則為:當(dāng)B方向的紅燈亮?xí)r,A方向?qū)?yīng)綠燈亮,由綠燈轉(zhuǎn)換成紅燈的過(guò)渡階段黃燈亮,即B方向紅燈亮的時(shí)間等于A方向綠燈和黃燈亮的時(shí)間之和。同理,當(dāng)A方向的紅燈變亮?xí)r,B方向的交通燈也遵循此規(guī)則。各干道上安裝有數(shù)碼管,以倒計(jì)時(shí)的形式顯示本道各信號(hào)燈閃亮的時(shí)間。當(dāng)出現(xiàn)特殊情況時(shí),各方向上均亮紅燈,倒計(jì)時(shí)停止。特殊運(yùn)行狀態(tài)結(jié)束后
45、,控制器恢復(fù)原來(lái)的狀態(tài),繼續(xù)運(yùn)行。</p><p> 這次的課程設(shè)計(jì)題目是交通燈的控制系統(tǒng),此次的課程設(shè)計(jì)選擇用FPGA來(lái)做。FPGA語(yǔ)言精煉,極大的降低了交通燈的控制系統(tǒng)的編譯難度。在這些層面上,對(duì)FPGA有了進(jìn)一步的掌握,也對(duì)交通燈的控制系統(tǒng)有了更深層的理解。</p><p> 現(xiàn)代的EDA軟件平臺(tái)集設(shè)計(jì)、仿真、測(cè)試于一體,配備了系統(tǒng)設(shè)計(jì)自動(dòng)化的全部工具,這些工具包括:多種能兼容和
46、混合使用的邏輯描述輸入工具以及高性能的邏輯綜合、優(yōu)化和仿真測(cè)試工具。電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開(kāi)始設(shè)計(jì)電子系統(tǒng),將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出IC版圖或PCB版圖的整個(gè)過(guò)程在計(jì)算機(jī)上自動(dòng)處理完成。EDA設(shè)計(jì)方法是自頂向下的設(shè)計(jì)方法,這種方法首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能的劃分和結(jié)構(gòu)設(shè)計(jì),由于采用高級(jí)語(yǔ)言的描述,因此能在系統(tǒng)級(jí)采用仿真手段驗(yàn)證設(shè)計(jì)的正確性,然后在逐級(jí)設(shè)計(jì)底層結(jié)構(gòu),用VHDL、Verilog HDL等硬
47、件描述語(yǔ)言對(duì)高層的系統(tǒng)進(jìn)行電路描述,最后用邏輯綜合化工具生成具體的門(mén)級(jí)邏輯電路的網(wǎng)表,其對(duì)應(yīng)的物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐贰?lt;/p><p><b> 體會(huì)</b></p><p> 通過(guò)綜合實(shí)驗(yàn)的思考和設(shè)計(jì),對(duì)一個(gè)項(xiàng)目的整體設(shè)計(jì)有了進(jìn)一步認(rèn)識(shí),加深了對(duì)VHDL語(yǔ)言的了解,提高了編程能力。同時(shí),鍛煉了獨(dú)立發(fā)現(xiàn)問(wèn)題解決問(wèn)題的能力,提高了個(gè)人素質(zhì)。利用硬件
48、描述語(yǔ)言VHDL編程,借助ISE軟件環(huán)境下進(jìn)行了編譯及仿真測(cè)試,通過(guò)FPGA芯片實(shí)現(xiàn)了一個(gè)實(shí)用的交通信號(hào)燈控制系統(tǒng),設(shè)計(jì)由于采用了EDA技術(shù),不但大大縮短了開(kāi)發(fā)研制周期,提高了設(shè)計(jì)效率,而且使系統(tǒng)具有設(shè)計(jì)靈活,實(shí)現(xiàn)簡(jiǎn)單,性能穩(wěn)定的特點(diǎn)。</p><p> 這是一次頗有收獲的實(shí)訓(xùn), 這次的實(shí)訓(xùn)中,我們更進(jìn)一步體會(huì)到自主學(xué)習(xí)和團(tuán)隊(duì)合作的樂(lè)趣與必要性。為了完成項(xiàng)目,在網(wǎng)絡(luò)上找到了許多相關(guān)資料,大大擴(kuò)充自己的知識(shí)面,使
49、許多以前想解決卻無(wú)法解決的困難迎刃而解, 這才知道老師的良苦用心。相信以后的我不管是做網(wǎng)絡(luò)亦或是從事軟、硬件開(kāi)發(fā),都會(huì)有一個(gè)扎實(shí)的基礎(chǔ)和良好的開(kāi)發(fā)習(xí)慣的。</p><p> 通過(guò)這次課程設(shè)計(jì),加強(qiáng)了我們動(dòng)手、思考和解決問(wèn)題的能力。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和
50、獨(dú)立思考的能力。</p><p> 這次課程設(shè)計(jì)終于順利完成了,我學(xué)也到很多實(shí)用的知識(shí),學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問(wèn)題,出現(xiàn)差錯(cuò)的隨機(jī)應(yīng)變,和與人合作共同提高,都受益非淺。</p><p> 參考文獻(xiàn)(遞增引用,引用相關(guān)內(nèi)容)</p><p> [1] 康華光 .電子技術(shù)基礎(chǔ)-數(shù)字部分[M].高等教育出版社,1998。</p>
51、<p> [2] 潘松,等.EDA技術(shù)實(shí)用教程[M].科學(xué)出版社,2006</p><p> [3] 雷伏容 .VHDL電路設(shè)計(jì)[M].清華大學(xué)出版社,2006</p><p> [4] Charles H.Roth,等.數(shù)字系統(tǒng)設(shè)計(jì)與VHDL[M].電子工業(yè)出版社,2008</p><p> [5] 沈美明、溫東蟬.IBM-PC匯編語(yǔ)言程序設(shè)計(jì)
52、(第二版).清華大學(xué)出版社,2001.8</p><p> [6] 李紅.淺談?dòng)?jì)算機(jī)病毒.山西大學(xué)財(cái)經(jīng)學(xué)報(bào),2002.12:527-530</p><p> [7] 趙均宇.強(qiáng)化科學(xué)管理機(jī)制.光明日?qǐng)?bào),1999-3-24(4)</p><p><b> 附錄:</b></p><p><b> 程序代碼
53、:</b></p><p> timescale 1ns / 1ps </p><p> /////////////////////////////////////////////////////////////////////</p><p> module Traffic_Light (</p><
54、p> clk_50MHz, //輸入時(shí)鐘,50MHz</p><p> rst_n, //全局復(fù)位信號(hào),低電平有效</p><p> MODE_SEL, //工作方式信號(hào)</p><p> RED_SN, //主干道方向紅燈,低電平有效</p><p> RED_EW, //支
55、干道方向紅燈,低電平有效</p><p> GREEN_SN, //主干道方向綠燈,低電平有效</p><p> GREEN_EW, //支干道方向紅燈,低電平有效</p><p> YELLOW_SN, //主干道方向綠燈,低電平有效</p><p> YELLOW_EW //支干道方向紅燈,低電平有效
56、</p><p><b> );</b></p><p> input clk_50MHz;</p><p> input rst_n;</p><p> input [2:0]MODE_SEL;</p><p> output wire RED_SN;</p><
57、p> output wire RED_EW;</p><p> output wire YELLOW_SN;</p><p> output wire YELLOW_EW;</p><p> output wire GREEN_SN;</p><p> output wire GREEN_EW;</p><
58、p> reg [5:0] LED_DATA;</p><p> reg [7:0] circular_value;</p><p> reg [4:0] current,next;</p><p> reg clk_1Hz;</p><p> reg [24:0] adder_value; </p><p&
59、gt; parameter COUNT_VALUE = 25'd2500_0000;</p><p> parameter PASS_TIME_SN =8'd100,//主干道通行時(shí)間100s</p><p> YELLOW_TIME_SN = 8'd105,//黃燈時(shí)間5s</p><p> PASS_TIME_EW = 8'
60、;d135,//次干道通行時(shí)間30s</p><p> YELLOW_TIME_EW = 88'd140;</p><p> parameter reset = 1'd0,</p><p> S1 = 3'd1,</p><p> S2 = 3'd2,</p><p
61、> S3 = 3'd3,</p><p> S4 = 3'd4,</p><p> S5 = 3'd5,</p><p> S6 = 3'd6;</p><p> assign RED_SN = LED_DATA[5]; /// 主干道紅燈<
62、/p><p> assign YELLOW_SN = LED_DATA[4]; /// 主干道黃燈</p><p> assign GREEN_SN = LED_DATA[3]; /// 主干道綠燈</p><p> assign RED_EW = LED_DATA[2]; ///
63、支干道紅燈</p><p> assign YELLOW_EW = LED_DATA[1]; /// 支干道黃燈</p><p> assign GREEN_EW = LED_DATA[0]; /// 支干道綠燈</p><p> /////////////////////分頻,50MHz到1Hz///////
64、///////////////////////////////////////</p><p> always @(posedge clk_50MHz or negedge rst_n)</p><p><b> begin</b></p><p> if(!rst_n) </p><p><b> b
65、egin</b></p><p> clk_1Hz <= 0;</p><p> adder_value <= 0;</p><p><b> end</b></p><p> else if(adder_value == COUNT_VALUE)</p><p>
66、<b> begin</b></p><p> clk_1Hz <= ~clk_1Hz;</p><p> adder_value <= 0;</p><p><b> end</b></p><p> else begin</p><p> clk_
67、1Hz <= clk_1Hz;</p><p> adder_value <=adder_value+1;</p><p><b> end </b></p><p><b> end</b></p><p> //////////////////////140秒為周期的計(jì)時(shí)
68、器///////////////////////////////</p><p> always @ (posedge clk_1Hz or negedge rst_n)</p><p><b> begin</b></p><p> if(!rst_n)</p><p> circular_value <
69、= 0; </p><p> else if(MODE_SEL == 3'b000)</p><p><b> begin</b></p><p> if(circular_value == 140)</p><p> circular_value <= 0;</p>&l
70、t;p> else circular_value <= circular_value+1;</p><p><b> end</b></p><p> else circular_value <= 0; </p><p><b> end </b></p><p> /
71、///////////////////////輸入控制信號(hào)的接受處理模塊//////////////////////////////////////////////</p><p> always @ (posedge clk_50MHz or negedge rst_n)</p><p><b> begin</b></p><p>
72、if(!rst_n)</p><p><b> begin</b></p><p> current <= reset; </p><p><b> end </b></p><p> else begin</p><p> case(MODE_SE
73、L)</p><p> 3'b000: begin current <= next; end //正常模式,紅黃綠交替亮</p><p> 3'b001: begin current <= S1; end //主干道綠燈亮,支干道紅燈亮</p><p> 3'b010: begin current <
74、;= S2; end //主干道黃燈亮,支干道紅燈亮</p><p> 3'b011: begin current <= S3; end //主干道紅燈亮,支干道綠燈亮</p><p> 3'b100: begin current <= S4; end //主干道紅燈亮,支干道黃燈亮</p>
75、<p> 3'b101: begin current <= S5; end //全為綠燈</p><p> 3'b110: begin current <= S6; end //全為紅燈</p><p> default: begin current <= next; end </p>
76、<p><b> endcase</b></p><p><b> end</b></p><p><b> end</b></p><p> ////////////主干道同行時(shí)間100s,次干道同行時(shí)間30s,黃燈時(shí)間5s(狀態(tài)轉(zhuǎn)換模塊)//////////////</p&
77、gt;<p> always @ (current,circular_value) </p><p> begin </p><p> case (current) </p><p> reset:next = S1;</p><p><b> S1:begin</b></p&g
78、t;<p> if(circular_value == PASS_TIME_SN )</p><p> next = S2;</p><p><b> else </b></p><p> next = S1;</p><p><b> end </b></p&
79、gt;<p><b> S2:begin</b></p><p> if(circular_value == YELLOW_TIME_SN )</p><p> next = S3;</p><p><b> else </b></p><p> next = S2;<
80、/p><p><b> end</b></p><p><b> S3:begin</b></p><p> if(circular_value == PASS_TIME_EW )</p><p> next = S4;</p><p><b> else &
81、lt;/b></p><p> next = S3;</p><p><b> end </b></p><p><b> S4:begin</b></p><p> if(circular_value == YELLOW_TIME_EW )</p><p>
82、 next = S1;</p><p><b> else </b></p><p> next = S4;</p><p><b> end </b></p><p> default: next = S1;</p><p><b> endcase
83、</b></p><p><b> end</b></p><p> ///////////////////////輸出電平信號(hào)賦值模塊///////////////////////////////////// </p><p> always @ (posedge clk_50MHz)</p><p>
84、; begin //主干道_支干道</p><p> case(current) //RYG_RYG</p><p> reset:begin LED_DATA <= 6'b111_111; end//全部熄滅</p><p> S1:begin LED_DATA <=
85、6'b110_011; end//主干道綠燈,支干道紅燈</p><p> S2:begin LED_DATA <= 6'b101_011; end//主干道黃燈,支干道紅燈</p><p> S3:begin LED_DATA <= 6'b011_110; end//主干道紅燈,支干道綠燈</p><p> S4:begi
86、n LED_DATA <= 6'b011_101; end//主干道紅燈,支干道黃燈</p><p> S5:begin LED_DATA <= 6'b110_110; end//全為綠燈</p><p> S6:begin LED_DATA <= 6'b011_011; end//全為紅燈</p><p> defa
87、ult:begin LED_DATA <= 6'b111_111; end//全部熄滅</p><p><b> endcase</b></p><p><b> end</b></p><p> ////////////////////////////////////////////////////
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- fpga課程設(shè)計(jì)--交通燈設(shè)計(jì)
- 基于fpga的交通燈課程設(shè)計(jì)
- 交通燈設(shè)計(jì)數(shù)電交通燈課程設(shè)計(jì)數(shù)電交通燈設(shè)計(jì)
- 模擬交通燈課程設(shè)計(jì)--模擬交通燈的設(shè)計(jì)
- 基于fpga的交通燈設(shè)計(jì)課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)--plc實(shí)現(xiàn)交通燈控制設(shè)計(jì)
- 交通燈課程設(shè)計(jì)--交通燈控制系統(tǒng)設(shè)計(jì)
- 交通燈課程設(shè)計(jì)--交通燈控制器
- 數(shù)電交通燈課程設(shè)計(jì)--簡(jiǎn)易交通燈的設(shè)計(jì)
- 基于fpga的交通燈課程設(shè)計(jì)報(bào)告
- 基于fpga的交通燈控制課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)
- 課程設(shè)計(jì)交通燈
- 課程設(shè)計(jì)—交通燈
- 交通燈課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)報(bào)告---交通燈控制器
- 交通燈課程設(shè)計(jì)---簡(jiǎn)易交通燈控制電路
評(píng)論
0/150
提交評(píng)論