用状态机设计交通灯.docx
- 文档编号:8713055
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:7
- 大小:42.96KB
用状态机设计交通灯.docx
《用状态机设计交通灯.docx》由会员分享,可在线阅读,更多相关《用状态机设计交通灯.docx(7页珍藏版)》请在冰豆网上搜索。
用状态机设计交通灯
《EDA技术综合设计》
课程设计报告
报告题目:
用状态机设计交通灯
作者所在系部:
电子工程系
作者所在专业:
作者所在班级:
作者姓名:
指导教师姓名:
完成时间:
内容摘要
本报告通过用状态机对交通信号灯的设计,完成对红、绿、黄三盏灯状态变换的控制,进而完成对十字路口交通通断的控制。
本实验以VHDL语言为基础,状态机为工具,完成四种交通状态的控制,即主道有车支道无车,主道无车支道有车,主道支道均有车,主道支道均无车四种状态。
以主支道的安装的传感器为信号输入,感应道路有无车辆,
实现交通自动化控制。
状态机一般用来描述数字系统的控制单元,是许多数字电路的核心元件。
状态机包括输入信号、输出信号、状态译码器和状态寄存器。
状态寄存器用来记忆状态机的内部状态。
状态寄存器的下一个状态及输出不仅同输入信号有关,而且还与寄存器的当前状态有关,即下一个状态根据当前状态和输入决定。
关键词:
交通灯状态机传感器VHDL语言自动化控制
一概述…………………………………………………………………4
二方案设计与论证………………………………………………………………4
三单元电路设计…………………………………………………………………4
1.传感器状态设计…………………………………………………………4
2.状态寄存器设计…………………………………………………………4
3.中间变量设计……………………………………………………………5
四器件编程与下载………………………………………………………………5
五性能测试与分析………………………………………………………………7
六实验设备………………………………………………………………………7
七心得体会………………………………………………………………………7
八参考文献………………………………………………………………………7
课程设计任务书
课题
名称
交通信号灯的设计
完成
时间
指导
教师
职称
学生
姓名
班级
总体设计要求和技术要点
1.用VHDL语言并利用状态机设计交通信号灯;
2.进行程序编辑、调试和仿真;
3.完成程序硬件下载,并观察实验结果;
4.完成课程设计报告。
课程设计成果
1.完成交通信号灯实验程序,仿真成功;
2.程序下载顺利,并成功通过硬件实验;
3.通过验收;
4.完成课程设计实验报告;
一、概述
本次实验用状态机作为工具,运用电子EDA实验开发系统进行硬件下载实验,实现了用VHDL语言模拟实现了对交通信号的自动化控制。
二、方案设计与论证
交通灯信号控制器用于主干道m与支道f的交叉路口,两个路口都配有传感器以检测有无车辆通行。
应优先保证主干道的畅通,即当支道无车时,总处于“主干道绿灯,支道红灯”状态。
当主道、支道都有车时,则轮流切换通行。
且只有在支道有车辆要穿行主道时,才切向“主干道红灯、支道绿灯”,但一旦支道无车无车辆时,交通灯又立即回到“主干道绿灯、支道红灯”状态。
若主干道始终无车而支道又始终有车时,则保持“主干道红灯、支道绿灯”。
打同样如此:
一旦支道无车辆时,交通灯又立即回到“主干道绿灯、支道红灯”。
此外,主干道和支道每次通行的时间为20s,而在两个状态交换过程出现的“主黄、支红”和“主红、支黄”状态,持续时间都为4s。
三、单元电路设计
1.传感器状态设计。
Sens(0)、Sens
(1)分别为主、支道安装的传感器,检测是否有车辆通过。
主道支道均没车时sens=”00”,主道支道均有车时sens=”11”,主道有车支道没车时sens=”10”,主道没车支道有车时sens=”01”。
此程序中用case语句定义。
2.状态寄存器设计。
利用传感器的四种输入状态控制交通红绿灯的四种输出状态,xianshi作为状态寄存器,它的四种输出控制交通灯的四种状态,即
xianshi=”00”时Rm<='0';Ym<='1';Gm<='0';Rf<='1';Yf<='0';Gf<='0';xianshi=”11”时Rm<='1';Ym<='0';Gm<='0';Rf<='0';Yf<='0';Gf<='1';xianshi=”01”时Rm<='0';Ym<='0';Gm<='1';Rf<='1';Yf<='0';Gf<='0';xianshi=”10”时Rm<='1';Ym<='0';Gm<='0';Rf<='0';Yf<='1';Gf<='0'。
其中‘1’代表灯亮,‘0’代表灯不亮。
3.中间变量设计。
变量fx,fx0作为中间变量,负责传感器与交通灯输出的连接,‘1’代表主干道通,‘0’代表支道通。
fx0记录上一次的交通状态。
本次状态fx由传感器的状态和上一次的交通状态决定。
当发生交通转换时交通等的状态刷新,时间复位。
四、器件编程与下载
1.实验程序
LIBRARYieee;
USEieee.std_logic_1164.ALL;
USEieee.std_logic_unsigned.ALL;
ENTITYxhdIS
PORT(clk0,sens_m,sens_f:
INstd_logic;----定义引脚
Rm,Ym,Gm:
OUTstd_logic;
Rf,Yf,Gf:
OUTstd_logic);
ENDxhd;
-----------------------------------------
ARCHITECTUREbehaveOFxhdIS
SIGNALsens:
std_logic_vector(1DOWNTO0);
SIGNALxianshi:
std_logic_vector(1DOWNTO0);----状态寄存器
BEGIN
sens(0)<=sens_f;
sens
(1)<=sens_m;
-----------------------------进程1-----------------
zhuangtaiyima:
process(clk0)
VARIABLEfx:
bit:
='0';
VARIABLEfx0:
bit:
='0';
VARIABLEtime:
integer:
=0;
begin
if(clk0'eventandclk0='1')then
if(time<20)thentime:
=time+1;
endif;
endif;
casesensIS
WHEN"11"=>if(time>=20)thenfx:
=notfx0;endif;----通行方向译码
WHEN"01"=>fx:
='0';
WHEN"10"=>fx:
='1';
WHEN"00"=>fx:
='1';
WHENothers=>fx:
='1';
endcase;
if(fx/=fx0)
thenfx0:
=fx;time:
=0;----保存本次的状态,时间清零
endif;
if(fx='1')thenxianshi
(1)<='0';
elsexianshi
(1)<='1';
endif;
if(time<4)then
xianshi(0)<='0';
elsexianshi(0)<='1';
endif;
endprocesszhuangtaiyima;
------------------------------进程2------------------------
shuchuyima:
process(xianshi)----译码部分
begin
casexianshiis
when"00"=>Rm<='0';Ym<='1';Gm<='0';Rf<='1';Yf<='0';Gf<='0';
when"01"=>Rm<='0';Ym<='0';Gm<='1';Rf<='1';Yf<='0';Gf<='0';
when"10"=>Rm<='1';Ym<='0';Gm<='0';Rf<='0';Yf<='1';Gf<='0';
when"11"=>Rm<='1';Ym<='0';Gm<='0';Rf<='0';Yf<='0';Gf<='1';
whenothers=>Rm<='1';Ym<='1';Gm<='1';Rf<='1';Yf<='1';Gf<='1';
endcase;
endprocessshuchuyima;
endbehave;
----------------------------结束----------------------------
2.程序下载
选择器件,锁定引脚,按电路要求连线。
输入1Hz的脉冲作为时钟源。
五、性能测试与分析
观察实验输出与实验要求输出是否一致,一致则可完成对交通信号灯的控制。
即优先保证主干道的畅通,即当支道无车时,总处于“主干道绿灯,支道红灯”状态。
当主道、支道都有车时,则轮流切换通行。
且只有在支道有车辆要穿行主道时,才切向“主干道红灯、支道绿灯”,但一旦支道无车无车辆时,交通灯又立即回到“主干道绿灯、支道红灯”状态。
若主干道始终无车而支道又始终有车时,则保持“主干道红灯、支道绿灯”。
主支道均有车的仿真图:
可以看出两通道交替通行,在状态转换时黄灯亮。
仿真结果与预期相同。
六、实验设备
计算机一台、电子EDA实验开发系统一套。
七、心得体会
通过本次课程设计领悟了EDA的工作原理,学会了各个并行进程之间相互通信协同工作的过程。
进一步了解了VHDL语言的结构和编程方法,并通过硬件实验和对FPGA的程序下载初步掌握了电子EDA的设计方法,为以后的学习打下基础。
程序仿真是理想环境下的结果,容易实现,而移植到硬件系统上会出现实际的问题,比如接线的不稳定等,需要耐心排查故障,找出解决方案。
对交通灯的控制需要处理好各种状态间的转换关系,先要进行各个模块的分割分装,在进行逻辑分析的基础上编写程序。
八、参考文献
[1]李国洪EDA技术与实验机械工业出版社2009
[2]EDA-V型实验指导北京理工达盛科技有限公司
指导教师评语及设计成绩
评语
课程设计成绩:
指导教师:
日期:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 状态机 设计 交通灯