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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、2020/8/4,1,修正計算機EDA設定修正實驗教程,實驗五交通信號控制器,北航修正計算機學院艾明晶,2020/8/4,2,內(nèi)容概要,實驗目的實驗要求實驗原理實驗方案實驗內(nèi)容實驗報告,掌握制作2020/8/狀態(tài)機的邏輯模型的方法把握狀態(tài)機的實現(xiàn)和多個狀態(tài)機的組合使用方法、實驗目的,2020/8/4,4,4,假設在十字路口道路的a方向和b方向分別有一組由紅、黃、綠三個燈組成的信號燈,設定交通信號控制器,修正這兩組信號燈的正常時,交替釋放十字交叉路的兩個方向,釋放時間相等的交通堵塞時,交通警察手動控制某個方向的通行時間,根據(jù)交通負荷疏散堵塞車輛。 具體功能要求是,實驗要求,2020/8/4,5,

2、5,在正常運行狀態(tài)下,2組信號機按照以下規(guī)則自動切換,在不同的時刻分別發(fā)射不同方向的車輛: (綠,紅) 50s (黃,紅)5s紅黃) 20s (黃,紅) 10s (綠6、人工放行:在某個方向發(fā)生交通堵塞時,交通警察按下該方向的放行按鈕手動控制該方向的話,如果某個方向處于手動釋放的狀態(tài),則需要指示該情況的燈。2020/8/4,7、7、7、手動控制放行遵循以下限制規(guī)則:在有黃燈亮的情況下,不允許立即變更放行方向,如果不正常運行到必要的放行方向,則不保持該方向的各方向的釋放時間為最小值(以使車輛不頻繁停止) 僅在(綠,紅) 20s和(紅,綠) 20s的狀態(tài)下,能夠通過手動控制改變釋放方向,即能夠直接

3、跳轉(zhuǎn)到下一狀態(tài)。 2020/8/4,8、8、8、基于狀態(tài)機的設定修正有限狀態(tài)機有限狀態(tài)機(FSM、Finite State machine )是時序電路設定修正中經(jīng)常采用的方式,特別適合設定修正數(shù)字系統(tǒng)的控制模塊在Verilog HDL中使用case、if-else語句可以更好地描述基于狀態(tài)機的設置修訂。 狀態(tài)機是邏輯部和寄存器部的組合。 組合邏輯部還包含分別用于狀態(tài)解碼和輸出信號生成的子狀態(tài)邏輯和輸出邏輯的寄存器部用于保存狀態(tài)。實驗原理,2020/8/4,9,9,狀態(tài)機的二級狀態(tài)是當前狀態(tài)和輸入信號的函數(shù),輸出信號由狀態(tài)機的當前狀態(tài)或輸入信號決定。 狀態(tài)機可以分為小型狀態(tài)機和毫米型狀態(tài)機兩種

4、類型。的。 Moore狀態(tài)機只輸出狀態(tài)機當前狀態(tài)的函數(shù),而不考慮輸入。 Mealy型狀態(tài)機的輸出不僅與狀態(tài)機的當前狀態(tài)有關,也與輸入有關。2020/8/4、10、2020/8/4、11、狀態(tài)機的3種顯示方法狀態(tài)圖、狀態(tài)表和流程圖、Mealy型狀態(tài)圖的顯示、Moore型狀態(tài)圖的顯示、2020/有限狀態(tài)機需要時鐘信號和復位信號! 狀態(tài)代碼利用log2N個觸發(fā)器來表示這n個狀態(tài)利用n個觸發(fā)器來表示這n個狀態(tài),這被稱為1比特熱碼狀態(tài)機代碼(One-Hot State Machine Encoding )。 使用2020/8/4、13和Verilog HDL語言實現(xiàn)基于狀態(tài)機的設置校正將在時鐘信號的觸發(fā)

5、下描述狀態(tài)的轉(zhuǎn)變(2)描述狀態(tài)機的輸出信號。輸入信號和輸出信號輸入信號clk :時鐘信號(fclk=50MHz ); f1:手動輸出a方向的控制信號(通過“輸出a”按鈕發(fā)生,高有效性) f2:手動輸出b方向的控制信號(通過“輸出b”按鈕發(fā)生,高有效性) reset :復位信號(通過“返回正常狀態(tài)”按鈕發(fā)生,高有效)。2020/8/4、15、輸出信號f1s、f2s :手動控制時的a方向、b方向的放電狀態(tài)、驅(qū)動LED、高電平時點亮; s12.0、s22.0:信號機的信號輸出分別控制a方向和b方向的紅、黃、綠的點亮或熄滅,驅(qū)動LED,高電平時點亮。 2020/8/4、16,設置修訂構(gòu)想基于其功能要求

6、(例如,正常運行狀態(tài)下信號機的自動轉(zhuǎn)換規(guī)則、人工放射功能及限制規(guī)則),確定其輸出信號,控制兩組信號機的點亮或熄滅,在交通工具內(nèi)向交通警察顯示人工放射的狀態(tài)。 控制器的邏輯模型分為三個部分:操作狀態(tài)控制器、操作規(guī)則實現(xiàn)電路和信號生成器。 (1)操作狀態(tài)控制器功能:基于輸入信號(f1、f2、reset )確定系統(tǒng)當前的操作狀態(tài)是“正常操作”狀態(tài)、“a一直放行”還是“b一直放行”的操作狀態(tài)控制器其輸入分別為人工控制a方向的控制信號f1、人工控制b方向的控制信號f2及復位信號reset (均為高有效),其輸出為人工控制時的a方向、b方向的放行狀態(tài),預習時請描繪其狀態(tài)轉(zhuǎn)移圖。 想一想。 為什么運行狀態(tài)控

7、制器是Mealy型狀態(tài)機還是Moore型狀態(tài)機? (2)操作規(guī)則實現(xiàn)電路功能:根據(jù)交通信號控制器的功能要求,確定不同工作狀態(tài)下的計時器的計數(shù)值。 定時計數(shù)可通過8位計數(shù)器實現(xiàn)。 正常運行時,計數(shù)器根據(jù)規(guī)定的定時請求相加1計數(shù),為了手動通過某個方向,使計時器運行到該通過狀態(tài)的最后的瞬間,計時器保持此時的計數(shù)值,使信號生成器暫時停止狀態(tài)的轉(zhuǎn)變即可。2020/8/4、19、設定修正技巧:將通過某方向的全部時間(50s )分為兩部分,前30s為正常運轉(zhuǎn)狀態(tài)下的最小通過時間,計時器正常計數(shù)后20s為允許手動通過時間,運轉(zhuǎn)狀態(tài)控制器的狀態(tài)機(f1s和f2s 、限制規(guī)則示意圖、2020/8/4、20、(3)

8、信號生成器功能:根據(jù)定時計數(shù)器的計數(shù)值來決定信號信號的輸出。 這是一個簡單的狀態(tài)機,總共有10個不同的狀態(tài),有6個輸出,在s12.0和s22.0,分別用于控制a、b兩個方向的紅、黃、綠點亮或熄滅。 與圖5-1的“正常運行狀態(tài)下的2組信號機的自動變換規(guī)則”相對照,可以根據(jù)計時器的計數(shù)值來確定信號機信號生成器的輸出。 注意:計時器的一個周期是正常的信號周期,即210秒。 預習的時候請畫那個狀態(tài)轉(zhuǎn)移圖。2020/8/4、21、設定修正方案的選擇文字混合設定修正方法:將電路分割成多個子模塊,將各子模塊用Verilog HDL語言記述實現(xiàn)后,生成邏輯符號,用圖形文件實現(xiàn)最上面的文件。 純文本描述方法:各

9、子模塊與頂級電路的連接關系采用Verilog HDL語言描述實現(xiàn),子模塊的調(diào)用采用實例化模塊組件的方法。2020/8/4、22、實驗方案、方案1 .設置修正構(gòu)想控制器的邏輯模型,將整個電路分成三個子模塊,即操作狀態(tài)控制器state_ctrl.v、操作規(guī)則實現(xiàn)電路rule.v和信號生成器sig_,然后將最高級別的2020/8/4、23、動作狀態(tài)控制器state_ctrl.v、2020/8/4、24、動作規(guī)則實現(xiàn)電路rule.v、2020/8/3 .生成下載用頂級文件將trgl_top.bdf用其他名稱保存編譯,銷鎖。2020/8/4、28,編程下載文件trgl_top_p.bdf,2020/8/

10、4、29,方案21 .設置糾正思路有機地結(jié)合了控制器的三個部分電路。 其中使用了2個reg型中間變量: (1)state :動作狀態(tài)控制狀態(tài)機,具有3個狀態(tài)(normal,fr1,fr2)。 (2)8位寄存器cnt7.0 :用于信號生成器的定時計數(shù)。 使用三個always模塊實現(xiàn)這三個電路(實際上,將方案1的三個子模塊的Verilog HDL描述放置在一個文本文件中)。 用2020/8/4,30,Quartus進行時間序列模擬的3 .設定修正下載用頂部文件,用編程下載Verilog HDL語言設定修正頂部文件銷鎖,編程下載.2020/8/4 觀察狀態(tài)機state1.0是輸出信號f1s、f2s、

11、s12.0和s22.0的變化。 將模擬結(jié)果保存為trgl _ top (正常).VWF。 正常運行時的模擬基準波形1 :2020/8/4、33;正常運行時的模擬基準波形2(210秒為1個周期):2020/8/4、34,在不同的時間段提供不同的輸入信號,分別設定修正下載用頂文件的模擬在原始設定修正上追加時鐘分頻模塊,將輸入時鐘fclk=50MHz分頻為f=1Hz,即T=1s,作為下載用頂部文件(也可以是圖形設定修正文件或. v文本設定修正文件)的下載用途、2020/8/4、36、pin lock本實驗中采用的模式3的全部鍵為鍵式鍵,即如果按下鍵,則釋放輸出為高電平的鍵,則輸出為低電平。 按鍵時間

12、的長度可以控制正脈沖的寬度。 clk :連接系統(tǒng)時鐘信號、50MHz、FPGA引腳Pin28。 注意將下圖的J6插入Clock0的位置,將測試框右下角的“時鐘頻率選擇”區(qū)域Clock0的時鐘選擇跳至50MHz的位置。 實現(xiàn)2020/8/4、37、編程下載GW48-SOPC開發(fā)系統(tǒng)中設定、修訂的編程下載。 編程設備為EP1C12Q240C8。 使用從開發(fā)系統(tǒng)上的水晶振動器提供的全局時鐘信號(fclk=50MHz)(Pin28 ),通過鍵式按鈕開關鍵1、鍵2、鍵3 (都是高效率)手動控制釋放a方向和b方向、復位功能,獲得8個發(fā)光二極管(高效率在線檢查下載后仔細觀察:信號應按設定的時間規(guī)則自動切換,

13、D1D8的8個LED分別對應于a方向的紅綠、b方向的紅綠、a方向的放行狀態(tài)、b方向的放行狀態(tài)。 然后,按下鍵1,表示想手動通過a方向時,顯示相應的LED,同時雙向的信號按照通常的運行規(guī)則自動切換,運行到放行a方向時,維持該方向。 再按鍵2,表示想手動通過b方向,則顯示相應的LED,同時雙向的信號按照通常的運行規(guī)則自動切換,沿b方向運行,則維持該方向。 再次按鍵3,表示清除人工方向的控制后,交通燈開始自動切換為紅黃綠燈的狀態(tài)。表示2020/8/4、39、信號生成器和動作狀態(tài)控制器的狀態(tài)轉(zhuǎn)移圖、以及動作規(guī)則實現(xiàn)電路的程序流程圖。 給出了控制器邏輯模型的仿真波形剖面圖,并根據(jù)仿真結(jié)果詳細分析了交通信號控制器的工作過程。 請考慮一下:正值為a方向紅燈點亮,b方向紅

溫馨提示

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

評論

0/150

提交評論