




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
電自8班 黃義華 20080711107數(shù)字電路課程設(shè)計題目:基于FPGA和VHDL語言的交通燈控制系統(tǒng)設(shè)計設(shè)計者:黃義華 學(xué)號:20080711107 組員:黎志浪、胡海爾日期:2010年12月 交通燈控制器功能描述:通過兩組交通燈來模擬控制十字路口東西、南北兩條道路上的車輛通行,所有功能在實驗操作平臺上模擬通過,其主要功能如下:1. 根據(jù)要求顯示模擬路口東西、南北兩個方向上的紅燈、黃燈和綠燈的指示狀態(tài)。2. 在LED指示的同時,實現(xiàn)正常的倒計時功能。3. 控制實現(xiàn)兩種特殊狀態(tài)并用交通燈加以顯示。4. 能實現(xiàn)系統(tǒng)總清零。5. 具有一定的擴展功能。設(shè)計任務(wù):1.用紅、黃、綠三色發(fā)光二極管做信號燈,主干道A為東西向,設(shè)紅、黃、綠三色燈為AR、AG、AY;支干道B為南北向,三色燈為BR、BG、BY。2.主干道上車輛較多,所以亮綠燈的時間設(shè)為50s;支干道亮綠燈的時間設(shè)為30s。當(dāng)主干道允許通行亮綠燈時則支干道亮紅燈;相反,支干道允許通行亮綠燈時則主干道亮紅燈。每次由綠燈轉(zhuǎn)變?yōu)榧t燈時,其間要亮5s的黃燈作為過渡,以便行駛中的車輛有時間停到禁止線以內(nèi)。3.交通燈正常運行時,在LCD 顯示屏上顯示主干道和支道的倒計時時間,ES主干道在當(dāng)前狀態(tài)的剩余時間,SN顯示支干道在當(dāng)前狀態(tài)的剩余時間。4.能實現(xiàn)系統(tǒng)清0,清0后計數(shù)器由初始狀態(tài)開始計數(shù),指示燈指示主干道亮綠燈。5.能實現(xiàn)特殊狀態(tài)的顯示,用開關(guān)S作為特殊信號傳感器,S為1時進入特殊狀態(tài)并實現(xiàn)以下功能: (1)計數(shù)器停止計數(shù)并保持原來的時間數(shù)據(jù)。(2)東西、南北方向的三色燈全顯示紅色狀態(tài)。 (3)特殊狀態(tài)解除后能繼續(xù)返回正常工作狀態(tài)。設(shè)計要求1.分析設(shè)計任務(wù),擬定多種設(shè)計方案,根據(jù)當(dāng)時的制作條件,選定適合的方案繪制框圖和設(shè)計流程。2.設(shè)計各部分單元電路或編寫VHDL描述程序。3.對制作的電路進行功能測試,分析各項技術(shù)指標(biāo);或?qū)υO(shè)計的電路進行功能仿真,分析仿真波形。4.總結(jié)設(shè)計資料,但因包括原理電路、VHDL描述、仿真波形的設(shè)計報告,校驗并演示電路裝置。狀態(tài)順序與燈亮對應(yīng)表態(tài)序(S1 S0)主干道(A)支干道(B)亮燈時間1 (0 0)黃燈亮紅燈亮5S2 (0 1)紅燈亮綠燈亮30S3 (1 0)紅燈亮黃燈亮5S4 (1 1)綠燈亮紅燈亮50S交通燈控制狀態(tài)圖5S未到,保持原狀態(tài)5S到,轉(zhuǎn)到下一狀態(tài)00狀態(tài)YA,RB50S未到,保持原狀態(tài)50S到,轉(zhuǎn)到下一狀態(tài)30S未到,保持原狀態(tài)30S到,轉(zhuǎn)到下一狀態(tài)5S未到,保持原狀態(tài)5S到,轉(zhuǎn)到下一狀態(tài)10狀態(tài)RA,YB01狀態(tài)RA,GB11狀態(tài)GA,RB譯碼器真值表SS1S0AGARAYBGBRBY1XX010010000001010001010100011100010系統(tǒng)設(shè)計輸入: 本實驗采用硬件語言輸入,其整體VHDL源文件描述如下,其中“S0”“S1”“S2”“S3”為事先設(shè)定的四種狀態(tài)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity JIAOTONGDENG is port (CP,RS,SPE: IN STD_LOGIC; -輸入 EWRYG,SNRYG:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -各方向上交通燈顏色顯示 EW,SN: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)-ASCII碼LCD顯示 );end JIAOTONGDENG ;architecture JGT of JIAOTONGDENG ISTYPE STATES IS(S0,S1,S2,S3); -定義狀態(tài)SIGNAL S:STATES;SIGNAL AQ,AQQ,BQQ: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL CQ,CQQ,CQQQ: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL AARYG,AAARYG,BBRYG,BBBRYG:STD_LOGIC_VECTOR(2 DOWNTO 0);FUNCTION SAM (BIN:STD_LOGIC_VECTOR(7 DOWNTO 0) -2位16進制轉(zhuǎn)2位BCD碼函數(shù)RETURN STD_LOGIC_VECTOR ISVARIABLE SBCD,ADDBCD :STD_LOGIC_VECTOR(7 DOWNTO 0);VARIABLE N:INTEGER RANGE 0 TO 8;BEGINN:=0;SBCD:=00000000;IF BIN ADDBCD:=00000001; WHEN 1= ADDBCD:=00000010; WHEN 2= ADDBCD:=00000100; WHEN 3= ADDBCD:=00001000; WHEN 4= ADDBCD:=00010110; WHEN 5= ADDBCD:=00110010; WHEN 6= ADDBCD:=01100100; WHEN OTHERS= ADDBCD:=00000000; END CASE; SBCD:=SBCD+ADDBCD; IF SBCD(3 DOWNTO 0)1001 THEN -進行BCD碼加法調(diào)整 SBCD:=SBCD+0110; END IF;END IF;N:=N+1;EXIT WHEN N=8;END LOOP;RETURN SBCD;ELSE RETURN 00000000;END IF;END FUNCTION SAM;BEGINPROCESS(CP,RS,SPE)BEGINIF RS=1 THEN S=S0; AQ=X00; AARYG=100;BBRYG=100; AQQ=X00; BQQ=X00;ELSIF CP=1 AND CP EVENT THEN IF SPE=1 THEN AARYG=100;BBRYG=100; CQ=AQ;CQQ=AQQ;CQQQ0 THEN AQ=X00;AQQ=X00; BQQ=X00; ELSE AQ=CQ; AQQ=CQQ; BQQ IF AQ0 THEN AQ=AQ-1; AARYG=AAARYG;BBRYG=BBBRYG;AQQ=AQQ-1;BQQ=BQQ-1; ELSE AQ=X1D; S=S1; AARYG=100;BBRYG=001;AAARYG=100;BBBRYG=001;AQQ=X22; BQQ IF AQ0 THEN AQ=AQ-1; AARYG=AAARYG;BBRYG=BBBRYG; AQQ=AQQ-1; BQQ=BQQ-1; ELSE AQ=X04; S=S2; AARYG=100;BBRYG=010;AAARYG=100;BBBRYG=010;AQQ=X04;BQQ IF AQ0 THEN AQ=AQ-1; AARYG=AAARYG;BBRYG=BBBRYG;AQQ=AQQ-1;BQQ=BQQ-1; ELSE AQ=X31; S=S3; AARYG=001;BBRYG=100; AAARYG=001;BBBRYG=100;AQQ=X31; BQQ IF AQ0 THEN AQ=AQ-1; AARYG=AAARYG;BBRYG=BBBRYG;AQQ=AQQ-1; BQQ=BQQ-1; ELSE AQ=X04; S=S0; AARYG=010;BBRYG=100; AAARYG=010;BBBRYG=100;AQQ=X04;BQQ=X04; -轉(zhuǎn)次態(tài)S0,主黃支紅倒計5s END IF; END CASE; END IF; END IF;END PROCESS;PROCESS(AQQ,BQQ)BEGINEW=SAM(AQQ);SN=SAM(BQQ);END PROCESS;PROCESS(AARYG,BBRYG)BEGINEWRYG=AARYG;SNRYG CP, EW = EW, EWRYG = EWRYG, RS = RS, SN = SN, SNRYG = SNRYG, SPE = SPE ); STIMULUS0:process begin - insert stimulus here RS=1;WAIT FOR 2 NS; RS=0;SPE=0;WAIT FOR 1 NS; RS=0;SPE=1;WAIT FOR 1NS; RS=0;SPE=0;WAIT; END PROCESS; PROCESS BEGIN CP=0;WAIT FOR 5 NS; CP=1;WAIT FOR 5 NS; end process; WRITE_RESULTS( CP, EW, EWRYG, RS, SN, SNRYG, SPE );end architecture;本組交通燈通過LCD來顯示,具體的LCD模塊如下:-File name JTDLCD- 目的:在LCD上按格式顯示交通燈的2個2位BCD碼,紅綠黃-輸入:EW7.0、SN7.0 東西、南北向的2個2位BCD碼-EWRYG2.0、SNRYG2.0東西南北的紅綠燈信號,順序為紅黃綠-CPIN 時鐘脈沖輸入 按10MHz設(shè)計 ;復(fù)位R-注意:每個總線形式的輸入均為LOGIC_VECTOR形式,因此,相應(yīng)電路的輸出要定義為LOGIC-VECTOR 形式,整型形式不能使用。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity JTDLCD is port (CPIN,R,BUSY :IN STD_LOGIC; EW,SN :IN STD_LOGIC_VECTOR(7 DOWNTO 0); EWRYG,SNRYG : IN STD_LOGIC_VECTOR(2 DOWNTO 0); CLK,RST,STROBE,OUTLINE : OUT STD_LOGIC; DATA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ADDR : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );end entity ;architecture JGT of JTDLCD is TYPE STATES IS (S0,S1,S2,S3,S4); SIGNAL S: STATES; SIGNAL LCDPT : INTEGER RANGE 0 TO 10; SIGNAL CPCT : INTEGER RANGE 0 TO 65535; SIGNAL CP: STD_LOGIC; SIGNAL ASCEW,ASCSN : STD_LOGIC_VECTOR(7 DOWNTO 0);beginPROCESS(CPIN,R)BEGINCLK=CPIN;IF R=1 THEN CPCT=65535;ELSIF CPIN=1 AND CPIN EVENT THEN IF CPCT=0 THEN CPCT=65535;CP=NOT CP; ELSE CPCTS2 - :Y: 轉(zhuǎn)S3- ;N; NULL-S2:給出STROBE信號。轉(zhuǎn)S1-S1,S2完成初始化固定顯示的功能PROCESS(CP,R)BEGINIF R=1 THEN S=S0;LCDPT=0;RST S=S1;LCDPT=0;RST RST=0;STROBE=0; IF BUSY=0 THEN LCDPT=LCDPT+1; IF LCDPT=5 THEN S=S3; ELSE S S=S1;STROBE STROBE=0; IF BUSY=0 THEN IF LCDPT=10 THEN LCDPT=5; ELSE LCDPT=LCDPT+1; END IF; S STROBE=1;S NULL; END CASE;END IF; END PROCESS;-選擇輸出進程(LCDPT)-LCDPT=0,NULL- =14 顯示EW SN E 45H,5 W57H,6 S53H,9 N4EH,10PROCESS(LCDPT)BEGINCASE LCDPT ISWHEN 0 = NULL;WHEN 1= DATA=01000101;ADDR=0101;OUTLINE DATA=01010111;ADDR=0110;OUTLINE DATA=01010011;ADDR=1001;OUTLINE DATA=01001110;ADDR=1010;OUTLINEDATA=0011&EW(7 DOWNTO 4);ADDR=0101;OUTLINEDATA=0011&EW(3 DOWNTO 0);ADDR=0110;OUTLINEDATA=ASCEW;ADDR=0100;OUTLINEDATA=0011&SN(7 DOWNTO 4);ADDR=1001;OUTLINEDATA=0011&SN(3 DOWNTO 0);ADDR=1010;OUTLINEDATA=ASCSN;ADDR=1000;OUTLINE NULL;END CASE;END PROCESS;PROCESS(EWRYG)BEGINCASE EWRYG ISWHEN 100 = ASCEW ASCEW ASCEW NULL;END CASE;END PROCESS;PROCESS(SNRYG)BEGINCASE SNRYG ISWHEN 100 = ASCSN ASCSN ASCSN NULL;END CASE;END PROCESS; end architecture JGT;仿真波形:交通燈控制電路原理圖: 心得體會 -黃義華 課程設(shè)計這段時間匆匆而過,在這充滿疲憊、焦慮、激情、愉悅等復(fù)雜心情的時間里,我學(xué)到了很多知識,從一個懵懵懂懂的門外漢,到初步掌握了altium designer在硬件開發(fā)方面的應(yīng)用,并且學(xué)會了用VHDL語言進行簡單的硬件程序描述的跨越,不僅開拓了自己的視野而且讓自己在動手能力上也有一定的收獲。第一周聽了周冰航老師的第一節(jié)課,可以說是從門縫里看到了一點點真理的影子,他教我們?nèi)绾螒?yīng)用altium designer這個軟件,以及一些應(yīng)用方面獨到的經(jīng)驗,對我們以后的設(shè)計起到了很大的作用。一節(jié)課下來,老師講了很多,其中有些我聽懂了,有些聽
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西壯族自治區(qū)玉林市陸川縣2025屆英語七下期末預(yù)測試題含答案
- 安全生產(chǎn)主要負責(zé)人考試題及答案
- 安全生產(chǎn)月測試題及答案
- 安全生產(chǎn)管理試題及答案
- 安全建設(shè)試題及答案
- 安全管理試題及答案計算
- 社區(qū)零售業(yè)態(tài)創(chuàng)新與數(shù)字化運營模式在2025年的市場趨勢報告
- 課件改編培訓(xùn)方案模板
- 高校產(chǎn)學(xué)研合作技術(shù)轉(zhuǎn)移中的科技成果轉(zhuǎn)化與企業(yè)戰(zhàn)略協(xié)同研究報告
- 原材料管理課件
- 物業(yè)燃氣安全培訓(xùn)課件
- 老年護理實踐指南手冊(試行)全匯編
- 醫(yī)療器械生產(chǎn)質(zhì)量管理規(guī)范培訓(xùn)試題及答案
- 換熱器設(shè)備采購合同模板合同
- 阿克蘇地區(qū)國土空間規(guī)劃(2021年-2035年)
- 臨時用地復(fù)墾措施施工方案
- 2022年7月國家開放大學(xué)??啤斗ɡ韺W(xué)》期末紙質(zhì)考試試題及答案
- 【甲子光年】2024自動駕駛行業(yè)報告-“端到端”漸行漸近
- 《城市道路照明設(shè)計標(biāo)準(zhǔn) CJJ45-2015》
- 外研版(一年級起點)小學(xué)英語三年級下冊期末測試卷(含答案及聽力音頻-材料)
- 遼寧省丹東市2023-2024學(xué)年八年級下學(xué)期7月期末歷史試題(無答案)
評論
0/150
提交評論