【正文】
039。139。 state2:=yellowa。 else if not(th=0000 and tl=0001) then if tl=0000 then tl:=1001。 ga=39。 v=39。139。1。139。039。 variable bth:std_logic_vector(3 downto 0)。 end。 bga:out std_logic。 entity jiaotongdeng is port ( clk,jin,clear:in std_logic。這對我接下來能夠順利地完成設(shè)計工作起到了良好的鋪墊作用。而且,VHDL語言對EDA技術(shù)產(chǎn)生的影響也是深遠(yuǎn)的,它縮短了電子產(chǎn)品的設(shè)計周期,為設(shè)計者提供了方便。本文介紹了控制基本原理以及控制的表現(xiàn),同時,論述了系統(tǒng)中交通現(xiàn)狀及背景信息,并對所使用的研究平臺和編輯語言做了簡要介紹。圖43譯碼顯示模塊A仿真后得到的時序圖 仿真周期為10ms。系統(tǒng)仿真 第四章 系統(tǒng)仿真 控制模塊這里以控制模塊A為例,控制模塊B與其類似。end convert_display_arc。 //結(jié)束case語句; cb0=tmp(0)。 when 0011=tmp:=1001111。use 。 //clkin處于上升沿時,i=2499時,i由高電平變?yōu)榈碗娖剑琲=0,同時v進(jìn)行取反,v等于v的非; else i:=i+1。architecture fenpin_arc of fenpin is //開始結(jié)構(gòu)體說明;begin process(clkin) //當(dāng)輸入clkin發(fā)生變化時,程序開始執(zhí)行; variable i:integer range 0 to 2499。 控制模塊B 圖37控制模塊BVHDL源程序與控制模塊A相似,在此不再描述。 timh=th。 v:=39。 gb=39。 v:=39。039。039。139。 state:=yellowb。 else if not(th=0000 and tl=0001) then if tl=0000 then tl:=1001。 gb=39。 //計時器開始計時,此時十位為0,個位為4,即5S,直到本次計時結(jié)束,只有東西向的黃燈點亮,其余保持熄滅狀態(tài);期間當(dāng)計時器的個位一直自減1;當(dāng)此次計時結(jié)束,即十位和個位都顯示0時,下次計時開始,由東轉(zhuǎn)南的綠燈開始點亮; end if。039。139。 state:=yellowa。 else if not(th=0000 and tl=0001) then if tl=0000 then tl:=1001。 ga=39。 v:=39。 //jin為低電平時,整個交通控制系統(tǒng)處于正常狀態(tài); elsif clk39。039。139。type rgy is(greena,yellowa,greenb,yellowb,red)。use 。其中包括:⑴控制模塊(控制模塊A 控制模塊B)⑵分頻模塊⑶譯碼顯示模塊(譯碼顯示模塊A 譯碼顯示模塊B) 模塊運行流程圖⑴控制模塊圖32 正常狀態(tài)下的控制模塊A圖33 特殊狀況下的控制模塊A⑵分頻模塊圖34 分頻模塊流程圖⑶譯碼顯示模塊圖35 譯碼顯示模塊 紅綠燈交通信號系統(tǒng)的VHDL模塊 控制模塊該模塊為整個程序的核心,它包括控制模塊A和控制模塊B,它們分別控制東西、南北兩條道路上交通燈的明滅,并實現(xiàn)時間的倒計時功能。 任務(wù)和要求:⑴確保交通安全有序進(jìn)行。系統(tǒng)設(shè)計者現(xiàn)在能夠用Quartus II軟件評估HardCopy Stratix器件的性能和功耗,相應(yīng)地進(jìn)行最大吞吐量設(shè)計。 Quartus Ⅱ簡介 Quartus174。VHDL 語言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度。歸納起來 ,VHDL 語言主要具有以下優(yōu)點: ⑴ VHDL 語言功能強大 , 設(shè)計方式多樣 VHDL 語言具有強大的語言結(jié)構(gòu), 只需采用簡單明確的VHDL語言程序就可以描述十分復(fù)雜的硬件電路。在綜合時,VHDL綜合器會根據(jù)相應(yīng)的元件聲明,搜索與元件同名的實體,將此實體合并到生成的門級網(wǎng)表中。RTL描述是以規(guī)定設(shè)計中的各種寄存器形式為特征,然后在寄存器之間插入組合邏輯。行為描述在EDA工程中稱為高層次描述或高級描述。優(yōu)化是指將設(shè)計的時延縮到最小和有效利用資源。通常情況下,設(shè)計中采用的設(shè)計方式包括直接設(shè)計,自上而下的設(shè)計和自下而上的設(shè)計,一般采用自上而下的設(shè)計方法。因為VHDL的硬件描述與工藝無關(guān),當(dāng)工藝改變時,只需修改相應(yīng)程序中的屬性參數(shù)即可。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。它是在ALTERA公司的第二代MAX結(jié)構(gòu)基礎(chǔ)上,采用先進(jìn)的氧化物半導(dǎo)體EEPROM技術(shù)制造的。目前應(yīng)用已深入網(wǎng)絡(luò)、儀器儀表、汽車電子、數(shù)控機床、航天測控設(shè)備等方面。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。 主要研究內(nèi)容 課題采用文獻(xiàn)研究和實驗方法進(jìn)行研究。 鑒于城市智能交通系統(tǒng)建設(shè)涉及到城市管理多個部門職能,因此,只有各相關(guān)部門協(xié)調(diào)配合、共同行動起來,在必要的機制和技術(shù)手段下充分實現(xiàn)部門間的信息共享,城市智能交通才可能順利建設(shè)和發(fā)展。如今的交通燈系統(tǒng)的控制方法有很多,國內(nèi)外常見的多為標(biāo)準(zhǔn)邏輯器件、可編程序控制器PLC、單片機、CPLD等方案。直到1914年,在美國的克利夫蘭市才率先恢復(fù)了紅綠燈,不過,這時已是“電氣信號燈”。19世紀(jì)初,在英國中部的約克城,紅、綠裝分別代表女性的不同身份。在交叉路口如何解決混合交通流中的相互影響,就是解決城市交通問題的關(guān)鍵所在!隨著我國經(jīng)濟的穩(wěn)步發(fā)展,人民生活水平的日漸提高,越來越多的汽車進(jìn)入尋常百姓的家庭,再加上政府大力地發(fā)展公交、出租車行業(yè),城市交通問題日益嚴(yán)重。城市中交通擁擠、堵塞現(xiàn)象日趨嚴(yán)重,由此造成巨大的經(jīng)濟與時間損失。本文介紹了一個交通燈系統(tǒng)的設(shè)計。本文介紹的是基于EDA技術(shù)設(shè)計交通燈系統(tǒng)的一種方案。 資料顯示,對日本東京268個主要交叉路口的調(diào)查估計表明:每年在交叉路口的時間延誤,折成經(jīng)濟報失為20億美元;而在我國北京市,當(dāng)早晚交通高峰時,交叉路口處的排隊長度竟達(dá)1000多米,有的阻車車隊從一個交叉路口延伸到另一個交叉路口,這時一輛車為通過一交叉路口,往往需要半個小時以上,時間損失相當(dāng)可觀。要解決這些問題不僅要求道路越來越寬闊,而且更需要有新的交通管理模式出臺。其中,著紅裝的女人表示我已結(jié)婚,而著綠裝的女人則是未婚者。稍后又在紐約和芝加哥等城市,相繼重新出現(xiàn)了交通信號燈。基于CPLD所設(shè)計的系統(tǒng)具有速度更快、體積更小、功耗更小等特點,改變了傳統(tǒng)交通燈不穩(wěn)定和不利于擴展的缺點,得到了廣泛應(yīng)用。 為此,國家科技部提出了建設(shè)城市交通ITS共用信息平臺的構(gòu)想,在此基礎(chǔ)上廣泛開展關(guān)于交通綜合信息的研究和應(yīng)用。通過文獻(xiàn)研究,提出基于CPLD的交通燈控制器的設(shè)計要求;通過實踐研究,驗證本課題所實現(xiàn)的功能是否與理論要求相一致。其基本設(shè)計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應(yīng)的目標(biāo)文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實現(xiàn)設(shè)計的數(shù)字系統(tǒng)。 CPLD的特點及其使用CPLD具有編程靈活、集成度高、設(shè)計開發(fā)周期短、適用范圍寬、開發(fā)工具先進(jìn)、設(shè)計制造成本低、對設(shè)計者的硬件經(jīng)驗要求低、標(biāo)準(zhǔn)產(chǎn)品無需測試、保密性強、價格大眾化等特點,可實現(xiàn)較大規(guī)模的電路設(shè)計,因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計和產(chǎn)品生產(chǎn)(一般在10,000件以下)之中??扇菁{各種各樣、獨立的組合邏輯和時序邏輯函數(shù)。除了含有許多具有硬件特征的語句外,VHDL的語言形式,描述風(fēng)格和句法等與一般的計算機高級語言十分類似。⑸有豐富的軟件支持VHDL的綜合和仿真,從而能在設(shè)計階段就能發(fā)現(xiàn)設(shè)計中的錯誤,縮短設(shè)計時間,降低成本。模塊劃分是設(shè)計過程中一個非常重要的步驟模塊劃分的好壞直接影響最終的電路設(shè)計,因此設(shè)計人員在這一步應(yīng)該花費一定的時間,從而保證模塊劃分的最優(yōu)化。幾乎所有的高級VHDL綜合工具都可以使用約束條件對設(shè)計進(jìn)行優(yōu)化。一般來說,采用行為描述方式的VHDL程序主要用于系統(tǒng)教學(xué)模型的仿真或系統(tǒng)工作原理的仿真。VHDL的RTL描述方式類似于布爾方程,可以描述時序電路,也可以描述組合電路。 選擇VHDL硬件描述語言設(shè)計的優(yōu)勢首先,簡單地介紹一下什么是VHDL硬件描述語言。同時, 它還具有多層次的電路設(shè)計描述功能?! 、?VHDL 語言具有很強的移植能力 VHDL 語言很強的移植能力主要體現(xiàn)在: 對于同一個硬件電路的 VHDL 語言描述 , 它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。 II design 是最高級和復(fù)雜的,用于systemonaprogrammablechip (SOPC)的設(shè)計環(huán)境。Altera的Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺。⑵能實現(xiàn)正常的倒計時顯示功能。輸入信號有清零信號clear1,clear2。use 。//定義5種交通燈狀態(tài),分別為由東向西方向的綠燈,東西方向的黃燈,由東轉(zhuǎn)南的綠燈,由東轉(zhuǎn)南的黃燈,道路東口的紅燈; begin process(jin,clear,clk) //當(dāng)jin,clear,clk發(fā)生變化時開始執(zhí)行進(jìn)程語句。 then b:=39。 r=39。event and clk=39。039。139。 th:=th1。 ///計時器開始計時,此時十位為2,個位為4,即25S,直到本次計時結(jié)束,只有g(shù)a輸出信號,由東向西的綠燈點亮,其他的保持熄滅狀態(tài);期間當(dāng)計時器的十位不為0和個位不為1時,若個位循環(huán)到0時,則個位自動變?yōu)?,十位自減1,繼續(xù)循環(huán),否則個位一直自減1;當(dāng)此次計時結(jié)束,即十位和各位均顯示0時,下次計時開始,東西向的黃燈開始點亮; end if。 y=39。 else tl:=tl1。 end if。139。 th:=th1。 //計時器開始計時,此時十位為2,個位為4,直到本次計時結(jié)束,只有由東轉(zhuǎn)南的綠燈點亮,其余保持熄滅狀態(tài);期間當(dāng)計時器的十位不為0和個位不為1時,若個位循環(huán)到0時,則個位自動變?yōu)?,十位自減1,繼續(xù)循環(huán),否則個位一直自減1;當(dāng)此次計時結(jié)束,即十位和各位均顯示0時,下次計時開始,由東轉(zhuǎn)南的黃燈開始點亮; end if。 y=39。 else if not(th=0000 and tl=0001) then if tl=0000 then tl:=1001。 state:=red。139。039。039。 timl=tl。 分頻模塊該模塊的功能是將時鐘5000分頻,得到占空比為1:1的方波,用于緊急情況時的倒計時閃爍。 //定義一個整數(shù)變量i,由于時鐘5000分頻,占空比為1:1,所以兩分頻為0 to 2499 和2499 to 0; variable v:std_logic。 //i加1; end if。 //庫說明;entity convert_display is //實體說明;port(a:in std_logic_vector(3 downto 0)。 when 0100=tmp:=1100110。 cb1=