EDA实验综合设计报告-十字路口交通信号控制系统设计精选.docx

EDA实验综合设计报告-十字路口交通信号控制系统设计精选.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA实验综合设计报告-十字路口交通信号控制系统设计精选

EDA 实验综合设计报告十字路口交通信号控制系统设计姓名: 学号 指导老师: 年 月 日概述设计任务要求:(1)东西(用A表示)、南北(用B表示)方向均有绿灯、黄灯、红灯指示,持续时间A、B方向分别各用一个2位十进制数进行预置,预置时个位和十位数字均用4位BCD码表示。交通灯运行的切换示意图和时序图分别如图1和如图2 所示,其中aredtime、agreentime、bredtime、bgreentime、yellowtime分别以35s、40s、45s、30s、5s为例。 A绿灯亮B红灯亮A黄灯亮B红灯亮A红灯亮B绿灯亮A红灯亮B黄灯亮agreentimeyellowtimebgreentimeyellowtime图1 交通控制系统运行切换示意图图2 交通控制系统时序图(2)系统设有时钟,以倒计时方式显示每一路允许通行的时间。(3)当东西或南北两路中任一路出现特殊情况时,系统可由交警手动控制立即进入特殊运行状态,即红灯全亮,时钟停止计时,东西、南北两路所有车辆停止通行;当特殊运行状态结束后,系统恢复工作,继续正常运行。2、所用软件工具和硬件平台(1)软件: Quartus II 9.0Quartus II 是Altera公司的综合性PLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。(2)硬件平台:台湾友晶科技DE0 FPGA开发板台湾友晶科技DE0 FPGA开发板是一套轻薄型的开发板,参考设计和相关配件一应俱全,简单上手,非常适合初学者用来学习FPGA逻辑设计与计算机架构。DE0 FPGA开发板搭载了 Altera Cyclone III系列的EP3C16 FPGA,可提供15408个逻辑单元(LE)以及346个用户I/O。此外,DE0开发板还搭配了丰富的外部资源,非常适合于EDA实验类教学课程,并足够开发较复杂的数字系统。实现原理本系统主要由分频器、时序控制器、状态转移控制器、倒计时计数器、路口红绿灯状态显示器、倒计时显示器等电路组成。分频器将晶体振送来的5MHz信号变为1Hz时钟信号;控制器控制系统的状态转移和红、黄、绿灯的信号输入;倒计时显示电路实现A路40、5、35秒以及B路45、30、5秒倒计时和显示功能。整个系统的工作时序受控制器控制,它是系统的核心。实现方法1、本设计实现方案分析 整个系统的工作过程用状态机进行描述,其状态转移如图3所示,5种状态描述如下: s0=A方向绿灯亮,B方向红灯亮,此状态持续为agreentime(40s); s1=A方向黄灯亮,B方向红灯亮,此状态持续yellowtime(5s); s2=A方向红灯亮,B方向绿灯亮,此状态持续bgreentime(30s); s3:A方向红灯亮,B方向黄灯亮,此状态持续yellowtime(5s); s4:紧急制动状态,A方向红灯亮,B方向红灯亮,当紧急制动信号有效时(hold=1)进入这种状态。 当紧急制动信号无效(hold=0)时,状态机按照s0—s1—s2—s3—s0循环;当紧急制动信号有效(hold=1)时,状态机立即转入s4两个方向红灯全亮;当紧急制动信号再次恢复无效(hold=0)时,状态机会回到初始状态s0继续执行。 状态机进入不同的状态,计数器从不同的初始值开始减法计数,当减到0时,切换到下一个状态。计数器的计数值通过七段译码器模块译码后显示。2、本设计实现转移图图3 交通控制系统状态转移图实现过程各模块具体实现(1)分频器devide.vhd文件library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity devide is generic( sys_clk_fre_value: integer:=; div_clk_fre_value: integer:=1 ); port( i_sys_clk: in std_logic; clk: out std_logic ); end entity devide; architecture arcdiv of devide is signal r_div_count: std_logic_vector(31 downto 0); signal r_div_clk:std_logic; begin process(i_sys_clk,r_div_count) beginif(i_sys_clkevent and i_sys_cl

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档