【正文】
0狀態(tài)。5S鐘之后,交通燈重新進入主干道綠燈亮、支干道紅燈亮的狀態(tài)(即S0狀態(tài))。在支干道數(shù)碼管倒計時顯示為0s后,LED燈的顯示情況變?yōu)橹鞲傻兰t燈亮,支干道綠燈亮,主干道數(shù)碼管倒計時顯示為24s,支干道數(shù)碼管倒計時顯示為19s。在支干道數(shù)碼管倒計時顯示為0s后,可以看見LED燈的顯示情況變?yōu)橹鞲傻傈S燈亮,支干道紅燈亮。: 仿真結(jié)果分析將程序下載到試驗板后,將R置于高電平后,可以看見LED燈的顯示情況為主干道綠燈亮,支干道紅燈亮。交通燈控制器各模塊的源程序如附錄所示。其中四個譯碼顯示模塊的輸出分別接實驗板上的四個LED數(shù)碼管,用來顯示主、支干道的倒計時。部分變量是在原程序中取反,部分變量是在原理圖中接了非門后輸出。Out0、OutOutOutOutOutOut6分別代表數(shù)碼管的a、b、c、d、e、f、g端。datain[6..0]接控制和計時模塊的輸出信號。end process。 out6=not datain(6)。 out4=not datain(4)。 out2=not datain(2)。 then out0=not datain(0)。event and clk=39。具體實現(xiàn)方式是將控制信號的輸出信號(如LED1【6..0】)的七位與數(shù)碼管的七段一一對應(yīng)。之后系統(tǒng)遵循S4 S1S2S3S0的狀態(tài)轉(zhuǎn)換原則。由圖可以看出SPC輸入高電平之后,系統(tǒng)遵循的是S6S0S1S2S3S0的狀態(tài)轉(zhuǎn)換原則。在R為高電平之后,系統(tǒng)重新進入S0狀態(tài),開始了S0S1S2S3S0的循環(huán)。S3狀態(tài)結(jié)束后是S0狀態(tài),也即開始了新的循環(huán)。其次是S2狀態(tài),gr1為高電平。從波形圖可以看出,在正常情況下首先開始的是S0狀態(tài),g1和r2為高電平。LED1[0..6]、LED2[0..6]、LED3[0..6]、LED4[0..6]分別代表主干道倒計時顯示十位、主干道倒計時顯示個位、支干道倒計時顯示十位、主干道倒計時顯示個位。其作用是根據(jù)兩干道的相對車輛數(shù)目來適當延長通行時間,防止交通堵塞。SPC為緊急控制信號,此時兩干道均禁止通行,狀態(tài)結(jié)束后系統(tǒng)轉(zhuǎn)換為S0狀態(tài)。... : 控制模塊的電路符號clk_1hz為分頻器產(chǎn)生的1hz時鐘脈沖。 END CASE。 WHEN 9=LED1=1111011。 WHEN 7=LED1=1110000。 WHEN 5=LED1=1011011。 WHEN 3=LED1=1111001。 WHEN 1=LED1=0110000。 END PROCESS。 L3=T2/10。 L1=T1/10。 END IF。 T2=34。 WHEN OTHERS=STATE=S0。 T2=24。 IF T1=0 THEN STATE=S0。 T1=T11。 g2=39。 y2=39。 r2=39。 g1=39。 y1=39。 WHEN S6=r1=39。 T2=4。 IF T2=0 THEN STATE=S3。 T1=T11。139。039。039。039。039。139。 END IF。 T1=4。 T2=T21。支干道黃燈。 g2=39。 y2=39。 r2=39。 g1=39。 y1=39。 WHEN S4=r1=39。 T2=24。 IF T1=0 THEN STATE=S0。 T1=T11。039。139。039。039。039。139。 END IF。 T1=4。 T2=T21。 支干道通車。 g2=39。 y2=39。 r2=39。 g1=39。 y1=39。 WHEN S2=r1=39。 T2=19。 IF T1=0 THEN STATE=S2。 T1=T11。039。039。139。039。139。039。 END IF。 T1=4。 T2=T21。主干道通車。 g2=39。 y2=39。 r2=39。 g1=39。 y1=39。 THEN CASE STATE IS WHEN S0=r1=39。EVENT AND CLK1hz=39。 T2=29。 THEN STATE=S6。 ELSIF SPC=39。 T1=44。139。 T2=64。 THEN STATE=S4。 ELSIF WE=39。 T1=39。139。本文第二章已對各個狀態(tài)的作了具體描述,故在此不復述。: 時鐘分頻模塊仿真圖 狀態(tài)控制電路設(shè)計控制模塊依據(jù)外部輸入輸出信號,來控制交通燈其他部分協(xié)調(diào)工作。 end if。 t1=0。 then t1 = t1 + 1。event and clk=39。: . 1時鐘分頻模塊的電路符號在模塊中,clk采用系統(tǒng)的4MHZ時鐘脈沖,clk_1hz為分頻器產(chǎn)生的1hz的輸出脈沖。FPGA器件FLEX EPF10K10LC84上時鐘源頻率為4MHZ,而系統(tǒng)的時鐘計時模塊需要1HZ的脈沖。S6:主、支干道均為紅燈亮,車輛禁止通行,整個過程持續(xù)30s。此時主干道車輛禁止通行,支干道車輛允許通行。整個過程持續(xù)60s。S4:主干道綠燈亮、支干道紅燈亮。此時提醒支干道車輛準備停車,主干道車輛禁止通行。整個過程持續(xù)25s。S2:主干道紅燈亮、支干道綠燈亮。此時提醒主干道車輛準備停車,支干道車輛禁止通行。整個過程持續(xù)40s。各個狀態(tài)具體的運行方式如下所述:S0: 主干道綠燈亮、支干道紅燈亮。當主干道車輛很多時,WE為高電平,此時系統(tǒng)轉(zhuǎn)換為S4狀態(tài),S4狀態(tài)結(jié)束后系統(tǒng)轉(zhuǎn)換為S1狀態(tài)。SPC為緊急控制信號,為高電平時系統(tǒng)轉(zhuǎn)換為S6狀態(tài),狀態(tài)結(jié)束后系統(tǒng)重新設(shè)置,轉(zhuǎn)換為S0狀態(tài)。其運行方式為S0→S1→S2→S3,S3結(jié)束后再回到S0狀態(tài),整個周期持續(xù)60s。依據(jù)設(shè)計要求。并且在主、支干道各有兩組數(shù)碼管,以便顯示相應(yīng)狀態(tài)的倒計時。且遵循“主干道優(yōu)先考慮”原則,主、支干道紅、綠燈亮的時間不完全一致,在正常情況下主干道允許車輛通行的時間更長。 十字路口交通燈控制器的平面圖實現(xiàn)紅黃綠燈的自動指揮是城市交通管理自動化的重要課題之一。因此此次的交通燈控制器將基于FPGA的設(shè)計方案來實現(xiàn)所需要的功能。而且,隨著FPGA器件,設(shè)計語言和電子設(shè)計自動化工具的發(fā)展和改進,越來越多的電子系統(tǒng)采用FPGA來設(shè)計。有緊急車輛通過時,實現(xiàn)應(yīng)急模式,東西、南北通道均為紅燈,數(shù)碼管顯示“—”。能夠做到主、支干道的紅綠燈閃亮的時間不相同,主干道(南北)通行40秒,支干道(東西)通行25秒,在綠燈跳變紅燈的過程中,能夠用黃燈進行過度,閃爍頻率2赫茲??梢杂肰HDL語言合理設(shè)計系統(tǒng)功能,使紅黃綠左轉(zhuǎn)燈的轉(zhuǎn)換有一個準確的時間間隔和轉(zhuǎn)換順序。而且要求綠燈亮轉(zhuǎn)紅燈亮或者轉(zhuǎn)左轉(zhuǎn)燈亮之前要先轉(zhuǎn)黃燈亮5秒,左轉(zhuǎn)燈亮轉(zhuǎn)紅燈亮之前也要先轉(zhuǎn)黃燈亮5秒,紅燈亮可以直接轉(zhuǎn)綠燈或左轉(zhuǎn)燈亮()。Quartus II的設(shè)計流程如下所示:(1) 設(shè)計輸入:完成期間的硬件描述,包括文本編輯器、塊與符號編輯器、MegaWizard插件管理器、約束編輯器和布局編輯器等工具;(2) 綜合:包括分析和綜合器、輔助工具和RTL查看器等工具;(3) 布局連線:將設(shè)計綜合后的網(wǎng)表文件映射到實體器件的過程,包括Fitter工具、約束編輯器、布局圖編輯器、芯片編輯器和增量布局連線工具;(4) 時序分析;(5) 仿真:Quartus II提供了功能仿真和時序仿真兩種工具。配置用于從庫中選取所需單元來組成系統(tǒng)設(shè)計的不同版本;庫存放已經(jīng)編譯的實體、構(gòu)造體、包集合和配置。前4種是可分別編譯的源設(shè)計單元。它已經(jīng)作為一種IEEE的工業(yè)標準,便于復用和交流。在工藝更新時,就無須修改原設(shè)計程序,只要改變相應(yīng)的映射工具就行了。在用VHDL語言設(shè)計系統(tǒng)硬件時,沒有嵌入與工藝有關(guān)的信息。還可以自定義數(shù)據(jù)類型,給編程人員帶來較大的自由和方便。另外,高層次的行為描述可以與低層次的RTL描述和結(jié)構(gòu)描述混合使用。⑵系統(tǒng)硬件描述能力強。VHDL語言優(yōu)點突出,其特點如下所示:⑴設(shè)計技術(shù)齊全、方法靈活、支持廣泛。VHDL在大規(guī)模的數(shù)字電路系統(tǒng)設(shè)計中發(fā)揮愈來愈重要的作用,它將逐步替代如邏輯函數(shù)和邏輯狀態(tài)圖等傳統(tǒng)的描述方法,成為EDA領(lǐng)域的重要組成部分。由于這些硬件描述語言與其公司的硬件產(chǎn)品密切相關(guān)而且語法不統(tǒng)一,從而造成信息交流和設(shè)備維護的困難。 可以說FPGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。⑷FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風險最小的器件之一。⑵FPGA可做其它全定制或半定制ASIC電路的中試樣片。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。因而此次交通等控制器的設(shè)計采用基于VHDL語言和FPGA的方法來實現(xiàn)所要求的功能.長沙航空職業(yè)技術(shù)學院畢業(yè)設(shè)計(論文) VHDL、FPGA、Quartus I