交通灯控制器VHDL设计.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计 题目:交通灯控制器VHDL设计 专业:通信工程 班级:081 姓名: 学号: 设计题目: 交通灯控制器VHDL设计 设计目标: 1、 设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。 2、 红、绿、黄发光二极管作信号灯,。 3、 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 4、 主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。 5、 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。 设计方案:可选原理图输入法或VHDL语言,也可以两种方式结合使用。 设计原理: 1、 选择1HZ时钟脉冲作为系统时钟。 2、 45秒、25秒、5秒定时信号可用顺计时,计时起始信号由主控电路给出,每当计满所需时间,即向主控电路输出“时间到”信号,并使计数器清零,由主控电路启、闭三色信号灯或启动另一计时电路。 3、 能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态。用两组红、黄、绿三种颜色的灯分别作为东西、南北两个方向的红、黄、绿灯,变化规律为:东西绿灯亮,南北红灯亮→东西黄灯亮,南北红灯亮→东西红灯亮、南北绿灯亮→东西红灯亮,南北黄灯亮→东西绿灯亮,南北红灯亮….,依次循环。 4、 南北方向是主干道车道,东西方向是支干道车道,两条交叉道路上的车辆交替运行,主干道每次通行时间都设为45秒,支干道每次通行时间都设为25秒。 5、 在绿灯转为红灯时,黄灯先亮5秒钟,之后变换运行车道。交通灯控制器具有复位功能,在复位信号使能的情况下能够实现交通灯的自动复位,并且所有交通灯的状态变化,包括复位信号引起的均发生时钟脉冲的上升沿处。 6、 本系统包括5s、25s、45s计数模块(cnt5、cnt25、cnt45),状态转换模块(zhukong)组成。原理图如图1。 图1 系统原理图 设计内容: 1、状态转换模块(zhukong)接收计数模块的输出信号并根据时钟完成状态转换,控制相应计数器工作,逻辑上为MOORE型状态机。各状态如表1所示。 状态C_ST ST0 ST1 ST2 ST3 主干道交通灯 红(25s) 红(5s) 绿(45s) 黄(5s) 支干道交通灯 绿(25s) 黄(5s) 红(45s) 红(5s) 表1 状态转换模块4种状态 根据状态表编辑状态转换模块(zhukong)的VHDL文本,输入信号:c5,c25,c45(计数器输出信号);时钟(clk)、复位信号(reset)输出信号:en5,en25,en45(计数器使能信号);Q(交通灯信号)。 输出Q值对应的交通灯的关系如表2所示。 路口 东路口 西路口 北路口 南路口 灯色 绿 黄 红 绿 黄 红 绿 黄 红 绿 黄 红 Q值 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 表2 输出Q值各位对应的交通灯 编译、综合和仿真,生成元器件。其状态转换图如图2所示。 图2 zhukong模块状态转换图 2、 计数模块由相应计数器构成,加入使能端、复位端。完成每个计数器的编辑、编译、综合和仿真并生成元器件。 3、 建立原理图,连接各器件并编译、综合和仿真。 仿真结果: 进行系统仿真,波形如图3。当复位信号使能时,回到初始状态。 图3 系统仿真波形 总结: 附录 (1)zhukong.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY zhukong IS PORT (c5,c25,c45,clk,reset:IN STD_LOGIC; en5,en25,en45:out std_logic; Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)); END zhukong; ARCHITECTURE behav OF zhukong IS TYPE ST_TYPE IS (ST0, ST1, ST2, ST3); SIGNAL C_ST : ST_TYPE ; BEGIN PROCESS(clk,reset) BEGIN IF reset ='1' THEN C_ST <= S

文档评论(0)

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

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

1亿VIP精品文档

相关文档