网站大量收购独家精品文档,联系QQ:2885784924

《Verilog HDL数字系统设计——原理、实例及仿真》课件第10章.pptx

《Verilog HDL数字系统设计——原理、实例及仿真》课件第10章.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第10章综合应用实例

10.1交通灯控制系统

10.2多功能数字钟

10.3乐曲播放器

10.4VGA控制器

10.1交通灯控制系统

交通灯控制系统是一个比较简单的数字系统,它是通过控制交通道路的通行和等待时间来实现交通控制的,因此控制系统的主要功能是实现红、绿灯状态控制并显示当前状态持续的时间。这里设计的一个交通控制系统具有紧急状态、测试状态和正常工作三种状态。紧急状态用于处理一些突发的状态,如戒严等,此时双向路口禁止通行;测试状态可用于检测信号灯和数码管的硬件是否正常;正常工作状态则用于双向路口的信号灯控制。

交通灯控制系统通常控制十字路口两个方向的信号灯,

两个方向中车流量比较大的道路称为主干道,其绿灯的时间较长,而另一个方向就是次干道。两个路口的工作原理是相同的,主要区别是红、绿灯的时长不同,所以可以先实现一个路口的控制模块,然后再用该模块构成一个十字路口的控制系统。

10.1.1交通灯控制系统的设计思路

这里先介绍一个路口控制模块的设计思路。该模块包括复位状态、正常工作状态、紧急状态和信号灯测试状态,

reset_n(复位信号)、emergency(紧急状态信号)和test(测试状态信号)是状态控制输入信号。

10.1.2一个路口控制模块的代码

一个路口控制模块traffic_con的各端口信号的说明如下:输入信号:

clk——1Hz时钟信号;

reset_n——复位信号,低电平有效;

prim_flag——主、次干道标志,1为主干道,0为次干道;red_time——红灯时间(秒);

green_time——绿灯时间(秒);

yellow_time——黄灯时间(秒);

emergency——紧急状态控制信号;

test——信号灯测试控制信号。

输出信号:

wait_time——当前状态的倒计时时间输出;

ryg_light[2:0]——红、黄、绿信号灯状态输出。

【代码10.1】单个路口交通灯控制模块。

主干道和次干道的初始化状态截图如图10.1和图10.2所示,

图10.1中prim_flog=1,表示该路口是主干道。因此,在复位

信号无效后,红、黄、绿灯的输出信号ryg_light立即为3b001,即绿灯亮,由于green_time=6,所以绿灯持续时间应为6秒钟,在wait_time输出分别为6、5、4、3、2、1后,ryg_

light为3b010,绿灯亮,绿灯持续2秒后,ryg_light=3b100,红灯亮,红灯持续9秒钟后,ryg_light=3b001,绿灯再次亮。

Itrafictest/primflag

+jitrafictestiwaitLtime120

+010oo

心第Nowb0ons

Cursor1)96ns

wave-default

Messages

jtrafictestick

+今jtrafic_testired_tme

田trafic_test/yellow_time2

图10.1主干道复位仿真波形

010

3000ns

001

4000ns

o

1000ns

Messages

jtrafic_test/ck

jtrafic_testjreset_n

+jtrafic_testredtime

+今jtrafic_testigreentime

+

jtrafic_testiyelow_time

jtrafic_testjemergency

jtrafictestitest

jtrafic_testjprimflag

+jtrafictest/wait_time

+ftrafic_testiryg_light

12

|0

0

0

3

o0101)000Yo0

图10.2次干道复位仿真波形

图10.2中,prim_flag=0,表示该路口是次干道。在复位

信号无效后,红、黄、绿灯的输出信号ryg_light=3b100,即红灯先亮。红灯持续9秒后依次是绿灯亮6秒、黄灯亮2秒。

图10.3所示是通行时间重新设置后的仿真波形。图中可以看出,红、绿、黄灯的通行时间分别由9秒、6秒、2秒变为12秒、8秒和4秒后,新的灯时按照新输入时间运行;当前的绿灯状态结束后,随后的黄灯时间变为4秒,红灯时间变为12秒。

wave-defaut

Messagesjtrafic_testick

jtrafic_testir

您可能关注的文档

文档评论(0)

乐毅淘文斋 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档