freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的交通燈控制電路設(shè)計(jì)(論文)-資料下載頁

2024-12-04 01:30本頁面

【導(dǎo)讀】本文介紹基于FPGA的交通燈控制電路設(shè)計(jì),利用基于VHDL的EDA設(shè)。計(jì)工具,采用大規(guī)??删幊踢壿嬈骷﨔PGA,通過設(shè)計(jì)芯片來實(shí)現(xiàn)系統(tǒng)功能。交通燈控制系統(tǒng)可以實(shí)現(xiàn)路口紅綠燈的自動(dòng)控制。靠性高,而且體積小的特點(diǎn)。本設(shè)計(jì)采用Altera公司Cyclone系列的。的設(shè)計(jì)方法對(duì)系統(tǒng)進(jìn)行了模塊化設(shè)計(jì)和綜合,并進(jìn)行了仿真。

  

【正文】 0 S1 S2 S3 S4 S5 東 西 方 向 紅 紅 紅 紅 左轉(zhuǎn) 綠 黃 亮 燈 15 45 5 15 45 5 南 北 方 向 紅 左轉(zhuǎn) 綠 黃 紅 紅 紅 亮燈 15 45 5 15 45 5 交通燈狀態(tài)轉(zhuǎn)換如圖 所示: 南北左轉(zhuǎn)燈1s東西紅燈時(shí)南北綠燈45s南北黃燈5s南北紅燈東西左轉(zhuǎn)燈15s南北紅燈時(shí)東西綠燈45s東西黃燈5s東西紅燈 圖 交通信號(hào)燈狀態(tài)轉(zhuǎn)換圖 第二節(jié) 系統(tǒng)設(shè)計(jì)仿真 對(duì)于交通燈控制器,可基于 Quartus II 軟件,采用層次化混 合輸入方式進(jìn)行設(shè)計(jì),即頂層采用原理圖設(shè)計(jì),底層采用 VHDL 語言設(shè)計(jì)。 一、頂層框圖的設(shè)計(jì) 頂層原理圖設(shè)計(jì)可以依據(jù)系統(tǒng)框圖進(jìn)行,有分頻模塊、控制模塊、倒計(jì)時(shí)模塊、紅綠燈顯示模塊、譯碼模塊、譯碼顯示模塊 6 六部分組成,如圖 所示: 圖 頂層原理圖系統(tǒng)框圖 重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文) 19 二、時(shí)序狀態(tài)圖的設(shè)計(jì) 圖 32 交通燈時(shí)序狀態(tài)圖 圖 圖 頂層原理圖系統(tǒng)框圖 圖 交通燈時(shí)序狀態(tài)圖 時(shí)序狀態(tài)的設(shè)計(jì)實(shí)現(xiàn)十字路口的交通車流控制,如下圖 所示: 西北東南 圖 從圖 中我們可以看出,當(dāng)東西的紅燈亮?xí)r,此時(shí)南北左轉(zhuǎn)向燈亮起,向左的車輛通行 15s 的時(shí)間,過后左轉(zhuǎn)向燈變紅。然后南北直線行駛的綠燈亮起,而且此時(shí)的行人開始穿行過馬路,當(dāng)時(shí)間要到之時(shí)黃燈開始閃爍 5s,從而完成路口的車輛控制。同理當(dāng)南北方向紅燈時(shí),其東西方向的車輛控制跟南北方向的車輛控制情形一樣。 重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文) 20 三、工程設(shè)計(jì)流程框圖: 圖 工程設(shè)計(jì)流程框圖 第三節(jié) 各個(gè)模塊的設(shè)計(jì)與仿真 一、 模塊設(shè)計(jì) 該模塊可將頻率為 1KHZ 的脈沖波,經(jīng)過分頻變?yōu)轭l率為 1HZ 的脈沖波,這樣我們就得到了周期為 1s 的脈沖波。利用一下程序我們可以實(shí)現(xiàn)這個(gè)功能: if clk 1khz’event and clk1khz=39。139。 then if q=512 then r:=not r。 q:=0。 else q:=q+1。 end if。 根據(jù)該程序,我們可以通過仿真可以得到時(shí)序波形,分頻器程序仿真結(jié)果如圖 所示: 新建工程 新建原理圖文件或 VHDL 文件 輸 入 程序 或編輯原理圖 編譯,若有錯(cuò),修改程序,直至無錯(cuò) 建立波形文件,導(dǎo)入管腳 編譯波形文件,查看仿真結(jié)果,保存 重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文) 21 圖 分頻器程序仿真結(jié)果圖 我們可以看出在分頻器程序仿真結(jié)果圖中, clk1khz 為輸入脈沖信號(hào),頻率為 1khz; clk1hz 為輸出脈沖信號(hào),頻率為 1hz。從圖中,我們可以看出 clk1hz的周期為 1s。這表明程序的確把 1khz 的信號(hào)分頻成 1hz 的信號(hào)。 二、 control 模塊設(shè)計(jì) control 模塊可根據(jù) clk 的脈沖信號(hào)輸出 S 的值,下層模塊根據(jù) S 的值來決定紅綠燈的狀態(tài) [13]。同時(shí)對(duì)倒計(jì)時(shí)的信號(hào)賦初值。利用以下程序進(jìn)行各個(gè)燈的狀態(tài)控制: if clk39。event and clk=39。139。 then loadat=39。039。loadbt=39。039。 if t=0 then s=000。 at=80。 loadat=39。139。 elsif t=15 then s=001。 bt=45。 loadbt=39。139。 elsif t=60 then s=010。 elsif t=65 then s=011。 bt=80。 loadbt=39。139。 elsif t=80 then s=100。 at=45。 loadat=39。139。 elsif t=125 then s=101。 end if。 t=t+1。 end if。 if t=130 then t=0。 end if。 control 模塊程序仿真結(jié)果如圖 所示 : 圖 control 模塊程序仿真結(jié)果圖 在 control 模塊程序仿真結(jié)果圖中,只有一個(gè)輸入信號(hào) clk,它是一個(gè)頻率為重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文) 22 1hz 的時(shí)鐘脈沖信號(hào),輸出信號(hào)有 3 個(gè)分別是 s、 at、 bt。程序中,通過變量 t 的值來確定輸出信號(hào) s 的值,并由此確定將要賦得倒計(jì)時(shí)的初值,然后賦給 at, bt。在每次給 at, bt 賦值時(shí),都會(huì)使另一個(gè)輸出信號(hào) loadat, loadbt 變成高電平,從而可以觸發(fā)下一模塊的裝載。 三、 atdaojishi 和 btdaojishi 模塊設(shè)計(jì) 該模塊 用來接收 control 模塊的輸出作為初值,并進(jìn)行減一操作,最后把減一得結(jié)果輸出。程序里每檢測到一個(gè)脈沖 clk,就進(jìn)行一次減一操作 atdaojishi 模塊程序仿真結(jié)果如圖 所示: 圖 atdaojishi 模塊程序仿真結(jié)果圖 在 atdaojishi 模塊程序仿真結(jié)果圖中, clk 為 1hz 的輸入信號(hào), loadat 為 at 計(jì)數(shù)器的裝載信號(hào),當(dāng) loadat 為高電平時(shí),將輸入信號(hào) atin 的值裝載到計(jì)數(shù)器中,開始執(zhí)行減一操作,每接受一次 clk,執(zhí)行一次,并將結(jié)果輸出。 btdaojishi 模塊程序仿真 結(jié)果如圖 所示: 圖 btdaojishi 模塊仿真程序仿真結(jié)果圖 在模塊設(shè)計(jì)中的程序 if loadbt=39。139。 then countbt=btin。 else countbt=countbt1。 實(shí)現(xiàn)了倒計(jì)時(shí)的進(jìn)行。 在 btdaojishi 模塊程序仿真結(jié)果圖中, clk 為 1hz 的輸入信號(hào), loadbt 為 bt重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文) 23 計(jì)數(shù)器的裝載信號(hào),當(dāng) loadbt 為高電平時(shí),將輸入信號(hào) btin 的值裝載到計(jì)數(shù)器中,開始執(zhí)行減一操作,每接受一次 clk,執(zhí)行一次,并將結(jié)果輸出。 四、 Main 模塊設(shè)計(jì) library ieee。 end a。 main: use 。 use 。 entity main is port ( s:in std_logic_vector(2 downto 0)。 lrgy:out std_logic_vector(7 downto 0))。 end main。 architecture a of main is begin process(s) variable b:std_logic_vector(7 downto 0)。 begin case s is when 000 = b:=01001100。 when 001 = b:=01000010。 when 010 = b:=01000001。 when 011 = b:=11000100。 when 100 = b:=00100100。 when 101 = b:=00010100。 when others = b:=00000000。 end case。 lrgy=b。 end process。 重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文) 24 模塊程序仿真圖如 所示: 圖 main 模塊程序仿真結(jié)果圖 Main 模塊可根據(jù)輸入的 S 信號(hào),輸出對(duì)應(yīng)的紅綠燈信號(hào)。直接改變并驅(qū)動(dòng)紅綠燈的亮和滅。 在 main 模塊程序仿真結(jié)果圖中, S 為輸入信號(hào),用來表明整個(gè)紅綠燈的狀態(tài)(一共 6 個(gè)狀態(tài): S0~S5) 。 lrgy 為輸出信號(hào),代表整個(gè)紅綠燈的亮和滅的情況,燈的排序從高位到低位排列,方向上是先東西方向,后南北方向。也就是說,序列為:東西方向左轉(zhuǎn)燈、紅燈、綠燈、黃燈,然后南北方向左轉(zhuǎn)燈、紅燈、綠燈、黃燈。從圖中我們可以看出 S 的狀態(tài)從“ 000”到“ 101” ,共六個(gè)狀態(tài),每一個(gè)狀態(tài)都對(duì)應(yīng)相應(yīng)的紅綠燈亮滅的狀態(tài),仿真結(jié)果完全正確,符合預(yù)期。 五、譯碼模塊設(shè)計(jì) 譯碼程序?qū)⑤斎氲挠脕盹@示的兩位倒計(jì)時(shí)數(shù)值,分解成四個(gè)整形的數(shù)值,以供后面的譯碼顯示模塊繼續(xù)譯碼顯示 [14]。 譯碼程序仿真結(jié)果如圖 所示: 圖 譯碼程序仿真結(jié)果圖 在譯碼程序仿真結(jié)果圖中, at, bt 為輸入信號(hào), at, bt 的范圍為 0~80。這包含了所有倒計(jì)時(shí)的范圍; aout1, aout2, bout1, bout2 為輸出信號(hào),值的范圍為0~9,涵蓋了數(shù)碼管顯示數(shù)字的范圍。圖中 at, bt 的值不斷變化,而 aout1, aout2都能將 at 的值分解成個(gè)位和十位,其中 aout1 代表十位, aout2 代表個(gè)位; bout1,bout2 都能將 bt 的值分解成個(gè)位和十位,其中 bout1 代表十位, bout2 代表個(gè)位。仿真結(jié)果完全正確,符合預(yù)期。 重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 六、譯碼顯示模塊設(shè)計(jì) 譯碼顯示模塊將上一個(gè)模塊輸出四個(gè)一位數(shù)譯碼成相對(duì)應(yīng)的七位數(shù)碼管段碼,完成倒計(jì)時(shí)的譯碼和顯示。 譯碼顯示仿真結(jié)果如圖 所示: 圖 譯碼顯示模塊仿真結(jié)果圖 在譯碼顯 示模塊仿真結(jié)果圖中, at1, at2, bt1, bt2 為輸入信號(hào),它們的值的范圍為 0~9; aout1, aout2, bout1, bout2 為輸出信號(hào),它們的范圍為數(shù)字 0~9對(duì)應(yīng)的七位數(shù)碼管顯示段碼的值。圖中,輸出信號(hào)的值隨著輸入信號(hào)的變化而相應(yīng)的變化。仿真完全正確,符合預(yù)期。 七、頂層文件設(shè)計(jì) 交通燈的頂層文件是一個(gè)原理圖文件,它包含 7 個(gè)元件,每一個(gè)元件均是由一個(gè)模塊程序生成。 7 個(gè)元件分別為: fenpinqi 模塊、 control 模塊、 main 模塊、atdaojishi 模塊、 btdaojishi 模塊、 yima 模塊 和 yimaxianshi 模塊。這些模塊均經(jīng)過設(shè)計(jì)、編譯、仿真,結(jié)果正確。最后生成可視化元件。然后將各個(gè)模塊用具有電氣性質(zhì)的導(dǎo)線連接起來,這樣原理圖文件就建好了。保存編譯。在建立一個(gè) .vwf波形文件,保存并仿真 [15]。原理圖如圖 所示:仿真結(jié)果如圖 所示:實(shí)驗(yàn)證明,仿真結(jié)果正確,符合預(yù)期。 圖 頂層文件設(shè)計(jì)原理圖 重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文) 26 圖 頂層文件波形仿真結(jié)果圖 在頂層文件 [16]波形仿真結(jié)果圖中,有一個(gè)頻率為 1khz 輸入信號(hào) clk1khz,它是外部的信號(hào)對(duì)整個(gè)系統(tǒng)設(shè)計(jì)的輸入端口。作為一個(gè) 脈沖,經(jīng)過分頻變成頻率為1hz 的脈沖,由于 1hz 的脈沖的周期是 1s,所以我們可以用它來控制整個(gè)系統(tǒng)的步調(diào),而這個(gè)步調(diào)與現(xiàn)實(shí)生活中交通燈的步調(diào)是一致的。 1hz 的信號(hào)經(jīng)過 control模塊的處理,通過計(jì)數(shù)使 s 變化為不同的值, s 代表的是交通燈時(shí)序圖的狀態(tài),一共有 6 個(gè)狀態(tài)( s0—— s5)。同時(shí)對(duì)應(yīng)不同的 s 的狀態(tài)賦不同的初值給 at, bt。at, bt 分別是東西方向和南北方向的倒計(jì)時(shí)初值。 Control 模塊還有一個(gè)功能是提供倒計(jì)時(shí)模塊的置數(shù)的觸發(fā)脈沖。接下來, main 模塊直接接受 s 的值來輸出相應(yīng)的紅綠燈亮滅狀態(tài)。例如: lrgy 的值為 01000010,這表明交通燈的亮滅情況為:東西左轉(zhuǎn)燈滅,東西紅燈亮,東西綠燈滅,東西黃燈滅,南北左轉(zhuǎn)燈滅,南北紅燈滅,南北綠燈亮,南北黃燈滅。即一一對(duì)應(yīng)。倒計(jì)時(shí)部分分為兩個(gè)模塊: atdaojishi和 btdaojishi。兩個(gè)模塊分別倒計(jì)時(shí)東西方向和南北方向。每個(gè)倒計(jì)時(shí)模塊都有相似的端口: clk、 loadat、 atin、 atout 和 clk、 loadbt、 btin、 btout。我們只舉其中一個(gè)為例子: clk 為倒計(jì)時(shí)的時(shí)鐘脈沖,當(dāng) loadat 為高電平時(shí),將 atin 傳遞給 atout,clk 的上升沿每 來一次, atout 減一次。此前,時(shí)間的值都是整形的,要想將倒計(jì)時(shí)實(shí)時(shí)顯示出來,就需要將兩位的整數(shù)分解成個(gè)位和十位, yima 模塊就是這樣的。將一個(gè)倒計(jì)時(shí)分解成兩個(gè)一位數(shù),例如將 54 分解成 5 和 4。然后經(jīng)過yimaxianshi 模塊將對(duì)應(yīng)的數(shù)字譯成相應(yīng)的段碼,例如將 5 和 4 譯碼為 01101101和 01100110。在這個(gè)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1