基于FPGA的交通灯数字电路设计

更新时间:2023-08-12 00:23:01 阅读量: 外语学习 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

使用VHDL语言在Quartus Ⅱ软件平台下实现了对交通灯控制器的设计仿真,并通过Cyclone系列EP1C12Q240C8(QuickSOPC开发板)器件下载模拟实现。教学中在实验室采用EDA技术即可完成较复杂数字电路系统的设计仿真,体现EDA教学的优越性。

V A

一【术发蠢技研】

基于F GA的交通灯数字电路设计 P张崇武(山东电子职业技术学院山东济南 201) 5 0 4

要:使用V D ̄言在Q a t s I软件平台下实现了对交通灯控制器的设计仿真,并通过C c o e HL uru I y ln系列E 1 1Q 4 C Q i k O C P C 2 2 0 8( u c S P开发板 )器件下载模拟实

现。教学中在实验室采用E A D技术即可完成较复杂数字电路系统的设计仿真,体现E A D教学的优越性。 关键词:交通灯控制器;F G:V D;模拟仿真 P A HL中图分类号:u文献标识码:A文章编号:1 7 -7 9 2 1 )0 2 1 4 1 4 6 1 5 7( 0 0 9 0 0一O

0前言

本设计的核心是一个计数外围为 04 ( 5s— 9共 0 )的计数器和一个根据计数值做出规定反应的控制器。另外,核心板提供的时钟为4Mt,因此还 8t z需要一个分频电路。还需要驱动七段数码管,因此还必须一个译码电路。 系统框图如图 l示。所

交通灯控制器的设计是数字电路教学中的经典问题,传统的设计方法是基于中、小规模集成电路进行的,采用的电路元件多、接线复杂、故障率高、可靠性低,修改电路的功能就要修改硬件电路,在教学上费时、费

力还不容易调试,成功率很低。随着电子设计自动化 (D )技术的发展, EA在线可编程逻辑器件的出现,使实验室中制作专用集成电路成为可能。我们使用现场可编程门阵列 ( PA作为设计载体,以硬件描述语言 FG ) (H L VD )作为系统设计的主要表达手段,以计算机、大规模可编程逻辑器件的开发软件及开发实验系统为设计工具,使得我们在实验室就可以制作专用集成电路,大大提高了教学质量。1设计目标

3设计条件根据设计方案采用的设计语言是VD语言,自上而下的设计方法,软 HL

件环境是 Qa ts I.英文版,硬件环境是 EA验室的Sa tOC u ru I5 0 D实 mrS P实验箱,只采用了Q ikO C uc SP核心板与交通灯模块。其中Q ikOC u cS P核心板上搭载c c0e Pc Q4的FG器件,该器件有 5个 I H,还有一个可供用户 y lnE l62 O PA 7

O自己设计的P C,交通灯模块就是接在此P C上,核心板采用的系统时钟 AK AK是4 M z 8H。

在十字路口,每条道路各有一组红、黄、绿灯 (E灯 )和倒计时显 LD示器 (数码管 ),要求: 1 )在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一方向是绿、黄、红,另一方向是红、绿、黄。 2 )设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿、黄、红的持续时间分别是2 s 5、2 s 0、 s 5。 3当任意一条路上出现紧急情况时,如当消防车、救护车或其他需 )要优先放行的车辆通过时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁。当特殊状态结束后,控制器恢复原来状态,继续正常运行。 4 )创新功能,如在红灯结束前5使用声音提醒司机做好起步准备, s使交通灯更加人性化。

4设计过程设计采用自上而下的设计方法,首先根据交通灯控制系统的功能要求,将功能要求转化成系统状态图,然后再对系统进行模块的划分、定义

各个模块的 IO口及具体功能,本系统共有 7模块,分别是分频模块/端个 f ru ny0 fru ny、计数模块 cu tr、控制模块 cnr le、分 e qec l和 e qec l o ne l o to r l位模块 fn e、显示模块 ds ly声音模块 b e,然后对各个模块用 ewi ipa、 ep VD语言编程、编译及功能仿真,检查所编程序是否正确。如果正确则生 HL成图形文件供顶层文件调用;如果出现错误,则要修改到正确为止,因为顶层程序是对底层程序的概括,它是把底层程序各个模块连接起来,相当于把每个模块的功能汇聚到一起。实现整个系统的控制功能。所以底层程序的正确与否关系到顶层程序的运行结果。 1 )计数模块在本系统中计数模块根据时钟上升沿的个数来计数,当时钟频率为

2设计方案本设计逻辑简单,用到的外围器件也不多,设计的重点在计时上面, 因此计数器是必不可少的。对于这个系统,既可以只用计数器实现,也可以使用计数器配合状态机来实现,但两个状态机之间的同步有困难,因此只用计数器实现

1z H时每来一个时钟上升沿就是 1,时钟频率是 Pfru ny模块将 1t分。 s h e qe cl Kt z频得到的。这里需要的计数器的计数范围为0 9到4,计到 4以后,下一个时 9钟沿恢复到O,开始下一轮计数。此外,当检测到特殊情况 (o d0 hl= )时, 计数器暂停计数,而系统复位信号r str s t0则使计数器异步清零。 ee (e e= ) 2 )控制模块控制器的作用是根据计数模块的cu tu[. 0端送来的计数值控制 onnm 5 .]发光二极管的亮、灭,输出端口为 rd、 r d、 g en、 g en、 ea e b re a reb y loa e lw。另外控制器还负责输出倒计时数值给七段数码管的分 elw、y lob

位译码电路, ̄nm[. 0、 nm[.0端口输出。以及输出一个使能信 u a 4.] u b4 .]号给声音模块 (nO。此外,当检测到特殊情况 ( od0 e= ) h l= )发生时,无条件点亮红色的发光二极管。 3 )分位模块因为从控制器nm[.0、n m[.0端口输出的倒计时数值可能是 ua 4 .] ub 4.] l或者 2十进制数,所以在七段数码管的译码电路前要加上分位电路位位

(即将其分为2 l的十进制数,如2分为 2 5分为0 7个位 5和,7和 )。使用简单的I语句即可实现功能。 F图 1

(转第8页 )下 5

本文来源:https://www.bwwdw.com/article/mx1j.html

Top