交通灯VHDL课程设计报告
- 格式:doc
- 大小:215.50 KB
- 文档页数:8
《电子设计自动化(EDA)技术》课程实训报告题目: 交通信号控制器VHDL设计
姓名:* *
院系:应用技术学院
专业:电子信息工程(仪器仪表)
学号:************
指导教师:徐正坤
完成时间: 2010 年 6 月29 日
目录
1 课程设计题目、内容与要求…………………………………4页
设计题目…………………………………………………4页
设计内容…………………………………………………4页
具体要求…………………………………………………4页
2 系统设计………………………………………………………5页设计思路…………………………………………………5页
系统原理…………………………………………………5页
3 系统实现………………………………………………………5页VHDL源程序的具体程序和说明………………………5页
交通信号控制器程序中使用到得信号及其对应的管脚…7页
4 系统仿真………………………………………………………7页
5 硬件验证(操作)说明………………………………………7页
6 总结…………………………………………………………8页
7 参考书目……………………………………………………8页交通灯控制器
周晓
重庆三峡学院应用技术学院电子信息工程(仪器仪表)2008级重庆万州404000
摘要基于VHDL的交通灯控制器设计,芯片采用ALTERA公司的ACEX1K 系列的EP1K10TC100-3,使用硬件描述语言VHDL进行描述,对交通灯进行模块化,在VHDL编程环境Quartus II下编译通过。此报告对该设计的思想原理,详细程序和引脚配置以及波形仿真进行了详细的阐述。
关键词:VHDL 模块化交通灯设计
1 课程设计题目、内容与要求
设计题目
交通信号控制器VHDL设计
设计内容
交通信号控制器的VHDL源程序;
交通信号控制器的仿真波形;
交通信号控制器的硬件测试结果。
具体要求
设计一个交通信号控制器。
交通信号控制器原理框图如下图所示。
模拟场景图:
2 系统设计
设计思路
选择课程设计题目→查资料写出交通信号控制器的VHDL源程序代码→对程序进行全程编译→时序仿真→引脚设置和下载→硬件测试
系统原理
用VHDL编写程序实现交通信号控制器以下功能:
(1)交通灯从绿变红时,有5秒黄灯亮的间隔时间;
(2)交通灯红变绿是直接进行的,没有间隔时间;
(3)主干道上的绿灯时间为50秒,支干道的绿灯时间为30秒
用VHDL编写程序实现交通信号控制器的端口控制信号。其中,clk为标准的1HZ的时钟信号;R为复位信号;SPC为紧急情况信号,负责紧急情况的处理,当紧急情况发生时,南北主干道和东西支干道均显示红灯。
该程序定义了4个状态S0,S1,S2,S3。当状态为S0时,南北方向亮绿灯,东西方向亮红灯,50s;当为状态为S1时,南北方向亮黄灯,东西方向亮红,5s ;当状态为S2时,南北方向亮红灯,东西方向绿灯,30s;当状态为S3时,南北方向亮红灯,东西方向黄灯,5s;程序还设计了一个紧急信号情况,当遭遇紧急情况时,主干道和支干道都亮红灯。
3 系统实现
交通灯控制器VHDL源程序的具体程序和说明
LIBRARY IEEE;
USE ;
ENTITY TRAFFIC2 IS
PORT (CLK,R,SPC: IN STD_LOGIC; --时钟、复位、特殊情况
LIGHT: OUT STD_LOGIC_VECTOR(5 DOWNTO 0); --light:G1,R1,Y1,G2,R2,Y2;
Q1,Q2 : OUT INTEGER RANGE 0 TO 55);
END TRAFFIC2 ;
ARCHITECTURE behav OF TRAFFIC2 IS
TYPE STATES IS (S0,S1,S2,S3); --定义枚举
SIGNAL STATE : STATES ;
SIGNAL T1,T2: INTEGER RANGE 0 TO 55;
BEGIN
P1: PROCESS (CLK,STATE)
BEGIN
IF R='1'THEN STATE<=S0;T1<=50;T2<=55; --复位
ELSIF SPC='1' THEN LIGHT<="010010"; --特殊情况亮红灯
ELSIF CLK'EVENT AND CLK='1' THEN
CASE STATE IS
--states为s0时,南北方向亮绿灯,东西方向亮红灯,50s
WHEN S0=> LIGHT<="100010";
T1<=T1-1;T2<=T2-1;
Q1<=T1;Q2<=T2;
IF T1=0 THEN
STATE<=S1;T1<=5;T2<=5;
END IF;
--states为s1时,南北方向亮黄灯,东西方向亮红,5s
WHEN S1=> LIGHT<="001010";
T1<=T1-1;T2<=T2-1;
Q1<=T1;Q2<=T2;
IF T1=0 THEN
STATE<=S2;T1<=35;T2<=30;
END IF;
--states为s2时,南北方向亮红灯,东西方向绿灯,30s
WHEN S2=> LIGHT<="010100";
T1<=T1-1;T2<=T2-1;
Q1<=T1;Q2<=T2;
IF T2=0 THEN
STATE<=S3;T1<=5;T2<=5;
END IF;
--states为s3时,南北方向亮红灯,东西方向黄灯,5s
WHEN S3=> LIGHT<="010001";
T1<=T1-1;T2<=T2-1;
Q1<=T1;Q2<=T2;
IF T1=0 THEN
STATE<=S0;T1<=50;T2<=55;
END IF;
WHEN OTHERS=>STATE<=S0;T1<=50;T2<=55;--主干道END CASE;
END IF;
END PROCESS;
END behav;
交通灯控制器程序中使用到得信号及其对应的管脚