FPGA课程设计报告-交通灯设计报告.doc_第1页
FPGA课程设计报告-交通灯设计报告.doc_第2页
FPGA课程设计报告-交通灯设计报告.doc_第3页
FPGA课程设计报告-交通灯设计报告.doc_第4页
FPGA课程设计报告-交通灯设计报告.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

此文档收集于网络 如有侵权 请联系网站删除 精品文档 交通灯交通灯 设设 计计 报报 告告 论文题目 论文题目 交通灯的设计与实现交通灯的设计与实现 所属系部 所属系部 机械与电子工程系机械与电子工程系 指导老师 指导老师 学生姓名 学生姓名 专专 业 业 应用电子技术应用电子技术 20112011 年年 6 6 月月 1313 日日 此文档收集于网络 如有侵权 请联系网站删除 精品文档 广东科学技术职业学院广东科学技术职业学院 交通灯 设计任务书 交通灯 设计任务书 题题 目 目 交 通 灯 任务与要求 任务与要求 1 一般情况下 保持主干道畅通 主干道绿灯亮 支干道红灯亮 并且 主干道绿灯亮的时间不得少于 60 秒 2 主干道无车 支干道有车 则主干道红灯亮 支干道绿灯亮 但支干 道绿灯亮的时间不超过 30 秒 3 每次主干道或支干道绿灯变红灯时 黄灯先亮 5 秒 时时 间 间 2011 年 6 月 13 日 所属系部 所属系部 机械与电子工程系 学生姓名 学生姓名 专专 业 业 应用电子技术 指导单位或教研室 指导单位或教研室 广东科学技术职业学院 指导教师 指导教师 20112011 年年 6 6 月月 1313 日日 此文档收集于网络 如有侵权 请联系网站删除 精品文档 此文档收集于网络 如有侵权 请联系网站删除 精品文档 摘摘 要要 交通灯是城市交通监管系统的重要组成部分 对于保证机动车辆的安全运行 维持城市道路的 顺畅起到了重要作用 目前很多城市交叉路口的交通灯实行的是定时控制 灯亮的时间是预先 设定好的 在时间和空间方面的应变性能较差 一定程度上造成了交通资源的浪费 加重了道 路交通压力 本文在 EDA 技术的基础上 利用 FPGA 的相关知识设计了交通灯控制系统 可 以根据实际情况对灯亮时间进行自由调整 整个设计系统通过 Max Plus 软件进行了模拟仿 真 并下载到 FPGA 器件中进行硬件的调试 验证了设计的交通信号灯控制电路完全可以实现 预定的功能 具有一定的实用性 关键词 交通灯 定时控制 FPGA 此文档收集于网络 如有侵权 请联系网站删除 精品文档 目 录 摘 要 3 一 设计要求一 设计要求 5 二 所用设备二 所用设备 5 三 设计思路三 设计思路 5 1 功能要求 5 2 交通灯控制器的状态转换表 6 3 系统构架 7 4 交通灯的状态转换图 7 5 思路说明 9 四 详细设计四 详细设计 9 1 1HZ时钟脉冲产生模块 9 2 7段LED数码管显示译码模块 10 3 交通灯控制器模块 14 4 top总图 18 五 绑定引脚 下载测试五 绑定引脚 下载测试 18 1 绑定引脚 18 2 下载测试 20 3 测试结果 20 六 心得体会六 心得体会 21 此文档收集于网络 如有侵权 请联系网站删除 精品文档 交通灯的设计交通灯的设计 一 设计要求一 设计要求 设计一个主干道和支干道十字路口的交通控制电路 要求如下 1 一般情况下 保持主干道畅通 主干道绿灯亮 支干道红灯亮 并且主干 道绿灯亮的时间不得少于 60 秒 2 主干道无车 支干道有车 则主干道红灯亮 支干道绿灯亮 但支干道绿 灯亮的时间不超过 30 秒 3 每次主干道或支干道绿灯变红灯时 黄灯先亮 5 秒 二 所用设备二 所用设备 1 PC 机一台 2 FPGA 下载版 1 套 3 Quartus 开发软件 1 套 三 设计思路三 设计思路 用 VerilogHDL 设计一个十字路口交通灯控制器 其示意图如下所示 A 方 向和 B 方向各设红 R 黄 Y 绿 G 三盏灯 三种灯按照合理的顺序亮 灭 并能将灯亮的时间以计时的形式显示出来 1 功能要求 功能要求 由设计要求可以知道 这个主干道和支干道的十字路口的交通等系统 支 干道两边安装传感器 要求优先保证主干道通畅 平时处于主干道绿灯 支干 此文档收集于网络 如有侵权 请联系网站删除 精品文档 道红灯的状态 当支干道有车时 则传感器发出信号 S 0 主干道绿灯先变成 黄灯 再变成红灯 支干道有红灯变成绿灯 如果支干道继续有车通过时 则 传感器继续有信号 使支干道保持绿灯亮 但支干道保持绿灯亮的时间不超过 30 秒 否则支干道绿灯先转化成黄灯再变成红灯 同时主干道红灯变成绿灯 主干道每次通行时间不得少于 60 秒 在此期间 即使支干道有信号 S 输出时 也不能中止主干道的绿灯亮 2 交通灯控制器的状态转换表 交通灯控制器的状态转换表 表中 1 表示灯亮 0 表示灯灭 A 方向和 B 方向的红 黄 绿和左转灯分 别用 R1 Y1 G1 和 R2 Y2 G2 表示 A 方向B 方向 绿灯 G1 黄灯 Y1 红灯 R1 绿灯 G2 黄灯 Y2 红灯 R2 时间 100001不少于 60 秒 0100015 秒 001100不大于 30 秒 0010105 秒 交通灯系统工作主要有三个时间间隔 T60 T30 T05 T60 主干道绿灯亮时的最短时间间隔 不少于 60 秒 T30 主干道红灯亮时的最大时间间隔 不多于 30 秒 T05 主干道黄灯亮时的时间间隔 5 秒 表 1 状态表 此文档收集于网络 如有侵权 请联系网站删除 精品文档 3 系统构架 系统构架 从状态转换表中可以看出 该系统有控制器和处理器组成 控制器接受 外部系统时钟信号 CLK 传感器信号 S 处理器有时钟产生器和译码显示器 组成 时钟产生器能够向控制器输入 1HZ 的时钟脉冲信号 而译码显示器 则在控制器的控制下 改变交通灯信号 4 交通灯的状态转换图 交通灯的状态转换图 S0 绿灯 S1 黄灯 S2 红灯 S3 红灯 图 1 主干道状态转换图 S0 红灯 S3 黄灯 S2 绿灯 S1 红灯 由上面的两个干道的状态转换图可知 两个方向的转移是并列关系的 即是按 照计时信号进行状态跳转 然后再加入两者之间的限制关系和 S 传感器信号 交通灯的控制过程可以分为四个阶段 对应的输出有四种状态 分别为 S0 S1 S2 S3 图 2 支干道状态转换图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 S0 状态 主干道绿灯亮 支干道红灯亮 此时支干道有车等待通过 而且主干道绿 灯已亮 满足规定的时间间隔 T60 控制器发出计时器青清零信号 状态 S0 转 换到 S1 状态 S1 状态 主干道黄灯亮 支干道红灯亮 进入此状态 黄灯亮满足规定的时间间隔 T05 时 控制器发出计时器青清零信号 状态 S1 转换到 S2 状态 S2 状态 主干道红灯亮 支干道绿灯亮 进入此状态 若此时支干道继续有车 则 继续保持此状态 但支干道绿灯亮的时间不超过 T30 时间间隔 否则控制器发 出计时器青清零信号 从状态 S2 转换到 S3 状态 S3 状态 主干道红灯亮 支干道黄灯亮 进入此状态 黄灯亮满足规定的时间间隔 T05 时 控制器发出控制器发出计时器青清零信号 输出从状态 S3 转换到 S0 状态 对上述的 S0 S1 S2 S3 四种状态按照格雷码进行编码分别为 00 01 11 10 对于上述的 S0 和 S2 状态要加以说明 首先 当主干道方向 60 秒计时结束时 若支干道方向无车 即 S 1 时 这时 控制器应继续运行在 S0 状态 计时器停止计时等待支干道 S 信号 若 支干道方向有车 即 S 0 则按照状态转换图进行跳转 同理 支干道也执行 相同的处理 其次 当支干道开始绿灯亮时 规定必须保持支干道方向一直有车 即 S 0 时 支干道方向的绿灯才能继续维持 否则 一旦在计数未结束但时 S 1 时 执行从 S2 状态跳转到 S3 状态 若 S 0 一直维持到 30 秒计数结束 那 么也要执行状态转换 此文档收集于网络 如有侵权 请联系网站删除 精品文档 5 思路说明 思路说明 根据交通灯控制器要实现的功能 考虑用一个 always 模块来分别控制 A 主干道 和 B 支干道 两个方向的三盏灯 这个 always 模块控制两个方 向的三种灯按照绿灯 黄灯 红灯点亮 并且循环往复 为便于显示灯亮的时间 计时器输出均采用 BCD 码 显示由两个数码管来 实现完成 四 详细设计四 详细设计 1 1HZ 时钟脉冲产生模块时钟脉冲产生模块 1 原理说明 采用计数方式 因为我们所用的实验开发板所提供我们的时钟频率有 50Mhz 和 27MHz 两种 实验中任选一个频率 根据所选择的频率设计分频器 输出为 1Hz 时钟频率 2 代码 module fenpin 1000HzOut 1HzOut 50MHzIn input 50MHzIn output 1000HzOut 1HzOut parameter width 16 value 24999 reg 1000HzOut 1HzOut reg width 1 0 Count reg 8 0 Q always posedge 50MHzIn 3000 2 200Hz 12MHz if Count value Binary Counter 0 29999 begin Count 15 d0 1000HzOut 1000HzOut 此文档收集于网络 如有侵权 请联系网站删除 精品文档 end else Count Count 1 b1 always posedge 1000HzOut 500 2 1Hz 1000Hz if Q 9 d499 begin Q 9 d0 1HzOut 1HzOut end else Q Q 1 b1 endmodule 3 说明 由于代码编写时频率过高 以致 QuartusII 软件无法进行仿真 只能的到 编译通过的结果 4 经过编译后得到的符号 2 7 段段 LED 数码管显示译码模块数码管显示译码模块 1 原理说明 在七段数码管显示部分 应该注意 在我们所用的实验开发板上我们的 七段数码管的七段码的分布和顺序与平时所接触的不同 图 3 所示为实验板 上 7 SEG 结构 这一结构在我们进行七段译码的时候必须注意 The 4 digit 7 SEG displays are sharing the same data bus oSEG7 7 0 Each digit has its own enable pin oCOM 3 0 You can display a desired number on any one of the digits by sending the display data to the shared data bus and enable the digit s corresponding oCOM pin by driving low The segments illuminate if the 此文档收集于网络 如有侵权 请联系网站删除 精品文档 Cyclone pin to which they are connected drives low they appear unlit when the connected Cyclone device pin drives high 若在 FPGA 中实现 4 位数字的显示 采用动态扫描方式来实现 该数码管 是共阳极的 4 位数字 7 段显示共用相同的数据总线 oSEG7 7 0 每一个数码 管都有自己的使能引脚 即 oCOM 3 0 你可以让向 oCOM 3 0 中的对应位送 低电平使数码管工作 实验用的 FPGA 开发板数码管的引脚时低电平驱动的 而每一个数码管的的显示数字具体显示和上图的 oSEG 的具体位置有关 具体是 4 h1 oSEG 8 b11010111 显示 1 4 h2 oSEG 8 b01001100 显示 2 4 h3 oSEG 8 b01000101 显示 3 4 h4 oSEG 8 b10000111 显示 4 4 h5 oSEG 8 b00100101 显示 5 4 h6 oSEG 8 b00100100 显示 6 4 h7 oSEG 8 b01010111 显示 7 4 h8 oSEG 8 b00000100 显示 8 4 h9 oSEG 8 b00000111 显示 9 4 ha oSEG 8 b00000110 显示 a 4 hb oSEG 8 b10100100 显示 b 4 hc oSEG 8 b00111100 显示 c 4 hd oSEG 8 b11000100 显示 d 图 3 FPGA 上的 LED 数码管 此文档收集于网络 如有侵权 请联系网站删除 精品文档 4 he oSEG 8 b00101100 显示 e 4 hf oSEG 8 b00101110 显示 f 4 h0 oSEG 8 b00010100 显示 0 2 yima v 代码 module yima q dm 译码显示 input 3 0 q output 7 0 dm reg 7 0 dm always q 把相应的 BCD 码翻译成数码管段码 case q 4 d0 dm 8 hc0 4 d1 dm 8 hf9 4 d2 dm 8 ha4 4 d3 dm 8 hb0 4 d4 dm 8 h99 4 d5 dm 8 h92 4 d6 dm 8 h82 4 d7 dm 8 hf8 4 d8 dm 8 h80 4 d9 dm 8 h90 default dm 8 ha3 endcase endmodule 注意 人的眼睛适合观察频率在 350 400HZ 此时人眼的有视觉暂留现象 可 以让人觉得 2 个数码管在一直显示 所以数码管的扫描频率也应在这个频率以 上 3 利用 Verilog 产生的符号 此文档收集于网络 如有侵权 请联系网站删除 精品文档 3 交通灯控制器模块 交通灯控制器模块 1 原理说明 利用有限状态机 FSM 定义主干道和支干道的灯的状态 采取一个独立的 always 模块执行 然后在模块中加入 S 限制条件 同时输出两个 3 位的二进制数用于 向实验板的 LED 形象表示两个方向的灯 共使用 6 个 输出两个 8 位的时间 BCD 码 接到 yima 模块的 dm 7 0 用于显示时间 2 kongzhi v 代码 module kongzhi S RESET CLK St T05 T30 T60 HG HY HR FG FY FR 主控模块 input RESET CLK T05 T30 T60 S 复位 1 秒时钟 5 秒 30 秒 60 秒信号输入 传感器信号输入 output St 定时器清零信号 output HG HY HR FG FY FR 主干道红 黄 绿 支干道红 黄 绿 reg HG HY HR FG FY FR reg 1 0 Currentstate Nextstate 当前状态 下一状态 reg St parameter S0 2 b00 S1 2 b01 S2 2 b11 S3 2 b10 用格雷码定义的四个状态 always posedge CLK or negedge RESET begin if RESET Currentstate S0 异步清零 else Currentstate Nextstate 此文档收集于网络 如有侵权 请联系网站删除 精品文档 end always S or Currentstate or T05 or T30 or T60 begin case Currentstate S0 begin Nextstate T60St T60end 当 T60St T05 1 0 end 计时 5 秒到达下一 状态 S2 并发出计时器清零信号 S2 begin Nextstate S T30St T30 S 1 0 end 当 S T30St T05 1 0 end 计时 5 秒到 达下一状态 S1 并发出计时器清零信号 endcase end always Currentstate 四个状态的亮灯情况 begin case Currentstate S0 begin HG HY HR 3 b011 FG FY FR 3 b110 end 主干道绿灯 支干 道红灯 S1 begin HG HY HR 3 b101 FG FY FR 3 b110 end 主干道黄灯 支干 道红灯 S2 begin HG HY HR 3 b110 FG FY FR 3 b011 end 主干道红灯 支干 道绿灯 S3 begin HG HY HR 3 b110 FG FY FR 3 b101 end 主干道红灯 支干 此文档收集于网络 如有侵权 请联系网站删除 精品文档 道黄灯 endcase end endmodule 3 仿真后生成的模块 4 按键消抖模块 module xiaodou clk k1 k1 out 按键消抖模块 input clk input k1 output k1 out reg dout1 dout2 dout3 assign k1 out dout1 dout2 dout3 当取到的三个信号都为低电平 有按键按下 按键按下有效 always posedge clk begin dout1 k1 dout2 dout1 dout3 dout2 end endmodule 此文档收集于网络 如有侵权 请联系网站删除 精品文档 仿真后生成的模块 5 计时器模块 module dingshiqi RESET CLK St T05 T30 T60 TimerH TimerL 计时器模块 input RESET CLK St 复位 1 秒时钟 计时器清零 output T05 T30 T60 5 秒 30 秒 60 秒信号 reg 3 0 TimerH TimerL output 3 0 TimerH TimerL 时间的高位和低位 always posedge CLK or negedge RESET begin if RESET TimerH TimerL 8 b0 按键清零 else if St TimerH TimerL 8 b0 当有计时器清零信号的时候清零时间 else if TimerH 5 end else if TimerL 9 低位为 9 是下一脉冲高位加 1 低位置 0 begin TimerH TimerH 1 TimerL 0 end else begin TimerH TimerH TimerL TimerL 1 end end assign T05 TimerH 0 assign T30 TimerH 2 assign T60 TimerH 5 endmodule 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 6 top 总图 仿真后生成的模块 4 top 总图总图 五 绑定引脚 下载测试五 绑定引脚 下载测试 1 绑定引脚 绑定引脚 50MHz 50MHz InputInputPIN 17PIN 17 b 1 b 1 OutputOutput PIN 94PIN 94 此文档收集于网络 如有侵权 请联系网站删除 精品文档 b 0 b 0 OutputOutputPIN 96PIN 96 dm 7 dm 7 OutputOutputPIN 113PIN 113 dm 6 dm 6 OutputOutputPIN 79PIN 79 dm 5 dm 5 OutputOutputPIN 58PIN 58 dm 4 dm 4 OutputOutputPIN 55PIN 55 dm 3 dm 3 OutputOutputPIN 86PIN 86 dm 2 dm 2 OutputOutputPIN 87PIN 87 dm 1 dm 1 OutputOutputPIN 92PIN 92 dm 0 dm 0 OutputOutputPIN 93PIN 93 FGFG OutputOutput PIN 65PIN 65 FRFR OutputOutput PIN 70PIN 70 FYFY OutputOutput PIN 69PIN 69 HGHG OutputOutput PIN 73PIN 73 HRHR OutputOutput PIN 60PIN 60 HYHY OutputOutput PIN 74PIN 74 RESETRESETInputInput PIN 43PIN 43 S S InputInput PIN 48PIN 48 利用 QuartusII 的 Assignment Editor 选项 按照上表进行引脚的绑定 注 意要在工程的 setting 选项中选择芯片类型 EP2C5T144C8 才可对其进行引脚 绑定 然后在对工程进行仿真一遍 下图为进行绑定仿真后的得到反

温馨提示

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

评论

0/150

提交评论