EDA课程设计交通灯控制器.docx
《EDA课程设计交通灯控制器.docx》由会员分享,可在线阅读,更多相关《EDA课程设计交通灯控制器.docx(10页珍藏版)》请在冰豆网上搜索。
EDA课程设计交通灯控制器
课程设计
课程EDA技术课程设计
题目交通等控制器
院系
专业班级
学生姓名
学生学号
指导教师
0600000
年月日
大课程设计任务书
课程EDA技术课程设计
题目交通灯控制器
专业姓名学号
主要内容、基本要求、主要参考资料等
主要内容:
设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
基本要求:
1、红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号,实验电路用逻辑开关代替。
2、主干道处于常允许通行的状态,支干道有车来时才允许通行。
主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。
3、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路,选择1HZ时钟脉冲作为系统时钟。
4、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。
主要参考资料:
[1]潘松著.EDA技术实用教程(第二版).北京:
科学出版社,2005.
[2]康华光主编.电子技术基础模拟部分.北京:
高教出版社,2006.
[3]阎石主编.数字电子技术基础.北京:
高教出版社,2003.
完成期限2010.3.12
指导教师
专业负责人
2010年3月8日
一、总体设计思想
1.基本原理
计数模块、置数模块、主控制器模块和译码器模块。
置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。
其中,核心部分是主控
2.设计框图
图一.交通灯控制系统的原理框图
图二.交通灯控制器的流程图
1.设计思路:
在某一十字路口交叉地带,可设计东西走向的道路为甲车道,南北走向的道路为乙车道。
甲乙车道的交通灯需按交通法则来依次交替运行。
则可设计一个状态循环的逻辑电路。
2.分析系统的逻辑功能:
交通灯控制系统的原理框图如图一所示。
它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。
秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。
图中:
TL:
表示甲车道或乙车道绿灯亮的时间间隔为45秒,即车辆正常通行的时间间隔。
定时时间到,TL=1,否则,TL=0。
TY:
表示黄灯亮的时间间隔为5秒。
定时时间到,TY=1,否则,TY=0。
ST:
表示定时器到了规定的时间后,由控制器发出状态转换信号。
由它控制定时器开始下个工作状态的定时。
(1)图甲车道绿灯亮,乙车道红灯亮。
表示甲车道上的车辆允许通行,乙车道禁止通行。
绿灯亮足规定的时间隔TL时,控制器发出状态信号ST,转到下一工作状态。
(2)甲车道黄灯亮,乙车道红灯亮。
表示甲车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,乙车道禁止通行。
黄灯亮足规定时间间隔TY时,控制器发出状态转换信号ST,转到下一工作状态。
(3)甲车道红灯亮,乙车道绿灯亮。
表示甲车道禁止通行,乙车道上的车辆允许通行绿灯亮足规定的时间间隔TL时,控制器发出状态转换信号ST,转到下一工作状态。
(4)甲车道红灯亮,乙车道黄灯亮。
表示甲车道禁止通行,乙车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行。
黄灯亮足规定的时间间隔TY时,控制器发出状态转换信号ST,系统又转换到第
(1)种工作状态。
交通灯以上4种工作状态的转换是由控制器进行控制的。
设控制器的四种状态编码为00、01、11、10,并分别用S0、S1、S3、S2表示,则控制器的工作状态及功能如图二所示,控制器应送出甲、乙车道红、黄、绿灯的控制信号。
为简便起见,把灯的代号和灯的驱动信号合二为一,并作如下规定:
图二的控制器工作状态及功能
控制状态信号灯状态车道运行状态
S0(00)甲绿,乙红甲车道通行,乙车道禁止通行
S1(01)甲黄,乙红甲车道缓行,乙车道禁止通行
S3(11)甲红,乙绿甲车道禁止通行,乙车道通行
S2(10)甲红,乙黄甲车道禁止通行,乙车道缓行
符号含义:
AG=1:
甲车道绿灯亮;
BG=1:
乙车道绿灯亮;
AY=1:
甲车道黄灯亮;
BY=1:
乙车道黄灯亮;
AR=1:
甲车道红灯亮;
BY=1:
乙车道红灯亮;
由此得到交通灯控制器的流程图,如图二所示。
设控制器的初始状态为S0(用状态框表示S0),当S0的持续时间小于45秒时,TL=0(用判断框表示TL),控制器保持S0不变。
只有当S0的持续时间等于45秒时,TL=1,控制器发出制
态转换信号ST(用条件输出框表示ST),并转换到下一个工作状态。
二、设计步骤和调试过程
1、总体设计电路
2、模块设计和相应模块程序
libraryieee;
useieee.std_logic_1164.all;
entitytraffic1is
port(clk,sensor1,sensor2,reset:
instd_logic;
red1,yellow1,green1,red2,yellow2,green2:
outstd_logic);
endtraffic1;
architectureaoftraffic1is
typestate_tis(st0,st1,st2,st3,st4,st5,st6,st7);
signalstate,nextstate:
state_t;
begin
update_stae:
process(reset,clk)
begin
if(reset='1')then
state<=st0;
elsifclk'eventandclk='1'then
state<=nextstate;
endif;
endprocess;
transitions:
process(state,sensor1,sensor2)
variablecnt1,cnt2,cnt3,cnt4,cnt5,cnt6,cnt7,cnt8:
integerrange0to255;
begin
red1<='0';yellow1<='0';green1<='0';
red2<='0';yellow2<='0';green2<='0';
casestateis
whenst0=>
green1<='1';
red2<='1';
ifsensor2=sensor1then
nextstate<=st1;
elsif(sensor1='0'andsensor2='1')then
nextstate<=st2;
else
nextstate<=st0;
endif;
whenst1=>
green1<='1';
red2<='1';
nextstate<=st2;
whenst2=>
green1<='1';
red2<='1';
nextstate<=st3;
whenst3=>
yellow1<='1';
red2<='1';
nextstate<=st4;
whenst4=>
red1<='1';
green2<='1';
ifsensor2=sensor1then
nextstate<=st5;
elsif(sensor1='1'andsensor2='0')then
nextstate<=st6;
else
nextstate<=st4;
endif;
whenst5=>
red1<='1';
green2<='1';
nextstate<=st6;
whenst6=>
red1<='1';
green2<='1';
nextstate<=st7;
whenst7=>
red1<='1';
yellow2<='1';
nextstate<=st0;
endcase;
endprocess;
enda;
3、仿真及仿真结果分析
仿真图
三、结论及心得体会
做了一周的课程设计,使我感慨颇多,有关于VHDL方面的,更多的收获是多方面的。
VHDL程序设计也不熟炼,学的东西好像它是它,我是我似的,理论联系不了实际。
以前的汇编语言没学好,一开始的程序这块儿就要令我抓狂了。
后来请教我们班的同学,一起学习。
我觉得我对VHDL的一些知识在这个动手的过程中真的是从无到有增长的。
一段时间里,我应该不会再如此迷惘。
参考资料
[1]潘松著.EDA技术实用教程(第二版).北京:
科学出版社,2005.
大庆石油学院课程设计成绩评价表
课程名称
EDA技术课程设计
题目名称
交通控制灯
学生姓名
段萍
学号
060901140109
指导教师姓名
职称
序号
评价项目
指标
满分
评分
1
工作量、工作态度和出勤率
按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。
20
2
课程设计质量
课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。
45
3
创新
工作中有创新意识,对前人工作有一些改进或有一定应用价值。
5
4
答辩
能正确回答指导教师所提出的问题。
30
总分
评语:
指导教师:
2010年3月13日