- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字系统与逻辑设计实验课题1.4.2:交通灯控制器
PAGE12 / NUMPAGES17
课题1.4.2:交通灯控制器
一.设计课题的任务要求:
(一)、实验目的
1. 熟练掌握 VHDL 语言和QuartusII 软件的使用;
2. 理解状态机的工作原理和设计方法;
(二)、相关知识
本实验要利用 CPLD 设计实现一个十字路口的交通灯控制系统,与其他控制系统一样,本系统划分为控制器和受控电路两部分。控制器使整个系统按设定的工作方式交替指挥车辆及行人的通行,并接收受控部分的反馈信号,决定其状态转换方向及输出信号,控制整个系统的工作过程。
路口交通灯控制系统的有东西路和南北路交通灯 R(红)、Y(黄)、G(绿)三色,所有灯均为高电平点亮。设置20s 的通行时间和5s 转换时间的变模定时电路,用数码管显示剩余时间。提供系统正常工作/复位和紧急情况两种工作模式。
(三)、实验任务
1.基本任务:
设计制作一个用于十字路口的交通灯控制器。
1). 南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄灯和红灯的持续时间分别为20 秒、5 秒和25 秒;
2). 当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,继续正常运行;
3). 用数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间;
二.系统设计(包括设计思路、总体框图、分块设计)
(一)设计思路
1.总体设计输入部分:
CLK时钟频率输入,可由实验板上直接提供,为准确确定时间长度,选择1024Hz信号。
紧急状态按键拨码开关EMERGENCY,当将其置为高电平,表示紧急情况发生,两个方向均为红灯亮,计时停止;当置其为低电平,信号灯和计时器恢复原来状态,正常工作。
复位拨码开关RESET,当将其置为高电平,表示复位,工作停止,全部回到初始状态;当置其为低电平,重新开始工作。
2.总体设计输出部分:
东西方向和南北方向各使用3个LED显示,LIGHT1,LIGHT2,红黄绿各代表红黄绿灯。
东西方向和南北方向计时均为2位数,共需要4个LED七段数码管显示。
(二)总体框图
1.输入输出示意图
Light1
Clk
Light2
Emergency
Num
Reset
B_out
东西向交通灯
南北向交通灯
数码管显示输出
控制数码管显示
时钟(1024hz)
开关1
开关2
2.模块示意图
译码器
译码器
时钟
时间计数器
东西灯
南北灯
控制器
分频器
复位
倒计时显示
紧急请求
3.流程图
Y
Yes
南北绿,东西红
是否绿灯时间到20s?
对黄灯开始计时
南北黄,东西红
是否黄灯时间到5s?
对绿灯开始计时
南北红,东西绿
是否绿灯时间到20s?
对黄灯开始计时
南北红,东西黄
是否黄灯时间到5s?
对绿灯开始计时
Yes
yes
yes
NO
no
NO
no
启动/复位
4.RTL图
5.状态显示
红绿灯显示状态
状态
S0
南北绿灯亮,东西红灯亮
S1
南北黄灯亮,东西红灯亮
S2
南北红灯亮,东西绿灯亮
S3
南北红灯亮,东西黄灯亮
S4
南北东西红灯都亮
(三)分块设计 在VHDL设计中,采用自顶向下的设计思路。
1.顶层模块中,根据硬件设计,设置如下端口:
外部时钟信号:CLK
紧急状态按键:EMERGENCY
南北方向状态灯:LIGHT1
东西方向状态灯:LIGHT2
数码管显示信号:NUM
控制数码管:B_OUT
2.在底层中,把不同功能分模块设计。
FREQUENCY模块,由于外部时钟信号CLK的频率为1024Hz,而实际需要的内部计时时钟频率为1Hz,需要一个分频电路。
输入端口:CLK外部时钟信号
输出端口:CLK_OUT分频后信号
COUNTER模块,由于整个过程的显示周期为50秒,即50个状态,所以该模块为计数器模块,计数周期为50,输入为1Hz的外部时钟,并加入紧急信号和复位信号,当输入紧急信号,计数停止,当输入复位信号,计数置1.通过该计数器的计数输出信号来控制LIGHT模块和COUNTDOWN模块的状态。
输入端口:CLK时钟信号,EMERGENCY紧急信号,RESET复位信号
输出端口:COUNTER计数状态信号
COUNTDOWN模块,倒计时显示模块,通过输入的COUNTER和CLK来控制数码管共阴极和7段数码管数字显示控制。
输入接口:CLK时钟信号,COUNT计数器信号
输出接口:CAT_TEMP共阴极控制,NUMIN数字输出
bian_ma_6模块:将输入
原创力文档


文档评论(0)