基于VHDL语言与EDA交通灯控制器设计毕业论文.doc

基于VHDL语言与EDA交通灯控制器设计毕业论文.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 名 称:VHDL语言与EDA课程设计 设计题目: 交 通 灯 控 制 器 系 别: 通信与控制工程系 专 业: 电子信息工程 摘 要 本系统采用来设计交通灯控制器,实现了红、绿灯的功能交通灯控制器设计, 系统地阐述了用FPGA/CPLD实现数字电路的设计过程, 展示了FPGA/CPLD的强大功能和非凡特性。,EDA,FPGA,quartusII 目 录 设计要求 1 1方案论证与对比 1 1.1方案一 1 1.2方案二 1 2 设计过程 1 2.1总体设计慨要 1 2.2 交通灯原理分析 2 3 模块设计及仿真 3 3.1 顶层文件的设计 3 3.2 状态控制模块(jtd ctrl) 4 3.3倒计时模块(jtd time)的设计 4 3.4数码管显示模块(jtd xs)的设计 6 3.5信号灯显示模块(jtd light)的设计 7 3.6引脚锁定 8 4编程下载 9 5结束语 9 6致谢 10 7参考文献 10 交通灯控制器 设计要求 设东西方向和南北方向的车流量大致相同,因此红、黄、绿灯的时长也相同,定为红灯45秒,黄灯5秒,绿灯40秒,同时用数码管指示当前状态(红、黄、绿灯)剩余时间。另外,设计一个紧急状态,当紧急状态出现时,两个方向都禁止通行,指示红灯。紧急状态解除后,重新计时并指示时间。 1方案论证与对比 1.1方案一 采用VHDL语言直接编写,实现交通灯指挥功能。但此方案编写复杂且困难,开发时间较长。编译后,不便读懂,找出错误很困难。 1.2方案二 采用模块层次化设计,将此设计分为四个模块:计时模块,状态控制模块,信号灯显示模块,数码扫描显示模块。将四个模块再分别用VHDL语言编写成,做成原理图模块,用原理图输入法做整个设计的顶层文件。此方案设计方便、简单,方法易懂、易操作,也易于寻找程序中的错误,故我们采用此方案。 2 设计过程 2.1总体设计慨要 根据交通灯控制器的功能与要求将其总体电路分为。外部脉冲振荡器的频率选为 kHz和1 Hz的信号,1 Hz信号用做模块的计数脉冲M为紧急状态和自动运行状态的控制端。总体框图: 2.2 交通灯原理分析 当M = 1时,进入紧急状态,S输出为B100100,即南北、东西向均为红灯亮。 当M = 0时,交通即开始正常工作。M=‘0’时,经过40秒, S由B100010变为B100001,再经过5秒,S变为B010100,再经过40秒,S变为B001100,再经过5秒,S变为B100010……如此循环下去。 当M=‘1’跳变到M=‘0’时,数码管继续计时,恢复正常工作状态。 南北、东西方向的红绿灯按表一表二变化。 表一 交通灯状态转换表 东西(A)方向 红灯 红灯 绿灯 黄灯 45秒 40秒 5秒 南北(B)方向 绿灯 黄灯 红灯 红灯 40秒 5秒 45秒 表二 交通灯状态转换表 M S 备注 1 100100 长时间亮红灯 0 状态1:100010 持续40秒,转到状态2 状态2:100001 持续5秒,转到状态3 状态3:010100 持续40秒,转到状态4 状态4:001100 持续5秒,转到状态1 注:S的六位分别对应东西方向(A方向)的红绿黄和南北方向(B方向)的红绿黄。‘1’表示亮,‘0’表示灭。 3 模块设计及仿真 3.1 顶层文件的设计 顶层原理图设计可以依据系统框图进行,由反馈控制,倒计时,数码管显示,信号灯显示模块(jtd ctrl,jtd time,jtd xs,jtd light)五部分组成。其顶层原理图如图2所示。 顶层文件的仿真波形图如图3所示: 3.2 状态控制模块(jtd ctrl) 状态控制模块根据倒计时模块(jtd time)的输出信号和1hz的时钟信号,产生系统的状态机,控制其他部分的协调工作。该模块的源文件程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JTD_CTRL IS PORT ( CLK :IN STD_LOGIC; AT,BT : IN STD_LOGIC_VECTOR(7 DOWNTO 0); S: OUT STD_LOGIC_VECTOR(1 DOWNTO 0)); END JTD_CTRL; ARCHITECTURE JTD OF JTD_CTRL IS SIGNAL Q :STD_LOGIC_VEC

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档