eda大作业交通灯终.pdf
文本预览下载声明
一、选题目的
在十字路口,四面都悬挂着红、黄、绿、三色交通信号灯,它是
不出声的交通警察。红绿灯是国际统一的交通信号灯。交通灯遍布
大街小巷,是日常生活中常见,但又必不可少的一种必需品。虽然常
见但是之前一直不知道交通灯的内部工作原理与实现方式。这次EDA
实验选题中,恰巧有交通灯的设计,我便选了这个题目,想用EDA 了
解交通灯实现原理,并且练习VHDL 语言的使用
二、设计目标
设计一个十字路口交通控制系统,其东西,南北两个方向除了有
红、黄、绿灯指示是否允许通行外,还设有时钟,以倒计时方式显示
每一路允许通行的时间,绿灯,黄灯,红灯的持续时间分别是40、5
和45 秒。当东西或南北两路中任一道上出现特殊情况,例如有消防
车,警车要去执行任务,此时交通控制系统应可由交警手动控制立即
进入特殊运行状态,即两条道上的所有车辆皆停止通行,红灯全亮,
时钟停止计时,且其数字在闪烁。当特殊运行状态结束后,管理系统
恢复原来的状态,继续正常运行。
三、实现方案
1.根据设计目标可知此交通控制器的一个循环周期为T=90s,可
分为四个阶段,据此可以在一个周期内各个不同的阶段依据数码显示
的特点来设计显示电路倒数的功能。
第一阶段:A 路绿灯亮,B 路红灯亮
第一阶段内A 路绿灯亮的时间范围是39~0,B 路红灯亮的时间范
围是44~5,则可记为q1=40-p,q2=45-p,再将q1 和q2 分别送给显
示电路显示。(此时p 为一个周期内的第一阶段,即为1~40)
第二阶段:A 路黄灯亮,B 路红灯亮
第二阶段内A 路黄灯亮的时间范围是4~0,B 路红灯亮的时间范
围是4~0,则可记为q1=45-p,q2=45-p,再将q1 和q2 分别送给显示
电路显示。(此时p 为一个周期内的第二阶段,即为41~45)
第三阶段:A 路红灯亮,B 路绿灯亮
第三阶段内A 路红灯亮的时间范围是44~5,B 路绿灯亮的时间范
围是39~0,则可记为q1=90-p,q2=85-p,再将q1 和q2 分别送给显
示电路显示。(此时p 为一个周期内的第三阶段,即为46~85)
第四阶段:A 路红灯亮,B 路黄灯亮
第四阶段内A 路红灯亮的时间范围是4~0,B 路黄灯亮的时间范
围是4~0,则可记为q1=90-p,q2=90-p,再将q1 和q2 分别送给显示
电路显示。(此时p 为一个周期内的第四阶段,即为86~90)
亮灯情况 持续时
A 车道 B 车道 车辆行驶状况 间
(秒)
红亮 红亮 紧急状况,A/B 车道均禁止通行 ~
绿亮 红亮 A 车道通行,B 车道禁止通行 40
黄亮 红亮 A 车道缓行,B 车道禁止通行 5
红亮 绿亮 A 车道禁止通行,B 车道通行 40
红亮 黄亮 A 车道禁止通行,B 车道缓行 5
2.特殊运行状态的设计
设计一个开关,当启动此开关时,A 路和B 路都红灯亮,且显示电
路数字停止计时并闪烁。
据此可知此开关的优先级在 1Hz 信号之前,而显示电路的闪烁则
可由一个判断来完成:当启动此开关且信号为高电平时使显示电路不
显示数字,而启动此开关且信号为低电平时使显示电路显示数字,此
即实现了显示电路闪烁的功能。
四、设计过程
本次EDA 实验的交通灯设计,采用混合设计输入方式。先在电路
图中画出实验电路所需输入,输出。然后使用VHDL 产生设计输入,
用VHDL 代码生成交通灯控制元件(如下),该元件控制这两个红灯,
两个绿灯,两个黄灯的循环工作,并控制着两组计时器,一个显示绿
灯道路剩余可通行时间,另一个显示红灯禁止通行时间,还有紧急制
动装置,根据VHDL
显示全部