



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、( 此文檔為 word 格式,下載后您可任意編輯修改!)本科生畢業(yè)論文(設(shè)計)題目 : 基于 FPGA 的數(shù)字頻率計的設(shè)計學部 信息科學與工程學部學科門類工學專業(yè) 電氣工程及其自動化姓名 李 松指導教師唐予軍2008 年 5 月 18日基于 FPGA的交通燈控制系統(tǒng)的設(shè)計摘要傳統(tǒng)的交通燈控制系統(tǒng)主要由單片機或PLC構(gòu)成,這種基于小規(guī)模集成電路的交通燈1控制系統(tǒng),電路元件多、接線復雜、故障率高、可靠性低。本設(shè)計采用FPGA器件來設(shè)計一個實用的交通燈控制系統(tǒng)。該系統(tǒng)的可靠性、準確性較高,能夠在確定的時間內(nèi)使紅黃綠路燈正確的變化,且倒計時顯示能正確的顯示時間。該交通燈控制系統(tǒng)采用VerilogHDL
2、語言編程,為了簡化設(shè)計,采用模塊化編程的思想,并用 MAX + plus 仿真軟件進行編譯仿真,將程序下載到FPGA器件進行測試驗證?;?FPGA的硬件系統(tǒng)運行正確,能夠?qū)崿F(xiàn)交通燈的控制要求。該系統(tǒng)具有體積小、功耗低、價格便宜、安全可靠, 維護和升級方便的優(yōu)點, 具有較好的應(yīng)用前景。在該交通燈控制系統(tǒng)中,采用了ALTERA公司推出的 MAX7000系列的產(chǎn)品EPM7032LC44-6作為這個系統(tǒng)的可編程邏輯器件。同時還用了4 個 LED數(shù)碼管, 6 個發(fā)光二極管,一個固定開關(guān),一個點動開關(guān)等。交通燈系統(tǒng)中,能夠保證在確定的時間,倒計數(shù)數(shù)字顯示能夠及時變化,紅黃綠燈能準確的反應(yīng)。關(guān)鍵詞 :交通
3、燈控制系統(tǒng)FPGA Verilog HDL MAX + plusThe traffic light control system design based on FPGAABSTRACTThe traditional traffic light control system mainly by the PLC or a microcontroller, such small-scale integrated circuits based on the traffic light control system, circuit components, wiring complex, uses F
4、PGA devices to design a practical traffic light control system. The system's reliability, to red lights correct change, and the countdown show to display the correct time.The traffic light control system using Verilog HDL language, in order to simplify the design, the idea of modular programming
5、, and with MAX + plus simulation software to build simulation procedureswill be downloaded to the FPGA device to test verification. FPGA-based achieve the traffic lights control requirements. The system is small in size, low power consumption, cheap, safe, reliable, easy to maintain and upgrade the
6、merits of the application . Traffic signal system, to ensure that the established time, inverted count figures to make timely changes in Yellow green accurate response.Key words: The traffic light control system FPGA Verilog HDL MAX + plus目錄一概述 ,11.1課題的來源、意義 ,11.2課題的研究目標、內(nèi)容及方法手段 ,121.2.1課題的研究目標、內(nèi)容 ,
7、11.2.2課題的研究方法及手段 ,1二 交通燈控制系統(tǒng)的原理介紹, ,22.1交通燈控制系統(tǒng)基本原理與系統(tǒng)框圖,22. 1.1系統(tǒng)基本原理,22.1.2交通燈控制系統(tǒng)框圖 ,22.2交通燈控制系統(tǒng)的軟硬件介紹 ,32.2.1FPGA 的簡介 ,32.2.2Verilog HDL介紹 ,42.2.3MAX+plusII介紹 ,42.2.4器件的選擇 ,4三 交通燈控制系統(tǒng)的程序設(shè)計 ,63.1主控模塊 ,63.255秒倒計時模塊 ,73.35秒倒計時模塊 ,83.4倒計時時間選擇驅(qū)動模塊 ,93. 5 倒計時時間選擇模塊, , , , , ,1 03.6 1KHZ時鐘信號模塊 ,113.71H
8、Z技術(shù)時鐘信號模塊 ,123.8倒計時時間數(shù)據(jù)多路選擇模塊 ,123.9動態(tài)選擇驅(qū)動模塊 ,143.10顯示數(shù)據(jù)多路選擇模塊 ,1433.11顯示數(shù)據(jù)譯碼模塊 ,153.12頂層電路 ,15四結(jié)論 ,17謝辭 ,18參考文獻 ,19附錄 ,204一概述1.1 課題的來源、意義交通燈控制系統(tǒng)是數(shù)字電路的經(jīng)典問題,傳統(tǒng)的設(shè)計方法基于中、小規(guī)模集成電路進行,電路元件多、接線復雜、故障率高、可靠性低。電子設(shè)計自動化 EDA(Electronic Design Automation) 技術(shù)的發(fā)展,在線可編程邏輯器件 (In system Program-Programmable Logic Device
9、 簡稱 ISP-PLD)的出現(xiàn),使實驗室中制作專用集成電路成為可能。我們使用現(xiàn)場可編程門陣列復雜可編程邏輯器件 FPGACPLD(Field Programmable Gate ArrayComplex Programmable Logic Device) ,用 Verilog HDL 語言 進行以交通燈控制器的設(shè)計,用對應(yīng)的工具軟件 ( 本文用 MAX+plus II) 對 FPGACPLD芯片“下載”形成專用集成電路, 由于不存在人工接線的問題,所以故障率低、可靠性好。隨著電子技術(shù)的不斷更新, 數(shù)字系統(tǒng)的設(shè)計正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。推動該潮流迅猛向前的引擎就是電子設(shè)
10、計自動化 EDA(Electronic Design Automation) 技術(shù)的發(fā)展 EDA技術(shù)就是以計算機為工具 , 在 EDA軟件平臺上 , 對用硬件描述語言 HDL完成的設(shè)計文件自動地邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化邏輯布局布線、邏輯仿真 , 直至對于特定目標芯片進行適配編譯、邏輯映射和編程下載等。1.2 課題的研究目標、內(nèi)容及方法手段課題的研究目標、內(nèi)容該交通燈控制系統(tǒng)采用 MAX+ plus 軟件及 Verilog HDL語言進行編程 , 用 FPGA器件實現(xiàn)硬件系統(tǒng)。該系統(tǒng)能精確地實現(xiàn)紅黃綠燈的規(guī)律變化,正確控制路口車輛的通行。課題的研究方法及手段該系統(tǒng)采用 Ver
11、ilogHDL語言進行程序設(shè)計,并用MAX+ plus 仿真軟件進行程序的編譯和仿真,然后用下載線將程序下載到FPGA器件中。本課題采用自頂向下設(shè)計思想進行設(shè)計,自頂而下(top to down)的層次化設(shè)計方法在現(xiàn)代EDA設(shè)計中有著明顯的優(yōu)勢,越來越受到設(shè)計者的歡迎。對于一個復雜的設(shè)計系統(tǒng), 運用層次化設(shè)計方法,使設(shè)計課題進一步細化,分塊設(shè)計,條理清晰。另外, 在調(diào)試時可采用逆向調(diào)試方式, 即從模塊調(diào)試向總體調(diào)試方向開展調(diào)試工作, 使設(shè)計中出現(xiàn)的問題在模塊級就能發(fā)現(xiàn), 及時處理 , 這樣就會使一個復雜的設(shè)計變得容易調(diào)試, 縮短了設(shè)計時間。層次化設(shè)計方法: 開始設(shè)計時 , 先設(shè)計出一個頂層總框
12、圖( 一般稱之為頂層圖 ), 該框圖是由若干個具有特定功能的源模塊組成。下一步是對這些不同功能的模塊進行設(shè)計, 產(chǎn)生這些模塊的原理圖文件或Verilog源文件。對于有些功能復雜的模塊, 全部使用元件庫中的元器件設(shè)計仍顯復雜, 因此還可以將該模塊繼續(xù)化分為若干個功能子模塊, 這樣就形成模塊套模塊的層次化設(shè)計方法。這種方法也稱之為自頂向下的系統(tǒng)設(shè)計方法。二交通燈控制系統(tǒng)的原理介紹2.1 交通燈控制系統(tǒng)基本原理與系統(tǒng)框圖系統(tǒng)基本原理交通燈系統(tǒng)中,能夠保證在確定的時刻, 倒計數(shù)數(shù)字顯示能夠及時變化,紅黃綠燈能準確變化。系統(tǒng)要求: 在綠燈亮了 55s 后將變化為黃燈再亮 5s,然后實現(xiàn)十字路口的縱橫路放
13、行與禁行的切換控制。交通燈控制系統(tǒng)框圖根據(jù)對交通燈系統(tǒng)的功能描述,設(shè)計如圖2-1 所示的交通燈系統(tǒng)電路框圖。圖 2-1交通燈系統(tǒng)電路框圖圖中,兩組共 4 個數(shù)碼管來顯示倒計時時間,用 6 個發(fā)光二極管來代替實際生活中的紅黃綠交通信號燈,考慮到實際電路的需要,分別在可編程邏輯器件與數(shù)碼管以及發(fā)光二極管之間放上限流電阻,以避免數(shù)碼管以及發(fā)光二極管由于電流過大而燒壞,當然也不能加太大電阻,以避免數(shù)碼管以及發(fā)光二極管的亮度不夠。固定開關(guān) SW1實現(xiàn)交通警察人為監(jiān)督交通秩序和無人自動控制交通秩序之間的切換,默認為高電平,即默認為開關(guān)置于高電平端,為自動控制模式,開關(guān)置于低電平端時為人為監(jiān)督控制模式。點動
14、開關(guān) SW2用于整個系統(tǒng)的總復位,如系統(tǒng)出現(xiàn)故障時,就需要總復位,當然一般情況下,用可編程邏輯器件實現(xiàn)的交通燈系統(tǒng),只要系統(tǒng)設(shè)計的合理,軟件設(shè)計的可靠,不會出現(xiàn)故障,除非意外的操作或操作不當。2.2 交通燈控制系統(tǒng)的軟硬件介紹的簡介FPGA現(xiàn)場可編程門陣列器件通常由布線資源圍繞的可編程單元構(gòu)成陣列, 又由可編程 IO 單元圍繞陣列構(gòu)成整個芯片。 排成陣列的邏輯單元由布線通道中的可編程連線連接起來實現(xiàn)一定的邏輯功能。一個 FPGA可能包含有靜態(tài)存儲單元,它們允許內(nèi)連的模式在器件被制造以后再被加載或修改。FPGA是由掩膜可編程門陣列和可編程邏輯器件演變而來的,將它們的特性結(jié)合在一起,使得FPGA既
15、有門陣列的高邏輯密度和通用性,又有可編程邏輯器件的用戶可編程特性。目前,F(xiàn)PGA的邏輯功能塊在規(guī)模和實現(xiàn)邏輯功能的能力上存在很大差別。有的邏輯功能塊規(guī)模非常小, 僅含有只能實現(xiàn)倒相器的兩個晶體管;而有的邏輯功能塊則規(guī)模比較大,可以實現(xiàn)任何五輸入邏輯函數(shù)的查找表結(jié)構(gòu)。據(jù)此可把FPGA分為兩大類,即細粒度和粗粒度。細粒度邏輯塊是與半定制門陣列的基本單元相同,它由可以用可編程互連來連接的少數(shù)晶體管組成,規(guī)模都比較小,主要優(yōu)點是可用的功能塊可以完全被利用;缺點是采用它通常需要大量的連線和可編程開關(guān),實現(xiàn)對速度變慢。由于近年來工藝不斷改進,芯片集成度不斷提高,加上引入硬件描述語言(HDL)的設(shè)計方法,不
16、少廠家開發(fā)出了具有更高級程度的細粒度結(jié)構(gòu)的 FPGA。例如, XILINX 公司的采用 Micro Via 技術(shù)的一次編程反熔絲結(jié)構(gòu)的 XC8100系列,它的邏輯功能塊規(guī)模較小,而粗粒度功能塊規(guī)模較大并且功能較強。從構(gòu)成它的可編程邏輯塊和可編程互連資源來看,主要有兩種邏輯塊的構(gòu)造。其一是查找表類型;其二是多路開關(guān)類型,由此形成兩種FPGA的結(jié)構(gòu)。第一種是具有可編程內(nèi)連線的通道型門陣列。它采用分段互連線,利用不同長度的多種金屬線經(jīng)傳輸管將各種邏輯單元連接起來。布線延時是累加的、可變的,并且與通道有關(guān)。第二種是具有類似 PLD可編程邏輯塊陣列的固定內(nèi)連布線,采用連續(xù)互連線,利用相同長度的金屬線實現(xiàn)
17、邏輯塊單元之間的互連,布線延時是固定的,并且可預料。目前流行的現(xiàn)場可編程門陣列復雜可編程邏輯器件FPGACPLD(Field ProgrammableGaArrayComplex Programmable Logic Device) 在 EDA基礎(chǔ)上得到了廣泛應(yīng)用 , 由于可以通過軟件編程對該器件硬件的結(jié)構(gòu)和工作方式進行重構(gòu) , 使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。這一特性極大地改變了傳統(tǒng)數(shù)字系統(tǒng)的設(shè)計方法、設(shè)計過程、乃至設(shè)計觀念。在設(shè)計過程中 , 設(shè)計者可根據(jù)需要 , 隨時改變器件的內(nèi)部邏輯功能和管腳的信號方式。而管腳定義的靈活性, 能大大減輕電路圖設(shè)計和電路板設(shè)計的工作量和難度,
18、同時 , 這種基于可編程邏輯器件芯片的設(shè)計大大減少了系統(tǒng)芯片的數(shù)量, 縮小了系統(tǒng)的體積, 提高了系統(tǒng)的可靠性。對于FPGACPLD器件 ,常用的硬件描述語言有VHDL和Verilog等。介紹Verilog HDL 是硬件描述語言的一種,用于數(shù)字電子系統(tǒng)設(shè)計。設(shè)計者可用它進行各種級別的邏輯設(shè)計,可用它進行數(shù)字邏輯系統(tǒng)的仿真驗證、時序分析、邏輯綜合。它是目前應(yīng)用最廣泛的一種硬件描述語言。VerilogHDL和 VHDL都是用于邏輯設(shè)計的硬件描述語言,其共同的特點在于:能形式化的抽象表示電路的行為和結(jié)構(gòu);支持邏輯設(shè)計中層次與范圍的描述;可借用高級語言的精巧結(jié)構(gòu)來簡化電路行為的描述;具有電路仿真與驗證
19、機制以保證設(shè)計的正確性;支持電路描述由高層到低層的綜合轉(zhuǎn)換;硬件描述與實現(xiàn)工藝無關(guān);便于文檔管理;易于理解和設(shè)計重用。由于 VerilogHDL早在 1983 年就已推出,至今已有20 年的應(yīng)用歷史,因而擁有更廣泛的設(shè)計群體,成熟的資源也遠比VHDL豐富。與 VHDL相比, VerilogHDL的更大優(yōu)點為:它是一種非常容易掌握的硬件描述語言,只要有C語言的編程基礎(chǔ),通過20 學時的學習,再經(jīng)過一段時間的實際操作,一般可在2-3 個月內(nèi)掌握這種設(shè)計技術(shù)。而掌握VHDL設(shè)計技術(shù)就比較困難。介紹MAX+plusII 是開發(fā) ALTERA公司 FPGA產(chǎn)品(包括 MAX和 FLEX系列)的軟件工具。
20、利用 MAX+plusII 提供的設(shè)計環(huán)境和設(shè)計工具,可以靈活高效的完成各種數(shù)字電路設(shè)計,非常實用。 MAX+plus被譽為業(yè)界最易用易學的 EDA軟件 , 它支持原理圖、 VHDL和 Verilog 語言文本文件 , 以及波形與 EDIF 等格式的文件作為設(shè)計輸入。 MAX+plusII 具有門級仿真器 ,可以進行功能仿真和時序仿真 , 能夠產(chǎn)生精確的仿真結(jié)果。 MAX+plusII 具有門級仿真器 , 可以進行功能仿真和時序仿真 , 能夠產(chǎn)生精確的仿真結(jié)果。在設(shè)計一項工程時 , 首先利用 EDA工具軟件 MAX+plus中的文本編輯器 , 將其用文本方式 (VHDL程序方式 ) 表達出來
21、, 再通過 MAX+plus轉(zhuǎn)換為實際可用的電路網(wǎng)表 , 并用此網(wǎng)表對 FPGACPLD進行布線 , 最后進行功能仿真和時序仿真 , 得到所需的設(shè)計效果。器件的介紹與選擇該系統(tǒng)選用了 ALTERA公司推出的 MAX7000系列的可編程邏輯器件 EPM7032LC44-。6 MAX7000系列器件采用先進的 0.8um CMOSEPROM技術(shù)制造。它是高密度、高性能的 CMOSEPLD 器件。 MAX7000中有可編程連線陣列() 、IO 控制,并且編程具有保密性,另外還增加了可編程速度功率控制和電壓擺率的控制。系統(tǒng)選用 4 個數(shù)碼管來顯示倒計時時間, 用 6 個發(fā)光二極管來替代實際生活中的紅黃
22、綠交通信號燈,考慮到實際電路的需要,分別在可編程邏輯器件與數(shù)碼管以及發(fā)光二極管之間放上限流電阻,以避免數(shù)碼管及發(fā)光二極管由于電流過大而燒壞,當然也不能加太大電阻,以避免數(shù)碼管及發(fā)光二極管的亮度不夠,因此,一般選330-1K 。用一個固定開關(guān) SW1實現(xiàn)交通警察認為監(jiān)督交通秩序和無人自動控制交通秩序之間的切換。用一個點動開關(guān) SW2用于整個系統(tǒng)的總復位。三 交通燈控制系統(tǒng)的程序設(shè)計鑒于模塊化的設(shè)計方法, 首先將系統(tǒng)分為11 個小的容易實現(xiàn)的模塊來分別設(shè)計仿真。分別有以下 11 個模塊:(1) 主控模塊 CONTROL :控制系統(tǒng)輸入與輸出之間的聯(lián)系。(2) 55 秒倒計時模塊 COUNTER55
23、 :倒計時 55 秒, 55 秒為綠燈點亮時間。(3) 5 秒倒計時模塊 COUNTER05 :倒計時 5 秒, 5 秒為黃燈點亮時間。(4) 倒計時時間選擇驅(qū)動模塊SCAN :驅(qū)動倒計時時間長短選擇模塊電路。(5) 倒計時時間選擇模塊CONTERSELECT :選擇不同的倒計時時間。(6) 1KHZ 時鐘信號模塊 FDIV1KHZ :通過分頻得到1KHZ 的時鐘信號。(7) 1HZ 計數(shù)時鐘信號模塊FDIV1HZ :通過分頻得到1HZ 的時鐘信號。(8) 倒計時時間數(shù)據(jù)多路選擇模塊 DATAMUX :倒計時時間數(shù)據(jù)分時送入后級用于顯示。(9) 動態(tài)選擇驅(qū)動模塊DISPSELECT :驅(qū)動動態(tài)
24、選擇數(shù)碼管進行分時顯示。(10 ) 顯示數(shù)據(jù)多路選擇模塊DISPMUX :顯示數(shù)據(jù)的分時選擇。(11) 顯示數(shù)據(jù)譯碼模塊DISPDECODER : 4 位碼譯成 8 位數(shù)碼管的顯示數(shù)據(jù)。下邊將分別討論各個模塊的具體實現(xiàn)過程,最后討論由這些模塊構(gòu)成的頂層電路 TOP 。3.1 主控模塊 CONTROL該模塊主要完成根據(jù)外部輸入信號Reset 、 SW控制輸出,用于控制交通燈的信號Red1、Red2、Yellow2 、Green1、Green2。這中間包含了必要的內(nèi)部模塊之間的信號EN_in( 來自倒計時時間選擇驅(qū)動模塊該模塊的模塊框圖如圖SCAN)。3-1(a) 所示:圖 3-1( a) 主控模
25、塊 CONTROL 的模塊框圖該模塊定義輸入端口定義如下: RST :總體復位,用于復位整個系統(tǒng)。復位后,系統(tǒng)將恢復到原始狀態(tài)。 SW1:模式選擇,用于選擇自動模式和人為監(jiān)督模式。其中, SW1=1時為自動模式,系統(tǒng)不需要人為控制,自動按照預先設(shè)定的方式來控制交通燈,主要過程為十字馬路的一個方向(設(shè)定為方向1)綠燈亮時,另一個方向(設(shè)定為方向2)紅燈亮。計數(shù)55 秒后,方向 1 的綠燈熄滅黃燈亮,再計數(shù)5 秒后,方向 1 的黃燈熄滅紅燈亮,同時方向2 的綠燈亮,然后方向 2 重復方向 1 的過程,這樣就實現(xiàn)了無人自動控制交通燈。 SW1=0時為人為監(jiān)督模式,交通燈將不再工作,交通秩序?qū)⑼耆诮?/p>
26、通警察的控制下進行。 EN_in :控制紅黃綠燈切換的驅(qū)動使能信號。用于自動模式中狀態(tài)的切換選擇。其中 EN_in=00 時,方向 2 紅燈亮,方向 1 綠燈亮; EN_in=01 時,方向 2 紅燈亮,方向 1黃燈亮; EN_in=10 時,方向 2 綠燈亮,方向1 紅燈亮; EN_in=11 時,方向 2 黃燈亮,方向 1 紅燈亮。該模塊定義輸出端口如下: Red1 :方向 1 上的紅燈。 Red2 :方向 2 上的紅燈。 Yellow1 :方向 1 上的黃燈。 Yellow2 :方向 2 上的黃燈。 Green1 :方向 1 上的綠燈。 Green2 :方向 2 上的綠燈。在 MAX +
27、 plus 軟件中編譯和波形仿真后得到的波形如圖3-1(b) 所示。圖 3-1(b)主控模塊的仿真波形從圖 3-1(b) 可以簡單的檢查主控模塊 CONTROL設(shè)計的邏輯上的正確性, 同時也可以看到一些簡單的延時信息。3.2 55 秒倒計時模塊 COUNTER55該模塊主要完成 55 秒倒計時,控制紅燈的點亮時間。 實際中在 1 分鐘內(nèi)還要有綠到黃燈的轉(zhuǎn)換以提醒車輛與行人,所以選擇了 55 秒作為綠燈的點亮時間。該模塊的模塊框圖如圖3-2 (a)所示:圖 3-2( a) 55 秒倒計時模塊COUNTER55的模塊框圖該模塊定義輸入端口如下: C_CLK:計數(shù)時鐘信號,計數(shù)器的全局計數(shù)時鐘。經(jīng)過
28、分頻后,這個時鐘信號頻率為 1HZ的方波信號,在時鐘的上升沿,計數(shù)器響應(yīng)。 RST :計數(shù)器復位信號,低電平復位。復位后,計數(shù)器恢復原始狀態(tài)。即為全零狀態(tài),這時輸出數(shù)值為 55。默認 RST為高電平,工作在計數(shù)狀態(tài)。 C_EN:計數(shù)器的使能信號,在時鐘信號下,在這個信號為高電平時,計數(shù)器才工作與計數(shù)狀態(tài),否則,計數(shù)器工作于保持狀態(tài)。該模塊定義輸出端口如下: D_OUT1:計數(shù)器的高位輸出,經(jīng)過譯碼后,就可以作為倒計時時間顯示的高位。 D_OUT0:計數(shù)器的低位輸出,經(jīng)過譯碼后,就可以作為倒計時時間顯示的低位。 C_OUT:計數(shù)器計數(shù)到時脈沖輸出,當計數(shù)器計數(shù)到設(shè)定時間時,就會產(chǎn)生一個脈沖信號,
29、用于驅(qū)動狀態(tài)的改變。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-2 (b)所示。圖 3-2(b) 55秒倒計時模塊 COUNTER55仿真波形從圖 3-2(b) 可以簡單的檢查 55 秒倒計時模塊 COUNTER55設(shè)計的邏輯上的正確性,同時也可以看到一些簡單的延時信息。3.3 5秒倒計時模塊 COUNTER05該模塊主要完成5 秒倒計時,控制黃燈的點亮時間。實際中在1 分鐘內(nèi)還要有紅到黃燈的轉(zhuǎn)換以提醒車輛與行人,所以選擇了55 秒作為紅燈的點亮時間后,黃燈的點亮時間必定是 5 秒。該模塊的模塊框圖如圖3-3 (a)所示:圖 3-3 ( a) 5 秒倒計時模塊COUNTE
30、R05的模塊框圖該模塊定義輸入端口如下: C_CLK:計數(shù)時鐘信號,計數(shù)器的全局計數(shù)時鐘。經(jīng)過分頻后,這個時鐘信號為頻率為 1HZ的方波信號,在時鐘的上升沿,計數(shù)器響應(yīng)。 RST :計數(shù)器復位信號,低電平復位。復位后,計數(shù)器恢復原始狀態(tài)。即為全零狀態(tài),這時輸出數(shù)值為 05. 默認 RST為高電平,工作在計數(shù)狀態(tài)。 C_EN:計數(shù)器的使能信號,在時鐘信號下,在這個信號為高電平時,計數(shù)器才工作與計數(shù)狀態(tài),否則,計數(shù)器工作與保持狀態(tài)。該模塊定義輸出端口如下: D_OUT1:計數(shù)器的高位輸出,經(jīng)過譯碼后,就可以作為倒計時時間顯示的高位,通常情況下為 0。 D_OUT0:計數(shù)器的低位輸出,經(jīng)過譯碼后,就
31、可以作為倒計時時間顯示的低位。 C_OUT:計數(shù)器計數(shù)到時脈沖輸出,當計數(shù)器計數(shù)到設(shè)定時間時,就會產(chǎn)生一個脈沖信號,用于驅(qū)動狀態(tài)的改變。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-3 (b)所示。圖 3-3 ( b) 5 秒倒計時模塊 COUNTER05的仿真波形3.4 倒計時時間選擇驅(qū)動模塊SCAN該 模塊 主要完 成倒 計時 時間 長短選 擇的 功能 ,輸 入信號 來自 兩個 倒計時模塊COUNTER55和 COUNTER05,當?shù)褂嫈?shù)完成時產(chǎn)生一個脈沖用于驅(qū)動此模塊產(chǎn)生 00,01,10, 11 序列來驅(qū)動倒計時時間選擇模塊 COUNTERSELECT。該模塊的模塊
32、框圖如圖3-4 (a)所示:圖 3-4 (a) 倒計時時間選擇驅(qū)動模塊SCAN的模塊框圖該模塊定義輸入端口如下: EN_in1 :高位驅(qū)動信號,來源與55 秒倒計時的信號,當計數(shù)器計時完成后,產(chǎn)生這個脈沖來驅(qū)動狀態(tài)的改變。 EN_in0 :低位驅(qū)動信號,來源與 5 秒倒計時的信號,當計數(shù)器計時完成后,產(chǎn)生這個脈沖來驅(qū)動狀態(tài)的改變。該模塊定義輸出端口如下: SDATA:狀態(tài)輸出,輸出當前狀態(tài)。由于選擇不同的倒計時時間的長短。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-3 (b)所示。圖 3-4(b)倒計時時間選擇驅(qū)動模塊SCAN的仿真波形3.5 倒計時時間選擇模塊COUNT
33、ERSELECT該模塊主要完成55 秒倒計時與 5 秒倒計時之間的選擇功能, 在實際中因為存在著紅燈到黃燈再轉(zhuǎn)換為綠燈的這樣的一個變化過程,而紅黃綠燈的點亮時間不相同,一般是綠黃兩燈的點亮時間剛好等于紅燈,其中,綠燈亮 55 秒,黃燈亮 5 秒,紅燈亮 60 秒。該模塊的模塊框圖如圖3-5 (a)所示:圖 3-5 (a) 倒計時時間選擇模塊COUNTERSELECT的模塊框圖該模塊定義輸入端口如下: D_IN :狀態(tài)變化輸入信號,主要是“ 00,01,10,11”四種狀態(tài)的變化,與倒計時時間長短的選擇信號同步。該模塊定義輸出端口如下: D_OUT1:時間選擇高位輸出,用于選擇驅(qū)動 55 秒倒計
34、時計時器。分別在狀態(tài)輸入“ 00,10”這兩種狀態(tài)時,即對應(yīng)綠燈點亮時間,輸出高電平,使能55 秒倒計時計數(shù)器。 D_OUT0:時間選擇低位輸出,用于選擇驅(qū)動5 秒倒計時計時器。分別在狀態(tài)輸入“01, 11”這兩種狀態(tài)時,即對應(yīng)黃燈點亮時間,輸出高電平,使能5 秒倒計時計數(shù)器。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-5(b) 所示。圖 3-5( b) 倒計時時間選擇模塊COUNTERSELECT的仿真波形3.6 1KHZ 時鐘信號模塊FDIV1KHZ該模塊主要完成從開發(fā)試驗板上10MHZ的全局時鐘信號經(jīng)過分頻得到1KHZ的時鐘信號,即完成一個 10000 分頻的分頻器
35、。分頻器的設(shè)計是時序設(shè)計的比較基礎(chǔ)的知識,在實際系統(tǒng)中用得很多,設(shè)計過程與計數(shù)器的設(shè)計很類似。該模塊的模塊框圖入圖3-6 (a)所示:圖 3-6 ( a) 1KHZ 時鐘信號模塊 FDIV1KHZ的模塊框圖該模塊定義輸入端口如下: CLK_IN :時鐘輸入信號,來源于全局時鐘信號10MHZ的外部輸入。該模塊定義輸出端口如下: CLK_OUT:時鐘輸出信號,經(jīng)過分頻后輸出 1KHZ的時鐘信號,用于數(shù)碼管的動態(tài)顯示。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-6 (b)所示。圖 3-6 ( b) 1KHZ 時鐘信號模塊FDIV1KHZ的仿真波形3.7 1HZ 計數(shù)時鐘信號模塊
36、FDIV1HZ該模塊主要完成從模塊FDIV1KHZ中的 1KHZ時鐘信號經(jīng)過分頻得到1HZ的計數(shù)時鐘信號,即完成一個1000 分頻的分頻器。設(shè)計過程與模塊6 的設(shè)計過程基本相同。該模塊的模塊框圖如圖3-7 (a)所示:圖 3-7 ( a) 1HZ 計數(shù)時鐘信號模塊FDIV1HZ的模塊框圖該模塊定義輸入端口如下: CLK_IN :時鐘輸入信號,來源于全局時鐘信號1KHZ的外部輸入。該模塊定義輸出端口如下: CLK_OUT:時鐘輸出信號,經(jīng)過分頻后輸出 1HZ 的時鐘信號,用于驅(qū)動秒級的計時器。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-7 (b)所示。圖 3-7 ( b)
37、1HZ 計數(shù)時鐘信號模塊FDIV1HZ的仿真波形3.8 倒計時時間數(shù)據(jù)多路選擇模塊DATAMUX該模塊主要完成兩組不同倒計時時間數(shù)據(jù)的選擇輸出到后續(xù)顯示模塊。該模塊的模塊框圖如圖3-8 (a)所示:圖 3-8 ( a) 倒計時時間數(shù)據(jù)多路選擇模塊DATAMUX的框圖該模塊定義輸入端口定義: D_IN3 :4 位 BCD碼輸入信號 3,來源于 5 秒倒計時計時器的高位BCD碼輸出,取值范圍為 0-5 。 D_IN2 :4 位 BCD碼輸入信號 2,來源于 5 秒倒計時計時器的低位BCD碼輸出,取值范圍為 0-9 。 D_IN1 : 4 位 BCD碼輸入信號 1,來源于 55 秒倒計時計時器的高位
38、 BCD碼輸出,取值通常為 0。 D_IN0 : 4 位 BCD碼輸入信號 0,來源于 55 秒倒計時計時器的低位 BCD碼輸出,取值范圍為 0-5 。 SEL :狀態(tài)選擇輸入信號,用于在不同狀態(tài)下選擇不同的計時器的輸出數(shù)值作為這個模塊的輸出。該模塊定義輸出端口定義: D_OUT1:輸出高位 BCD碼,在 SEL 的驅(qū)動使能下分別選擇 SEL=“ 00”或“ 10”時選擇 D_IN1;當 SEL=“01”或“ 11”時選擇 D_OUT0:輸出低位 BCD碼,在 SEL 的驅(qū)動使能下分別選擇D_IN1 或者 D_IN3, 當D_IN3。D_IN0 或者 D_IN2, 當SEL=“ 00”或“ 1
39、0”時選擇 D_IN0;當 SEL=“01”或“ 11”時選擇 D_IN2。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-8 (b)所示。圖 3-8(b)倒計時實際數(shù)據(jù)多路選擇模塊DATAMUX的仿真波形3.9 動態(tài)顯示驅(qū)動模塊DISPSELECT該模塊主要完成倒計時數(shù)碼管的動態(tài)顯示。動態(tài)顯示即分時顯示,但是時間間隔的選擇既要保證人眼看起來是同時顯示,既不會出現(xiàn)兩位數(shù)字的斷續(xù)顯示,又要保證不會覆蓋顯示數(shù)字,即不會出現(xiàn)上個數(shù)字與下個數(shù)字之間的顯示過快使得人眼來不及分辨。該模塊模塊框圖如圖3-9 (a)所示:圖 3-9 ( a) 動態(tài)顯示驅(qū)動模塊DISPSELECT的模塊框圖該
40、模塊定義輸入端口如下: CLK :動態(tài)選擇循環(huán)時鐘信號,此信號為 1KHZ的時鐘信號。該模塊定義輸出端口如下: D_OUT:動態(tài)選擇循環(huán)輸出信號,在 1KHZ時鐘信號的驅(qū)動下,產(chǎn)生“ 01”,“10”序列,用于選擇數(shù)碼管,以達到動態(tài)顯示。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-9 (b)所示。圖 3-9(b)動態(tài)顯示驅(qū)動模塊DISPSELECT的仿真波形3.10顯示數(shù)據(jù)多路選擇模塊DISPMUX該模塊主要完成數(shù)碼管顯示數(shù)據(jù)的分時選擇,以實現(xiàn)分時動態(tài)顯示。該模塊的模塊框圖如圖3-10 (a)所示:圖 3-10 ( a) 顯示數(shù)據(jù)多路選擇模塊DISPMUX的框圖該模塊定義
41、輸入端口如下: SEL :狀態(tài)輸入信號,用于分時選擇輸入信號到輸出端口。D_IN1:顯示數(shù)據(jù)高位輸入信號,為4 位BCD碼。 D_IN0 :顯示數(shù)據(jù)低位輸入信號,為4 位 BCD碼。該模塊定義輸出端口如下: D_OUT:顯示數(shù)據(jù)輸出,在 SEL的驅(qū)動下,分別選擇 D_IN0 與 D_IN1。當 SEL=“01”時,選擇 D_IN0;當 SEL=“ 10”時,選擇 D_IN1;其余情況下輸出為“ 00”。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-10 ( b)所示。圖 3-10(b)顯示數(shù)據(jù)多路選擇模塊DISPMUX的仿真波形3.11顯示數(shù)據(jù)譯碼模塊DISPDECODER
42、該模塊主要完成 4 位據(jù)分別對應(yīng)數(shù)碼管的數(shù)據(jù)段BCD碼到 8 位 BCD碼數(shù)碼管顯示數(shù)據(jù)的譯碼,譯碼后的A、B、C、 D、 E、 F、 G、 DP。8 位數(shù)該模塊的模塊框圖如圖3-11 (a)所示:圖 3-11 ( a) 顯示數(shù)據(jù)譯碼模塊DISPDECODER的模塊該模塊定義輸入端口如下: DATA_IN: 4 位 BCD碼輸入信號。該模塊定義輸出端口如下: DATA_OUT:8 位數(shù)碼管顯示數(shù)據(jù)輸出信號,用于顯示數(shù)據(jù)。在 MAX + plus 軟件中編譯和波形仿真后得到的波形如圖3-11 ( b)所示。圖 3-11(b)顯示數(shù)據(jù)譯碼模塊DISPDECODER的仿真波形3.12頂層電路 TOP
43、到此,各個模塊都已經(jīng)設(shè)計和仿真完畢。需要將這些小模塊連接起來完成整個系統(tǒng)的設(shè)計,即進行頂層電路的設(shè)計。頂層電路的設(shè)計又有幾種常用的方法,在 Verilog HDL 設(shè)計中主要有兩種:一是用與模塊設(shè)計一樣的方式,即用 Verilog HDL 語言來編程寫模塊電路的連接關(guān)系,主要是輸入與輸出的連接, 從而設(shè)計出頂層電路; 二是利用電路原理圖的設(shè)計方式, 這種設(shè)計方式,與通常情況下的基于分立電路的原理圖設(shè)計基本類似,這種方法簡潔二明了。因此,我選擇了 第二種方式,即基于原理圖的設(shè)計。頂層電路如圖 3-12 所示:圖 3-12 頂層電路的接線圖四 結(jié) 論通過程序仿真,可以看出各個模塊功能都得到實現(xiàn)。在
44、這個交通燈的系統(tǒng)設(shè)計中,能夠保證在確定的時間,倒計數(shù)數(shù)字顯示能夠及時變化,紅黃綠燈能準確的變化。在綠燈亮了 55 秒后變化為黃燈亮 5 秒,然后實現(xiàn)了十字路口縱橫路放行與禁行的切換控制。謝辭在做本設(shè)計的過程當中,我閱讀了很多資料,充實了我的專業(yè)課知識,在交通控制系統(tǒng)的設(shè)計完成過程當中,我學會了很多,并讓我感覺到我的知識的匱乏,盡管老師和同學竭盡全力幫助我來保證設(shè)計的精確性、可靠性和完善性,但加上時間的倉促,設(shè)計還有很多不足之處,懇請老師批評指正。在畢業(yè)設(shè)計順利完成之際, 我特別感謝我的指導老師唐予軍老師在我設(shè)計寫作過程中給予的傾力幫助和悉心指導。在本設(shè)計的設(shè)計過程中,唐老師在繁忙的工作之余不辭
45、勞苦給我提供了許多寶貴的意見和資料。論文的整個撰寫過程中,唐老師傳授了我對論文寫作的框架和思路,在論文的修改過程中,唐老師不斷地對論文進行審核,并且指出論文的不足之處 , 提出很多寶貴的改進意見。他的督促和幫助使我順利完成了畢業(yè)設(shè)計及論文。在此對唐老師的無私幫助致以深深的謝意!最后感謝各位同學和朋友在設(shè)計和論文的寫作過程中給予的無私幫助! 更要感謝大家在生活和學習里對我的關(guān)心,幫助和支持!本次論文與設(shè)計的完成對我是一個巨大的激勵,使我對學術(shù)的研究方面充滿信心,更為我在今后的學習與工作中提供了寶貴的經(jīng)驗。參考文獻1 劉寶琴,張芳蘭,田立生等 .ALTERA可編程邏輯器件及其應(yīng)用 . 北京:清華大
46、學出版社 ,19952 趙雅興 .FPGA 原理、設(shè)計與應(yīng)用 . 天津大學出版社 ,19983夏宇聞 .Verilog數(shù)字系統(tǒng)設(shè)計教程. 北京航空航天大學出版社,20034 李廣軍等著 . 可編程 ASIC 設(shè)計與應(yīng)用 . 成都:電子科技大學出版社 ,20005 徐志軍等著 .CPLDFPGA的開發(fā)與應(yīng)用 . 北京:電子工業(yè)出版社 ,20026 翁大元等著 .FPGA 設(shè)計與應(yīng)用 . 西安:西安電子科技大學出版社,20027 夏宇聞 . 從算法設(shè)計到硬件邏輯的實現(xiàn) - 復雜數(shù)字邏輯系統(tǒng)的 Verilog HDL設(shè)計技術(shù)和方法 . 北京:高等教育出版社,20018 陳雪松,滕立中編著 .VHDL
47、 入門與應(yīng)用 . 北京 : 人民郵電出版社 ,20009 劉玉琴,沈雅芬 . 計算機電路基礎(chǔ) (1). 北京 : 中央廣播電視大學出版社 ,200010 邊計年,薛宏熙譯 . 用 VHDL設(shè)計電子線路 . 北京 : 清華大學出版社 ,200011 WenNuan,Zibin Dai,Yongfu Zhang.FPGA IMPLEMENTATION OF RSA PUBLIC-KEY CRYPTOGRAPHICCOPROCESSOR BASED ON SYSTOLIC LINEAR ARRAY ARCHITECTUREElectronic. technology magazine,2003附錄本設(shè)計溫度計的程序如下:* 主控模塊 control* module control(en_in,rst,sw1,red1,red2,yellow1,yellow2,green1,green2);* 輸入輸出端口定義 * output red1;output red2; output yellow
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄰居土地租賃協(xié)議書范本
- 廠房安全風險評估與預防合同
- 香港法律婚前協(xié)議書范本
- 采石場經(jīng)營權(quán)與資源權(quán)轉(zhuǎn)讓協(xié)議
- 柴油運輸碳排放交易合同
- 餐飲行業(yè)食品安全管理合作協(xié)議書
- 餐飲品牌直營店租賃合作協(xié)議
- 車輛產(chǎn)權(quán)轉(zhuǎn)讓與質(zhì)保服務(wù)合同范本
- 系桿拱橋吊桿張拉順序?qū)n}
- 離子沉積技術(shù)培訓課件
- 國有企業(yè)合規(guī)管理
- 慈利金投公司招聘筆試題目
- 醫(yī)療器械市場調(diào)整與價格波動對策
- 髖關(guān)節(jié)假體松動查房
- 【基于單片機的超速報警器的電路設(shè)計6100字(論文)】
- 鼠疫介紹演示培訓課件
- 固體地球物理學概論
- 浮針療法課件
- 園林綠化工程施工技術(shù)方案及技術(shù)措施
- “安全生產(chǎn)課件:如何預防工傷事故”
- 14天攻克KET詞匯表
評論
0/150
提交評論