實(shí)驗(yàn)五交通燈控制_第1頁(yè)
實(shí)驗(yàn)五交通燈控制_第2頁(yè)
實(shí)驗(yàn)五交通燈控制_第3頁(yè)
實(shí)驗(yàn)五交通燈控制_第4頁(yè)
實(shí)驗(yàn)五交通燈控制_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)五交通燈控制2023/2/21第一頁(yè),共三十九頁(yè),2022年,8月28日內(nèi)容概要實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)要求實(shí)驗(yàn)原理實(shí)驗(yàn)方案實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)報(bào)告2023/2/22第二頁(yè),共三十九頁(yè),2022年,8月28日了解交通紅綠燈控制器的工作原理。掌握建立狀態(tài)機(jī)的邏輯模型的方法。掌握狀態(tài)機(jī)的實(shí)現(xiàn)和多個(gè)狀態(tài)機(jī)的組合使用方法實(shí)驗(yàn)?zāi)康?023/2/23第三頁(yè),共三十九頁(yè),2022年,8月28日假定十字路口馬路的A方向和B方向各有一組紅、黃、綠三個(gè)燈組成的交通燈,要求設(shè)計(jì)一個(gè)交通紅綠燈控制器,實(shí)現(xiàn)對(duì)這兩組交通燈的管理。正常時(shí),交替放行十字交叉路的兩個(gè)方向,放行時(shí)間相等;交通堵塞時(shí),由交通警察人工控制某方向的放行時(shí)間,以便按照交通負(fù)荷疏導(dǎo)阻塞車輛。具體功能要求如下:實(shí)驗(yàn)要求2023/2/24第四頁(yè),共三十九頁(yè),2022年,8月28日在正常運(yùn)行狀態(tài)下,兩組交通燈按以下規(guī)律自動(dòng)進(jìn)行轉(zhuǎn)換,在不同時(shí)刻分別放行不同方向上的車輛: (綠,紅)50s(黃綠,紅)5s(黃,紅)20s(紅黃,紅)20s(紅,黃)10s (紅,綠)50s(紅,黃綠)5s(紅,黃)20s(紅,紅黃)20s(黃,紅)10s (綠,紅)50s……

2023/2/25第五頁(yè),共三十九頁(yè),2022年,8月28日人工放行:若某一方向發(fā)生交通阻塞,則交通警察按下該方向的放行按鈕來(lái)人工控制放行該方向,則紅綠燈自動(dòng)將相應(yīng)方向的道路放行,此后不會(huì)自動(dòng)放行另一個(gè)方向的道路,直到疏通后,按“恢復(fù)到正常狀態(tài)”按鈕,重新進(jìn)入正常運(yùn)行狀態(tài)。如果某方向處于人工放行的狀態(tài),應(yīng)有指示燈指示這一情況。2023/2/26第六頁(yè),共三十九頁(yè),2022年,8月28日人工控制放行遵循如下限制規(guī)則:有黃燈亮?xí)r,不允許立刻改變放行方向,必須按正常運(yùn)行到所需放行的方向時(shí),才保持放行該方向;每個(gè)方向的放行時(shí)間不得小于某一最小值(假定為30秒鐘),以免車輛頻繁起停。只有在(綠,紅)20s和(紅,綠)20s狀態(tài)下,可以人工控制改變放行方向,即直接跳轉(zhuǎn)到下一狀態(tài)。2023/2/27第七頁(yè),共三十九頁(yè),2022年,8月28日基于狀態(tài)機(jī)的設(shè)計(jì)有限狀態(tài)機(jī)有限狀態(tài)機(jī)(FSM,F(xiàn)initeStatemachine)是時(shí)序電路設(shè)計(jì)中經(jīng)常采用的一種方式,尤其適合于設(shè)計(jì)數(shù)字系統(tǒng)的控制模塊。在VerilogHDL中采用case、if-else語(yǔ)句可以很好地描述基于狀態(tài)機(jī)的設(shè)計(jì)。狀態(tài)機(jī)包括組合邏輯部分和寄存器部分。組合邏輯部分又包括次態(tài)邏輯和輸出邏輯,分別用于狀態(tài)譯碼和產(chǎn)生輸出信號(hào);寄存器部分用于存儲(chǔ)狀態(tài)。實(shí)驗(yàn)原理2023/2/28第八頁(yè),共三十九頁(yè),2022年,8月28日狀態(tài)機(jī)的次態(tài)是現(xiàn)態(tài)及輸入信號(hào)的函數(shù),輸出信號(hào)根據(jù)狀態(tài)機(jī)的現(xiàn)態(tài)或輸入信號(hào)而定。狀態(tài)機(jī)可分為兩類:摩爾(Moore)型狀態(tài)機(jī)和米里(Mealy)型狀態(tài)機(jī)。Moore型狀態(tài)機(jī),其輸出只為狀態(tài)機(jī)當(dāng)前狀態(tài)的函數(shù),而與輸入無(wú)關(guān)。Mealy型狀態(tài)機(jī),其輸出不僅與狀態(tài)機(jī)當(dāng)前狀態(tài)有關(guān),而且與輸入有關(guān)。

2023/2/29第九頁(yè),共三十九頁(yè),2022年,8月28日輸出現(xiàn)態(tài)次態(tài)現(xiàn)態(tài)輸入次態(tài)邏輯狀態(tài)寄存器輸出邏輯輸出現(xiàn)態(tài)次態(tài)現(xiàn)態(tài)輸入次態(tài)邏輯狀態(tài)寄存器輸出邏輯(1)Moore型狀態(tài)機(jī)(2)Mealy型狀態(tài)機(jī)2023/2/210第十頁(yè),共三十九頁(yè),2022年,8月28日狀態(tài)機(jī)的3種表示方法狀態(tài)圖、狀態(tài)表和流程圖輸入/輸出現(xiàn)態(tài)次態(tài)輸入現(xiàn)態(tài)輸出次態(tài)輸出Mealy型狀態(tài)圖的表示

Moore型狀態(tài)圖的表示

2023/2/211第十一頁(yè),共三十九頁(yè),2022年,8月28日起始狀態(tài)的選擇

起始狀態(tài)指電路復(fù)位后所處的狀態(tài),選 擇一個(gè)合理的起始狀態(tài)將使整個(gè)系統(tǒng)簡(jiǎn) 捷高效。對(duì)于有限狀態(tài)機(jī),必須有時(shí)鐘 信號(hào)和復(fù)位信號(hào)!狀態(tài)編碼采用log2N個(gè)觸發(fā)器來(lái)表示這N個(gè)狀態(tài)采用N個(gè)觸發(fā)器來(lái)表示這N個(gè)狀態(tài)——稱為一位熱碼狀態(tài)機(jī)編碼(One-HotStateMachineEncoding)。

2023/2/212第十二頁(yè),共三十九頁(yè),2022年,8月28日采用VerilogHDL語(yǔ)言實(shí)現(xiàn)基于狀態(tài)機(jī)的設(shè)計(jì),就是在時(shí)鐘信號(hào)的觸發(fā)下,完成兩項(xiàng)任務(wù):(1)用case或if-else語(yǔ)句描述出狀態(tài)的轉(zhuǎn)移;(2)描述狀態(tài)機(jī)的輸出信號(hào)。2023/2/213第十三頁(yè),共三十九頁(yè),2022年,8月28日輸入信號(hào)和輸出信號(hào)輸入信號(hào)clk:時(shí)鐘信號(hào)(fclk=50MHz);f1:人工放行A方向的控制信號(hào)(由“放行A”按鈕產(chǎn)生,高有效);f2:人工放行B方向的控制信號(hào)(由“放行B”按鈕產(chǎn)生,高有效);reset:復(fù)位信號(hào)(由“恢復(fù)到正常狀態(tài)”按鈕產(chǎn)生,高有效)。

2023/2/214第十四頁(yè),共三十九頁(yè),2022年,8月28日輸出信號(hào)f1s、f2s:人工控制時(shí)A方向、B方向的放行狀態(tài),驅(qū)動(dòng)LED,高電平時(shí)點(diǎn)亮;s1[2..0]、s2[2..0]:交通燈信號(hào)輸出,分別用于控制A方向和B方向的紅、黃、綠燈的亮或滅,驅(qū)動(dòng)LED,高電平時(shí)點(diǎn)亮。2023/2/215第十五頁(yè),共三十九頁(yè),2022年,8月28日設(shè)計(jì)思路根據(jù)其功能要求(如正常運(yùn)行狀態(tài)下的交通燈自動(dòng)轉(zhuǎn)換規(guī)律,人工放行功能及限制規(guī)則),確定其輸出信號(hào),以便控制兩組交通燈的亮或滅,并在交通崗內(nèi)向交通警察顯示人工放行的狀態(tài)。該控制器的邏輯模型可分為三個(gè)部分:工作狀態(tài)控制器、操作規(guī)則實(shí)現(xiàn)電路以及紅綠燈信號(hào)生成器。2023/2/216第十六頁(yè),共三十九頁(yè),2022年,8月28日(1)工作狀態(tài)控制器

功能:根據(jù)輸入信號(hào)(f1、f2和reset)確定系統(tǒng)當(dāng)前的工作狀態(tài)是為“正常運(yùn)行”狀態(tài)或“A一直放行”或“B一直放行”狀態(tài)。工作狀態(tài)控制器是一個(gè)簡(jiǎn)單的具有三狀態(tài)(normal,fr1,fr2)的有限狀態(tài)機(jī)。其輸入分別為人工放行A方向的控制信號(hào)f1、人工放行B方向的控制信號(hào)f2及復(fù)位信號(hào)reset(均為高有效),其輸出為人工控制時(shí)A方向、B方向的放行狀態(tài).預(yù)習(xí)時(shí)請(qǐng)畫(huà)出其狀態(tài)轉(zhuǎn)移圖。想一想,工作狀態(tài)控制器為Mealy型狀態(tài)機(jī)還是Moore型狀態(tài)機(jī),為什么?2023/2/217第十七頁(yè),共三十九頁(yè),2022年,8月28日(2)操作規(guī)則實(shí)現(xiàn)電路

功能:根據(jù)交通紅綠燈控制器的功能要求,確定不同工作狀態(tài)下計(jì)時(shí)器的計(jì)數(shù)值。可用8位計(jì)數(shù)器來(lái)實(shí)現(xiàn)定時(shí)計(jì)數(shù)。正常運(yùn)行時(shí),計(jì)數(shù)器按照規(guī)定的定時(shí)要求加1計(jì)數(shù);若要人工放行某方向,只要使計(jì)時(shí)器運(yùn)行到該放行狀態(tài)的最后一刻時(shí),計(jì)時(shí)器保持此時(shí)的計(jì)數(shù)值,使紅綠燈信號(hào)生成器暫停狀態(tài)的轉(zhuǎn)移即可。2023/2/218第十八頁(yè),共三十九頁(yè),2022年,8月28日設(shè)計(jì)技巧:將放行某方向的整個(gè)時(shí)間(50s)分為兩段,前30s為正常運(yùn)行狀態(tài)下的最小放行時(shí)間,計(jì)時(shí)器正常計(jì)數(shù);后20s為允許人工放行時(shí)間,可根據(jù)工作狀態(tài)控制器的狀態(tài)機(jī)(f1s和f2s)進(jìn)行判斷,是否欲人工放行另一方向,或是繼續(xù)放行原方向,或是正常運(yùn)行,然后根據(jù)判斷結(jié)果來(lái)確定計(jì)時(shí)器的計(jì)數(shù)值。

(綠,紅)正常運(yùn)行正常運(yùn)行可人工放行可人工放行30s50s135s155s210s105s0s(紅,綠)(紅,綠)(綠,紅)正常運(yùn)行 限制規(guī)則示意圖

2023/2/219第十九頁(yè),共三十九頁(yè),2022年,8月28日(3)紅綠燈信號(hào)生成器

功能:根據(jù)定時(shí)計(jì)數(shù)器的計(jì)數(shù)值來(lái)確定紅綠燈信號(hào)的輸出。這是一個(gè)簡(jiǎn)單的狀態(tài)機(jī),共有10個(gè)不同狀態(tài),有6個(gè)輸出,為s1[2..0]和s2[2..0],分別用于控制A、B兩個(gè)方向的紅、黃、綠燈的亮或滅??梢詫?duì)照?qǐng)D5-1“正常運(yùn)行狀態(tài)下兩組交通燈自動(dòng)轉(zhuǎn)換規(guī)律”,根據(jù)計(jì)時(shí)器的計(jì)數(shù)值來(lái)確定紅綠燈信號(hào)生成器的輸出。注意計(jì)時(shí)器的一個(gè)工作循環(huán)為一個(gè)正常的紅綠燈工作周期,即210秒。預(yù)習(xí)時(shí)請(qǐng)畫(huà)出其狀態(tài)轉(zhuǎn)移圖。2023/2/220第二十頁(yè),共三十九頁(yè),2022年,8月28日設(shè)計(jì)方案的選擇圖文混合設(shè)計(jì)方法:先將電路劃分為幾個(gè)子模塊,每個(gè)子模塊由VerilogHDL語(yǔ)言描述實(shí)現(xiàn),然后生成邏輯符號(hào),頂層文件采用圖形文件來(lái)實(shí)現(xiàn)。純文本描述方法:每個(gè)子模塊和頂層電路的連接關(guān)系都采用VerilogHDL語(yǔ)言描述實(shí)現(xiàn),對(duì)子模塊的調(diào)用采用模塊元件例化的方法。2023/2/221第二十一頁(yè),共三十九頁(yè),2022年,8月28日實(shí)驗(yàn)方案方案一

1.設(shè)計(jì)思路 根據(jù)控制器的邏輯模型,將整個(gè)電路分為3個(gè)子模塊,即工作狀態(tài)控制器state_ctrl.v、操作規(guī)則實(shí)現(xiàn)電路rule.v和紅綠燈信號(hào)生成器sig_gen.v,它們均采用VerilogHDL語(yǔ)言實(shí)現(xiàn)。然后形成頂層圖形設(shè)計(jì)文件trgl_top.bdf。

2023/2/222第二十二頁(yè),共三十九頁(yè),2022年,8月28日工作狀態(tài)控制器state_ctrl.v2023/2/223第二十三頁(yè),共三十九頁(yè),2022年,8月28日操作規(guī)則實(shí)現(xiàn)電路rule.v2023/2/224第二十四頁(yè),共三十九頁(yè),2022年,8月28日紅綠燈信號(hào)生成器sig_gen.v

2023/2/225第二十五頁(yè),共三十九頁(yè),2022年,8月28日頂層圖形設(shè)計(jì)文件trgl_top.bdf2023/2/226第二十六頁(yè),共三十九頁(yè),2022年,8月28日2.對(duì)trgl_top.bdf進(jìn)行時(shí)序仿真。3.創(chuàng)建下載用頂層文件將trgl_top.bdf另起名保存(如trgl_top_p.bdf),并在其時(shí)鐘輸入引腳后增加時(shí)鐘分頻模塊clkdiv_50MHz_to_1Hz,將輸入時(shí)鐘fclk=50MHz分頻為f=1Hz,即T=1s。編譯,引腳鎖定。2023/2/227第二十七頁(yè),共三十九頁(yè),2022年,8月28日 編程下載文件trgl_top_p.bdf2023/2/228第二十八頁(yè),共三十九頁(yè),2022年,8月28日方案二1.設(shè)計(jì)思路

將控制器的三部分電路有機(jī)地結(jié)合到一起,用一個(gè)文件采用VerilogHDL語(yǔ)言實(shí)現(xiàn),文件名為trgl2.v。其中用到了兩個(gè)reg型中間變量: (1)state:工作狀態(tài)控制狀態(tài)機(jī),具有3個(gè)狀 態(tài)(normal,fr1,fr2)。 (2)8位寄存器cnt[7..0]:用于紅綠燈信號(hào)生成器的定時(shí)計(jì)數(shù)。采用3個(gè)always模塊來(lái)實(shí)現(xiàn)這三部分電路(實(shí)際上就是將方案一中的3個(gè)子模塊的VerilogHDL描述放到一個(gè)文本文件中)。2023/2/229第二十九頁(yè),共三十九頁(yè),2022年,8月28日2.在QuartusⅡ中進(jìn)行時(shí)序仿真3.設(shè)計(jì)下載用頂層文件,編程下載采用VerilogHDL語(yǔ)言設(shè)計(jì)頂層文件引腳鎖定,編程下載.2023/2/230第三十頁(yè),共三十九頁(yè),2022年,8月28日分別畫(huà)出工作狀態(tài)控制器和紅綠燈信號(hào)生成器的狀態(tài)轉(zhuǎn)移圖,操作規(guī)則實(shí)現(xiàn)電路的程序流程圖采用方案一或方案二(有余力的同學(xué)也可以兩種方案都采用),按實(shí)驗(yàn)要求給出的功能要求設(shè)計(jì)交通紅綠燈控制器。實(shí)驗(yàn)內(nèi)容2023/2/231第三十一頁(yè),共三十九頁(yè),2022年,8月28日仿真

使輸入信號(hào)均無(wú)效,仿真至少一個(gè)循環(huán)周期的正常運(yùn)行狀態(tài)。觀察狀態(tài)機(jī)state[1..0]以及輸出信號(hào)f1s、f2s、s1[2..0]和s2[2..0]的變化。將仿真結(jié)果保存為trgl_top(normal).vwf。 正常運(yùn)行時(shí)的仿真參考波形一:2023/2/232第三十二頁(yè),共三十九頁(yè),2022年,8月28日

正常運(yùn)行時(shí)的仿真參考波形二(210秒為一周期):2023/2/233第三十三頁(yè),共三十九頁(yè),2022年,8月28日在不同的時(shí)段給定不同的輸入信號(hào),在每種情況下觀察狀態(tài)機(jī)state[1..0]以及輸出信號(hào)f1s、f2s、s1[2..0]和s2[2..0]的變化.2023/2/234第三十四頁(yè),共三十九頁(yè),2022年,8月28日設(shè)計(jì)下載用頂層文件 仿真完全正確后,在原設(shè)計(jì)基礎(chǔ)上增加時(shí)鐘分頻模塊,將輸入時(shí)鐘fclk=50MHz分頻為f=1Hz,即T=1s,形成下載用頂層文件(可以為圖形設(shè)計(jì)文件或.v文本設(shè)計(jì)文件)。對(duì)下載用頂層文件進(jìn)行全編譯。2023/2/235第三十五頁(yè),共三十九頁(yè),2022年,8月28日引腳鎖定本實(shí)驗(yàn)采用模式3——所有按鍵為琴鍵式按鍵,即當(dāng)按下鍵時(shí),輸出為高電平;當(dāng)松開(kāi)鍵時(shí),輸出為低電平。可通過(guò)按下鍵的時(shí)間的長(zhǎng)短來(lái)控制正脈沖的寬度。clk:系統(tǒng)時(shí)鐘信號(hào),50MHz,接FPGA引腳Pin28。注意應(yīng)將下圖中的J6插到Clock0的位置,并將實(shí)驗(yàn)箱右下角“時(shí)鐘頻率選擇”區(qū)域Clock0的時(shí)鐘選擇跳線接到50MHz的位置。2023/2/236第三十六頁(yè),共三十九頁(yè),2022年,8月28日編程下載

利用GW48-SOPC+開(kāi)發(fā)系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)的編程下載。編程器件為EP1C12Q240C8。使用開(kāi)發(fā)系統(tǒng)上的晶振提供的全局時(shí)鐘信號(hào)(fclk=50MHz)(Pin28),用琴鍵式按鈕開(kāi)關(guān)鍵1、鍵2和鍵3(均為高有效)實(shí)現(xiàn)人工控制放行A方向和B方向、復(fù)位功能,用8個(gè)發(fā)光二極管(高有效)D1~D8,分別顯示輸出信號(hào)s1[2..0]、s2[2..0]、f1s和f2s。2023/2/237第三十七頁(yè),共三十九頁(yè),2022年,8月28日在線校驗(yàn)下載后,仔細(xì)觀察:紅綠燈應(yīng)按設(shè)定的時(shí)間規(guī)律自動(dòng)切換,D1~D8八個(gè)LED分別

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論