EDA交通燈的設計

2023-01-02 06:12:02 字數 4267 閱讀 8975

1 、設計任務及要求

設計乙個由一條主幹道和一條支幹道的匯合點形成的十字交叉路口的交通燈控制器,能夠做到主、支幹道的紅綠燈閃亮的時間不完全相同,在綠燈跳變紅燈的過程中能夠用黃燈進行過渡,使得行駛過程中的車輛有足夠的時間停下來。還要求在主、支幹道各設立一組計時顯示器,能夠顯示相應的紅、黃、綠倒計時。可以利用vhdl語言合理設計系統功能,使紅黃綠燈的轉換有乙個準確的時間間隔和轉換順序。

具體要求如下:

1、設計乙個交通訊號燈控制器,由一條主幹道和一條支幹道匯合成十字路口,在每個入口處設定紅、綠、黃三色訊號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。

2、主幹道處於常允許通行的狀態,支幹道有車來時才允許通行。主幹道亮綠燈時,支幹道亮紅燈;支幹道亮綠燈時,主幹道亮紅燈。

3、主、支幹道均有車時,兩者交替允許通行,主幹道每次放行45秒,支幹道每次放行25秒,設立45秒、25秒計時、顯示電路,並進行減計時顯示。

4、在每次由綠燈亮到紅燈亮的轉換過程中,要亮5秒黃燈作為過渡,使行駛中的車輛有時間停到禁行線外,設立5秒計時、顯示電路。

5、設計乙個緊急狀態,當緊急狀態出現時,兩個方向都禁止通行,指示紅燈。緊急狀態解除後,主幹道亮紅燈,支幹道亮綠燈,並指示時間。

2、設計原理及總體框圖

交通燈控制器是狀態機的乙個典型應用,除了計數器是狀態機外,還有東西、南北方向的不同狀態組合(紅綠、紅黃、綠紅、黃紅四個狀態),4種狀態組合如下表所示。

交通燈的4種可能亮燈狀態

在本次課程設計中東西方向和南北方向的黃燈均為5s,在設計交通燈時,可增加一些狀態檢測,即通過檢測兩個方向上的計數值判斷交通燈應處於4種狀態中的哪個狀態。下表列出了需檢測的狀態跳變點。從表中可以看出,有兩種情況出現了東西方向和南北方向計數值都為1,因此在檢測跳變點時還應同時判斷當前是處於狀態2還是狀態4,這樣可以決定次狀態是狀態3還是狀態1.

交通燈設計中的狀態跳變點

根據設計要求和系統所具有的功能,並參考相關的文獻資料,經行方案設計,可以畫出如下圖所示的交通訊號燈控制器的系統框圖。

3、程式設計

常用的硬體描述語言有vhdl、verilog、abel。其中vhdl作為ieee的工業標準硬體描述語言,在電子工程領域,已成為事實上的通用硬體描述語言。

首先,簡單地介紹一下什麼是vhdl硬體描述語言。vhdl的英文全稱是vhsic(very high speed integrated circuit)hardware description language。是eda設計中使用最多的語言之一,它具有很強的電路描述和建模能力,能從多個層次對數字系統進行建模和描述,從而大大地簡化了硬體設計任務,提高了設計效率和可靠性。

其次,在設計中選用vhdl硬體描述語言的優勢在於:傳統的用原理圖設計電路的方法具有直觀形象的優點,但如果所設計系統的規模比較大,或者設計軟體不能提供設計者所需的庫單元時,這種方法就顯得很受限制了,而且用原理圖表示的設計,通用性、可移植性也比較弱,所以在現代的設計中,越來越多地採用了基於硬體描述語言的設計方式。利用硬體描述語言來設計電路,使探測各種設計方案變成一件很容易的事,因為只需要對描述語言進行修改,這比更改電路原理圖要容易實現得多。

library ieee;

useuseuseentity jtd is

port(clk1s,forbid:in std_logic;

led:buffer std_logic_vector(5 downto 0);

main,branch:buffer std_logic_vector(7 downto 0));

end jtd;

architecture beh** of jtd is

begin

process(clk1s)

begin

if forbid='0' then

led<="100001";

main<="00000000";

branch<="00000000";

elsif clk1s'event and clk1s='1' then

if main>"01000110" or branch>"01010001" then

main<="00110000";

branch<="00100101";

led<="100100";

elsif main="00000110" and branch="00000001" then

main<="00000101";

branch<="00000101";

led<="100010";

elsif main="00000001" and branch="00000001" and led="100010" then

main<="01000101";

branch<="01010000";

led<="001001";

elsif main="00000001" and branch="00000110" then

main<="00000101";

branch<="00000101";

led<="010001";

elsif main="00000001" and branch= "00000001" and led="010001"then

main<="00110000";

branch<="00100101";

led<="100100";

elsif main(3 downto 0)="0000" then

main<=main-7;

branch<=branch-1;

elsif branch(3 downto 0)="0000" then

main<=main-1;

branch<=branch-7;

else

main<=main-1;

branch<=branch-1;

end if;

end if;

end process;

end beh**;

4、編譯及**

交通燈控制器的**波形圖如下圖所示。從圖中可以看出,禁止通行時,led5和led0都為高電平,即主幹道和支幹道兩個方向均是紅燈亮;禁止通行結束後,依次進入紅綠、紅黃、綠黃、黃紅4個狀態,並依次迴圈。從交通燈控制器的區域性放大**波形圖中可以看出計時顯示器工作的正確性。

為了顯示交通燈紅綠黃燈的計時情況,下面給出交通燈控制器的區域性放大**波形。

在進行波形**時,一開始不能顯示出交通燈的4個狀態,後來通過修改clk1s的頻率實現了波形的**。

5、硬體除錯與結果分析

採用實驗電路結構圖no.0,引腳繫結如下所示

clk1s繫結引腳clk0,引腳號為126;

main7繫結引腳pio47,引腳號為96;

main6繫結引腳pio46,引腳號為95;

main5繫結引腳pio45,引腳號為92;

main4繫結引腳pio44,引腳號為91;

main3繫結引腳pio43,引腳號為90;

main2繫結引腳pio42,引腳號為89;

main1繫結引腳pio41,引腳號為88;

main0繫結引腳pio40,引腳號為87;

branch7繫結引腳pio23,引腳號為39;

branch6繫結引腳pio22,引腳號為38;

branch5繫結引腳pio21,引腳號為37;

branch4繫結引腳pio20,引腳號為36;

branch3繫結引腳pio19,引腳號為33;

branch2繫結引腳pio18,引腳號為32;

branch1繫結引腳pio17,引腳號為31;

branch0繫結引腳pio16,引腳號為30;

led5繫結引腳pio15,引腳號為29;

led4繫結引腳pio14,引腳號為28;

led3繫結引腳pio13,引腳號為27;

led2繫結引腳pio11,引腳號為23;

led1繫結引腳pio10,引腳號為22;

led0繫結引腳pio9,引腳號為21;

綜合適配後將配置資料**到eda實驗平台的fpga中。執行後可以看到,最上排的8個數碼管中,最左邊的兩個數碼管表示主幹道計時資料,最右邊的兩個數碼管表示支幹道的計時資料。數碼管顯示時,從非法狀態跳變為主幹道(最左邊的兩個數碼管)顯示為30s,支幹道(最右邊的兩個數碼管)顯示為25s,並做減一計數。

當最右邊的數碼管顯示減為1時,跳變為5,兩個數碼管繼續減一計數。當計數都減為1時,最左邊的數碼管跳變為45,最右邊的數碼管跳變為50,並做減一計數。當最左邊的數碼管顯示減為1時,跳變為5,兩個數碼管繼續減一計數。

當計數都減為1時,最左邊的數碼管跳變為30,最右邊的數碼管跳變為25,並做減一計數。到此完成乙個迴圈。

基於FPGA的交通燈設計

數字系統課程設計報告書 目錄摘要1 1設計目的2 2設計內容及要求2 3系統整體方案及設計原理2 4各模組電路設計與實現3 4.1 分頻模組設計與實現3 4.1.1分頻模組圖 4.1.2分頻模組程式 4.2 交通燈控制器模組設計與實現4 4.2.1交通燈控制模組圖 4.2.2交通燈控制模組程式 4....

關於交通燈的課程設計

目錄摘要1 設計背景 2 設計要求 3 方案比較及元器件選擇 3.1測量部分方案比較 3.2數模轉換晶元的方案選擇 4 系統整體硬體設計方案 4.1系統工作原理概述 4.2 感測器及放大電路 4.3 a d轉換電路 4.4 微控制器at89c51 4.5 報警電路 4.6 解碼電路 4.7 led顯...

交通燈設計實驗報告

電子技術綜合設計報告 目錄一 設計背景3 二 設計任務及要求3 三 設計原理3 四 實物圖9 五 主要儀器和除錯方法9 六 實驗過程中的問題以及心得10 七 附錄11 交通燈定時控制系統的設計 製作報告 一 設計背景 在城鎮街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅 ...