交通灯信号控制的设计Word格式文档下载.docx
- 文档编号:22956923
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:15
- 大小:48.60KB
交通灯信号控制的设计Word格式文档下载.docx
《交通灯信号控制的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《交通灯信号控制的设计Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
二、实验环境
QuartusII7.0开发系统。
三、实验内容
1、完成一个简单交通信号灯控制器的设计并实现功能仿真和硬件模拟运行
2、考虑一定安全性策略,在前者的基础上改进系统设计,并实现功能仿真和硬件模拟运行
四、实验过程
设计思想:
交通信号灯控制器工作原理如下:
假设主路(main)和支路(spur)的通行时间为Tm、Ts,过渡时间(interim)为Ti。
当主路为绿灯(maingreen)时通行Tm后,转到过渡阶段,点亮黄色(mainyellow)信号灯,在经过Ti后,主路红灯(mainred)点亮,支路绿灯(spurgreen)点亮,支路绿灯点亮的持续时间为Ts,然后点亮黄色(spuryellow)信号灯,在经过Ti后,支路红灯(spurred)点亮,主路绿灯(maingreen)点亮,重复上一次循环。
实验步骤:
根据交通信号灯工作原理,可以得到如下交通信号灯控制器的状态转换图:
由该状态转换图可以看出,交通信号灯控制器的状态转换条件是分别由Tm、Ti、Ts控制的,因此,需要设计Tm、Ti、Ts三个定时器。
另外,为了实现状态转换和信号灯控制信号,还需要设计状态控制电路和输出译码电路。
因此,可知该交通信号灯控制原理框图包括定时器、状态控制器和输出译码器三部分。
下面分别对各部分单元进行设计,然后再由这些单元构成整个交通信号灯控制器电路:
1、定时电路
根据定时时间的长短,设计相应的计数器,实现定时的功能,这里我们分别将主路、支路、过渡阶段的定时时间设置为45s、25s、5s,且这些定时电路都受状态定时控制电路的控制。
2、源程序如下:
灯控制器电路设计
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYJTDKZIS
PORT(CLK,SM,SB:
INSTD_LOGIC;
MR,MY,MG,BR,BY,BG:
OUTSTD_LOGIC);
ENDENTITYJTDKZ;
ARCHITECTUREARTOFJTDKZIS
TYPESTATE_TYPEIS(A,B,C,D);
SIGNALSTATE:
STATE_TYPE;
BEGIN
CNT:
PROCESS(CLK)IS
VARIABLES:
INTEGERRANGE0TO45;
VARIABLECLR,EN:
BIT;
BEGIN
IF(CLK'
EVENTANDCLK='
1'
)THEN
IFCLR='
0'
THEN
S:
=0;
ELSIFEN='
=S;
ELSE
=S+1;
ENDIF;
CASESTATEIS
WHENA=>
MR<
='
;
MY<
MG<
BR<
BY<
BG<
IF(SBANDSM)='
IFS=45THEN
STATE<
=B;
CLR:
EN:
=A;
ELSIF(SBAND(NOTSM))='
WHENB=>
IFS=5THEN
=C;
WHENC=>
IF(SMANDSB)='
IFS=25THEN
=D;
ELSIFSB='
WHEND=>
ENDCASE;
ENDPROCESSCNT;
ENDARCHITECTUREART;
计数器的设计
----CNT45S.VHD
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNT45SIS
PORT
(SB,CLK,EN45:
DOUT45M,DOUT45B:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDENTITYCNT45S;
ARCHITECTUREARTOFCNT45SIS
SIGNALCNT6B:
STD_LOGIC_VECTOR(5DOWNTO0);
PROCESS(SB,CLK,EN45)IS
IFSB='
THENCNT6B<
=CNT6B-CNT6B-1;
ELSIF(CLK'
)THEN
IFEN45='
=CNT6B+1;
ELSIFEN45='
ENDIF;
ENDPROCESS;
PROCESS(CNT6B)IS
CASECNT6BIS
WHEN"
000000"
=>
DOUT45M<
="
01000101"
DOUT45B<
01010000"
000001"
01000100"
01001011"
000010"
01000011"
01001000"
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.VHD
ENTITYCNT25SIS
PORT(SB,SM,CLK,EN25:
DOUT25M,DOUT25B:
ENDENTITY;
ARCHITECTUREARTOFCNT25SIS
SIGNALCNT5B:
STD_LOGIC_VECTOR(4DOWNTO0);
PROCESS(SB,SM,CLK,EN25)IS
ORSM='
CNT5B<
=CNT5B-CNT5B-1;
IFEN25='
=CNT5B+1;
ELSIFEN25='
PROCESS(CNT5B)IS
BEGIN
CASECNT5BIS
WHEN"
00000"
DOUT25B<
DOUT25M<
00001"
00010"
00011"
00100"
00101"
00110"
00111"
01000"
01001"
01010"
01011"
01100"
01101"
01110"
01111"
10000"
10001"
10010"
10011"
10100"
10101"
10110"
10111"
11000"
WHENOTHERS=>
--CNT05S.VHD
ENTITYCNT05SIS
(CLK,EN05M,EN05B:
DOUT5:
ENDENTITYCNT05S;
ARCHITECTUREARTOFCNT05SIS
SIGNALCNT3B:
STD_LOGIC_VECTOR(2DOWNTO0);
PROCESS(CLK,EN05M,EN05B)IS
IF(CLK'
IFEN05M='
THENCNT3B<
=CNT3B+1;
ELSIFEN05B='
=CNT3B-CNT3B-1;
PROCESS(CNT3B)IS
CASECNT3BIS
000"
DOUT5<
001"
010"
011"
100"
显示控制部分设计
--XSKZ.VHD
ENTITYXSKZIS
PORT(EN45,EN25,EN05M,EN05B:
AIN45M,AIN45B:
INSTD_LOGIC_VECTOR(7DOWNTO0);
AIN25M,AIN25B,AIN05:
DOUTM,DOUTB:
ENDENTITYXSKZ;
ARCHITECTUREARTOFXSKZIS
PROCESS(EN45,EN25,EN05M,EN05B)IS
DOUTM<
=AIN45M(7DOWNTO0);
DOUTB<
=AIN45B(7DOWNTO0);
ELSIFEN05M='
=AIN05(7DOWNTO0);
=AIN25M(7DOWNTO0);
=AIN25B(7DOWNTO0);
仿真图如下:
五、实验总结
在本次实验中,真正问题开始出现是在各部分单元都设计好之后,由于最开始我考虑的是通过一个主程序即将每个部分单元联系起来了,因此可以直接对主程序进行元件例化,然后通过对主程序元件进行编译、仿真、配置和下载。
这里。
由前面的交通信号灯控制器电路原理图可以看出,该电路是由每部分单元生成的元件构成的。
很显然,通过主程序进行元件例子化的思路即是错误的。
在具体的设计过程中,通过实际操作中发现的问题,可以发现很多在以前实验中不曾注意到得细节问题。
而根据出现的问题做出解决的措施,又可以掌握很多知识要点。
可见在实验过程中还是要出现问题,并且有勇气去解决出现的问题,才能够真正学到有用的知识。
而只有真正把学到的知识融会贯通,才能更灵活地运用到以后的设计中去。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 信号 控制 设计