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