基于FPGA的交通灯解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《EDA技术使用教程》 课程设计报告 题目名称:基于FPGA的十字路口交通灯控制器设计 学生姓名: 学 号: 专业年级: 指导教师: 时 间: 2015年1月3日 目录 目录 1 1 设计任务与要求 1 2 方案设计与论证 1 2.1系统设计思路 1 2.2系统设计方案分析 3 3 交通控制灯各模块电路设计 4 3.1分位电路模块fenwei 4 3.2 控制模块 controller 6 3.3 时钟分频模块frequency10Hz和frequency 11 3.4 带闪烁功能的七段数码驱动显示模块display 13 4 交通控制灯顶层电路设计 15 4.1 原理说明 15 4.2 端口设计说明 16 4.3 仿真与结果分析 17 5 心得体会 19 6 参考文献 19 设计任务与要求 基于FPGA的十字路口交通灯控制器 1)红、黄、绿灯分别用1bit控制; 2)每一个状态分配一个时间显示(两位十进制数,倒计时); 3)符合实际交通规律。 方案设计与论证 2.1系统设计思路 本系统设计中均采用混合设计的方法,将整体方案划分成若干个模块进行设计。采用VHDL硬件描述语言和原理图描述相结合的方式,对多种应用电路进行设计,其中底层电路(即模块电路)采用VHDL硬件描述语言方式实现,顶层电路采用原理图描述方式实现。 在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一个方向是(东西方向)是绿灯、黄灯、红灯;另一方向(南北方向)是红灯、绿灯、黄灯。设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间。其中绿灯、黄灯、红灯的持续时间分别是20s、5s和25s。当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要优先放行的车辆通过时,各方向上均是红灯,倒计时停止,且显示数字在闪烁。当特殊运行状态结束时,控制器恢复原来状态,继续正常运行。 系统设计流程 图1 系统设计流程 2.2系统设计方案分析 根据任务要求,计数器的值和交通灯亮灭关系如图2所示。 显然,此任务设计的核心是一个技术范围为0~50s的计数器和一个根据计数值作出规定反应的控制器。假设现有晶振为20MHz,因此还需要分频电路来得到10Hz和1Hz的时钟,最后要驱动七段数码管,还需要一个译码电路。 图2 计数值和交通灯亮灭关系 根据上面的分析,交通控制灯系统框图如图3所示; 图3 交通控制等系统框图 交通控制灯各模块电路设计 3.1分位电路模块fenwei (1)因为控制输出的倒计时数值可能是1位或者2位十进制数,所以七段数码管的译码电路前要加上分位电路(即将其分为2个1位的十进制数,如25分为2和5)。 (2)分位电路模块fenwei的外部端口如图4所示。fenwei模块输出的计数值numa[4..0]和numb[4..0]将十位数和个位数分别存到数组里,这样可以得到两个路口倒计时时间显示的十位和个位信号。 图4 分位电路模块fenwei外部端口 (3)分位电路模块fenwei的VHDL程序 程序说明:以10Hz的速度提取显示值。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fenwei is port(clock:in std_logic; numin:in integer range 0 to 25; numa,numb:out integer range 0 to 15); end; architecture fen of fenwei is begin process(clock) begin if rising_edge(clock) then if numin=20 then numa=2; numb=numin-20; elsif numin=10 then numa=1; numb=numin-10; else numa=0; numb=n

文档评论(0)

贪玩蓝月 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档