用状态机设计交通灯_第1页
用状态机设计交通灯_第2页
用状态机设计交通灯_第3页
用状态机设计交通灯_第4页
用状态机设计交通灯_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDA 技术综合设计 课程设计报告 报 告 题 目 用状态机设计交通灯 作者所在系部 电子工程系 作者所在专业 作者所在班级 作 者 姓 名 指导教师姓名 完 成 时 间 内内 容容 摘摘 要要 本报告通过用状态机对交通信号灯的设计 完成对红 绿 黄三盏灯状态变换的 1 控制 进而完成对十字路口交通通断的控制 本实验以 VHDL 语言为基础 状态机为 工具 完成四种交通状态的控制 即主道有车支道无车 主道无车支道有车 主道支 道均有车 主道支道均无车四种状态 以主支道的安装的传感器为信号输入 感应道 路有无车辆 实现交通自动化控制 状态机一般用来描述数字系统的控制单元 是许多数字电路的核心元件 状态机 包括输入信号 输出信号 状态译码器和状态寄存器 状态寄存器用来记忆状态机的 内部状态 状态寄存器的下一个状态及输出不仅同输入信号有关 而且还与寄存器的 当前状态有关 即下一个状态根据当前状态和输入决定 关键词 交通灯 状态机 传感器 VHDL 语言 自动化控制 目目 录录 一 概 述 4 2 二 方案设计与论证 4 三 单元电路设计 4 1 传感器状态设计 4 2 状态寄存器设计 4 3 中间变量设计 5 四 器件编程与下载 5 五 性能测试与分析 7 六 实验设备 7 七 心得体会 7 八 参考文献 7 课程设计任务书课程设计任务书 课题交通信号灯的设计完成 3 名称时间 指导 教师 职称 学生 姓名 班级 总体设计要求和技术要点 1 用 VHDL 语言并利用状态机设计交通信号灯 2 进行程序编辑 调试和仿真 3 完成程序硬件下载 并观察实验结果 4 完成课程设计报告 课程设计成果 1 完成交通信号灯实验程序 仿真成功 2 程序下载顺利 并成功通过硬件实验 3 通过验收 4 完成课程设计实验报告 一 概述 本次实验用状态机作为工具 运用电子 EDA 实验开发系统进行硬件下载实验 4 实现了用 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 代表主干道通 5 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 if time 20 then fx not fx0 end if 通行方向译 6 码 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 Rm 0 Ym 1 Gm 0 Rf 1 Yf 0 Gf Rm 0 Ym 0 Gm 1 Rf 1 Yf 0 Gf Rm 1 Ym 0 Gm 0 Rf 0 Yf 1 Gf Rm 1 Ym 0 Gm 0 Rf 0 Yf 0 GfRm 1 Ym 1 Gm 1 Rf 1 Yf 1 Gf 1 end case end process shuchuyima end behave 结束 2 程序下载 选择器件 锁定引脚 按电路要求连线 输入 1Hz 的脉冲作为时钟源 7 五 性能测试与分析 观察实验输出与实验要求输出是否一致 一致则可完成对交通信号灯的控制 即 优先保证主干道的畅通 即当支道无车时 总处于 主干道绿灯 支道红灯 状态 当主道 支道都有车时 则轮流切换通行 且只有在支道有车辆要穿行主道时 才切 向 主干道红灯 支道绿灯 但一旦支道无车无车辆时 交通灯又立即回到 主干道 绿灯 支道红灯 状态 若主干道始终无车而支道又始终有车时 则保持 主干道红 灯 支道绿灯 主支道均有车的仿真图 可以看出两通道交替通行 在状态转换时黄灯亮 仿真结果与 预期相同 六 实验设备 计算机一台 电子 EDA 实验开发系统一套 七 心得体会 通过本次课程设计领悟了 EDA 的工作原理 学会了各个并行进程之间相互通信 协同工作的过程 进一步了解了 VHDL 语言的结构和编程方法 并通过硬件实验和对 FPGA 的程序下载初步掌握了电子 EDA 的设计方法 为以后的学习打下基础 程序仿真是理想环境下的结果 容易实现 而移植到硬件系统上会出现实际的问 8 题 比如接线的不稳定等 需要耐心排查故障 找出解决方案 对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论