EDA课程设计交通灯

发布 2022-09-30 21:49:28 阅读 4959

目录。1.设计要求 1

2.方案论证与对比 1

3.设计过程 1

4.** 4

5.总结 5

参考文献 6

1.设计要求。

在十字路口,每条道路各有一组红、黄、绿灯和倒计时显示器,用以指挥车辆和行人有序地通行。其中,红灯亮表示该道路禁止通行;黄灯亮表示停车;绿灯亮表示可以通行;倒计时显示器用来显示允许通行或禁止通行的时间。交通灯控制器就是用于自动控制十字路口的交通灯和计时器,指挥各种车辆和行人安全通过。

假设东西和南北方向的车流量大致相同,因此红、黄、绿灯亮的时间也相同,定。

为红灯45s,黄灯5s,绿灯40s,同时用数码管指示当前状态(红、黄、绿灯)剩余时间。另外,设计一个特殊状态,当特殊状态出现时,两个方向都禁止通行,指示红灯,计时器不显示时间。特殊状态解除后,重新计数并指示时间。

2.方案论证与对比。

2.1方案一。

采用vhdl语言直接编写,实现交通灯指挥功能。但此方案编写复杂且困难,开发时间较长。编译后,不便读懂,找出错误很困难。

2.2方案二。

采用模块层次化设计,将此设计分为四个模块:计时模块,状态控制模块,信号灯显示模块,数码扫描显示模块。将四个模块再分别用vhdl语言编写成,做成原理图模块,用原理图输入法做整个设计的顶层文件。

此方案设计方便、简单,方法易懂、易操作,也易于寻找程序中的错误,故我们采用此方案。

3.设计过程。

交通灯控制器是状态机的一个典型应用,除了计数器是状态机外,还有东西、南北。

方向的不同状态组合(红绿、红黄、绿红、黄红4个状态),如表3-1所示。可以简单地将其看成两个(东西、南北)减1计数的计数器,通过检测两个方向的计数值,可以检测红、黄、绿灯组合的跳变。这样一个较复杂的状态机设计就变成了一个较简单的计数器设计。

如表3-1交通灯的四种可能亮灯状态。

假设东西方向和南北方向的黄灯时间均为5s,在设计交通灯控制器时,可在简单计数器的基础上增加一些状态检测,即通过检测两个方向的计数值判断交通灯应处于 4种状态中的哪个状态。

表3-2列出了需检测的状态跳变点。从表中可以看出,有两种情况出现了东西方向和南北方向计数值均为1,因此在检测跳变点时还应同时判断当前是处于状态2还是状态4,这样可以决定次状态是状态3还是状态1。

表3-2交通灯设计中的状态跳变点。

对于特殊情况,只需要设计一个异步时序电路即可解决。程序中还应防止出现非法状态,即程序运行后应判断东西方向和南北方向的计数值是否超出范围。此电路仅在电路启动运行时有效,因为一旦两个方向的计数值正确后,就不可能再计数到非法状态。

本交通灯控制器外部接口如图3-1所示:

图3-1 交通灯控制器外部接口。

交通灯控制器的vhdl程序如下:

library ieee;

use ieee .std logic 1164 .all;

use ieee. std logic unsigned .ail;

entity jtd is

port(clk,forbid:in std_logic;

led: buffer std_logic vector(5 downt 0);

e_w,s_n: buffer std logic vector(7 downt 0));

end jtd;

architecture beh** of jtd is

beginprocess (clk)

beginif forbid='0'then

led<= 1oooo1";

e_w<= 00000000";

s_n<= 00000000";

elsif clk' event and eylk='1'then

if e_w> "01000110" or s_n> "01000110" then

e_w<=”o10oolol若是非法状态,则进入状态1

s_n<= 01000000";

leck= "100100";

elsif e_w="00000110" and s_n= "00000001" then

e_w<= 00000101"; 若是状态l的跳变点,则转入状态2

s_n<= 00000101".

led= "100010";

elsif e_w= "00000001" and s_n= "00000001" and led= "ioooio" then

e_w<= 01000000若是状态2的跳变点,则转入状态3

s_n<= 01000101";

leck= "001001";

elsif e_w='00000001" and s_n="00000110" then

e_w<= 000000101若是状态3的跳变点,则转入状态4

s_n<= 0000010l";

led<=”010001";

elsif e_w= "00000001" and s_n= "oooooo010 and led= "010001" then

e_w<= 01000101"; 若是状态4的跳变点,则转入状态1

s_n<="01000000";

led= "100100“;

elsif e_w(3 downto o)='00000:' then

e_w<=e_w-7; -作bcd码调整。

s_n<=s_n-1;

elsif s_n(3 downt0 0)="0000" then

e_w<-e_w-l;

s_n<=s_n-7;

eisee_w<=e_w-1;

s_n<=s_n-l;

end if;

end if;

end process;

end beh**;

4.**。交通灯控制器的**波形如图4-1所示,图4-2是它的局部放大图。

在图4-1中可以看出,禁止通行时,led5和ledo均为高电平,即东西和南北两个方向均是红灯亮;禁行结束后,依次进入红绿、红黄、绿红、黄红4种状态,并依次循环。从图4-2可见计时显示器工作的正确性。

图4-1 交通灯控制器的**波形。

图4-2 交通灯控制器的局部放大**波形。

5.总结。通过的紧张工作,完成了我们的设计任务——用vhdl设计交通灯控制器。

通过本次课程设计的学习,我们深深的体会到设计课的重要性和目的性所在。为了完成项目,在网络上找到了许多相关资料,大大扩充自己的知识面,使许多以前想解决却无法解决的困难迎刃而解。对软件设计流程有了更深刻的理解,掌握了eda软件的使用。

将书本上的理论知识和实际有机地结合起来,锻炼了实际分析问题和解决问题的能力,提高了适应实际的能力,为今后的学习和实践打下了良好的基础。本次eda课程设计的目的和意义:通过设计交通灯控制器,了解eda技术,了解并掌握vhdl硬件描述语言的设计方法和思想,巩固和综合运用所学过的原理知识,提高分析、解决实际问题的独立工作能力。

2]邹彦编著。eda技术与数字系统设计。 2023年。 北京:电子工业出版社。

2]潘松,黄继业编著。eda技术与vhdl(第二版).2023年。 北京:清华大学出版社。

EDA课程设计 交通灯

交通信号灯控制电路设计。1 概述。城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部分无控制交叉口都存在高峰小时车流混乱 车速缓慢 延误情况严重 事故多发 通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于eda...

EDA交通灯课程设计

学院 电气与信息工程学院。1.东西各设有一个绿 黄 红指示灯 一个2位7段数码管。1 南北和东西方向各有一组绿,黄,红灯,各自的持续时间分别为20s,5s,25s 2 当有特殊情况时,两个方向均为红灯,计时暂停,当特殊情况结束后,控制器恢复原来状态,继续正常工作。3 用两组数码管,以倒计时方式显示两...

交通灯EDA课程设计

eda交通灯设计。学院 信息工程学院。班级 学号 姓名 目录。第一章设计原理 1 第二章设计流程 2 第三章程序设计说明 3 3.1 程序设计流程图 3 3.2 分频模块 3 3.3 特殊功能及清零模块 4 3.4 交通灯运行模块 4 3.5 扫描显示模块 6 第四章 及调试 8 4.1调试步骤 8...