EDA课程设计——交通信号灯控制器设计2_精品Word文档格式.docx
- 文档编号:947208
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:17
- 大小:187.49KB
EDA课程设计——交通信号灯控制器设计2_精品Word文档格式.docx
《EDA课程设计——交通信号灯控制器设计2_精品Word文档格式.docx》由会员分享,可在线阅读,更多相关《EDA课程设计——交通信号灯控制器设计2_精品Word文档格式.docx(17页珍藏版)》请在冰点文库上搜索。
前言
伴随着社会的发展以及人类生活水平的提高,汽车的数量在不断增加,交通事业得以蓬勃发展,而随之引起的安全问题已经不容忽视。
EDA技术的发展和应用领域也在不断的扩大与深入,机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域的重要性日益突出。
众所周知,随着生活的进步,我们身边的交通也日益繁忙,在众多的十字交叉路口,为了确保车辆安全,迅速地通行,就必须在每个入口设置红绿灯。
本系统中设置了红,绿,黄三色共三种信号灯。
红灯亮禁止一切该方向的行人和车辆通行,绿灯亮允许行人和车辆通行,黄灯亮则提示行驶中的车辆注意不要抢道,并让它们有时间停靠到禁行线之外或者加快通过,同时提醒行人加快行进或者等待下一次绿灯。
人行道灯亮时,允许行人通过。
为了确保十字路口的行人和车辆顺利,畅通的通过,往往采用电子控制的交通信号来进行指挥。
利用EDA技术设计交通灯来完成这个需求就显的更加迫切,同样也是非常的实用和合理。
本交通信号灯控制系统以十字路口为例讲述设计的功能要求和设计的具体过程。
— 设计内容与目的:
1.1设计内容:
用EDA设计一个简单的交通灯控制器,具有如下功能:
(1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
(2)用红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。
(3)主干道处于常允许通行的状态,支干道有车来时才允许通行。
主干道亮绿灯时,支干道亮红灯;
支干道亮绿灯时,主干道亮红灯。
主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。
(4)在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。
1.2设计目的:
(1)掌握十字路口交通灯控制的设计原理,并能够运用VHDL编程语言编写出实验程序,进一步对所学的EDA知识进行掌握与实际应用。
(2)学会在MAX+plusⅡ软件环境中仿真,熟悉软件的基本操作和运行环境。
(3)锻炼自己获取信息的能力,以及能够独立自主的思考和解决问题的能力。
二 方案设计:
2.1设计思路
(1( 主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。
(2( 45秒、25秒、5秒定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,定时结束信号也输入到主控电路,由主控电路启、闭三色信号灯或启动另一计时电路。
(3( 主控电路是核心,这是一个时序电路,其输入信号为:
车辆检测信号
(A,B);
45秒、25秒、5秒定时信号(C,D,E)。
其状态转化图如下所示:
2.2设计总体框图:
2.3状态表
主干道
支干道
指示灯
亮灯时间
红灯亮
30s
绿灯亮
25s
黄灯亮
5s
45
50s
2.4电路原理图:
2.5输出显示电路:
静态扫描电路。
三功能电路的设计
3.1细化的设计总体框图
根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画
出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图3.1所示
扫描显示模块
交通灯控制及计时模块
CLK
LED显示
3.2灯控制器电路设计
由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄、左拐允许四盏信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外,左拐灯亮允许车辆向左拐弯。
信号灯变换次
序为:
主支干道交替允许通行,主干道每次放行40S,亮5S红灯让行驶中的车辆有时间停到禁行线外,左拐放行15秒,亮5S红灯;
支干道放行30S,亮5S黄灯,左拐放行15秒,亮5S红灯,其中主支干道的红黄绿灯表示如
MR、MY、MG、BR、BY、BG。
程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYJTDKZISPORT(CLK,SM,SB:
INSTD_LOGIC;
MR,MY,MG,BR,BY,BG:
OUTSTD_LOGIC);
ENDENTITYJTDKZ;
ARCHITECTUREARTOFJTDKZISTYPESTATE_TYPEIS(A,B,C,D);
SIGNALSTATE:
STATE_TYPE;
BEGIN
CNT:
PROCESS(CLK)IS
VARIABLES:
INTEGERRANGE0TO45;
VARIABLECLR,EN:
BIT;
BEGIN
IF(CLK'
EVENTANDCLK='
1'
)THENIFCLR='
0'
THEN
S:
=0;
ELSIFEN='
=S;
ELSE
=S+1;
ENDIF;
CASESTATEIS
WHENA=>
MR<
='
;
MY<
MG<
BR<
BY<
BG<
IF(SBANDSM)='
THENIFS=45THEN
STATE<
=B;
CLR:
EN:
ELSE
=A;
ELSIF(SBAND(NOTSM))='
THENSTATE<
ENDIF;
WHENB=>
IFS=5THENSTATE<
=C;
WHENC=>
IF(SMANDSB)='
THENIFS=25THEN
=D;
ELSIFSB='
WHEND=>
ENDCASE;
ENDPROCESSCNT;
ENDARCHITECTUREART;
3.3计数器的设计
根据路上状况,设计各个显示计时部分,包括45s、25s和5s,各部分采用顺时计数方法。
各模块如下:
----CNT45S.VHDLIBRARYIEEE;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNT45SISPORT
(SB,CLK,EN45:
DOUT45M,DOUT45B:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDENTITYCNT45S;
ARCHITECTUREARTOFCNT45SIS
SIGNALCNT6B:
STD_LOGIC_VECTOR(5DOWNTO0);
PROCESS(SB,CLK,EN45)ISBEGIN
IFSB='
THENCNT6B<
=CNT6B-CNT6B-1;
ELSIF(CLK'
)THEN
IFEN45='
=CNT6B+1;
ELSIFEN45='
ENDPROCESS;
PROCESS(CNT6B)ISBEGIN
CASECNT6BISWHEN"
000000"
=>
DOUT45M<
="
01000101"
DOUT45B<
01010000"
WHEN"
000001"
01000100"
01001011"
000010"
01000011"
01001000"
WHEN"
000011"
01000010"
01000111"
000100"
01000001"
01000110"
000101"
01000000"
000110"
00111001"
000111"
00111000"
001000"
00110111"
001001"
00110110"
001010"
00110101"
001011"
00110100"
01101001"
001100"
00110011"
001101"
00110010"
001110"
00110001"
001111"
00110000"
010000"
00101001"
010001"
00101000"
010010"
00100111"
010011"
00100110"
010100"
00100101"
010101"
00100100"
010110"
00100011"
010111"
00100010"
011000"
00100001"
011001"
00100000"
011010"
00011001"
011011"
00011000"
011100"
00010111"
011101"
00010110"
011110"
00010101"
011111"
00010100"
100000"
00010011"
100001"
00010010"
100010"
00010001"
100011"
00010000"
100100"
00001001"
100101"
00001000"
100110"
00000111"
100111"
00000110"
101000"
00000101"
101001"
00000100"
101010"
00000011"
101011"
00000010"
101100"
00000001"
WHENOTHERS=>
00000000"
ENDCASE;
--CNT25S.VHDLIBRARYIEEE;
ENTITYCNT25SISPORT(SB,SM,CLK,EN25:
DOUT25M,DOUT25B:
ENDENTITY;
ARCHITECTUREARTOFCNT25SIS
SIGNALCNT5B:
STD_LOGIC_VECTOR(4DOWNTO0);
PROCESS(SB,SM,CLK,EN25)ISBEGIN
ORSM='
THENCNT5B<
=CNT5B-CNT5B-1;
)THENIFEN25='
CNT5B<
=CNT5B+1;
ELSIFEN25='
PROCESS(CNT5B)ISBEGIN
CASECNT5BIS
WHEN"
00000"
DOUT25B<
DOUT25M<
WHEN"
00001"
00010"
00011"
00100"
00101"
00110"
00111"
01000"
01001"
01010"
01011"
01100"
01101"
01110"
01111"
10000"
10001"
10010"
10011"
10100"
10101"
10110"
10111"
11000"
--CNT05S.VHDLIBRARYIEEE;
ENTITYCNT05SISPORT
(CLK,EN05M,EN05B:
DOUT5:
ENDENTITYCNT05S;
ARCHITECTUREARTOFCNT05SIS
SIGNALCNT3B:
STD_LOGIC_VECTOR(2DOWNTO0);
PROCESS(CLK,EN05M,EN05B)ISBEGIN
IFEN05M='
THENCNT3B<
=CNT3B+1;
ELSIFEN05B='
ELSIFEN05B='
=CNT3B-CNT3B-1;
PROCESS(CNT3B)ISBEGIN
CASECNT3BISWHEN"
000"
DOUT5<
001"
010"
011"
100"
3.4显示控制部分设计
根据从JZKZ部件中检测到个路况,从而使不同路况显示不同的计数时间,模块如下:
--XSKZ.VHDLIBRARYIEEE;
EN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 交通 信号灯 控制器 设计 精品
![提示](https://static.bingdoc.com/images/bang_tan.gif)