基于FPGA的交通灯控制器设计

合集下载

基于FPGA的交通灯控制器的设计说明书

基于FPGA的交通灯控制器的设计说明书


设计内容及要求
1、主、支干道的四个路口各设绿、黄、红、左拐、右拐、人行六个指示灯用于 指示状态,两位显示数码管用于显示倒计时时间。 2、当主、支道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次 放行40s,在每次由绿灯转换为左拐,左拐变换为红灯时,要有5s的黄灯作为 过渡。 3、每个灯亮到最后5s时,都有闪烁。 4、通行延时功能,智能交通灯控制:当某一干道遇到紧急情况时,需要一直通 行时,允许这支干道处于常通行状态,相应另一条干道处于禁行状态。 5、电子眼功能:当某一干道处于红灯时,如果有车闯过警戒线,那么就会被高 清数码照相机照下来。 6、路况显示功能:当某一干道处于通行时,可以动态的显示:车速,以及路况 信息。 7、硬件主要由FPGA构成,电路复杂,结构紧凑 ,硬件成本比较低。 8、用Verilog HDL语言设计上述功能的交通灯控制器,并用层次化设计方法该电 路。
闪烁子程序
12864显 示子程序
交通灯6个指示灯子程序流程图
状态机设计
整个程序包括五个状态机 例:十字路口左上角的交通灯对应这的9个状态: 分别是红、绿、黄、左拐、黄、右拐、黄、人行、红。
通行延时控制子程序流程图
交通灯闪烁子程序流程图
闯红灯监测子程序流程图
测车辆速度子程序流程图
MS12864R显示子程序流程图
例:主干道绿灯通行,且通行不畅的状态。
此时键8为1,从图4-24看出二极管D7(绿灯)亮,(交通处于通 行状态)数码管显示为11,MS12864R第一行显示的是车013km/h ,第二行显示的是路况:不畅。(此时有车通过,且第一辆车作为 开启MS12864R)
谢谢大家!
谢谢大家!
感谢您的观看!
欢迎批评指导!!

基于FPGA的交通灯的设计

基于FPGA的交通灯的设计

课程设计一、设计任务要求基于FPGA的交通灯控制器设计1、总体要求:实现十字路口的交通灯有序显示2、具体要求:按照开发板上的两组红、黄、绿做为南北双向指示灯红灯亮60秒,绿灯亮55秒,黄灯亮5秒要求采用状态机实现状态切换3、附加要求:采用两组两位数码管实现时间倒计时显示二、设计思路1、总体设计方案由设计任务要求可知输入部分有:CLK时钟频率输入,可由实验板上直接提供,本设计选用1kHZ时钟频率。

输出部分有:1)东西方向和南北方向各使用3个LED显示,红黄绿各代表红黄绿灯。

2)东西方向和南北方向计时均为2位数,共需要4个LED七段数码管显示。

由于为共阴极控制,输出三个SEL0,SEL1,SEL2信号控制选择数码管显示,A,B,C,D,E,F,G信号为输出显示的内容。

3)R1,G1,Y1;R2,G2,Y2信号分别为东西南北红绿灯的输出控制信号。

总体设计软件原理图如下所示设计方案原理图:图1A对应13脚; B对应30脚;C对应15脚; D对应31脚;E对应33脚; F对应32脚;G对应35脚; R1对应4脚;R2对应5脚;Y1对应3脚;Y2对应10脚;G2对应8脚;SEL0对应14脚; SEL1对应11脚;SEL2对应12脚.CLK对应24脚;交通灯系统结构图如下所示:红黄绿红黄绿图2状态切换的状态图如下图:图2、模块设计及结果在VHDL设计中,采用自顶向下的设计思路。

顶层模块中,根据硬件设计,设置如下端口:外部时钟信号:Clk东西方向状态灯控制信号:R1,G1,Y1;南北方向状态灯控制信号:R2,G2,Y2;(1)分频模块:由于外部时钟信号clk的频率为1KHz,而实际需要的内部计时时钟频率为1Hz,需要一个分频电路。

输入端口:clk外部时钟信号输出端口:clk_out分频后信号源程序代码如下:数码管显示信号:A,B,C,D,E,F,G;数码管共阴极控制:SEL0,SEL1,SEL2;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Frequency1 isport(clk:in std_logic; --外部时钟信号clk_out:out std_logic --分频后信号);end Frequency1;architecture Frequency1_arc of Frequency1 isbeginprocess(clk)variable temp:integer range 0 to 999;beginif(clk'event and clk='1')thenif(temp=999)then --分频计数temp:=0;clk_out<='0';elsetemp:=temp+1;clk_out<='1';end if;end if;end process;end;图4(2)状态选择模块:由于共需要显示4个数字,需要循环点亮7位数码管,该模块通过输入的时钟信号,循环输出4个选择信号。

基于FPGA的交通灯控制器设计21674

基于FPGA的交通灯控制器设计21674

数字系统课程设计基于FPGA的交通控制灯设计姓名:学号:班级:摘要随着社会的发展,城市规模的不断扩大,城市交通成为制约城市发展的一大因素。

人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题当然也日益重要。

因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。

有了交通灯,人们的安全出行也有了很大的保障。

自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。

尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可或缺的工具和手段,这些都为交通灯控制系统的设计提供了一定的技术基础。

本课程设计运用erilog HDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示,并最后进行了软件实现,达到了系统要求的功能。

设计原理设计要求设计一个交通控制器,用LED 显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数 主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s ,支干道每次放行25s 。

每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s 。

能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。

用LED 灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。

能实现特殊状态的功能显示, 设计思路和原理本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。

设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S 后,主干道和支干道上的黄灯都亮启,持续5S 后,主干道上红灯亮启,支干道上绿灯亮启持续25S ,之后主干道和支干道上的黄灯都亮启5s ,一个循环完成。

循环往复的直行这个过程。

基于FPGA的交通灯

基于FPGA的交通灯

《EDA技术使用教程》课程设计报告题目名称:基于FPGA的十字路口交通灯控制器设计学生姓名:学号:专业年级:指导教师:时间:2015年1月3日目录目录 (1)1 设计任务与要求 (2)2 方案设计与论证 (2)2.1系统设计思路 (2)2.2系统设计方案分析 (4)3 交通控制灯各模块电路设计 (5)3.1分位电路模块fenwei (5)3.2 控制模块 controller (6)3.3 时钟分频模块frequency10Hz和frequency (11)3.4 带闪烁功能的七段数码驱动显示模块display (14)4 交通控制灯顶层电路设计 (16)4.1 原理说明 (16)4.2 端口设计说明 (17)4.3 仿真与结果分析 (17)5 心得体会 (19)6 参考文献 (20)1设计任务与要求基于FPGA的十字路口交通灯控制器1)红、黄、绿灯分别用1bit控制;2)每一个状态分配一个时间显示(两位十进制数,倒计时);3)符合实际交通规律。

2方案设计与论证2.1系统设计思路(1)本系统设计中均采用混合设计的方法,将整体方案划分成若干个模块进行设计。

采用VHDL硬件描述语言和原理图描述相结合的方式,对多种应用电路进行设计,其中底层电路(即模块电路)采用VHDL硬件描述语言方式实现,顶层电路采用原理图描述方式实现。

(2)在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一个方向是(东西方向)是绿灯、黄灯、红灯;另一方向(南北方向)是红灯、绿灯、黄灯。

设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间。

其中绿灯、黄灯、红灯的持续时间分别是20s、5s和25s。

当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要优先放行的车辆通过时,各方向上均是红灯,倒计时停止,且显示数字在闪烁。

当特殊运行状态结束时,控制器恢复原来状态,继续正常运行。

(3)系统设计流程提出系统设计要求需求分析模块化方案设计底层电路设计----VHDL模块电路设计顶层电路设计----原理图描述+各模块连接FPGA整体方案设计实现FPGA整体方案编译仿真功能仿真时序仿真硬件搭接和运行FPGA整体方案设计完成图1 系统设计流程2.2系统设计方案分析根据任务要求,计数器的值和交通灯亮灭关系如图2所示。

基于FPGA的交通灯控制电路设计

基于FPGA的交通灯控制电路设计

基于FPGA的交通灯控制电路设计本文介绍了一种基于FPGA的交通灯控制电路设计。

交通灯控制是城市交通管理的一个重要部分,它有助于维护交通秩序,减少交通事故,提高交通效率。

在本电路设计中,我们使用FPGA作为主控制器,并通过数码管、按钮和LED模块与外部交互。

同时,我们还采用了状态机设计方法,以实现灵活的控制逻辑和连续的动态过渡。

首先介绍了本电路设计的硬件设计。

在本设计中,我们使用了FPGA作为主控制器,数码管用于显示当前状态,按钮用于进行手动控制,LED模块用于显示当前灯颜色。

在硬件设计中,我们通过适当的寄存器和时钟模块,实现了稳定的时序控制和同步操作。

接着,我们介绍了本电路设计的软件设计。

在软件设计中,我们采用了状态机设计方法,将交通控制逻辑分为多个状态,通过状态间的转移完成交通灯的切换控制。

具体地,我们将交通灯控制状态划分为三种:绿灯、黄灯和红灯。

在每种状态下,我们通过计数器和状态转移条件来实现精确的时间控制和灯颜色的自动切换。

同时,为了提高控制的灵活性,我们设计了手动控制模式,让用户可以通过按钮手动切换交通灯状态。

最后,我们介绍了本电路设计的实现结果。

在实现过程中,我们使用了Quartus II软件进行综合、布局和验证,并将设计的电路下载到FPGA开发板上进行实验。

实验结果表明,本交通灯控制电路设计实现了稳定、灵活和精确的交通控制,能够满足不同的交通道路需求。

综上所述,本文介绍了一种基于FPGA的交通灯控制电路设计,通过硬件和软件设计,实现了稳定、灵活和精确的交通控制。

该设计可以为城市交通管理提供帮助,为交通事故和交通拥堵的缓解做出贡献。

基于FPGA的交通灯设计

基于FPGA的交通灯设计

交通信号灯控制器目录第一章系统设计1.1设计要求 (3)1.2 方案比较 (3)1.3方案论证 (3)1.3.1总体思路 (4)1.3.2设计方案 (5)第二章单元电路设计2.1 4位二进制计数器 (6)2.2 两位二进制计数器 (6)2.3定时时间到检测电路 (6)2.4红黄绿灯输出控制电路 (6)2.5计时器 (6)第三章软件设计3.1用VHDL编写程序 (6)3.2 程序流程 (7)3.3程序清单及仿真 (7)第四章系统测试 (7)第五章结论 (8)参考文献 (9)附录 (10)0 引言随着经济的飞速发展,现代化交通管理成了当今的热点问题。

一个完善的交通控制功能,可使混乱的交通变得井然有序,从而保障了人们的正常外出。

本系统通过设计一交通信号灯控制器,达到交通控制的目的。

除实现交通灯基本的控制功能外,系统还可显示该灯本次距灯灭所剩的时间,具有更完善的控制功能,使行人提前做好起、停准备,具有更强的实用性。

第1章 系统设计1.1设计要求(1) 交通灯从绿变红时,有4秒黄灯亮的间隔时间。

(2) 交通灯红变绿是直接进行的,没有间隔时间。

(3) 主干道上的绿灯时间为20秒,支干道的绿灯时间为10秒。

(4) 在任意时间,显示每个状态到该状态结束所需要的时间。

1.2方案比较要实现对交通灯的控制,有很多的方案可供选择。

方案一:由两块CMOS 集成电路完成定时和序列控制功能,三只双向晶体管完成实际的电源切换功能。

电路中采用10V 负电源(可由市电电压经降压、整流、滤波、稳压而得)、CD4049集成电路、计数器CD4017等器件。

其中双向晶闸管选用400V 、4A 的,二极管选用BY127型和1N4148型,稳压管选用10V 、1W 的。

因直接使用市电工作,故在安装和使用时安全系数较低,且硬件电路复杂,所用器件多。

方案二:运用VHDL 语言分别控制分频和状态机两个模块, 即信号源经分频器分频后得到1Hz 脉冲,输出脉冲控制状态机中预置四个状态的循环,从而达到交通控制作用.该方案电路结构简单,使用器件少,易于安装和使用.但不宜于电路扩展,适用范围小,应用不广泛.方案三:采用VHDL 语言输入的方式实现交通信号灯控制器,并灵活运用了通用元件CBU14和CBU12作为4位二进制计数器和两位二进制计数器,简化了硬件电路,同时也给调试、维护和功能的扩展、性能的提高带来了极大的方便。

基于FPGA的交通红绿灯控制器

基于FPGA的交通红绿灯控制器

基于FPGA的交通红绿灯控制器姓名:学号:专业:班级:目录1.设计思路 (3)1.1设计思想 (3)1.2 系统功能与要求 (1)1.3总体设计............................. 错误!未定义书签。

2.主要模块设计程序 (4)2.1主控制模块 (4)2.2主程序 (5)2.3定时计数器模块 153. 所实现功能说明........................... 错误!未定义书签。

3.1实现功能 (14)3.2仿真波形 (14)4. 所设计原理图及故障分析................... 错误!未定义书签。

5.心得体会.................................. 错误!未定义书签。

参考文献. (18)附录1 元件清单............................. 错误!未定义书签。

附录2 管脚. (20)1.设计思路1.1设计思想交通灯是城市交通监管系统的重要组成部分,对于保证机动车辆的安全运行,维持城市道路的顺畅起到了重要作用。

目前很多城市交叉路口的交通灯实行的是定时控制,灯亮的时间是预先设定好的,在时间和空间方面的应变性能较差,一定程度上造成了交通资源的浪费,加重了道路交通压力。

本文利用FPGA的相关知识设计了交通灯控制系统,可以根据实际情况,交通拥堵时由交通警察人工控制某方向上的放行时间,以便按照交通负荷疏导阻塞车辆。

整个设计系统通过Max+PlusⅡ软件进行了模拟仿真,并下载到FPGA器件中进行硬件的调试,验证了设计的交通信号灯控制电路完全可以实现预定的功能,具有一定的实用性。

1.2 系统功能与要求交通红绿灯控制器,假定十字交叉路口的两个方向各有一组红,黄,绿三个灯组成的交通灯设计一个可以由交通警察人工控制的红绿灯控制器,要求:(1)正常时,交通放行十字交叉路口的横纵两个方向,放行时间相等;(2)交通堵塞时,由交通警察人工控制某个方向的放行时间,以便按照交通负荷疏导阻塞车辆;(3)在正常运行状态下,两组交通灯按以下规律自动进行转换,在不同时刻分别放行不同方向的车辆:(绿,红)2s→(绿,黄红)0.5s→(黄,红)2s→(黄红,红)2s→(红,黄)1s→(红,绿)5s→(红,黄绿)0.5s→(红,黄)2s→(红,黄绿)2s→(黄,红)1s→(绿,红)3s(括号内以逗号分割的分别为横,纵两方向点亮的交通灯,横向红绿黄灯分别用LEDR0,LEDG0,LEDG1,表示,纵向红绿黄分别用LEDR4,LEDG4,LEDG5表示)(4)人工控制放行的方法是,在欲放行某个方向时按下该方向的“放行”按钮(控制)横向使用KEY0控制纵方向使用KEY1),则红绿灯自动将相应方向的道路方向,此后不会放行另一方向的道路,这时候若只按一次“恢复到正常状态”(KEY3),则整个系统恢复到正常运行状态。

基于FPGA的交通灯设计(课程设计)

基于FPGA的交通灯设计(课程设计)

FPGA综合设计实验报告题目基于FPGA的交通灯控制器的设计作者专业日期 2013年3月29日1.设计任务:基于FPGA的交通灯控制器的设计2.设计要求:(1)十字路口由一条东西方向的主干道和一条南北方向的支干道构成,主干道和支干道均有红、黄、绿3种信号灯;(2)保持主、支干道红、绿交替变换;(3)绿灯转红灯过程中,先由绿灯转为黄灯,5秒后再由黄灯转为红灯;同时对方由红灯转为绿灯;(4)系统需具有复位及特殊情况紧急处理功能。

(5)了解交通灯控制器的工作原理,完成控制器的硬件电路设计及软件设计。

3.总体设计方案:从题目中计数值与交通灯的亮灭的关系如图(1)所示。

当主干道绿灯55秒和5秒黄灯过渡时,支干道必须禁止通行,即支干道红灯亮55+5=60秒;当支干道由红灯转为绿灯时,支干道亮55秒绿灯和5秒黄灯过渡,此时主干道红灯应亮55+5=60秒。

图1 交通灯控制要求4.硬件电路基本原理分析:动态LED显示的设计方法是将不同LED模块的所有的LED的驱动端一对一地连接到一起,而将其公共极(阴极或阳极)分别由不同的IO口来驱动(主要针对7段码和LED点阵模块)。

动态显示方式主要是出于简化电路和产品成本考虑在大多数场合都可以达到用户要求。

动态显示虽然占用的CPU时间多,但使用的硬件少,能节省线路板空间。

另外,本设计显示需要使用的是4个七段显示数码管。

在计时结果显示电路中,七段数码管显示部分是一个不容忽视的环节,如若处理不得当,可能引起系统功率过大,产生散热问题,严重时甚至会导致系统的烧毁。

为了解决好以上问题,下面就对七段数码管显示电路做简要的分析和介绍。

通常点亮一个LED所需的电流是5~50 mA,通电的电流愈大,LED的亮度愈高,相对的也会使其寿命缩短。

一般以10 mA的导通电流来估算它所必须串联的阻值,其计算方式参考如图1所示。

图1 单个LED的串接电阻计算方式七段显示器可分为共阳极、共阴极型两种,它们都可以等效成8个LED的连接电路,其中如图2就是共阴极型七段显示器的等效电路和每节LED的定义位置图。

(完整word版)基于FPGA的交通灯控制器设计

(完整word版)基于FPGA的交通灯控制器设计

交通灯控制器设计专业:计算机应用技术班级:计应2 班学号:147030201姓名:蔡利军基于FPGA的交通灯控制器设计摘要超高速硬件描述语言VHDL,是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,利用EDA工具可以在电子设计的各个阶段、各个层系进行计算机模拟验证,保证设计过程的正确性,可大大降低设计成本,缩短设计周期。

本文介绍的数字秒表设计,利用基于VHDL的EDA设计工具,采用大规模可编程逻辑器件FPGA,通过设计芯片来实现系统功能。

交通灯控制系统可以实现路口红绿灯的自动控制。

基于FPGA设计的交通灯控制系统具有电路简单、可靠性强、实时快速擦写、运算速度高、故障率低、可靠性高,而且体积小的特点。

本设计采用Altera公司Cyclone系列的EPlC3T1444C8芯片,在Quartus II软件平台上使用VHDL语言,采用自顶向下的设计方法对系统进行了模块化设计和综合,并进行了仿真。

该系统可实现十字路口红绿灯及左转弯控制和倒计时显示,仿真结果结果表明系统能够自动控制交通灯转变。

关键词:VHDL,交通灯,EDA目录前言 (1)第1章 FPGA概述 (2)1.1 FPGA的简介 (2)1.2 FPGA的应用 (2)第2章 VHDL硬件描述语言 (3)2.1 VHDL程序基本结构 (3)2.1.1 实体 (4)2.1.2 结构体 (4)2.1.3 库 (5)2.2 VHDL语言 (5)2.2.1 VHDL文字规则 (5)2.2.2 VHDL数据对象 (5)2.2.3 VHDL数据类型 (6)2.2.4 VHDL 顺序语句 (6)2.2.5 VHDL并行语句 (6)第3章系统设计与仿真 (7)3.1 系统介绍 (7)3.1.1 设计任务 (7)3.1.2 设计要求 (7)3.2 系统设计仿真 (8)3.2.1 顶层框图的设计 (8)3.2.2 时序状态图的设计 (9)3.2.3 工程设计流程框图: (10)3.2.4 芯片的选择 (10)3.2.5 各个模块的设计与仿真 (11)结论 (27)附录..................................... 错误!未定义书签。

基于FPGA的交通灯控制器设计06876

基于FPGA的交通灯控制器设计06876

基于FPGA的交通灯控制器设计06876交通灯控制器是城市交通系统中非常重要的一部分,其正确的设计和运行对于交通的安全与效率至关重要。

在本文中,我们将介绍一种基于FPGA(现场可编程门阵列)的交通灯控制器设计。

首先,我们需要了解交通灯控制器的基本原理。

传统的交通灯控制器通常由定时器和状态机组成。

定时器用于控制信号灯的时间段,状态机用于根据规定的时间段和信号灯的状态切换来确定交通灯的工作状态。

FPGA是一种可编程的芯片,可以用来实现各种数字电路的功能。

它具有高度的可编程性和灵活性,可以通过改变编程来实现不同的功能。

基于FPGA的交通灯控制器设计可以提供更大的灵活性和可扩展性,因为它可以根据实际需求进行定制和修改。

在基于FPGA的交通灯控制器设计中,我们需要考虑以下几个方面:1.信号灯的时间控制:根据不同的道路交通流量和需要的通行效率,我们可以灵活地设置每个信号灯的时长。

这可以通过FPGA中的计数器和定时器来实现。

通过编程可以设置不同的时长,并确保相应的信号灯按照预定的规则进行切换。

2.交通流量检测:为了合理地分配交通灯的时间,我们需要在交通道路上安装传感器来检测交通流量。

这些传感器可以根据车辆的数量和速度来确定不同的交通流量。

在基于FPGA的设计中,我们可以使用IO接口将传感器与FPGA相连,并通过编程来读取和处理传感器数据。

3. 状态机设计:状态机是交通灯控制的核心。

它可以根据预先确定的规则和输入,确定交通灯的状态。

基于FPGA的设计中,我们可以使用状态机设计的编程语言(如VHDL或Verilog)来实现状态机。

状态机可以根据交通流量和交通灯状态的不同情况来切换不同的状态,并通过FPGA中的逻辑门来控制交通灯。

4.故障检测和容错设计:在交通灯控制器中,故障检测和容错设计非常重要。

当一些部件发生故障时,控制器应能够自动切换到备用部件或安全模式,以确保交通的安全和通行效率。

通过FPGA的灵活性,我们可以轻松地实现故障检测和容错设计,例如通过监测一些部件的输出电压或信号来检测故障。

基于FPGA下的交通灯控制器毕业设计

基于FPGA下的交通灯控制器毕业设计

基于FPGA下的交通灯控制器毕业设计引言第一章软件介绍1.1 QuartusⅡ介绍本次毕业设计是基于FPGA下的设计,FPGA是现场可编程门阵列,FPGA开发工具种类很多、智能化高、功能非常的强大。

可编程QuartusⅡ是一个为逻辑器件编程提供编程环境的软件,它能够支持VHDL、Verilog HDL语言的设计。

在该软件环境下,设计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。

在做交通灯控制器设计时选择的编程语言是VHDL语言。

在这里简单的介绍一下QuartusⅡ的基本部分。

图1-1-1是一幅启动界面的图片。

在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一部分的名称。

图 1-1-1 启动界面开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到File,单击它选择它下拉菜单中的“New Project Wizard”时会出现图1-1-2所显示的对话框,把项目名称按照需要填好后单击Next,便会进入图 1-1-3 显示的界面。

图1-1-2 创建工程框图1-1-3 芯片选择框根据自己选择的实验设备选择好相应的芯片型号点击Next,进入下一个步骤当出现图1-1-5时,点击“Finish”后这个工程就建立好了。

图 1-1-4 仿真器选择框图1-1-5 对话框建好工程后开始进行设计,首先在图1-1-6中单击file后选择new,接着会出现图1-1-7,在交通灯控制器的设计中我们选择的是VHDL File,当出现图1-1-8时就可以把编辑的程序敲入编辑器中。

图1-1-6 工程建好后的界面图1-1-7 新建文件类型选择框图1-1-8 程序编辑框在第一章中对QuartusⅡ软件的使用做一个简单介绍,设计中的编译和仿真步骤在后面的几章中会做出介绍。

第二章交通灯控制器设计的概述2.1 控制器设计描述2.1.1 设计任务要求设计交通灯控制器,分别在四个方向都安装红、黄、绿三种颜色的交通指示灯,红灯表示停止,绿灯表示通行,黄灯表示左转和直行将要禁止通行,四个方向分别还安装有倒计时的计时器。

基于FPGA的交通灯控制器设计_毕业设计论文

基于FPGA的交通灯控制器设计_毕业设计论文

基于FPGA的交通灯控制器设计_毕业设计论文摘要:随着城市交通拥堵问题的日益严重,交通灯控制器作为城市交通管理的重要组成部分,起着至关重要的作用。

在传统的交通灯控制系统中,使用的是基于微控制器或PLC的硬件实现方式,无法满足日益复杂的交通需求。

本论文提出了一种基于FPGA的交通灯控制器设计方案,通过利用FPGA的高度可编程性和并行处理能力,实现了对交通灯状态的实时监控和控制。

设计方案通过数码管和按钮进行交互,利用图形化编程软件进行开发和调试。

实验结果表明,所设计的FPGA交通灯控制器具有优异的性能和稳定性,能够满足各种交通场景下的需求。

关键词:交通灯控制器;FPGA;并行处理;图形化编程一、引言随着城市交通流量的不断增加,传统的交通灯控制系统已经不能满足日益复杂的交通需求。

传统的交通灯控制器使用的是基于微控制器或PLC的硬件实现方式,无法提供足够的计算性能和并行处理能力。

因此,本论文提出了一种基于FPGA的交通灯控制器设计方案,通过利用FPGA的高度可编程性和并行处理能力,实现对交通灯状态的实时监控和控制。

二、设计方案本设计方案采用了FPGA作为控制器的核心,通过图形化编程软件进行开发和调试。

设计方案将交通灯控制分为四个主要模块:状态监控模块、状态控制模块、显示模块和按钮模块。

状态监控模块通过检测车辆和行人的状态,实时监控交通灯的状态。

状态控制模块根据交通流量和优先级进行状态切换和调度。

显示模块将交通灯状态显示在数码管上,方便行人和司机观察。

按钮模块通过按钮输入交通灯的初始状态,实现手动控制。

三、系统实现本系统采用Xilinx FPGA开发板进行实现,使用Verilog HDL进行程序编写。

在设计过程中,通过数码管和按钮进行交互,实现手动控制和状态显示。

图形化编程软件使得开发和调试更加便捷,节省了开发周期和人力资源。

四、实验结果通过对实验数据的分析和对比,我们发现所设计的FPGA交通灯控制器在交通流量大、复杂交叉路口和斑马线等特殊情况下,都能够稳定运行并保证交通流畅度。

基于FPGA的交通灯控制器设计(VHDl代码全,各个模块均调.

基于FPGA的交通灯控制器设计(VHDl代码全,各个模块均调.

2.3 FPGA 主控实现方案设计结合已有的 PLC 实现和单片机应用实现的经验,并吸收两种设计的优势之处,再根据交通灯控制系统的设计要求和 FPGA 模块化功能实现,确定了以下方案,因每个方向相对的信号灯状态及倒计时显示器的显示完全一致,根据设计要求和系统所具有的功能,交通灯控制器系统框图如图 2-6 所示。

图 2-6 交通灯控制器系统框图确定的方案中, 系统具有复位功能, 能使系统重新开始计时; 在红绿灯交通信号系统中, 大多数的情况是通过自动控制的方式指挥交通的, 但为了配合高峰时段,防止交通拥挤,有时还必须使用手动控制。

为此主体包括系统复位,手动 /自动,红绿灯切换,主控模块,显示器,报警器。

具体主控部分用 FPGA 来实现。

图 2-7 交通灯通行示意图结合实现方案,主要有东西、南北、南北左拐,东西左拐,跟手动控制 5种工作方式,具体由 M2~M0设定,具体如表 2-1。

表2-1 交通灯工作方式表方式 M2(0:自动, 1:手动 M1(0:A向,1:B向M0(O:直行, 1:左拐1 0 0 02 0 0 13 0 1 04 0 1 15 1 * *当出现特殊情况时,可选择方式 1 到方式 4 中的任何一种方式,停止正常运行,进入特殊运行状态。

此时交通灯按工作方式显示,计时电路停止计时,计时时间闪烁显示。

当系统总复位时,控制电路和计时电路复位,信号灯全部熄灭。

3 各功能模块的设计与实现3.1总体设计思路3.1.1系统组成框图结合设计任务要求和确定的实现方案, 假设某个十字路口是由一条主干道和一条次干道回合而成, 在每个方向设置红绿黄 3种信号灯, 红灯亮禁止通行, 绿灯亮允许通行。

黄灯亮允许行驶中车辆有时间停考到禁止线以外。

按照自顶向下的层次化设计方法, 整个系统可分为 4个模块, 系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。

其系统组成方框图如图 3-1所示。

基于FPGA的交通灯控制器的设计

基于FPGA的交通灯控制器的设计

基于FPGA的交通灯控制器的设计交通灯控制器是现代城市交通系统中至关重要的组成部分。

传统的交通灯控制器通常是基于微控制器或单片机设计的,但随着技术的发展,基于现场可编程门阵列(Field-Programmable Gate Array,FPGA)的交通灯控制器越来越受到关注。

本文将介绍基于FPGA的交通灯控制器的设计。

FPGA是一种可编程逻辑器件,具有高度灵活性和可重配置性。

与传统的微控制器相比,FPGA能够并行处理多个任务,提供更高的性能和更低的延迟。

在交通灯控制器的设计中,这种并行处理的能力可以显著提高交通信号的响应速度和效率。

首先,我们需要确定交通流量检测的方式。

常用的交通流量检测方法有传感器检测、视频图像处理和无线通信等。

在基于FPGA的交通灯控制器设计中,我们可以选择使用传感器检测的方法。

传感器可以通过检测来往车辆的存在与否来确定交通流量,然后将这些数据传输到FPGA中进行处理。

其次,我们需要设计合适的交通灯控制算法。

传统的交通灯控制算法主要基于定时控制,但这种方法无法根据实际交通流量进行动态调整。

在基于FPGA的交通灯控制器设计中,我们可以采用基于车辆检测数据的自适应控制算法。

该算法可以根据交通流量的变化情况灵活地调整交通信号的周期和相位,以实现最优的交通流控制。

接下来,我们需要将交通灯控制算法实现在FPGA上。

使用HDL (Hardware Description Language)编程语言,如Verilog和VHDL,可以将交通灯控制算法描述为硬件逻辑电路。

然后,通过使用FPGA的开发工具,将HDL代码编译成可在FPGA上运行的位流文件。

通过将交通灯控制算法实现在FPGA上,可以实现高速的并行处理和低延迟的响应。

最后,我们需要连接FPGA与交通灯控制设备。

FPGA可以通过GPIO (General Purpose Input/Output)接口与其他设备进行通信。

通过将FPGA的输出信号与交通灯控制设备的输入信号连接,可以实现对交通灯的控制。

基于FPGA设计_交通灯

基于FPGA设计_交通灯

FPGA课程设计——交通灯控制器通信工程学院电科0701班罗超(17)第一部分技术规范1.1功能描述:实现一个由一条主干道和一条支干道的汇合点形成的十字路口的交通灯控制器,具体功能:(1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。

(2) 主干道处于长允许通行状态,而支干道有车来时才允许通行。

当主干道允许通行亮绿灯时,支干道亮红灯。

而支干道允许通行亮绿灯时,主干道亮红灯。

(3) 当主干道、支干道均有车时,两者交替允许通行,主干道每次通行45 秒,支干道每次通行25 秒,在每次由绿灯向红灯转换的过程中,要亮5 秒的黄灯作为过渡,并进行减计时显示。

每个周期结束时都要进行支干道是否有车的检测,若有车则进行下一个周期,若没有,则主干道亮绿灯,支干道亮红灯,直到检测到支干道有车。

1.2系统总体框图:根据设计要求和系统所具有的功能,并参考相关的文献资料,经行方案设计,可以画出如下图所示的交通信号灯控制器的系统框图。

I/O 管脚的描述 名称 方向 电平 位宽 功能clkInput3.3V 1 系统时钟信号(10KHZ ) carsignal Input3.3V1检测支路是否有车rst Input 3.3V 1 复位信号 led Output 3.3V 6 LED 灯 sel Output 3.3V 7 数码管段码 segOutput3.3V4数码管位码时钟分频模块交通灯控制模块扫描显示译码模块clkrstcarsignal计时模块数码管段码 sel数码管位码 segLED 灯表一:系统总体I/O管脚的描述注:其中系统时钟的频率选为10KHZ,复位采取同步复位方式,且低有效。

支干道检测到有车时, carsignal=1;否则,carsignal=0。

方案核心:在交通灯控制器的设计中,交通灯控制及计时模块是本设计的关键模块。

第二部分 总体设计方案交通灯2.1系统详细框图:在系统总体框图的基础上进一步详细设计,得到如下系统详细框图。

基于FPGA交通灯控制器设计

基于FPGA交通灯控制器设计

基于F P G A交通灯控制器设计This model paper was revised by the Standardization Office on December 10, 2020摘要随着现代城市及交通工具的发展,交通事故也急剧增加,为了改善交通秩序及减少交通事故,交通灯起着越来越重要的作用。

在越来越多的城市的各个路口上安装了交通灯,来改善交通秩序。

现代城市在日常运行控制中,越来越多的使用红绿灯对交通进行指挥和管理。

而一套完整的交通灯控制系统通常要实现自动控制和手动控制去实现其红绿灯的转换。

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

本设计利用Verilog HDL 语言、采用层次化混合输入方式,可控制4个路口的红、黄、绿、左转四盏信号灯,让其按特定的规律进行变化。

在QuartusⅡ下对系统进行了综合与仿真。

仿真结果表明系统可实现十字路口红绿灯及左转弯控制和倒计时显示,并能够自动控制交通灯转变。

关键词:FPGA,交通灯控制器,QuartusⅡ,Verilog HDLAbstractWith the development of modern cities and transport, traffic accidents also increased dramatically, plays an increasingly important role in order to improve traffic order and reduce traffic accidents and traffic lights. More and more all the roads of the city to installtraffic lights to improve traffic city, more and more control of the day-to-day running of the traffic light traffic command and management. And a complete set of traffic light control system is usually to achieve automatic control and manual control to achieve the conversion of its traffic lights. FPGA design-based traffic light control system circuit is simple and good reliability. The design using Verilog HDL language using hierarchical mixed input, and can control the four junctions of red, yellow, green, and turn left at the four signal lights, so that a particular law of change. QUARTUS Ⅱ system synthesis and simulation. The simulation results show that the system can achieve the crossroads of traffic lights and turn left control and countdown display and can automatically control the traffic lights into.Key Words:FPGA ,traffic light controller, Quartus II, The Verilog HDL目录第第4第1236 7 8 9第1章绪论交通灯的简介交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。

基于FPGA的交通灯控制课程设计报告

基于FPGA的交通灯控制课程设计报告

基于FPGA的交通灯控制课程设计报告课程设计报告设计题目:基于FPGA的交通灯控制专业班级学号学生姓名指导教师设计时间教师评分2012年12月14日目录1、概述 (1)1.实验目的 (1)1.2课程设计的组成部分 (1)2、交通灯设计的内容 (2)3、总结 (5)3.1课程设计进行过程及步骤 (5)3.2体会收获及建议 (10)4、教师评语 (10)5、成绩 (11)1、概述1.实验目的(1)熟悉利用QuartursⅡ开发数字电路的基本流程和QuartursⅡ软件的相关操作。

(2)掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,利用JTAG/AS进行下载等基本操作。

(3)了解VerilogHDL语言设计或原理图设计方法。

(4)通过本知识点的学习,了解交通灯的工作原理,掌握其逻辑功能及设计方法。

1.2课程设计的组成部分(1)系统功能:实现十字路口的交通灯显示。

(2)系统要求:a. 要求控制南北、东西方向各3个灯(红、黄、绿)的亮灭;b. 用LED0-LED5六个灯来代表红绿灯,其中LED0-LED2表示南北方向的红,黄,绿灯,LED3-LED5表示东西方向的红,黄,绿灯。

c. 要求南北方向红灯亮5秒,同时东西方向绿灯亮3秒,绿灯结束后,东西方向黄灯亮2秒。

转东西红灯亮5秒,同时南北绿灯亮3秒,绿灯结束后,南北黄灯亮2秒,一直循环。

(3)引脚分配:2、交通灯设计的内容主程序module jtd(clk,led);input clk;output[7:0]led;reg[7:0]led;reg[4:0]state;always @ (posedge clk)begin state = state + 5'b00001;case(state)5'b00000:led<=8'b00001001;5'b00001:led<=8'b00100001; //南北红灯亮5秒,东西绿灯亮3秒,在转东西黄灯2秒5'b00010:led<=8'b00000000;5'b00011:led<=8'b00100001;5'b00100:led<=8'b00000000;5'b00101:led<=8'b00100001;5'b00110:led<=8'b00000000;5'b00111:led<=8'b00010001;5'b01000:led<=8'b00000000;5'b01001:led<=8'b00010001;5'b01010:led<=8'b00000000;5'b01011:led<=8'b00001100; //东西红灯亮5秒,南北绿灯亮3秒,在转南北黄灯2秒5'b01100:led<=8'b00000000;5'b01101:led<=8'b00001100;5'b01110:led<=8'b00000000;5'b01111:led<=8'b00001100;5'b10000:led<=8'b00000000;5'b10001:led<=8'b00001010;5'b10010:led<=8'b00000000;5'b10011:led<=8'b00001010;5'b10100:led<=8'b00000000;default:state=5'b00000;endcaseendendmodule分频器部分,获得便于试验观察的时钟信号module fpq(clk_out,clk_in);input clk_in;output clk_out;reg clk_out;reg[25:0] counter; //50_000_000=1011_1110_1011_1100_0010_0000_00 parameter cnt=25_000_00; // 50MHz is the sys clk,50_000_000=2FAF080always @(posedge clk_in)begincounter<=counter+1;if(counter==cnt/2-1)beginclk_out<=!clk_out;counter<=0;endendendmodule3、总结3.1课程设计进行过程及步骤a. 用Quartus II 8.0 (32-Bit)软件建立工程:b.在工程建立好后,再建立verilog HDL filec.建好verlog HDL file 后,在里面写入两个程序(一个主程序,一个子程序),将写好的程序保存,并编译,确定没有错误后,输入引脚分配。

基于FPGA的交通灯控制器的设计

基于FPGA的交通灯控制器的设计

十字路口交通设计图

交通规则
右转灯常亮 车绿灯与人行灯一起亮 主灯亮顺序:绿、黄、 左拐、黄、红。 支灯亮顺序:红、绿、 黄、左拐、黄。

状态 1 2 3 4 5 6 主干道 绿 黄 左拐 黄 时间 25s 5s 10s 5s 绿 红 40s 黄 20s 5s 红 红 支干道 时间
45s
波形仿真
顶层原理图产生的波形图:
EN=1,延迟一个CLK周期的时候启动交通灯,各个交通灯按照实 现预定的规定循环转,处于红灯的路口一旦有两个脉冲,启动高清数码 照相机的信号出现上升沿,处于通行的路口一旦第四个信号的上升沿出 现就计算出速度值,同时开始启动MS12864R。
管脚锁定:
下载调试
硬件下载:
基于CPLD/FPGA的交通信号 控制器的设计
院系名称:电子信息学院
设计定位

利用FPGA的相关知识设计的交通灯控制系统,可 以根据实际情况对灯亮时间进行自由调整,具有一 定的灵活性。 电子眼功能:当车辆闯红灯时,可进行拍照记录。 路况信息显示:当某干道处于通行时,可以动态显 示:车速,以及路况信息。
闪烁子程序
12864显 示子程序
交通灯6个指示灯子程序流程图
状态机设计
整个程序包括五个状态机 例:十字路口左上角的交通灯对应这的9个状态: 分别是红、绿、黄、左拐、黄、右拐、黄、人行、红。
通行延时控制子程序流程图
交通灯闪烁子程序流程图
闯红灯监测子程序流程图
测车辆速度子程序流程图
MS12864R显示子程序流程图
7
8
左拐


10s
5s
系统设计总体方案框图
地感 线圈 信号 信 号 转 换 装 置 紧急按钮信 号 启动信号 时钟信号

基于FPGA的交通灯控制器设计

基于FPGA的交通灯控制器设计

基于F P G A的交通灯控制器设计The document was prepared on January 2, 2021数字系统课程设计基于FPGA的交通控制灯设计姓名:学号:班级:摘要随着社会的发展,城市规模的不断扩大,城市交通成为制约城市发展的一大因素。

人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题当然也日益重要。

因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。

有了交通灯,人们的安全出行也有了很大的保障。

自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。

尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可或缺的工具和手段,这些都为交通灯控制系统的设计提供了一定的技术基础。

本课程设计运用erilog HDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示,并最后进行了软件实现,达到了系统要求的功能。

设计原理设计要求设计一个交通控制器,用LED显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s,支干道每次放行25s。

每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s。

能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。

用LED灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。

能实现特殊状态的功能显示,设计思路和原理本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。

设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S后,主干道和支干道上的黄灯都亮启,持续5S后,主干道上红灯亮启,支干道上绿灯亮启持续25S,之后主干道和支干道上的黄灯都亮启5s,一个循环完成。

基于FPGA的交通灯控制器设计毕业设计

基于FPGA的交通灯控制器设计毕业设计

基于F P G A的交通灯控制器设计毕业设计Modified by JEEP on December 26th, 2020.基于FPGA的交通灯控制器设计摘要超高速硬件描述语言VHDL,是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,利用EDA工具可以在电子设计的各个阶段、各个层系进行计算机模拟验证,保证设计过程的正确性,可大大降低设计成本,缩短设计周期。

本文介绍的数字秒表设计,利用基于VHDL的EDA设计工具,采用大规模可编程逻辑器件FPGA,通过设计芯片来实现系统功能。

交通灯控制系统可以实现路口红绿灯的自动控制。

基于FPGA设计的交通灯控制系统具有电路简单、可靠性强、实时快速擦写、运算速度高、故障率低、可靠性高,而且体积小的特点。

本设计采用Altera公司Cyclone系列的EPlC3T1444C8芯片,在Quartus II软件平台上使用VHDL语言,采用自顶向下的设计方法对系统进行了模块化设计和综合,并进行了仿真。

该系统可实现十字路口红绿灯及左转弯控制和倒计时显示,仿真结果结果表明系统能够自动控制交通灯转变。

关键词:VHDL,交通灯,EDATHE LIGHT CONTROLLER BASED ON FPGA DESIGNABSTRACTWith the development of the economy, microelectronic technology, computer technology and the automatic theory are developed rapidly. Its application is becoming more and more widely. But the traffic light as an important traffic,it also has developed quickly with the improving requirement of the all the system of the traffic light, The system of traffic control which designed based on FPGA is received by more and more people.The system of traffic control can realize the automatic control of traffic light in a intersection. The system of traffic control which designed based on FPGA has many characteristics such as simple circuit, reliable operation, toerase function quickly with real-time applications, high speed, high reliability, low failure rate, and sma ll volume. By using the platform of software design system Quartus II and the form of the VHDL language, we simulate the system by using EPlC3T1444C8 Mars device and the result show that the download system can automatically control the traffic lights.KEY WORDS: VHDL,traffic light,EDA目录前言当今社会是数字化的社会,是数字集成电路广泛应用的社会。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引言随着城乡的经济发展,车辆的数量在迅速的增加,交通阻塞的问题已经严重影响了人们的出行。

现在的社会是一个数字化程度相当高的社会,很多的系统设计师都愿意把自己的设计设计成集成电路芯片,芯片可以在实际中方便使用。

随着EDA技术的发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。

FPGA/CPLD 以其不可替代的地位及伴随而来的极具知识经济特征的IP芯片产业的崛起,正越来越受到业内人士的密切关注。

FPGA就是在这样的背景下诞生的,它在数字电路中的地位也越来越高,这样迅速的发展源于它的众多特点。

交通等是保障交通道路畅通和安全的重要工具,而控制器是交通灯控制的主要部分,它可以通过很多种方式来实现。

在这许许多多的方法之中,使用FPGA和VHDL语言设计的交通灯控制器,比起其他的方法显得更加灵活、易于改动,并且它的设计周期性更加短。

城市中的交通事故频繁发生,威胁着人们的生命健康和工作生活,交通阻塞问题在延迟出行时间的同时,还会造成更多的空气污染和噪声污染。

在这种情况下,根据每个道路的实际情况来设置交通灯,使道路更加通畅,这对构建和谐畅通的城市交通有着十分重要的意义。

第一章软件介绍1.1 QuartusⅡ介绍本次毕业设计是基于FPGA下的设计,FPGA是现场可编程门阵列,FPGA开发工具种类很多、智能化高、功能非常的强大。

可编程QuartusⅡ是一个为逻辑器件编程提供编程环境的软件,它能够支持VHDL、Verilog HDL语言的设计。

在该软件环境下,设计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。

在做交通灯控制器设计时选择的编程语言是VHDL语言。

在这里简单的介绍一下QuartusⅡ的基本部分。

图1-1-1是一幅启动界面的图片。

在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一部分的名称。

图 1-1-1 启动界面开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到File,单击它选择它下拉菜单中的“New Project Wizard”时会出现图1-1-2所显示的对话框,把项目名称按照需要填好后单击Next,便会进入图 1-1-3 显示的界面。

图1-1-2 创建工程框图1-1-3 芯片选择框根据自己选择的实验设备选择好相应的芯片型号点击Next,进入下一个步骤当出现图1-1-5时,点击“Finish”后这个工程就建立好了。

图 1-1-4 仿真器选择框图1-1-5 对话框建好工程后开始进行设计,首先在图1-1-6中单击file后选择new,接着会出现图1-1-7,在交通灯控制器的设计中我们选择的是VHDL File,当出现图1-1-8时就可以把编辑的程序敲入编辑器中。

图1-1-6 工程建好后的界面图1-1-7 新建文件类型选择框图1-1-8 程序编辑框在第一章中对QuartusⅡ软件的使用做一个简单介绍,设计中的编译和仿真步骤在后面的几章中会做出介绍。

第二章交通灯控制器设计的概述2.1 控制器设计描述2.1.1 设计任务要求设计交通灯控制器,分别在四个方向都安装红、黄、绿三种颜色的交通指示灯,红灯表示停止,绿灯表示通行,黄灯表示左转和直行将要禁止通行,四个方向分别还安装有倒计时的计时器。

2.1.2 设计要求东西方向和南北方向各有组指示灯,红灯亮的时间为20S,黄灯亮的时间为5S,绿灯亮的时间为25S。

三种灯亮灭的顺序为红灯、绿灯、黄灯。

第三章交通灯控制器的设计过程3.1 设计方案本设计课题用FPGA来实现智能交通灯的设计,本设计现要研究的问题主要有:智能交通灯的设计方案;各功能模块的设计与实现;如何用VHDL编写源程序以及进行系统仿真。

3.1.1 框图设计交通灯控制器设计的框图中包括控制器、分频器、显示器、指示灯、译码器、位选器。

当倒计时为零时,控制器改变交通灯的颜色,同时倒计时开始进入下一个倒计时。

当有紧急情况出现的时候,四面的交通灯都会变为红灯,紧急情况的处理在设计中是依靠HOLD键来实现的。

图 3-1-1-1 是交通灯设计的设计框图图 3-1-1-1 交通灯设计的设计框图系统的红、黄、绿灯显示的总时间为50s,具体的亮灯时间和亮灯顺序看表 3-1-1-2表3-1-1-2 交通灯亮灯顺序与亮灯时间安排3.1.2 工程流程图图3-1-2 工程流程图3.1.3 时序图的假象在时序图中,上升沿有效,即为“1”时灯亮,好比RedA为上升沿(“1”)时A 方向的红灯是亮的,相对的GreenB也为上升沿(“1”)B方向上绿灯是亮的。

具体的时序显示见图3-2 时序图。

RedAGreenAYellowARedBGreenBYeelowB图3-2 时序图3.2 模块设计3.2.1 主控制器模块在QuartusⅡ按照1-1中的方法新建一个工程并新建一个文件项目后,在图1-1-8程序编辑框中将主控制器的程序输入后保存。

接着需要对主控制器的程序进行编译,编译的步骤是点击Project→Set as Top将文件置顶,具体的参考图3-2-1-1 置顶,接着点击图3-2-1-2 的Start Compilation 进行编译。

图3-2-1-1 置顶图3-2-1-2 编译在编译的过程中,出现了一些错误,在我编译主控制器的程序时,出现的错误是没有将CLOCK放入PROCESS()中,将程序中的错误一一改正后有时还会出现些Warning,有些Warning并不会影响后面的设计步骤。

将上面的错面都改正后,就会显示图3-2-1-3 所显示的对话框。

下一步就是对程序进行时序仿真,图3-2-1-3 编译成功程序编译无措后在当前的工程下面新建一个文件,点击File出现图3-2-1-4 新建文件对话框,选择图中显示蓝色的选项就会出现我们想要的界面,把鼠标移在图3-2-1-5 时序仿真编辑框中左边的空白处,然后点击右键,选择INSERT→INSERT NODE OR BUS选项出现另一个对话框,选择对话框中的NODE FINDER后就会产生新的对话框,点击LIST是在左下角的空白处会出现很多的引脚,我们选中需要的引脚后确定后,我们需要的引脚就会出现在时序仿真编辑中左边的空白处,我们对输入信号进行设定,若想让输出信号显示为十六进制数,我们可以选中输出信号然后点击鼠标的右键选择VALUE→COUNT VALUE后出现的对话框中可以选择自己需要显示的进制类型和进制数的定时等。

对输出输入信号编辑完成后保存。

在菜单工具栏中选择PROCESSING →SIMULATOOR TOOL,出现图3-2-1-6的对话框,按照对话框显示的进行设定,点击QENERAT FUNCTIONAL…→START→REPORT,就会得出我们想要的图3-2-1-7 主控制器时序仿真图。

图3-2-1-4 新建文件对话框图3-2-1-5 仿真编辑框图3-2-1-6 仿真工具对话框图3-2-1-7 主控制器的仿真图图3-2-1-7中显示的仿真结果和设计前预计的时序仿真图的结果是相符合的。

时序图中的HOLD是保持信号,当HOLD信号为有效信号(“1”)时,则四个方向的路灯都是红灯亮,当HOLD无效时,四个方向的信号灯会正常工作。

RESET信号有效时,计数器的显示就会重新从零开始。

图中四个方向的指示灯的亮灭顺序是正确的。

图3-2-1-8 主控制器的模块主控制器的时序仿真完成后,一个程序的设计、仿真就已经暂时结束了,下一步还要进行图形的设计,在总的图形设计前,需要先将每个程序都生成模块,为之后的设计做好准备。

点击File→Create\Updade→Create Symbol Files for Current File,完成这个操作过程后便会生成主控制器的模块,具体的看图3-2-1-8 主控制器的模块。

模块中主要有CLOCK、RESET、HOLD、NUMA、NUMB和六个指示灯的输出。

3.2.2 分频器模块设计中需要用到1秒钟的脉冲,分频这个模块就是为了改变频率脉冲波,使20Mhz 的频率最终变为1hz的脉冲,这样就可以得到一个周期是1秒钟的脉冲,分频器的程序见附录。

具体的程序编译过程和仿真的过程和主控制模块中谈到的过程是相同的。

按照上面谈的步骤完成后就会得到图3-2-2-1 分频模块的时序仿真图。

图3-2-2-1 分频模块的仿真图图3-2-2-2 分频模块分频的程序经过编译和时序仿真图后生成的模块是图3-2-2-2 分频模块所显示的20mhz的脉冲通过第一模块时变为10hz,再经过第二个模块后变成1hz的脉冲。

3.2.3 提取显示值模块提取显示值的功能是在10hz的速度下提取显示值,得到的是显示时间值的十位和个位。

图3-2-3-1 提取显示值的时序仿真图中NUMIN是主控制器的输出值,NUMA和NUMB两个输出端口是要显示的值的高位和低位。

高位的最大输出值是为二的四位二进制数,低位的最大输出值是为九的四位二进制数。

图3-2-3-2 是提取显示值生成的模块。

提取显示值的程序见文章的附录。

图3-2-3-1 提取显示值的仿真图仿真图中,NUMB先从0开始计数,当计到9时NUMA计为1,NUMB重新从0开始计数,当计到9时NUMA会计为2,NUMB再次从0开始计数,当NUMA(高位)计数到2时,NUMB 的最大值输出为5。

图3-2-3-2 提取显示值的模块3.2.4 动态扫描模块LED显示的工作原理是利用人类的视觉特性。

七段LED数字显示块是由“a、b、c、d、e、f、g、dp”这几段组成的,LED的显示原理就是要看这八段中的哪几段是亮的,那几段是灭的。

每段管子不是同时被点亮的并且点亮的时间都是极短的,又因为变化的时间很短暂,亮灭的过程中留下的余光会给人一种错觉,人的眼睛觉得是一组静态的显示灯。

具体的动态扫描的程序请看正文后的附录。

图3-2-4-1 是动态扫描的时序仿真图,图3-2-4-2是动态扫描生成的模块。

图3-2-4-1 动态扫描的时序仿真图图3-2-4-2 动态扫描的模块3.2.5 位选器模块位选程序的输入和编译完成后,对程序进行仿真,仿真的步骤依然和上面谈到的一样,下面两幅图一张是位选程序的时序仿真图,另一幅是位选程序生成的模块。

见图3-2-5-1和图3-2-5-2。

图3-2-5-1 位选时序仿真图图3-2-5-2 位选模块3.2.6 译码器模块译码器是将要显示的数字转换成驱动七段数码管的信号,程序中的NUM与动态扫描模块相连,将四位二进制数转换为八位二进制数,再通过LED8输出。

译码器的程序编辑和编译步骤也和前面所说的相同。

当译码器编译成功后进行仿真,仿真的结果见图3-2-6-1 译码器的时序仿真。

像时序仿真图中显示的一样,当NUM输入“0000”时LED8便会输出“00111111”显示数字“0”,当NUM输入“0001”时LED8输出“00000110”显示数字“1”。

相关文档
最新文档