版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
交通燈設(shè)計一、試驗目的1.了解可編程規(guī)律器件設(shè)計的流程;2.把握數(shù)碼管動態(tài)掃描顯示的實現(xiàn)方法;3.把握狀態(tài)機的設(shè)計方法;4.把握進程的設(shè)計方法。長江大學電工電子示范中心二、設(shè)計任務與要求長江大學電工電子示范中心1.實現(xiàn)正常時序把握功能;2.實現(xiàn)特殊狀態(tài)把握功能;3.實現(xiàn)信號燈點亮時間預置功能;4.將東西方向、南北方向的燈亮時間分別用數(shù)碼管顯示;5.在MAXPLUS或QuartusII開發(fā)平臺上,承受VHDL或Verilog編程設(shè)計;6.對編寫的程序進展編譯仿真、修改,使仿真結(jié)果到達設(shè)計要求;7.下載并測試電路的規(guī)律功能。2.1、問題描述設(shè)計并實現(xiàn)一十字路口的紅、綠、黃三色交通燈把握與顯示電路,即每個路口設(shè)置一組紅、黃、綠交通燈,按圖1所示狀況變化,以保證車輛、行人通行安全。圖12,2、功能分析1.根本功能〔見前面圖〕2.擴展功能〔1〕特殊狀態(tài)把握功能特殊狀態(tài)如緊急車輛隨時通行功能受一開關(guān)把握,無急車時,信號燈按正常時序把握。有急車來時,將特殊狀態(tài)開關(guān)按下,不管原來信號燈的狀態(tài)如何,一律強制讓兩個方向的紅燈同時點亮,制止其它車輛通行,同時計時停頓;特殊狀態(tài)完畢后,恢復原來狀態(tài)連續(xù)運行?!?〕信號燈點亮時間預置功能把握電路在任何時候可依據(jù)實際狀況修改信號燈點亮時間。2.3、設(shè)計思路:1.參考圖1,定義交通燈的狀態(tài),確定狀態(tài)表;狀態(tài)東西方向南北方向時間(s)S0綠燈亮紅燈亮TeS1黃燈亮紅燈亮TyS2紅燈亮綠燈亮TsS3紅燈亮黃燈亮Ty三、程序設(shè)計思路1.狀態(tài)轉(zhuǎn)換的實現(xiàn)在進程中利用自定義數(shù)據(jù)類型定義交通燈的4個狀態(tài),依據(jù)東西、南北方向的時間計數(shù)器的計數(shù)結(jié)果利用CASE語句實現(xiàn)4個狀態(tài)的轉(zhuǎn)換,在每一個狀態(tài)中利用內(nèi)部信號傳遞實現(xiàn)對紅黃綠燈的顯示把握。FSM設(shè)計方法分析把握器設(shè)計指標,建立系統(tǒng)算法模型,即狀態(tài)轉(zhuǎn)換圖;分析被控對象的時序,確定把握器的有限狀態(tài)機的各個狀態(tài)及輸入、輸出條件;應用VHDL語言完成狀態(tài)機的描述。FSM分類Moore型:輸出信號僅與現(xiàn)態(tài)相關(guān)Mealy型:輸出信號與現(xiàn)態(tài)和輸入相關(guān)DFFsOutput
Comb.LogicFeedback
Comb.LogicDFFsOutput
Comb.LogicFeedback
Comb.LogicMooreMealy現(xiàn)態(tài)次態(tài)輸入輸出現(xiàn)態(tài)次態(tài)輸出輸入FSM構(gòu)成FSM用來解決一般時序規(guī)律電路問題,包括同步/異步時序規(guī)律狀態(tài)存放器當前狀態(tài)〔現(xiàn)態(tài)〕存放器組合規(guī)律電路下一狀態(tài)〔次態(tài)〕組合規(guī)律輸出組合規(guī)律Moore和Mealy狀態(tài)機描述的區(qū)分就在于輸出規(guī)律進程vhdl語言描述FSM的建立過程定義狀態(tài)機的狀態(tài)定義狀態(tài)變量描述狀態(tài)機的進程定義狀態(tài)機的狀態(tài)在使用狀態(tài)機之前應當定義狀態(tài)變量的枚舉類型,可以定義在狀態(tài)機描述的源文件中,或者是特地的程序包中。例子:TYPEstateIS〔state1,state2〕;交通燈typecoloris(greenred,yellowred,redgreen,redyellow);
定義狀態(tài)變量定義兩個狀態(tài)機變量:當前狀態(tài)和次態(tài),其中當前狀態(tài)描述的是一組存放器,而下狀態(tài)描述的是組合規(guī)律。例:signalcurrent_state:state;signalnext_state:state;交通燈:signalcurrent_state:color:=redgreen;signalnext_state:color;描述狀態(tài)機的進程狀態(tài)機的描述方式:三進程、二進程、單進程(本試驗承受)一般承受三個進程來描述狀態(tài)機描述狀態(tài)機存放器的時序進程描述次態(tài)產(chǎn)生規(guī)律的組合規(guī)律進程描述輸出組合規(guī)律進程狀態(tài)機存放器的時序進程process(reset,clk)beginifreset=”1”thencurrent_state<=初始狀態(tài);elserising_edge(clk)thencurrent_state<=next_state;endif;endprocess;確定要有復位信號,否則狀態(tài)機處于隨機狀態(tài),無法開頭正常工作次態(tài)轉(zhuǎn)移規(guī)律進程process(current_state,其他輸入信號)beginnext_state<=current_state;casecurrent_stateiswhenstate1=>
.......next_state<=某個狀態(tài);..........whenstate2=>.......next_state<=某個狀態(tài);..........endcase;endprocess;狀態(tài)轉(zhuǎn)換的條件狀態(tài)的表現(xiàn)次態(tài)轉(zhuǎn)移規(guī)律進程在case語句之前,給nenxt_state賦一個缺省值:next_state<=current_state;其意義在于:當case語句中準備下狀態(tài)的規(guī)律比較簡潔時,就不用給全部的狀況賦值,不關(guān)心的狀況就保持原狀態(tài)。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityStageControlis port( clk:instd_logic;--時鐘 emergencykey:instd_logic;--緊急開關(guān) time_h,time_l:outstd_logic_vector(3downto0);;--定時 red,green,yellow:outstd_logic_vector(3downto0);--紅黃綠燈 );endStageControl;architecturebehavofStageControlistypecoloris(greenred,yellowred,redgreen,redyellow);--四種狀態(tài)beginprocess(clk,emergencykey) variabletempr,tempg,tempy:std_logic_vector(3downto0);--三組燈的中間變量 variabletemp_h,temp_l:std_logic_vector(3downto0);--定時的中間變量 variabletemp_color:color:=greenred;--initialstage--當前狀態(tài)的中間變量begin if(clk”eventandclk=”1”)then caseemergencykeyiswhen”1”=>--thenormalstage casetemp_colorisStageControl.VHD狀態(tài)把握模塊本模塊是單進程模式,可改寫為三進程模式whengreenred=>--initialstage tempr<=“1100“; tempg<=“0011“; tempy<=“1111“; casestagechangeiswhen”0”=> temp_h<=“0000“; temp_l<=“1001“; stagechange<=”1”; whenothers=> casetemp_lis when“0000“=> temp_l<=“1001“; temp_h<=temp_h-1; when“0001“=> casetemp_his when“0000“=>temp_h<=“0000“; temp_l<=“0000“; stagechange<=”0”; temp_color<=yellowred; whenothers=>temp_l<=“0000“; endcase; whenothers=> temp_l<=temp_l-1; endcase; endcase;其中一個狀態(tài)的程序其他以此類推紅黃綠燈的亮滅紅黃綠燈亮滅的時間下一個狀態(tài)Case:處于保持狀態(tài)時時間的遞減Case:推斷狀態(tài)的轉(zhuǎn)換還是保持QuartusII設(shè)計及仿真狀態(tài)機查看2.時間顯示的實現(xiàn)東西、南北兩個方向共用8個數(shù)碼管顯示時間,為節(jié)省規(guī)律器件的I/O,時間顯示承受動態(tài)掃描的方法。動態(tài)掃描的根本原理是對于一組數(shù)碼管動態(tài)掃描顯示需要由兩組信號來把握:一組是字段輸出口輸出的字形代碼,用來把握顯示的字形,稱為段碼;另一組是位輸出口輸出的把握信號,用來選擇第幾位數(shù)碼管工作,稱為位碼。各位數(shù)碼管的段線并聯(lián),段碼的輸出對各位數(shù)碼管來說都是一樣的。因此,在同一時刻假設(shè)各位數(shù)碼管的位選線都處于選通狀態(tài)的話,8位數(shù)碼管將顯示一樣的字符。假設(shè)要各位數(shù)碼管能夠顯示出與本位相應的字符,就只讓這一位的位選線處于導通狀態(tài),而其它各位的位選線處于關(guān)閉狀態(tài)。同時,段線上輸出相應位要顯示字符的字型碼。這樣在同一時刻,只有選通的那一位顯示出字符,而其它各位則是熄滅的,如此循環(huán)下去,就可以使各位數(shù)碼管顯示出將要顯示的字符。設(shè)計框圖:QuartusII設(shè)計及仿真entityscandisplayisport(clk,emergencykey:instd_logic; catn:outstd_logic_vector(3downto0);timeh1,timel1:instd_logic_vector(3downto0);num_out:outstd_logic_vector(6downto0) );endscandisplay;architecturebehavofscandisplayissignalnum_in:std_logic_vector(3downto0);signalcounter:integerrange0to1;signalled_chioce:std_logic;Beginprocess(clk);--數(shù)碼管掃描beginif(clk”eventandclk=”1”)then counter<=counter+1; ifcounter=1then num_in<=timeh1; led_sel<=“101“; else num_in<=timel1; led_sel<=“100“; endif;endif;endprocess;process(num_in);--顯示譯碼〔共陰?共陽〕begincasenum_iniswhen“0000“=>num_out<=?; 。。。。。 when“1001“=>num_out<=?;whenothers=>num_out<=?;endcase;endprocess;Endbehav掃描顯示模塊scandisplay.VHD分頻clk_demultiplier.vhdentityclk_demultiplierisgeneric(div_fre_1kHz:integer:=24999;div_fre_1Hz:integer:=499);port(clk:instd_logic;clk_1kHz,clk_1Hz:bufferstd_logic);endentity;signalfre_1kHz:integerrange0todiv_fre_1kHz;signalfre_1Hz:integerrange0todiv_fre_1Hz;
beginprocess(clk)--將clk_1kHz=clk/50000beginifrising_edge(clk)thenif(fre_1kHz>=div_fre_1kHz)thenfre_1kHz<=0;clk_1kHz<=notclk_1kHz;elsefre_1kHz<=fre_1kHz+1;endif;endif;endprocess;process(clk_1kHz)
--將clk_1Hz=clk_1kHz/1000beginifrising_edge(clk_1kHz)thenif(fre_1Hz>=div_fre_1Hz)thenfre_1Hz<=0;clk_1Hz<=notclk_1Hz;elsefre_1Hz<=fre_1Hz+1;endif;endif;endprocess;
endbehav;libraryieee;useieee.std_logic_1164.all;entitytraffic_light_controlisport( clk,emergencykey:instd_logic; red,green,yellow:outstd_logic_vector(3downto0); led_seg:outstd_logic_vector(7downto0); led_sel:outstd_logic_vector(2downto0) );endtraffic_light_control;architecturebehavoftraffic_light_controlissignalscan_clk,count_clk,temp_key,temp_show:std_logic;signaltemp_sel:std_logic;signaltemp_h,temp_l:std_logic_vector(3downto0);componentclk_demultiplierisgeneric(div_fre_1kHz:integer:=24999;div_fre_1Hz:integer:=499);port(clk:instd_logic;clk_1kHz,clk_1Hz:outstd_logic);endcomponent;componentscandisplayis port( clk:instd_logic; led_sel:outstd_logic_vector(2downto0); time_h,time_l:instd_logic_vector(3downto0); led_segcode:outstd_logic_vector(7downto0) );endcomponent;componentStageControlis port( clk:instd_logic; emergencykey:instd_logic; time_h,time_l:outstd_logic_vector(3downto0); red,green,yellow:outstd_logic_vector(3downto0) );endcomponent;beginu0:clk_demultiplierportmap(clk=>clk,clk_1kHz=>scan_clk,clk_1Hz=>count_clk); u1:StageControlportmap(clk=>count_clk,emergencykey=>emergencykey,red=>red,green=>green,yellow=>yellow,time_h=>temp_h,time_l=>temp_l); u2:scandisplayportmap(clk=>scan_clk,time_h=>temp_h,time_l=>temp_l,led_segcode=>led_seg,led_sel=>led_sel);end;頂層實體:traffic_light_control.vhd交通燈把握的RTL示意圖引腳鎖定:長江大學電工電子示范中心三、提示數(shù)碼管:a(pin_171)b(pin_174)c(pin_176)
d(pin_181)
e(pin_183)f(pin_185)
g(pin_187)
DR(pin_189)
共陰極數(shù)碼管片選:
LED_SEL2(pin_199)
LED_SEL1(pin_197)LED_SEL0(pin_195)
芯片:
CycloneIII,EP3C16Q240C8試驗箱數(shù)碼管電路圖數(shù)碼管是4位8段共陰極型,引腳6、8、9、12為位選端,對應從右至左的4位數(shù)碼管的共陰極,低電平有效;引腳11、7、4、2、1、10、5、3對應數(shù)碼管的a~g、DR等8段LED燈,高電平發(fā)亮。LED東西南北方向:紅色r
L11(pin_214)
紅色rL5(pin_186)
紅色rL6(pin_188)紅色r
L0(pin_173)
黃色y
L10(pin_203)黃色y
L4(pin_184)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年小學上半年教學工作計劃范文
- 2025年放養(yǎng)蟲草雞產(chǎn)業(yè)工作計劃范文
- Unit 5 Exploring the Topic-Reading strategies說課稿 2024-2025學年仁愛科普版英語七年級上冊
- 2025年有關(guān)幼兒園保育員工作計劃范本
- 2025年小學五年級英語教師教學工作計劃
- 2025年銷售年度計劃書
- 2025幼兒園中班班主任工作計劃開頭
- 2025年度社區(qū)志愿者工作計劃
- 2025年呼吸內(nèi)科護理工作計劃例文
- 全國清華版信息技術(shù)小學一年級上冊新授課 第17課 在電腦桌上欣賞圖片 說課稿
- 2024年中國陶瓷碗盆市場調(diào)查研究報告
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應用實踐指導材料之22:“8運行-8.1運行策劃和控制”(雷澤佳編制-2025B0)
- 單位網(wǎng)絡(luò)安全攻防演練
- 新交際英語(2024)一年級上冊Unit 1~6全冊教案
- 神經(jīng)外科基礎(chǔ)護理課件
- 2024中國儲備糧管理集團限公司招聘700人易考易錯模擬試題(共500題)試卷后附參考答案
- 內(nèi)蒙古赤峰市2023-2024學年高一上學期期末考試物理試題(含答案)
- 建筑工程機械設(shè)備安全技術(shù)操作規(guī)程
- 故宮2024課件:中國古代皇家宗教信仰探秘
- 2024年中國石油鉆機電機市場調(diào)查研究報告
- 2024年中國心力衰竭診斷和治療指南2024版
評論
0/150
提交評論