收藏 分销(赏)

用状态机设计交通灯.doc

上传人:仙人****88 文档编号:9445954 上传时间:2025-03-26 格式:DOC 页数:10 大小:95.50KB 下载积分:10 金币
下载 相关 举报
用状态机设计交通灯.doc_第1页
第1页 / 共10页
用状态机设计交通灯.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
《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.实验程序 LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY xhd IS PORT(clk0,sens_m,sens_f:IN std_logic;----定义引脚 Rm,Ym,Gm:OUT std_logic; Rf ,Yf,Gf:OUT std_logic); END xhd; ----------------------------------------- ARCHITECTURE behave OF xhd IS SIGNAL sens:std_logic_vector(1 DOWNTO 0); SIGNAL xianshi:std_logic_vector(1 DOWNTO 0);----状态寄存器 BEGIN sens(0)<=sens_f; sens(1)<=sens_m; -----------------------------进程1----------------- zhuangtaiyima:process(clk0) VARIABLE fx:bit:='0'; VARIABLE fx0:bit:='0'; VARIABLE time:integer:=0; begin if(clk0'event and clk0='1') then if(time<20) then time:=time+1; end if; end if; case sens IS WHEN "11" => if(time>=20) then fx:=not fx0;end if;----通行方向译码 WHEN "01" => fx:='0'; WHEN "10" => fx:='1'; WHEN "00" => fx:='1'; WHEN others => fx:='1'; end case; if(fx/=fx0) then fx0:=fx;time:=0;----保存本次的状态,时间清零 end if; if(fx='1') then xianshi(1)<='0'; else xianshi(1)<='1'; end if; if(time<4) then xianshi(0)<='0'; else xianshi(0)<='1'; end if; end process zhuangtaiyima; ------------------------------进程2------------------------ shuchuyima:process(xianshi)----译码部分 begin case xianshi is 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'; when others=>Rm<='1';Ym<='1';Gm<='1';Rf<='1';Yf<='1';Gf<='1'; end case; end process shuchuyima; end behave; ----------------------------结束---------------------------- 2.程序下载 选择器件,锁定引脚,按电路要求连线。输入1Hz的脉冲作为时钟源。 五、性能测试与分析 观察实验输出与实验要求输出是否一致,一致则可完成对交通信号灯的控制。即优先保证主干道的畅通,即当支道无车时,总处于“主干道绿灯,支道红灯”状态。当主道、支道都有车时,则轮流切换通行。且只有在支道有车辆要穿行主道时,才切向“主干道红灯、支道绿灯”,但一旦支道无车无车辆时,交通灯又立即回到“主干道绿灯、支道红灯”状态。若主干道始终无车而支道又始终有车时,则保持“主干道红灯、支道绿灯”。 主支道均有车的仿真图: 可以看出两通道交替通行,在状态转换时黄灯亮。仿真结果与预期相同。 六、实验设备 计算机一台、电子EDA实验开发系统一套。 七、心得体会 通过本次课程设计领悟了EDA的工作原理,学会了各个并行进程之间相互通信协同工作的过程。进一步了解了VHDL语言的结构和编程方法,并通过硬件实验和对FPGA的程序下载初步掌握了电子EDA的设计方法,为以后的学习打下基础。 程序仿真是理想环境下的结果,容易实现,而移植到硬件系统上会出现实际的问题,比如接线的不稳定等,需要耐心排查故障,找出解决方案。 对交通灯的控制需要处理好各种状态间的转换关系,先要进行各个模块的分割分装,在进行逻辑分析的基础上编写程序。 八、参考文献 [1] 李国洪 EDA技术与实验 机械工业出版社 2009 [2] EDA-V型实验指导 北京理工达盛科技有限公司 指导教师评语及设计成绩 评 语 课程设计成绩: 指导教师: 日期: 年 月 日 - 9 -
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服