【E2041】基于FPGA的交通灯

2021-11-01 08:25:16      索炜达电子      754     

项目编号:E2041

文件大小:1.58M

源码说明:带中文注释

开发环境:Verilog

简要概述

一、设计目的

设计一个主副干道十字路口的交通信号灯控制电路,控制指示主副两条交叉道路上的车辆通行。

二、系统功能和要求

1. 设东西方向为主干道,南北方向为副干道。东西主干道通行方向通时间设定为 45 秒,南北副干 道通行方向时间为 30 秒;

2. 在两个方向上各设一组红黄绿灯,分别用红、黄、绿发光二极管模拟信号灯;

3. 每次由绿灯变为红灯时,应有 5 秒黄灯亮作为过渡;黄灯亮时,要求每秒钟闪亮一次;

4. 要求黄灯先亮 5 秒,才能变换运行车道;

5. 每个方向各设置一组数码管,以倒计时的方式显示允许通行或禁止通行时间;

6. 每个方向各设置一组数码管,以倒计时的方式显示允许通行或禁止通行时间;

7. 如果发生紧急事件,可以手动控制四个方向红灯全亮。

三、系统设计方案

整个交通控制灯电路主要由主控电路、定时电路、时钟信号、显示电路及各模块之间的缓冲电路等部分组成。

【E2041】基于FPGA的交通灯

整体电路

【E2041】基于FPGA的交通灯

设计报告:

【E2041】基于FPGA的交通灯

目录│文件列表:

 │ 交通灯设计报告.docx

 └ Traffic-lights-ce

    │ .DS_Store

    │ .gitattributes

    │ LICENSE

    │ README.md

    │ testbench_behav.wcfg

    │ Traffic_lights_comprehensive_experiment.xpr

    ├ Pictures

    │  │ fsm_traffic.png

    │  │ 上升沿检测电路.png

    │  │ 交通灯框图.png

    │  │ 交通灯状态图.png

    │  │ 数码管显示电路.png

    │  │ 整体电路.png

    │  │ 紧急情况控制.png

    │  │ 紧急情况控制2.png

    │  └ 黄灯闪烁电路.png

    ├ Traffic_lights_comprehensive_experiment.cache

    │  └ wt

    │     │ gui_resources.wdf

    │     │ java_command_handlers.wdf

    │     │ project.wpc

    │     │ synthesis.wdf

    │     │ synthesis_details.wdf

    │     │ webtalk_pa.xml

    │     └ xsim.wdf

    ├ Traffic_lights_comprehensive_experiment.hw

    │  │ Traffic_lights_comprehensive_experiment.lpr

    │  └ hw_1

    │     └ hw.xml

    ├ Traffic_lights_comprehensive_experiment.ip_user_files

    │  └ README.txt

    ├ Traffic_lights_comprehensive_experiment.runs

    │  ├ .jobs

    │  │  │ vrs_config_1.xml

    │  │  │ vrs_config_10.xml

    │  │  │ vrs_config_11.xml

    │  │  │ vrs_config_12.xml

    │  │  │ vrs_config_13.xml

    │  │  │ vrs_config_14.xml

    │  │  │ vrs_config_15.xml

    │  │  │ vrs_config_16.xml

    │  │  │ vrs_config_17.xml

    │  │  │ vrs_config_18.xml

    │  │  │ vrs_config_19.xml

    │  │  │ vrs_config_2.xml

    │  │  │ vrs_config_20.xml

    │  │  │ vrs_config_21.xml

    │  │  │ vrs_config_22.xml

    │  │  │ vrs_config_23.xml

    │  │  │ vrs_config_24.xml

    │  │  │ vrs_config_25.xml

    │  │  │ vrs_config_26.xml

    │  │  │ vrs_config_27.xml

    │  │  │ vrs_config_28.xml

    │  │  │ vrs_config_29.xml

    │  │  │ vrs_config_3.xml

    │  │  │ vrs_config_30.xml

    │  │  │ vrs_config_31.xml

    │  │  │ vrs_config_32.xml

    │  │  │ vrs_config_33.xml

    │  │  │ vrs_config_34.xml

    │  │  │ vrs_config_35.xml

    │  │  │ vrs_config_36.xml

    │  │  │ vrs_config_37.xml

    │  │  │ vrs_config_38.xml

    │  │  │ vrs_config_39.xml

    │  │  │ vrs_config_4.xml

    │  │  │ vrs_config_40.xml

    │  │  │ vrs_config_41.xml

    │  │  │ vrs_config_42.xml

    │  │  │ vrs_config_43.xml

    │  │  │ vrs_config_44.xml

    │  │  │ vrs_config_5.xml

    │  │  │ vrs_config_6.xml

    │  │  │ vrs_config_7.xml

    │  │  │ vrs_config_8.xml

    │  │  └ vrs_config_9.xml

    │  ├ impl_1

    │  │  │ .init_design.begin.rst

    │  │  │ .init_design.end.rst

    │  │  │ .opt_design.begin.rst

    │  │  │ .opt_design.end.rst

    │  │  │ .place_design.begin.rst

    │  │  │ .place_design.end.rst

    │  │  │ .route_design.begin.rst

    │  │  │ .route_design.end.rst

    │  │  │ .vivado.begin.rst

    │  │  │ .vivado.end.rst

    │  │  │ .Vivado_Implementation.queue.rst

    │  │  │ .write_bitstream.begin.rst

    │  │  │ .write_bitstream.end.rst

    │  │  │ gen_run.xml

    │  │  │ htr.txt

    │  │  │ init_design.pb

    │  │  │ ISEWrap.js

    │  │  │ ISEWrap.sh

    │  │  │ opt_design.pb

    │  │  │ place_design.pb

    │  │  │ project.wdf

    │  │  │ route_design.pb

    │  │  │ rundef.js

    │  │  │ runme.bat

    │  │  │ runme.log

    │  │  │ runme.sh

    │  │  │ Traffic_lights_ce.bit

    │  │  │ Traffic_lights_ce.dcp

    │  │  │ Traffic_lights_ce.tcl

    │  │  │ Traffic_lights_ce.vdi

    │  │  │ Traffic_lights_ce_68.backup.vdi

    │  │  │ Traffic_lights_ce_8728.backup.vdi

    │  │  │ Traffic_lights_ce_clock_utilization_routed.rpt

    │  │  │ Traffic_lights_ce_control_sets_placed.rpt

    │  │  │ Traffic_lights_ce_drc_opted.rpt

    │  │  │ Traffic_lights_ce_drc_routed.pb

    │  │  │ Traffic_lights_ce_drc_routed.rpt

    │  │  │ Traffic_lights_ce_drc_routed.rpx

    │  │  │ Traffic_lights_ce_io_placed.rpt

    │  │  │ Traffic_lights_ce_methodology_drc_routed.rpt

    │  │  │ Traffic_lights_ce_methodology_drc_routed.rpx

    │  │  │ Traffic_lights_ce_opt.dcp

    │  │  │ Traffic_lights_ce_placed.dcp

    │  │  │ Traffic_lights_ce_power_routed.rpt

    │  │  │ Traffic_lights_ce_power_routed.rpx

    │  │  │ Traffic_lights_ce_power_summary_routed.pb

    │  │  │ Traffic_lights_ce_routed.dcp

    │  │  │ Traffic_lights_ce_route_status.pb

    │  │  │ Traffic_lights_ce_route_status.rpt

    │  │  │ Traffic_lights_ce_timing_summary_routed.rpt

    │  │  │ Traffic_lights_ce_timing_summary_routed.rpx

    │  │  │ Traffic_lights_ce_utilization_placed.pb

    │  │  │ Traffic_lights_ce_utilization_placed.rpt

    │  │  │ usage_statistics_webtalk.html

    │  │  │ usage_statistics_webtalk.xml

    │  │  │ vivado.jou

    │  │  │ vivado.pb

    │  │  │ vivado_68.backup.jou

    │  │  │ vivado_8728.backup.jou

    │  │  └ write_bitstream.pb

    │  └ synth_1

    │     │ .vivado.begin.rst

    │     │ .vivado.end.rst

    │     │ .Vivado_Synthesis.queue.rst

    │     │ gen_run.xml

    │     │ htr.txt

    │     │ ISEWrap.js

    │     │ ISEWrap.sh

    │     │ project.wdf

    │     │ rundef.js

    │     │ runme.bat

    │     │ runme.log

    │     │ runme.sh

    │     │ Traffic_lights_ce.dcp

    │     │ Traffic_lights_ce.tcl

    │     │ Traffic_lights_ce.vds

    │     │ Traffic_lights_ce_utilization_synth.pb

    │     │ Traffic_lights_ce_utilization_synth.rpt

    │     │ vivado.jou

    │     │ vivado.pb

    │     └ .Xil

    │        └ Traffic_lights_ce_propImpl.xdc

    ├ Traffic_lights_comprehensive_experiment.sim

    │  └ sim_1

    │     └ behav

    │        │ compile.bat

    │        │ compile.log

    │        │ elaborate.bat

    │        │ elaborate.log

    │        │ glbl.v

    │        │ simulate.bat

    │        │ simulate.log

    │        │ testbench.tcl

    │        │ testbench_behav.wdb

    │        │ testbench_vlog.prj

    │        │ webtalk.jou

    │        │ webtalk.log

    │        │ webtalk_9900.backup.jou

    │        │ webtalk_9900.backup.log

    │        │ xelab.pb

    │        │ xsim.ini

    │        │ xvlog.log

    │        │ xvlog.pb

    │        └ xsim.dir

    │           │ xsim.svtype

    │           ├ testbench_behav

    │           │  │ Compile_Options.txt

    │           │  │ TempBreakPointFile.txt

    │           │  │ xsim.dbg

    │           │  │ xsim.mem

    │           │  │ xsim.reloc

    │           │  │ xsim.rtti

    │           │  │ xsim.svtype

    │           │  │ xsim.type

    │           │  │ xsim.xdbg

    │           │  │ xsimcrash.log

    │           │  │ xsimk.exe

    │           │  │ xsimkernel.log

    │           │  │ xsimSettings.ini

    │           │  └ webtalk

    │           │     │ .xsim_webtallk.info

    │           │     │ usage_statistics_ext_xsim.html

    │           │     │ usage_statistics_ext_xsim.wdm

    │           │     │ usage_statistics_ext_xsim.xml

    │           │     └ xsim_webtalk.tcl

    │           └ xil_defaultlib

    │              │ @traffic_lights_ce.sdb

    │              │ blink.sdb

    │              │ countdown_double.sdb

    │              │ edge_trigger.sdb

    │              │ emergency.sdb

    │              │ fsm_lights.sdb

    │              │ glbl.sdb

    │              │ scan_led_hex_disp.sdb

    │              │ testbench.sdb

    │              └ xil_defaultlib.rlx

    └ Traffic_lights_comprehensive_experiment.srcs

       ├ constrs_1

       │  └ new

       │     └ Traffic_lights_ce.xdc

       ├ sim_1

       │  └ new

       │     │ ._testbench.v

       │     │ tb_blink.v

       │     │ tb_countdown.v

       │     └ testbench.v

       └ sources_1

          └ new

             │ blink.v

             │ countdown.v

             │ countdown_double.v

             │ counter_s.v

             │ edge_trigger.v

             │ emergency.v

             │ fsm_lights.v

             │ scan_led_hex_display.v

             └ Traffic_lights_ce.v

TAG交通灯
  • 5 次
  • 5 分