基于FPGA交通灯控制器设计解析文档格式.docx

上传人:b****5 文档编号:21234295 上传时间:2023-01-28 格式:DOCX 页数:23 大小:583.43KB
下载 相关 举报
基于FPGA交通灯控制器设计解析文档格式.docx_第1页
第1页 / 共23页
基于FPGA交通灯控制器设计解析文档格式.docx_第2页
第2页 / 共23页
基于FPGA交通灯控制器设计解析文档格式.docx_第3页
第3页 / 共23页
基于FPGA交通灯控制器设计解析文档格式.docx_第4页
第4页 / 共23页
基于FPGA交通灯控制器设计解析文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于FPGA交通灯控制器设计解析文档格式.docx

《基于FPGA交通灯控制器设计解析文档格式.docx》由会员分享,可在线阅读,更多相关《基于FPGA交通灯控制器设计解析文档格式.docx(23页珍藏版)》请在冰豆网上搜索。

基于FPGA交通灯控制器设计解析文档格式.docx

1.4设计方案分析..................................................................................3

第2章系统的设计及环境.......................................................................4

2.1系统结构图......................................................................................4

2.2系统接口信号描述..........................................................................4

2.3软件环境..........................................................................................4

2.4硬件环境..........................................................................................6

第3章系统模块设计...............................................................................8

3.1分频模块设计..................................................................................8

3.2计数器模块设计..............................................................................9

3.3控制器模块设计.............................................................................11

3.4显示译码模块设计.........................................................................12

3.5顶层连接模块.................................................................................13

结论............................................................................................................16

致谢............................................................................................................17

参考文献....................................................................................................18

附录............................................................................................................19

第1章绪论

1.1交通灯的简介

交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。

绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;

红灯亮时,禁止车辆通行。

交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

为了实现交通道路的管理,力求交通管理先进性、科学化。

用可编程控制器实现交通灯管制的控制系统具有以下优点:

①实验证明该系统实现简单、经济;

②能够有效地疏导交通,提高交通路口的通行能力;

③可编程控制器具有小型化、价格低、可靠性高;

1.2FPGA概述及发展

目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。

这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。

在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。

  

系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。

一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。

FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,但是功耗较低。

但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。

厂商也可能会提供便宜的但是编辑能力差的FPGA。

因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。

另外一种方法是用CPLD(复杂可编程逻辑器件备)。

随着微电子技术的快速发展,可编程逻辑器件应用技术得到了广泛的应用,而FPGA技术正处于高速发展时期,新型芯片的规模越来越大,成本也越来越低,低端的FPGA已逐步取代了传统的数字元件,高端的FPGA不断在争夺ASIC的市场份额。

未来可编程逻辑器件具有以下几个发展趋势:

1 大容量、低电压、低功耗FPGA大容量FPGA是市场发展的焦点。

2 系统级高密度FPGA。

随着生产规模的提高,产品应用成本的下降,FPGA的应用已经不是过去的仅仅适用于系统接口部件的现场集成,而是将它灵活地应用于系统级(包括其核心功能芯片)设计之中。

在这样的背景下,国际主要FPGA厂家在系统级高密度FPGA的技术发展上,主要强调了两个方面:

FPGA的IP(Intellec2tualProperty,知识产权)硬核和IP软核。

当前具有IP内核的系统级FPGA的开发主要体现在两个方面:

一方面是FPGA厂商将IP硬核(指完成版图设计的功能单元模块)嵌入到FPGA器件中,另一方面是大力扩充优化的IP软核(指利用HDL语言设计并经过综合验证的功能单元模块),用户可以直接利用这些预定义的、经过测试和验证的IP核资源,有效地完成复杂的片上系统设计。

3 FPGA和ASIC出现相互融合。

虽然标准逻辑ASIC芯片尺寸小、功能强、功耗低,但其设计复杂,并且有批量要求。

FPGA价格较低廉,能在现场进行编程,但它们体积大、能力有限,而且功耗比ASIC大。

正因如此,FPGA和ASIC正在互相融合,取长补短。

随着一些ASIC制造商提供具有可编程逻辑的标准单元,FPGA制造商重新对标准逻辑单元发生兴趣。

4 动态可重构FPGA动态可重构FPGA是指在一定条件下芯片不仅具有在系统重新配置电路功能的特性,而且还具有在系统动态重构电路逻辑的能力。

对于数字时序逻辑系统,动态可重构FPGA的意义在于其时序逻辑的发生不是通过调用芯片内不同区域、不同逻辑资源来组合而成,而是通过对FPGA进行局部的或全局的芯片逻辑的动态重构而实现的。

动态可重构FPGA在器件编程结构上具有专门的特征,其内部逻辑块和内部连线的改变,可以通过读取不同的SRAM中的数据来直接实现这样的逻辑重构,时间往往在纳秒级,有助于实现FPGA系统逻辑功能的动态重构。

1.3本设计所要实现的目标

基于FPGA的VerilogHDL语言设计一个用于十字路口的交通灯控制器来达到一下几个目的:

1 要求南北方向车道和东西方向车道两条交叉道路上的车辆交替运行,东西和南北各有一组红、黄、绿灯用于指挥交通;

2 红、绿灯的持续时间为60s,黄灯在绿灯转为红灯之前亮3s;

3 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行到几时显示;

4 有紧急情况车辆要求通过时,系统要能禁止普通车辆通行,两条道路均为红灯,计时器清零,当特殊情况结束后,南北方向信号灯变绿,东西方向信号灯变红,继续正常工作。

1.4设计方案分析

基于FPGA设计的交通灯控制系统电路简单、可靠性好。

交通灯的工作过程如下:

假设十字路口的交通干道为南北方向和东西方向。

初始状态为南北和东西干道上的灯均为红灯,然后南北方向上的绿灯先亮,允许车辆的行驶;

东西干道的红灯亮,不不允许车辆的行驶,同时两个路口的数码显示器开始倒计时,南北方向的绿灯亮57s后,绿灯熄灭,黄灯开始亮3s;

之后南北干道转为红灯,禁止车辆通行,同时东西方向的绿灯亮,允许东西方向车辆行驶,两个干道的数码显示器重新开始倒计时,57s后东西方向的绿灯熄灭,黄灯开始亮起,3s后转为红灯,禁止车辆通行,同时南北方向由红灯转为绿灯,允许车辆行驶。

之后不断重复以上过程。

当出现特殊情况时,东西和南北干道上的信号灯转为红灯,并停止倒计时,特殊情况结束后,南北方向的绿灯亮起,东西方向信号灯变红灯,重新开始计时,恢复正常工作。

第2章系统的设计及环境

2.1系统结构图

交通灯控制器的系统结构框图如图2.1所示。

图2.1交通灯控制器的系统结构框图

2.2系统接口信号描述

交通灯控制器接口信号定义如表2.2所示。

表2.2交通灯控制器接口信号定义

信号名

I/O

位宽

含义

clk

I

1bit

系统时钟输入

rst

复位信号(按键进入特殊工作状态)

light1

O

2bits

南北方向信号灯显示信号,00红灯亮,01黄灯亮,10绿灯亮

light2

东西方向信号灯输出显示信号

dis_drv1

7bits

南北方向倒计时显示驱动信号

dis_drv2

东西方向倒计时显示驱动信号

2.3软件环境

1)QuartusII

QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。

具有运行速度快,界面统一,功能集中,易学易用等特点。

QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;

支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:

1 可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;

2 芯片(电路)平面布局连线编辑;

3 LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;

4 功能强大的逻辑综合工具;

5 完备的电路功能仿真与时序逻辑仿真工具;

6 定时/时序分析与关键路径延时分析;

7 可使用SignalTapII逻辑分析工具进行嵌入式的逻辑分析;

8 支持软件源文件的添加和创建,并将它们链接起来生成编程文件;

9 使用组合编译方式可一次完成整体设计流程;

10 自动定位编译错误;

11 高效的期间编程与验证工具;

12 可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;

13 能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。

2)Modelsim仿真

Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。

它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。

主要特点:

1 RTL和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真;

2 单内核VHDL和Verilog混合仿真;

3 源代码模版和助手,项目管理;

4 集成了性能分析、波形比较、代码覆盖、数据流ChaseX、SignalSpy、虚拟对象VirtualObject、Memory窗口、Assertion窗口、源码窗口显示信号值、信号条件断点等众多调试功能;

  

5 C和Tcl/Tk接口,C调试;

6 对SystemC的直接支持,和HDL任意混合;

7 支持SystemVerilog的设计功能;

8 对系统级描述语言的最全面支持,SystemVerilog,SystemC,PSL;

9 ASICSignoff。

2.4硬件环境

开发板运用了:

6个LED发光二极管,4个7段数码管,一个按键及时钟信号如图2.3所示。

利用开发板上的6个LED发光二极管分别来模拟南北和东西方向两条道路的红、黄、绿灯,利用按键来控制交通灯处于正常工作状态或特殊工作状态。

4个7段数码显示器用来显示两条道路上亮灯的倒计时情况,每个路口使用2个,共需要4个。

在系统的输入信号中包括了一个按键开关,一个时钟信号,输出信号是由6个LED输出信号和4个7段数码显示器驱动信号完成的。

交通控制器的外部时钟信号是由晶振产生的,开发板系统采用的是晶振频率为50MHz的信号。

交通灯控制器的计时单位为秒,其时钟频率设定为1Hz,所以需要分频模块对外部时钟信号进行分频操作。

图2.3交通灯示意图

第3章系统模块设计

在系统模块的设计中运用了5个模块:

分频器模块、计数器模块、控制器模块、显示译码模块及顶层连接模块来实现模拟交通灯控制器的设计。

3.1分频器模块设计

1)分频器实现的是将高频时钟信号转换成低频时钟信号,用于触发控制器、计数器和扫描显示电路。

具体实物模块如图2.4所示。

图2.4分频器模块

2)模块原理分析。

在本次设计中开发板提供的时钟频率为50MHz,而秒计数器需要的时钟频率为1Hz,所以需要降低开发板提供的,以满足计时的需要,我们将这种频率的变换关系称为分频。

假设原始的时钟周期为T,分频后的时钟周期为t,则分频倍数的计算公式为:

在进行分频之前首先计算n,分频的基本原理是对原始时钟的周期进行计数,每计数满n/2个时钟周期,目标时钟就进行一次翻转。

原始时钟clk和目标时钟clk_1的关系如图2.5所示。

图2.5分频原理

本设计中,原始的未分频时钟是50MHz,周期是

秒,分频后的时钟周期t=1秒,代入公式得到n/2=25000000,也就是每次计数达到25000000个时钟周期以后就把输出的分频时钟信号翻转一次。

3)模块接口定义。

分频器模块接口定义如表2.6所示。

表2.6分频器模块接口定义

信号名

系统50MHz时钟输入

clk_1

分频后频率为1Hz的时钟输出

4)模块仿真波形图如图2.7所示。

图2.7分频器仿真结果

3.2计数器模块设计

1)这里需要的计数器的计数范围为0-60。

计到0后,下一个时钟沿回复到60,开始下一轮计数。

此外,当检测到特殊情况(Y1=‘1’)发生时,计数器暂停计数,而系统复位信号rst则使计数器异步清零。

实物模块如图2.8所示。

图2.8计数器模块

2)模块原理设计。

计数器用于对交通灯亮灯时间进行计时,本设计中的计时显示采用倒计时方式,所以在进行计数模块设计的时候,要以60作为计时的起点,每进来一个时钟有效信号,计数器数字就减1。

由于绿灯转为红灯前3s要亮黄灯,所以计时器剩最后3s时要发出一个点亮黄灯的信号。

计时器模块接口定义如表2.9所示。

表2.9计时器模块接口信号定义

分频后周期为1s的时钟信号

复位信号

count

6bits

计时输出信号

Y1

黄灯闪亮信号

4)模块仿真结果。

波形仿真结果如图2.10所示。

图2.10计数器仿真结果

3.3控制器模块设计

1)控制器的作用是根据计数器的计数值控制各方向上的LED发光二极管的亮、灭,当计时时间到达,状态控制器就响应,自动跳转到下一个状态。

此外,当检测到特殊情况发生时,无条件点亮红灯的二极管。

根据交通灯的工作过程,交通灯的工作状况如下表所示。

正常工作时交通灯在前4个状态间运行,出现紧急情况进入状态s5,紧急情况结束后进入s1状态。

表2.11交通灯状态转换表

当前状态

当前状态下交通灯工作情况描述

持续时间

下一个状态

S1

南北干道绿灯亮,东西干道红灯亮

57s

S2

南北干道黄灯亮,东西干道红灯亮

3s

S3

南北干道红灯亮,东西干道绿灯

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1