




已閱讀5頁(yè),還剩13頁(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)介
交通信號(hào)控制器的VHDL的設(shè)計(jì)1. 設(shè)計(jì)任務(wù) 模擬十字路口交通信號(hào)燈的工作過(guò)程,利用實(shí)驗(yàn)板上的兩組紅、黃、綠LED作為交通信號(hào)燈,設(shè)計(jì)一個(gè)交通信號(hào)燈控制器,示意圖如圖1-1所示。要求:(1) 交通燈從綠變紅時(shí),有4秒黃燈亮的間隔時(shí)間;(2) 交通燈紅變綠是直接進(jìn)行的,沒(méi)有間隔時(shí)間;(3) 主干道上的綠燈時(shí)間為40秒,支干道的綠燈時(shí)間為20秒;(4) 在任意時(shí)間,顯示每個(gè)狀態(tài)到該狀態(tài)結(jié)束所需的時(shí)間。 支干道 主干道 圖1-1 路口交通管理示意圖表1-1 交通信號(hào)燈的4種狀態(tài)ABCD主干道交通燈綠(40秒)黃(4秒)紅(20秒)紅(4秒)支干道交通燈紅紅綠黃2.設(shè)計(jì)要求 采用VHDL語(yǔ)言編寫(xiě)程序,并在QuartusII工具平臺(tái)中進(jìn)行開(kāi)發(fā),下載到EDA實(shí)驗(yàn)箱進(jìn)行驗(yàn)證。 編寫(xiě)設(shè)計(jì)報(bào)告,要求包括方案選擇、程序清單、調(diào)試過(guò)程、測(cè)試結(jié)果及心得體會(huì)。3.設(shè)計(jì)方案狀態(tài)寄存器秒脈沖信號(hào)發(fā)生器計(jì)數(shù)器CLK 時(shí)間顯示數(shù)據(jù)輸出 次態(tài)發(fā)生器信號(hào)燈輸出信號(hào) 信號(hào)燈輸出 圖3-1 交通信號(hào)燈控制器程序原理框圖進(jìn)程將CLK信號(hào)分頻后產(chǎn)生1秒信號(hào),然后構(gòu)成兩個(gè)帶有預(yù)置數(shù)功能的十進(jìn)制計(jì)數(shù)器,并產(chǎn)生允許十位計(jì)數(shù)器計(jì)數(shù)的控制信號(hào)。狀態(tài)寄存器實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換和產(chǎn)生狀態(tài)轉(zhuǎn)換的控制信號(hào),下個(gè)模塊產(chǎn)生次態(tài)信號(hào)和信號(hào)燈輸出信號(hào),以及每一個(gè)狀態(tài)的時(shí)間值。經(jīng)過(guò)五個(gè)模塊的處理,使時(shí)間計(jì)數(shù)、紅綠燈顯示能夠正常運(yùn)行。程序原理圖如圖3-1所示。 4.各模塊具體設(shè)計(jì)4.1頂層文件的設(shè)計(jì) 頂層文件的原理圖可以依據(jù)系統(tǒng)的框圖進(jìn)行,由控制模塊JTD_CTRL、計(jì)時(shí)模塊JTD_TIME、譯碼驅(qū)動(dòng)模塊JTD_LIGHT、顯示模塊JTD_DIS和分頻模塊JTD_FQU五部分組成,其頂層原理圖文件如圖3-1所示。圖4-1交通燈頂層文件原理圖頂層模塊的程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TRAFFIC ISPORT( CLK1K,CLR:IN STD_LOGIC; M:IN STD_LOGIC_VECTOR(2 DOWNTO 0); LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); ABL:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END TRAFFIC;ARCHITECTURE BEHAVE OF TRAFFIC ISCOMPONENT JTD_FQU IS -分頻器元件的例化PORT( CLK1K:IN STD_LOGIC; CLK:OUT STD_LOGIC );END COMPONENT;COMPONENT JTD_DIS IS -數(shù)碼顯示的元件例化PORT( CLK1K,CLK,CLR:IN STD_LOGIC; M:IN STD_LOGIC_VECTOR(2 DOWNTO 0); AT,BT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0) );END COMPONENT;COMPONENT JTD_LIGHT IS -譯碼驅(qū)動(dòng)的元件例化PORT( CLR:IN STD_LOGIC; M,S:IN STD_LOGIC_VECTOR(2 DOWNTO 0); ABL:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END COMPONENT;COMPONENT JTD_TIME IS -計(jì)時(shí)元件的例化PORT( CLK,CLR:IN STD_LOGIC; M,S:IN STD_LOGIC_VECTOR(2 DOWNTO 0); AT,BT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END COMPONENT;COMPONENT JTD_CTRL IS -控制模塊的元件例化PORT( CLK,CLR:IN STD_LOGIC; AT,BT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); M:IN STD_LOGIC_VECTOR(2 DOWNTO 0); S:OUT STD_LOGIC_VECTOR(2 DOWNTO 0) );END COMPONENT;SIGNAL CLK:STD_LOGIC;SIGNAL AT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL BT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL S:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN U1:JTD_FQU PORT MAP( -名字關(guān)聯(lián)方式賦值 CLK1K=CLK1K, CLK=CLK );U2:JTD_TIME PORT MAP( CLR=CLR, AT=AT, BT=BT, CLK=CLK, M=M, S=S );U3:JTD_CTRL PORT MAP( M=M, S=S, CLK=CLK, CLR=CLR, AT=AT, BT=BT );U4:JTD_DIS PORT MAP( CLK1K=CLK1K, CLK=CLK, CLR=CLR, AT=AT, BT=BT, LED=LED, SEL=SEL, M=M );U5:JTD_LIGHT PORT MAP( CLR=CLR, S=S, ABL=ABL, M=M );END BEHAVE;4.2 控制模塊JTD_CTRL的設(shè)計(jì) 控制的模塊根據(jù)外部輸入信號(hào)M2M0和計(jì)時(shí)模塊JTD_TIME的輸入信號(hào),產(chǎn)生系統(tǒng)的狀態(tài)機(jī),控制其他部分協(xié)調(diào)工作??刂颇K的源文件程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JTD_CTRL ISPORT( CLK,CLR:IN STD_LOGIC; M:IN STD_LOGIC_VECTOR(2 DOWNTO 0); -用M來(lái)表示系統(tǒng)的8種工作狀態(tài) AT,BT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); S:OUT STD_LOGIC_VECTOR(2 DOWNTO 0) ); END JTD_CTRL; ARCHITECTURE JTD_1 OF JTD_CTRL IS SIGNAL Q:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN PROCESS(CLR,CLK,M,AT,BT) BEGIN IF CLR=1THEN Q=000; -清0處理 ELSIF(CLKEVENT AND CLK=1)THEN -時(shí)鐘上升沿信號(hào)一來(lái),M控制系統(tǒng)的8種狀態(tài) IF M=000THEN Q=001; END IF; IF M=001THEN Q=011; END IF; IF M=010THEN Q=101; END IF; IF M=011THEN Q=100THEN IF(AT=X01)OR(BT=X01)THEN Q=Q+1; ELSE Q=Q; END IF; END IF; END IF; END PROCESS; S=Q; -M的控制端轉(zhuǎn)向控制口S END JTD_1;該模塊的時(shí)序仿真和功能仿真波形圖如圖4-2圖4-2功能仿真4.3 計(jì)時(shí)模塊JTD_TIME的設(shè)計(jì)計(jì)時(shí)模塊用來(lái)設(shè)定A和B兩個(gè)方向計(jì)時(shí)器的初值,并為顯示模塊JTD_DIS提供倒計(jì)時(shí)時(shí)間。當(dāng)正常計(jì)時(shí)開(kāi)始后,需要進(jìn)行定時(shí)計(jì)數(shù)操作,由于東西和南北兩個(gè)方向上的時(shí)間顯示器是由兩個(gè)LED七段顯示數(shù)碼管組成的,因此需要產(chǎn)生兩個(gè)2位的計(jì)時(shí)信息:2個(gè)十位信號(hào),2個(gè)個(gè)位信號(hào),這個(gè)定時(shí)計(jì)數(shù)操作可以由一個(gè)定時(shí)計(jì)數(shù)器來(lái)完成,又因?yàn)榻煌舻臓顟B(tài)變化是在計(jì)時(shí)為0的情況下才能進(jìn)行的,因此需要一個(gè)計(jì)時(shí)電路來(lái)產(chǎn)生使能信號(hào),因此定時(shí)計(jì)數(shù)的功能就是用來(lái)產(chǎn)生2個(gè)2位計(jì)時(shí)信息和使能信號(hào)。計(jì)時(shí)模塊的源文件程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JTD_TIME ISPORT( CLK,CLR:IN STD_LOGIC; M,S:IN STD_LOGIC_VECTOR(2 DOWNTO 0); AT,BT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END JTD_TIME;ARCHITECTURE JTD_2 OF JTD_TIME IS SIGNAL AT1,BT1:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL ART,AGT,ALT,ABYT:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL BRT,BGT,BLT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN ART=X55; -ART=“01010101”A方向紅燈亮 AGT=X40; -AGT=“01000000”A方向綠燈亮 ALT=X15; -ALT=“00010101”燈間歇閃爍 ABYT=X05;-ABYT=“00000101”AB兩方向黃燈亮 BRT=X65;-BRT=“01100101”B方向紅燈亮 BGT=X30;-BGT=“00110000”B方向綠燈亮 BLT=X15;-BLT=“00010101”B方向燈閃爍 PROCESS(CLR,CLK,M,S) BEGIN IF CLR=1THEN AT1=X01;BT1=X01; ELSIF (CLKEVENT AND CLK=1)THEN IF M=000THEN AT1=X01;BT1=X51;-M=0時(shí),A方向的計(jì)時(shí)器計(jì)時(shí),B方向的紅燈亮 END IF; IF M=001THEN AT1=X01;BT1=X06;-M=1時(shí),A方向的計(jì)時(shí)器計(jì)時(shí),B方向綠燈亮 END IF; IF M=010THEN AT1=X41;BT1=X01;-B方向的計(jì)時(shí)器計(jì)時(shí),A方向的黃燈亮 END IF; IF M=011THEN AT1=X06;BT1=100THEN IF(AT1=X01)OR(BT1=X01)THEN CASE S IS WHEN000=AT1=ALT;BT1AT1AT1AT1AT1=ART;BT1BT1BT1BT1AT1=AT1;BT1=BT1; END CASE; END IF; IF AT1/=X01THEN IF AT1(3 DOWNTO 0)=0000THEN AT1(3 DOWNTO 0)=1001;-第四位數(shù)碼管顯示 AT1(7 DOWNTO 4)=AT1(7 DOWNTO 4)-1;高四位數(shù)碼管減一顯示 ELSE AT1(3 DOWNTO 0)=AT1(3 DOWNTO 0)-1;低四位數(shù)碼管減一顯示 AT1(7 DOWNTO 4)=AT1(7 DOWNTO 4);高四位數(shù)碼管顯示不變 END IF; END IF; IF BT1=X01THEN IF BT1(3 DOWNTO 0)=0000THEN BT1(3 DOWNTO 0)=1001;-B方向計(jì)數(shù)器低四位數(shù)碼管顯示9 BT1(7 DOWNTO 4)=BT1(7 DOWNTO 4)-1;-B方向計(jì)數(shù)器高四位數(shù)碼管減一計(jì)數(shù) ELSE BT1(3 DOWNTO 0)=BT1(3 DOWNTO 0)-1;-B方向計(jì)數(shù)器低四位數(shù)碼管減一計(jì)數(shù) BT1(7 DOWNTO 4)=BT1(7 DOWNTO 4); END IF; END IF; END IF; END IF;END PROCESS; AT=AT1; BT=BT1;END JTD_2; 該模塊是為節(jié)省資源而設(shè)的,實(shí)驗(yàn)中有四個(gè)LED七段數(shù)碼管顯示計(jì)數(shù),點(diǎn)亮一個(gè)LED需電流550mA,同時(shí)點(diǎn)亮4個(gè)LED,CPLD可能無(wú)法負(fù)荷這樣的電流驅(qū)動(dòng),而且功率太大,散熱也是問(wèn)題。同時(shí)這么做也容易造成電路被燒毀,因此需要逐個(gè)循環(huán)點(diǎn)亮。又為使顯示結(jié)果持續(xù)不致閃爍抖動(dòng),只需每個(gè)掃描頻率超過(guò)人眼視覺(jué)暫留頻率24Hz以上,就能達(dá)到。選擇1kHz作為時(shí)鐘,分到4個(gè)數(shù)碼管,每個(gè)數(shù)碼管50Hz(大于24Hz),故不會(huì)有閃爍。 該模塊的功能仿真波形圖如圖4-4所示圖4-4功能仿真4.4 譯碼驅(qū)動(dòng)模塊JTD_LIGHT的設(shè)計(jì)譯碼驅(qū)動(dòng)模塊根據(jù)控制信號(hào),驅(qū)動(dòng)交通燈的顯示。該模塊的源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JTD_LIGHT ISPORT( CLR:IN STD_LOGIC; M,S:IN STD_LOGIC_VECTOR(2 DOWNTO 0); ABL:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END JTD_LIGHT;ARCHITECTURE JTD_3 OF JTD_LIGHT IS SIGNAL LT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(CLR,S,M)BEGIN IF CLR=1THEN LT=00000000; -清0時(shí)系統(tǒng)狀態(tài)全部處于關(guān)閉狀態(tài) ELSE IF M=000THEN LT=10000001; END IF; IF M=001THEN LT=00100001; END IF; IF M=010THEN LT=00011000; END IF; IF M=011THEN LT=100THEN CASE S IS -八種情況下的狀況顯示 WHEN000=LTLTLTLTLTLTLTLTLT=LT; END CASE; END IF; END IF; END PROCESS;ABL=LT;END JTD_3;該模塊的功能仿真波形圖如圖4-5:圖4-5功能仿真4.5 顯示模塊JTD_DIS的設(shè)計(jì) 顯示模塊用來(lái)顯示倒計(jì)時(shí)時(shí)間和系統(tǒng)的工作狀態(tài)。其輸出用來(lái)驅(qū)動(dòng)六位數(shù)碼管,其中四位用于顯示倒計(jì)時(shí)時(shí)間,兩位顯示工作狀態(tài),采用動(dòng)態(tài)掃描顯示。該模塊的源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JTD_DIS ISPORT( CLK1K,CLK,CLR:IN STD_LOGIC; M:IN STD_LOGIC_VECTOR(2 DOWNTO 0); AT,BT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0) );END JTD_DIS;ARCHITECTURE JTD_4 OF JTD_DIS IS SIGNAL OU,STL,STH,MM:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL DIS,DS:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL SL:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN MM=0&M; STH=XA; PROCESS(CLR,CLK1K) BEGIN IF CLR=1THEN SL=000; ELSIF(CLK1KEVENT AND CLK1K=1)THEN IF SL=101THEN SL=000; -清0 ELSE SLOUOUOUOUO
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《學(xué)步》教學(xué)課件
- 少兒主持教學(xué)課件
- 冰雪奇緣教學(xué)課件英語(yǔ)
- 一年級(jí)線上教學(xué)課件下載
- 【南京】2025年江蘇南京技師學(xué)院招聘工作人員19人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 大班靜夜思教學(xué)課件
- 春季登山親子活動(dòng)方案
- 新教師集體備課活動(dòng)方案
- 易拉罐操活動(dòng)方案
- 春節(jié)單位活動(dòng)方案
- 2023-2024學(xué)年浙江省寧波市慈溪市四年級(jí)(下)期末數(shù)學(xué)試卷
- 2025年黑龍江、吉林、遼寧、內(nèi)蒙古高考生物真題試卷(解析版)
- 阿米巴模式的合同協(xié)議書(shū)
- 新聞?dòng)浾卟删巿?bào)導(dǎo)人員崗位從業(yè)資格考試題含答案
- 隧道居間合同協(xié)議書(shū)范本
- 對(duì)公客戶經(jīng)理培訓(xùn)課件
- 社會(huì)文物鑒定質(zhì)檢服務(wù)機(jī)構(gòu)執(zhí)業(yè)能力認(rèn)可管理體系(公開(kāi)征求意見(jiàn)稿)
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)監(jiān)理規(guī)范與實(shí)施策略
- 鋼絲繩編接作業(yè)知識(shí)培訓(xùn)
- 人教版八年級(jí)道德與法治下冊(cè)教學(xué)設(shè)計(jì):4.1公民基本義務(wù)
- 接觸網(wǎng)電連接壓接工藝及壓接質(zhì)量檢查課件
評(píng)論
0/150
提交評(píng)論