verilog课程设计-交通灯.docxVIP

  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文档。上传文档
查看更多
成绩 评卷人 姓名 学号 课程论文 论文题目 基于DE2的交通灯设计 完成时间 课程名称 Verilog语言设计 任课老师 专 业 年 级 1?交通信号控制黠设计要求与思路 1.1设计背景 FPGA是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,其种类 很多,内部结构也不同,但共同的特点是体积小、使用方便。本文介绍了用 VerUogHDL语言设计交通灯控制器的方法,并在QuartusII系统对FPGA芯片进 行编译下载,由于生成的是集成化的数字电路,没有传统设计中的接线问题,所以故 障率低、可靠性高,而且体积非常小。本文通过EDA设计,利用VerilogHDL语 言模拟仿真交通灯控制电路。 1?2设计要求 根据交通灯控制器要实现的功能,考虑用两个并行执行的always语句来分别 控制A方向和B方向的3盏灯。这两个always语句使用同一个时钟信号,以进 行同步,也就是说,两个进程的敏感信号是同一个。每个衣ways语句控制一个方 向的3种灯按如下顺序点亮,并往复循环:绿灯一一黄灯一一红灯,每种灯亮的时 间采用一个减法计数器进行计数,计数器用同步预置数法设计,这样只需改变预 置数据,就能改变计数器的模,因此每个方向只要一个计数器进行预置数就可以。 为便于显示灯亮的时间,计数器的输出均采用BCD码,显示由4个数码管来完成, A方向和B方向各用两个数码管。设定A方向红灯、黄灯、绿灯亮的时间分别 为:35s、5s、35s, E方向的红灯、黄灯、绿灯亮的时间分别为:35s、5s、35s0 假如要改变这些时间,只需要改变计数器的预置数即可。 1?3设计思路 两个方向各种灯亮的时间能够进行设置和修改,此外,假设B方向是主干道, 车流量大,因此E方向通行的时间应该比A方向长。交通灯控制器的状态转换表 见下表。表中,1表示灯亮,0表示灯不亮。A方向和E方向的红黄绿分别用R1、 Yl、Gl、R2、Y2、G2 来表示。 交通灯控制器状态转换表 A方向 B方向 绿灯(G1) 黄灯(Y1) 红灯(R1) 绿灯(G2) 黄灯Y2 红灯R2 1 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 从状态表中可以看出,每个方向3盏灯依次按如下顺序点亮,并不断循环: 绿灯一一黄灯一一红灯,并且每个方向红灯亮的时间应该与另一个方向绿灯、黄灯 亮的时间相等。黄灯所起的作用是用来在绿灯后进行缓冲,以提醒行人该方向马 上要禁行了。在使能控制信号(EN)控制时系统工作,并且要求有两个控制输入 信号:即复位信号(Reset)和备用模式设置信号(Standby),在复位信号控制 时,两个方向均为红灯,在备用模式设置信号控制时,两个方向均为黄灯。 1.4系统设计框图 系统采用的时钟频率为10KHZ,经分频为1HZ后送入控制计时电路,同时 送入控制计时电路的还有控制信号M2M1M0以及复位信号RST,控制交通灯的 运行状态。经处理后输出LED灯以及数码管显示电路的控制信号,从而完成整个 电路的控制与实现C 图1系统设计示意图A 组 信 号 灯 图1系统设计示意图 BLBBR BL B BR 组 BY 信 BG 号 灯 2.1时钟分频模块设计 系统的时钟输入为10KHZ的脉冲,而系统时钟计时模块需要1HZ的脉冲。 分频模块主要为系统提供所需的时钟计时脉冲。该模块将10KHZ的脉冲信号进行 分频,产生1S的方波(占空比为50%),作为系统时钟计时信号。计时模块用 来设定路口计时器的初值,并为扫描显示译码模块提供倒计时时间。 表1 I/O管脚描述 名称 方向 位宽 功能 ClklOK input 1 系统时钟(10KHZ) RST input 1 复位信号(高电平有效) Clkl output 1 分频后时钟信号(1HZ) VerUog HDL源代码如下: module fenpin(clklOk,rst,clk 1); //将 1 OK的频率分频为 1 input cll10k,rst; output clkl; reg [7:0]j; reg clkl; always@(posedge elk 10k or posedge rst) if(rst)begin clkl=0; j=0; end else if(j==9999)begin j=0; clklv=~clkl; end else j=j+l; Endmodule 2.2控制模块设计 VerUog HDL源代码如下: module control(EN_in,SW1,RST,Red 1 ,Red2,Yellow 1 ,Yellow2,Green 1 ,Green2); output Redl; output Red2; output Yellowl; output Ye

文档评论(0)

170****6769 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档