国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于FPGA的交通燈設(shè)計與實現(xiàn)

這篇具有很好參考價值的文章主要介紹了基于FPGA的交通燈設(shè)計與實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

EDA工具:Modelsim and Vivado
##一、產(chǎn)品要求:
基于FPGA的交通燈設(shè)計與實現(xiàn)
該控制器用于主干道和支道公路交叉口,優(yōu)先保證主干道通行,平時處于"主干道綠燈,支道紅燈"狀態(tài),支道有車輛要穿過主干道時,信號燈改為"主干道紅燈,支道綠燈",支道無車輛時,信號燈返回"主干道綠燈,支道紅燈"狀態(tài)。如果支道始終有車,按普通信號燈處理。主干道和支道每次通行時間不得短于30s,兩個狀態(tài)交換之間有"主黃,支紅"和"主紅,支黃"的中間狀態(tài),持續(xù)時間均為4s。支道是否來車用開關(guān)代替,交通信號燈用LED代替。

##二、代碼設(shè)計:

module traffic_ctrl(
    input sys_clk,
    input sys_rst_n,
    input bypass_car,
    output reg main_light,
    output reg bypass_light

);
//wire sys_rst_n;
//assign sys_rst_n = 1'b1;
parameter S0 = 2'b00;
parameter S1 = 2'b01;
parameter S2 = 2'b11;
parameter S3 = 2'b10;
/**************************實際測試數(shù)據(jù)*********************************************************/
//parameter CLK_CNT    = 32'B1100_1010_1010_0111_1110_0010_0000_0000;//68s
//parameter YELLOW_CNT = 25'B1_0111_1101_0111_1000_0100_0000;
/**************************縮小1000000倍后的用于仿真測試數(shù)據(jù)**************************************/
parameter CLK_CNT    = 35'd3400;
parameter YELLOW_CNT = 25'd25;

reg [31:0]clk_cnt;
reg [24:0]yellow_cnt;
wire red;
reg yellow;
wire green;
assign red   = 1'b1;
assign green = 1'b0;

always@(posedge sys_clk or negedge sys_rst_n)begin
    if(!sys_rst_n||!bypass_car)
        yellow_cnt <= 25'b0;
    else if(yellow_cnt == YELLOW_CNT - 1)begin
        yellow <= ~yellow;
        yellow_cnt <= 25'b0;
        end
    else
        yellow_cnt <= yellow_cnt + 1'b1; 
end

//計數(shù)模塊
always@(posedge sys_clk or negedge sys_rst_n)begin
    if(!sys_rst_n||!bypass_car)
        clk_cnt <= 32'b0;
    else if(clk_cnt==CLK_CNT-1)
        clk_cnt <= 32'b0;
    else
         clk_cnt <= clk_cnt + 1'b1;
end
reg [1:0]curr_st;
reg [1:0]next_st;

//狀態(tài)機之一段
always@(posedge sys_clk or negedge sys_rst_n)begin
    if(!sys_rst_n||!bypass_car)
      curr_st = S0;
//    else if((clk_cnt==(30*50_000_000-1))||            /* 
//            (clk_cnt==(34*50_000_000-1))||                實際時間
//            (clk_cnt==(64*50_000_000-1))||
//            (clk_cnt==(68*50_000_000-1))  )            */
/**************************縮小1000000倍后的仿真測試**************************************/
    else if((clk_cnt==(30*50_-1))||             
            (clk_cnt==(34*50_-1))||
            (clk_cnt==(64*50_-1))||
            (clk_cnt==(68*50_-1))  )
      curr_st <= next_st;
    else
        curr_st <= curr_st;
end

//狀態(tài)機之二段
always@(*)begin
    case(curr_st)
        S0 : next_st = S1;
        S1 : next_st = S2;
        S2 : next_st = S3;
        S3 : next_st = S0;
        default :;
    endcase
end

//狀態(tài)機之第三段
always@(posedge sys_clk or negedge sys_rst_n)begin
    if(!sys_rst_n)begin
        main_light <= green;
        bypass_light <= red;
    end
    else begin
        case(curr_st)
            S0: begin
		    	main_light <= green;
		    	bypass_light <= red;
		        end
            S1:	begin
		    	main_light <= yellow;
		    	bypass_light <= red;
		        end
            S2:	begin
		    	main_light <= red;
		    	bypass_light <= green;
		        end
            S3:	begin
		    	main_light <= green;
		    	bypass_light <= yellow;
		        end
            default:;  
        
endcase
end 
end
  

endmodule

##三、測試代碼設(shè)計:

`timescale 1ns/1ps
module tb_traffic_light();

reg sys_clk;
reg sys_rst_n;
reg bypass_car;
wire main_light;
wire bypass_light;


initial begin 
    sys_clk    = 1'b1;
    sys_rst_n  = 1'b0;
    bypass_car = 1'b0;
   
end
initial begin
    #20 sys_rst_n  = 1'b1;
    #1000 bypass_car = 1'b1; 
end
always #10 sys_clk = ~sys_clk;
 traffic_ctrl u_traffic_ctrl(
    .sys_clk          (sys_clk         )  ,
    .sys_rst_n        (sys_rst_n       )  ,
    .bypass_car       (bypass_car      )  ,
    .main_light       ( main_light     )  ,
    .bypass_light     ( bypass_light   )  

);


endmodule

##四、仿真測試結(jié)果

由于仿真工具的仿真時間的考慮,本次仿真是在縮小1000_000倍的前提下進行的仿真,入下(前提采用了兩個led作為測試 燈亮表示紅燈 燈滅表示綠燈 黃燈表示led燈閃爍 )

為什么黃燈會變成不定態(tài)(原因:可能因為led燈反轉(zhuǎn)太快 導(dǎo)致的 在實際情況下不存在此情況如視頻中演示)

在bypass_car=1(i.g. 旁路有車)前提下
一區(qū):相隔30000ns后進行的
二區(qū):相隔4000ns后進行的
三區(qū):相隔30000ns后進行的
四區(qū):相隔4000ns后進行的
五區(qū):返回到主車道綠燈,旁車道紅燈

基于FPGA的交通燈設(shè)計與實現(xiàn)

##五、上板驗證結(jié)果
Led1燈表示主干道 led3表示枝干道
基于FPGA的交通燈設(shè)計與實現(xiàn)
基于FPGA的交通燈設(shè)計與實現(xiàn)

交通信號燈文章來源地址http://www.zghlxwxcb.cn/news/detail-432259.html

到了這里,關(guān)于基于FPGA的交通燈設(shè)計與實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • FPGA實驗四:交通燈控制器設(shè)計

    目錄 一、實驗?zāi)康?二、設(shè)計要求 三、實驗代碼 1.design?source文件代碼

    2024年02月13日
    瀏覽(23)
  • FPGA智能交通燈控制器系統(tǒng)系統(tǒng)設(shè)計

    FPGA智能交通燈控制器系統(tǒng)系統(tǒng)設(shè)計

    把由5OM的有源晶振產(chǎn)生的現(xiàn)場可編程邏輯器件FPGA 的系統(tǒng)時鐘輸入到分頻模塊,經(jīng)分頻模塊分頻產(chǎn)生頻率為1Hz的時鐘脈沖,作為控制定時模塊、控制模塊、緊急模塊、計數(shù)模塊的時鐘信號,然后再由定時模塊來控制緊急模塊和控制模塊,按照交通管理規(guī)則控制交通工作狀態(tài)的

    2024年02月04日
    瀏覽(27)
  • EDA實驗(Quartus Ⅱ+fpga) (四)---交通燈設(shè)計

    前言: 本文主要介紹了EDA原理與應(yīng)用這門課程的相關(guān)實驗及代碼。使用的軟件是Quartus Ⅱ,該實驗使用fpga芯片為cycloneⅤ 5CSEMA5F31C6。 (一)實驗?zāi)康?(1)熟悉交通燈控制器的工作原理; (2)了解設(shè)計中的優(yōu)化方案; (3)進一步掌握狀態(tài)機的設(shè)計; (4)學習較復(fù)雜數(shù)字系

    2024年02月02日
    瀏覽(22)
  • 基于高云FPGA開發(fā)板的十字路口交通燈

    基于高云FPGA開發(fā)板的十字路口交通燈

    結(jié)合高云MiniStar_Nano EDA開發(fā)板,完成設(shè)計十字路口交通信號燈控制系統(tǒng)。 1.要求該交通燈為三色燈控制器,紅燈亮表示禁止通行,綠燈亮表示允許通行,黃燈亮表示要求壓線車輛快速穿越。主干道和次干道燈的亮滅時序按照交通規(guī)則設(shè)置。 2.可以調(diào)整主干道和次干道綠燈和紅

    2024年01月19日
    瀏覽(118)
  • 基于單片機的交通燈設(shè)計

    本系統(tǒng)由單片機系統(tǒng)、鍵盤、LED 顯示、交通燈演示系統(tǒng)組成。系統(tǒng)包括人行道、左轉(zhuǎn)、右轉(zhuǎn)、以及基本的交通燈的功能。系統(tǒng)除基本交通燈功能外,還具有倒計時、時間設(shè)置、緊急情況處理、分時段調(diào)整信號燈的點亮時間以及根據(jù)具體情況手動控制等功能。隨著社會經(jīng)濟的發(fā)

    2024年02月06日
    瀏覽(18)
  • 基于機器視覺的交通燈控制系統(tǒng)設(shè)計

    基于機器視覺的交通燈控制系統(tǒng)設(shè)計

    隨著工業(yè)自動化和汽車行業(yè)的發(fā)展,汽車數(shù)量猛增,導(dǎo)致交通故障和城市交通擁堵發(fā)生的現(xiàn)象越來越頻繁。即使道路日益擴寬,但仍無法解決現(xiàn)有存在問題,交通環(huán)境問題仍日趨嚴重。為了解決該問題,本文對交通燈配時控制器展開設(shè)計和研究,提出了一種基于機器視覺的交

    2024年02月04日
    瀏覽(19)
  • 基于單片機控制的交通燈系統(tǒng)設(shè)計

    本設(shè)計是交通燈的控制實驗,必須要先了解實際交通燈的變化規(guī)律。假設(shè)一個路口為東西南北走向,即十字路口,初始狀態(tài)零為東西南北燈都熄滅。然后轉(zhuǎn)狀態(tài)一東西綠燈通車,南北為紅燈。過段時間轉(zhuǎn)狀態(tài)二,東西綠燈閃幾次轉(zhuǎn)黃燈,延時幾秒,南北仍為紅燈。再轉(zhuǎn)狀態(tài)三

    2024年02月08日
    瀏覽(25)
  • 基于單片機的智能交通燈系統(tǒng)的設(shè)計

    基于單片機的智能交通燈系統(tǒng)的設(shè)計

    目 錄 1緒論 1 2課題的設(shè)計要求和設(shè)計方案 2 2.1設(shè)計要求 2 2.1.1 題目概述 2 2.1.2 設(shè)計任務(wù) 2 2.1.3 設(shè)計要求 2 2.2設(shè)計方案 2 2.2.1供電方案 2 2.2.2輸入方案 3 2.2.3顯示界面方案 3 2.2.4交通燈方案 3 2.2.4.1交通燈規(guī)則方案 3 2.2.4.2 各種模式下通行時間 5 2.2.5萬年歷設(shè)計方案 5 3芯片的介紹及

    2023年04月08日
    瀏覽(26)
  • 基于51單片機的交通燈Protues仿真設(shè)計

    基于51單片機的交通燈Protues仿真設(shè)計

    目錄 一、設(shè)計背景 二、實現(xiàn)功能 三、 硬件電路設(shè)計說明 3.1?主控模塊電路設(shè)計 3.2?數(shù)碼管顯示電路設(shè)計 ???????3.3?鍵盤電路設(shè)計 ???????3.4?復(fù)位電路設(shè)計 ???????3.5?時鐘電路設(shè)計 三、仿真演示 四、源程序 ? ? ? ?交通是城市經(jīng)濟活動的生命線,

    2024年02月09日
    瀏覽(24)
  • 基于Verilog的十字路口交通燈控制電路設(shè)計

    基于Verilog的十字路口交通燈控制電路設(shè)計

    設(shè)計并實現(xiàn)一個簡單的十字路口交通燈控制電路。以4個紅色指示燈、4個綠色指示燈和4個黃色指示燈模擬路口東西南北4個方向的紅綠黃交通燈??刂七@些燈,使它們安下列規(guī)律亮滅。 1、東西方向綠燈亮,南北方向紅燈亮。東西方向通車,時間30秒; 2、東西方向黃燈閃爍,南

    2024年02月03日
    瀏覽(99)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包