基于FPGA的交通灯课程设计报告
fpga交通灯课程设计
fpga交通灯课程设计一、课程目标知识目标:1. 学生能理解FPGA的基本原理和交通灯系统的功能需求。
2. 学生能掌握利用硬件描述语言(如VHDL/Verilog)设计简单的数字电路。
3. 学生能了解交通灯系统的时序逻辑设计和状态机原理。
技能目标:4. 学生能运用FPGA开发软件进行电路设计和仿真。
5. 学生能通过编程实现交通灯控制逻辑,并进行功能测试和调试。
6. 学生能分析并解决交通灯系统中可能出现的问题。
情感态度价值观目标:7. 培养学生对于电子工程和信息技术领域的兴趣,激发其创新意识和探索精神。
8. 强化学生的团队合作意识,使其能够在项目实施中有效沟通与协作。
9. 增强学生的社会责任感,使其理解技术在实际应用中对公共安全的作用。
课程性质:本课程为实践性强的设计与制作课程,结合理论知识与动手操作,旨在提升学生的实际工程能力。
学生特点:考虑到学生处于高年级,具备一定的电子电路基础和编程能力,能够理解和掌握较为复杂的逻辑设计。
教学要求:课程要求学生在理解理论知识的基础上,通过动手实践,完成具有实际应用价值的交通灯控制系统设计,注重培养学生解决实际问题的能力。
教学过程中将目标分解为具体可衡量的学习成果,以便于教学设计和最终评估。
二、教学内容1. 理论知识:- 数字电路基础:逻辑门、触发器、计数器等。
- 硬件描述语言:VHDL/Verilog基本语法和结构。
- 交通灯控制系统原理:状态机、时序逻辑设计。
- FPGA原理与设计流程:FPGA结构、配置过程、硬件描述语言到硬件的映射。
2. 实践操作:- FPGA开发环境搭建:安装与配置FPGA开发软件。
- 交通灯控制逻辑设计:编写VHDL/Verilog代码实现交通灯控制逻辑。
- 电路仿真与功能测试:使用开发软件进行电路仿真,验证设计功能。
- 硬件调试与优化:在FPGA开发板上进行实际测试,发现问题并进行优化。
3. 教学安排与进度:- 数字电路基础与硬件描述语言学习(2课时)。
基于FPGA的交通灯设计
数字系统课程设计报告书课题名称基于FPGA的交通灯设计院系姓名学号专业班级指导教师设计时间目录摘要 (1)1设计目的 (2)2设计内容及要求 (2)3系统整体方案及设计原理 (2)4各模块电路设计与实现 (3)4.1 分频模块设计与实现 (3)4.1.1分频模块图4.1.2分频模块程序4.2 交通灯控制器模块设计与实现 (4)4.2.1交通灯控制模块图4.2.2交通灯控制模块程序4.3 1602显示驱动模块设计与实现 (11)4.3.1 1602显示驱动模块图4.3.2 1602显示驱动模块程序5系统仿真及硬件下载 (18)5.1系统仿真(步骤,总原理图,仿真图) (18)5.1.1系统仿真步骤5.1.2总原理图5.1.3仿真图5.2硬件下载(引脚分配,下载步骤) (19)5.2.1引脚分配5.2.2下载步骤6设计总结 (21)参考文献 (21)摘要可编程逻辑器件的硬件描述语言Verilog HDL,由于它具有类似于通用C语言的风格,被不少FPGA开发者所推崇。
在数字控制这个领域,FPGA的应用也越来越广泛,因此,作为硬件描述语言Verilog HDL就显示出了它的重要性。
它是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级这三个不同层次的设计,因此在实际应用中越来越广泛。
本设计为一个交通灯,控制2个路口的红、黄、绿三盏灯,让其按预置时间进行变化。
以FPGA技术为载体,应用Verilog HDL语言,在QUARTUSII软件环境下,通过模块化编程完成了灯亮时间可调的交通灯控制系统设计,并进行逻辑综合、仿真和硬件下栽。
由于设计采用了FPGA技术,大大缩短了开发研制周期,提高了设计效率。
关键词:交通灯硬件描述语言Verilog HDL FPGA1.设计目的1.掌握利用EDA开发工具QUARTUSII进行可编程逻辑器件设计的方法;2.熟练掌握可编程逻辑器件的原理图输入层次化设计方法;3.掌握利用QUARTUSII进行软件仿真及对可编程逻辑器件进行硬件下载的方法;4.进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力。
基于FPGA的智能交通灯控制器
数字逻辑课程设计报告题目:基于FPGA的智能交通灯控制器课程名称:数字逻辑课程设计专业班级:学号:姓名:报告日期:2013-9-12计算机科学与技术学院1. 实验目的通过V erilog的编程,深入了解并掌握可编程芯片的使用技术,完成规定的设计任务,加强对《数字逻辑》课程所学知识的理解,培养学生创造性思维能力和独立解决实际问题的能力。
2. 实验内容用V erilog代码实现智能交通灯信号控制器设计,具体内容及要求如下:(1)在主干道与次干道公路十字交叉路口,为确保人员、车辆安全、迅速地通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。
红灯禁止通行;绿灯允许通行;黄灯亮则给行驶中的车辆有时间行驶到禁行线之外。
(2)主干道和次干道公路十字交叉路口都安装了车辆检测传感器(C),要求如下:(A)在每日的早、晚高峰时段,双边“C=1”则主干道通行时间是次干道通行时间的2倍;(B)全天主、次干道有车一方有优先通行权;(3)主干道公路路口安装有人员通过请求按钮(PQ),一旦有请求信息,控制器应给与放行。
(4)Online控制信号由交通控制中心发出,(Online=1)一旦它有效,则主干道放行,十字交叉路口控制器“失效”,Online=0十字交叉路口控制器恢复控制权。
(6)在每次由绿灯亮变成红灯亮的转换过程中间,要亮5s时间的黄灯作为过渡。
(7)用“开关”代替传感器作为人员通过请求和车辆是否到来的信号。
用红、绿、黄三种颜色的发光二极管作交通灯。
(8)要求显示时间,倒计时。
3. 实验环境PC 个人计算机、ISE14.2 软件、Adept软件、开发板Basys2、USB下载线4. 实验设计方案4.1 输入输出与引脚分配说明4.1.1输入信号:PQ,人员请求信号——接板子“E2”开关ONLINE, 控制中心接管信号——接“N3”SET, 控制器开关——接“P11”RST, 复位开关——接“L3”RUSH, 高峰判断开关——接“F3”CM, 主道车辆传感器——接“G3”CC, 支道车辆传感器——接“B4”CLK, 系统时钟——接“B8”4.1.2输出信号:[2:0] ML, ML0~2 主道绿、黄、红灯——分别接“G1、P4、N4”[2:0] CL , CL0~1 支道绿、黄、红灯——分别接“P7、M11、M5”[6:0] a_to_g, 七段数码管接口——a_to_g0~6分别接“M12、L13、P12、N11、N14、H12、L14”[3:0] an, 四选一控制接口——an0~4分别接“F12、J12、M13、K14”4.2 模块图4.2.1 模块层级图4.2.2 模块1.时钟生成模块4.2.3 模块2. 控制模块【1】输入信号input wire clk1s, 近似1s的时钟信号input wire PQ, 人员请求信号input wire ONLINE, 控制中心请求信号input wire SET, 控制器开关信号input wire RST, 复位信号input wire RUSH, 高峰信号input wire CM, 主道车辆检测信号input wire CC, 支道车辆检测信号【2】输出信号output reg [2:0] ML, 主道信号灯接口output reg [2:0] CL, 支道信号灯接口output [7:0] ACOUNT,存放主道两个时间数字的8421码output [7:0] BCOUNT,存放支道两个时间数字的8421码(ACOUNT、BCOUNT整合到顶层文件b[15:0]中,方便调用七段显示模块)【3】模块内部流程图4.2.4 模块3. 七段显示模块【1】显示原理使用同步扫描电路,对4位数码管的控制端口进行扫描,每一个时刻只有一个数码管亮,只要设置足够快的频率扫描,由于眼睛的视觉停留效应,就会使得显示结果达到4位同时亮的效果。
fpga课程设计交通信号灯课程设计
fpga课程设计交通信号灯课程设计一、课程目标知识目标:1. 理解FPGA的基本原理和编程方法,掌握Verilog HDL语言的基本语法;2. 掌握交通信号灯的工作原理,了解其控制逻辑;3. 学会使用FPGA设计交通信号灯控制系统,并能进行基本的功能测试。
技能目标:1. 能够运用Verilog HDL语言设计基本的数字电路;2. 能够分析交通信号灯系统的需求,编写相应的控制代码;3. 能够在FPGA开发板上实现交通信号灯控制系统,并进行调试和优化。
情感态度价值观目标:1. 培养学生动手实践能力,提高解决实际问题的信心和兴趣;2. 培养学生团队协作精神,学会与他人共同分析和解决问题;3. 增强学生对交通安全的认识,树立遵守交通规则的意识。
课程性质:本课程为实践性课程,结合理论教学,注重培养学生的实际操作能力和创新意识。
学生特点:学生具备一定的电子技术基础知识,对FPGA和交通信号灯有一定了解,但实际操作能力有待提高。
教学要求:教师需结合学生特点,采用任务驱动法,引导学生自主探究和实践,确保学生能够达到课程目标。
在教学过程中,注重理论与实践相结合,关注学生的学习进度,及时调整教学方法和策略。
通过课程学习,使学生能够独立完成交通信号灯控制系统的设计与实现,提高学生的综合素养。
二、教学内容本课程教学内容主要包括以下三个方面:1. FPGA基础知识:讲解FPGA的基本原理、结构、编程方法和Verilog HDL 语言的基本语法。
参考教材相关章节,使学生掌握FPGA的基本使用方法。
- 教材章节:FPGA基本原理、Verilog HDL语言基础- 内容列举:FPGA结构、配置方法、Verilog语法、数据类型、运算符、基本语句2. 交通信号灯控制系统原理:分析交通信号灯的工作原理、控制逻辑和系统需求。
结合教材内容,使学生理解交通信号灯控制系统设计的关键环节。
- 教材章节:数字电路设计、交通信号灯控制系统- 内容列举:组合逻辑电路、时序逻辑电路、交通信号灯控制逻辑、系统需求分析3. 实践操作:指导学生运用FPGA和Verilog HDL语言设计并实现交通信号灯控制系统。
基于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课程设计交通灯信号控制器的设计报告
交通灯信号控制器的设计报告学院专业班级学号姓名交通灯信号控制器的设计1、实验目的(1)熟悉QuartusⅡ/ISE Design Suite/ispLEVER软件的基本使用方法。
(2)熟悉GW48-CK或其他EDA实验开发系统的基本使用方法。
(3)学习和掌握Verilog HDL过程区块语句、if条件语句、case 选择语句、for循环语句和元件实例化语句等的综合使用。
(4)学习计数器、分频器、选择器等Verilog HDL基本逻辑电路、动态扫描显示电路和状态机控制电路的综合设计应用。
2、实验要求设计并调试好一个十字交叉口的交通灯信号控制器,要求为:(1)设置两个开关SW1、SW2,其中固定开关实现交通警察人为监督交通秩序和无人自动控制交通秩序之间的切换,默认开关置于高电平端,为自动控制模式—交通灯按事先的规定工作,开关置于低电平时,为人为监督控制模式(交通灯不再工作)。
点动开关SW2用于整个系统的总复位,如系统出现故障,则需要总复位。
(2)当交通灯处于无人控制自动状态时,若方向灯1绿灯亮,则方向2红灯亮。
计数55s后,方向1的绿灯熄灭、黄灯亮,再计数5s后,方向1的红灯亮,黄灯灭,同时方向2的绿灯亮,然后方向2重复方向1的工作过程,这样就实现了无人自动控制交通灯。
有关控制的定时使用倒计时方式,计时过程用数码管显示。
3、总体设计思路3.1系统组成交通灯控制器拟由单片的CPLD/FPGA来实现,结合设计任务要求和确定的实现方案,按照自顶向下的层次化设计方法,整个系统可分为6个模块组成。
①主控制模块control:根据外部输入控制信号及来自内部计时模块的控制信号,控制两个方向道路信号灯的亮与灭。
②55s倒计时模块cnt55:实现55s绿灯点亮时间的倒计时。
③5s倒计时模块cnt05:实现5s黄灯点亮时间的倒计时。
④时钟信号分频模块fdiv:将给定的主频时钟信号经分频得到频率分别是1KHZ和1HZ.⑤显示数据多路选择模块datasel:根据来自control模块的控制信号进行倒计时模块cnt55和cnt05计时结果的显示数据选择。
基于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的交通信号灯课程设计(以VHDL语言实现)
基于FPGA的数字电子技术课程设计(以VHDL语言实现)课题:交通信号灯设计题目:1.由主干道A和支干道B的汇合点形成十字交叉路口,在交叉路口处设有红绿黄三色信号灯。
红灯亮禁止通行;绿灯亮允许通行;黄灯亮则让行驶到路口的车辆有时间停靠到禁止线外。
用两位数码管显示当前主支干道所处的状态。
红黄绿分别用R,Y,G表示。
2.主干道车辆较多,所以绿灯亮灯时间为50S;支干道亮绿灯时间设为30S。
当主干道允许通行亮绿灯时则支干道亮红灯;支干道亮绿灯时也相反。
每次由绿灯转变为红灯时,期间要亮5S的黄灯。
3.交通灯正常运行时,用四位数码管显示主干道和支干道的倒计时时间。
4.能实现系统总清0,清0后计数器由初始状态开始计数。
5.具有一定的扩展功能。
一.设计思路1.根据设计题目要求可以得出交通信号灯控制器的设计用“状态法”来实现较好,因此先划分出交通灯显示时的几个较大的状态。
设状态用S表示。
S0:主干道亮黄灯支干道亮红灯亮灯5SS1:主干道亮红灯支干道亮绿灯亮灯30SS2:主干道亮红灯支干道亮黄灯亮灯5SS3:主干道亮绿灯支干道亮红灯亮灯50S状态之间应该要能实现循环:S0=>S1=>S2=>S3=>S02.然后再考虑在每个状态下要能够实现的功能。
根据题目可知在每个状态下要能实现将交通灯的颜色变换以字母的形式显示在两位数码管上,每位各表示一条道路。
在交通灯颜色输出的同时还要能够实现计数的输出,也就是各路灯转换前剩余的时间量。
3.在实现了各个状态下的功能后就要考虑加上清0功能与紧急功能,清0也就是复位功能。
在复位时实现系统清0,并且清0后计数器从初始状态开始计时,在此将S0状态视为初始状态。
也就是清0完毕后系统进入S0状态。
课题中将紧急功能设为两条路都显示红灯,并且计数器全置0。
4.这些实现的功能都加入后就可以对所写的VHDL语言进行测试与仿真了。
在其中实现对所写语言的改进和完善,并得到仿真图结合仿真图再进行修改。
基于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的定义位置图。
基于FPGA的交通灯设计报告
合肥学院综合课程设计报告题目:基于FPGA的交通灯设计专业:电子信息工程班级:09电子(2)班姓名:周峰导师:成绩:2012年12月11日基于FPGA的交通灯设计一:题目要求1:主干道绿灯时,支干道红灯亮,反之亦然,两者交替允许通行。
主干道每次放行40秒,支干道每次放行30秒。
每次路灯亮,前10秒为左转灯亮,后5秒为黄灯亮。
余下为直行灯亮、2:能实现正常的倒计时显示功能。
3:能实现总体清零功能;计数器由初始状态开始计数,对应状态的指示灯亮。
二:题目分析1:在十字路口东西方向和南北方向各设一组左转灯、;显示的顺序为:左转灯绿灯黄灯红灯。
2:设计一个倒计时显示器。
倒计时只显示总体时间。
主干道左转灯、红灯、绿灯和黄灯亮的时间分别是10秒、30秒、25秒、5秒。
支干道左转灯、红灯、绿灯和黄灯亮的时间分别是10秒、40秒、15秒、5秒状态表如表3-1所示:3三:选择方案1:方案一在VHDL设计描述中,采用自顶向下的设计思路,该思路在自顶向下的VHDL 设计描述中,通常把整个设计的系统划分为几个模块,然后采用结构描述方式对整个系统进行描述。
根据实验设计的结构功能,来确定使用哪些模块以及这些模块之间的关系。
通过上面的分析,不难得知可以把交通灯控制系统划分为3个模块:时钟模块、控制模块、分频模块。
2:方案二不采用方案一的分模块设计,直接用进程写程序。
该程序由7个进程组成,进程P1将CLK信号分频后产生1秒信号,P2形成0-49的计数器,进程P3、P4用来控制的信号灯亮灭的,其中P5、P6产生数码管显示的倒数的十进制形式。
进程P7实现状态转换和产生状态转换的控制信号,进而控制数码管显示。
由于方案一中使用进程会使程序变得很复杂,不易理解,所以我采用了方案二。
四:方案二ASM图设计开关控制部分ASM图ASM图说明:i、j、k、分别代表开关状态;1表示开关闭合,为高电平;0表示开关断开为低电平。
当开关处于不同的状态时,分别给变量G不同的值,用来实现控制通行时间。
FPGA实验报告-交通灯控制器设计
FPGA实验报告--交通灯控制器设计院系:电子与信息工程系专业:通信工程班级:姓名:学号:指导教师:一、实验任务 1、任务名称:交通灯控制器的设计2、设计容与要求:① 设计一个十字路口交通信号灯的定时控制电路。
要求红、绿灯按一定的规律亮和灭,并在亮灯期间进行倒计时,并将运行时间用数码管/液晶显示出来。
② 绿灯亮时,为该车道允许通行信号,红灯亮时,为该车道禁止通行信号。
要求主干道每次通行时间为99秒,支干道每次通行时间为30秒。
每次变换运行车道前绿灯闪烁,持续时间为5秒。
即车道要由主干道转换为支干道时,主干道在通行时间只剩下5秒钟时,绿灯闪烁显示,支干道仍为红灯,以便主干道上已过停车线的车继续通行,未过停车线的车停止通行。
同理,当车道由支干道转换为主干道时,支干道绿灯闪烁显示5秒钟,主干道仍为红灯。
③ 对红、绿灯的运行时间要能比较方便的进行重新设置。
④ 对器件进行在系统编程和实验验证。
⑤ 用VHDL 语言对设计进行描述,设计一个测试方案,通过ISE 对设计进行仿真验证。
并能够下载到实验板上调试成功。
6 写出设计性实验报告,并打印各层次的源文件和仿真波形,然后作简要说明。
2、补充功能与要求:1.在主干道和支干道添加左转向灯;2.各灯亮的时间及最后闪烁时间可调节;3.紧急路况时,主干道和支干道都为红灯。
二、实验环境1、ISE 软件一套;2、PC 机一台。
三、设计思路1、根据题目要求,知道整个交通灯的运行过程是周期的,所以可以设计一个总的计数器,满周期则清零;2、将灯闪烁时间、主干道绿灯亮的时间、主干道转向灯亮的时间、支干道绿灯亮的时间、支干道转向灯亮的时间分别记为变量t0、t1、t2、t3、t4,通过调整它们,实现调节各灯亮的时间;3、将所有需要显示的量由同一个信号表示并最终输出、显示在LCD上。
四、系统设计a)系统框图b)状态转换说明:主干道和支干道永远有且只有一个灯亮,紧急路况时两边红灯亮,其余时候有且只有一个红灯亮;主干道绿灯、主干道转向灯亮、支干道绿灯、支干道转向灯依次亮,在最后t0S(默认为5S)闪烁。
《FPGA系统设计》实验报告》交通灯控制系统的设计实验
《FPGA系统设计》实验报告》交通灯控制系统的设计实验一 .实验目的了解交通灯及控制系统的控制及其显示模块。
二.实验要求1.交通灯从绿色变成红色时,要经过黄色的过渡,黄色灯亮的时间为5秒:2.交通灯从红色变成绿色时,不要需要经过黄色灯的过渡,直接由红色变成绿色,绿色灯点亮的时间为25秒,红色灯点亮的时间为20秒;3.各种灯点亮时,要实现时间的倒计时显示。
三.实验操作步骤假设十字路口的方向为xy两方向,对两个方向需要两个控制模块来控制交通灯的点亮,还需要时间倒计时显示,即需要显示模块,因此系统的总设计模块图由三大模块组成,分别是xy两方向的控制模块,显示模块。
其中显示模块又由三个子模块构成,分别是数码管选择模块,数据分配模块,数码管驱动模块。
控制模块的设计控制模块是控制系统的核心部分,它实现了交通灯的三种颜色的交替点亮和时间倒计时的控制。
x方向控制代码如下:LIBRARY IEEE;USE IEEE .STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CORNA ISPORT (CLK:IN STD_LOGIC;R,G,Y:OUT STD_LOGIC;TIMH,TIML:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END CORNA;ARCHITECTURE CORNER OF CORNA ISTYPE RGY IS (GREEN,YELLOW,RED);BEGINPROCESS(CLK)VARIABLE A:STD_LOGIC;VARIABLE TH,TL:STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE STATE:RGY;BEGINIF(CLK'EVENT AND CLK='1')THENCASE STATE ISWHEN GREEN=>IF A='0'THENTH:="0001";TL:="1001";A:='1';G<='1';R<='0';Y<='0';ELSEIF NOT(TH="0000" AND TL="0001")THENIF TL="0000" THENTL:="1001";TH:=TH-1;ELSETL:=TL-1;END IF;ELSETH:="0000";TL:="0000";A:='0';STATE:=YELLOW;END IF;END IF;WHEN YELLOW=>IF A='0' THENTH:="0000";TL:="0100";A:'1';Y<='1';G<='0';R<='0';ELSEIF NOT(TH="0000" AND TL="0001")THEN TL:=TL-1;ELSETH:="0000" ;TL:="0000";A:='0';STATE:=RED;END IF;END IF;WHEN RED=>IF A='0' THENTH:="0010";TL:="0100";A:='1';R<='1';Y<='0';G<='0';ELSEIF NOT(TH="0000" AND TL="0001")THEN IF TL="0000"THENTL:="1001";TH:=TH-1;ELSETL:=TL-1;END IF;ELSETH:="0000";TL:="0000";A:='0';STATE:=GREENEND IF;END IF;END CASE;END IF;TIMH<=TH;TIML<=TL;END PROCESS;END CORNER;在以上程序中,实体部分定义的输入时钟信号clk为1Hz的脉冲信号,r、g、y为接水通灯的信号,timh 和timl为时间显示信号的十位和个位值。
基于FPGA的交通灯控制系统设计 【开题报告】
开题报告电气工程及其自动化基于FPGA的交通灯控制系统设计一、综述本课题国内外研究动态,说明选题的依据和意义1. 选题的背景和意义在当今这个经济高速发展的社会,人民的物质生活水平不断提高,随着城市化的推进,私家车的数量逐渐增加,全社会对道路交通的需求也越来越大,城市的交通问题越来越引起人们的关注,而交通信号控制灯是道路交通的重要组成部分。
而目前,城市中十字路口的交通灯控制系统大都采用定时控制方式。
这样的交通控制系统经常出现单方向的交通堵塞严重的问题,造成一方向车挤另一方向车松的不合理的局面。
因此,我们有必要寻求一种具有智能的交通控制系统。
这种智能交通控制系统能够依据道路车流量的不同情况改变控制方式或自动调节红绿灯的时间长度,减少十字路口的车辆滞留现象,增减交通安全,缓解交通拥挤,提高交通效益,实现十字路口交通最优控制,从而提高交通控制系统的效率,以达到减少环境污染,降低能源消耗。
就目前的现状来说,解决交通拥堵问题不仅联系着环境问题和资源问题,关系着国家的社会生产环境,而就现在的研究成果来看,虽然现在有很多研究产品问世,但是很多的研究成果还是由于当时技术的局限,还有就造价成本和可编程性来看,Verilog HDL设计就有一定得优越性,使用Verilog HDL设计的数字电路系统主要有两种实现方法:ASIC和FPGA。
而使用FPGA器件,后仿真会容易一些,只要使用FPGA厂商提供的EDA工具就可以方便的进行。
因此,对于研究基于FPGA控制的智慧交通灯的控制,其研究成果不仅能够缓解由于交通拥堵带来的环境污染问题和燃油浪费问题,也节省了人们的出行时间,缓解了城市的交通。
2. 国内外的研究动态对于智能交通灯控制系统的研究也有着久远的历史,早在上世纪60年代末期,美国就开始了关于智能交通系统技术的研究,之后,欧洲、日本也相继加入了这一行列。
经过40多年的发展,美国、欧洲、日本成为世界ITS研究的三大基地。
目前,另外一些国家、地区也有相当规模,可以说,全球目前的ITS产业发展的速度惊人,以“保障安全、提高效率、改善环境、节约能源”为目标的ITS概念正逐步在全球形成。
基于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交通信号灯课程设计报告FPGA交通信号灯课程设计报告一、引言交通信号灯是城市交通管理中的重要组成部分,它能够指示车辆和行人何时可以通行,何时应该停止。
在传统的交通信号灯系统中,信号灯的时序控制是通过固定的电路实现的。
然而,传统的电路设计存在一些缺点,例如难以实现动态调整、增加新功能困难等。
因此,本课程设计旨在利用FPGA技术,设计一个可编程的交通信号灯控制系统,以解决传统交通信号灯系统的一些问题。
二、设计目标本课程设计的目标是设计一个基于FPGA的交通信号灯控制系统,具有以下特点:1. 灵活性:能够根据交通流量和道路情况动态调整信号灯的时序;2. 可编程性:能够根据需要增加新功能,如车辆检测、优化信号灯配时等;3. 高效性:能够实现快速响应和准确控制,以提高交通流畅度和安全性。
三、设计方案1. 硬件设计方案本课程设计将使用FPGA作为核心控制器,通过编程实现交通信号灯的控制逻辑。
FPGA具有可编程性强、并行计算能力高等优点,非常适合用于交通信号灯控制系统的设计。
另外,还将使用LED等外部设备来显示交通信号灯的状态。
2. 软件设计方案本课程设计将使用Verilog HDL编程语言进行软件设计。
Verilog HDL是一种常用的硬件描述语言,具有语法简洁、易于理解和设计的优点,非常适合用于FPGA的设计。
在软件设计中,将根据交通信号灯的控制逻辑,编写相应的Verilog代码。
3. 功能设计方案本课程设计中,交通信号灯的控制逻辑包括以下功能:- 时序控制:根据交通流量和道路情况,动态调整信号灯的时序,以提高交通流畅度;- 车辆检测:通过传感器或摄像头等设备,实时检测车辆的存在和数量,以实现智能的信号灯控制;- 优化配时:根据交通状况和路口拓扑,优化信号灯的配时,以减少交通拥堵和延误。
四、实施步骤1. 硬件实施根据设计方案,选择合适的FPGA开发板和外部设备,搭建交通信号灯控制系统的硬件平台。
2. 软件实施使用Verilog HDL编程语言,根据设计方案,编写交通信号灯控制系统的软件代码。
fpga交通灯课课程设计
fpga交通灯课课程设计一、教学目标本课程旨在通过学习FPGA交通灯的设计与实现,让学生掌握FPGA的基本知识和应用,培养学生的实际动手能力和创新思维。
知识目标:使学生了解FPGA的基本概念、特点和应用领域;掌握FPGA的基本设计和验证方法;理解FPGA在交通灯系统中的应用。
技能目标:培养学生使用FPGA相关软件进行交通灯系统设计的能力;培养学生进行硬件描述语言编程的能力;培养学生进行FPGA硬件调试的能力。
情感态度价值观目标:培养学生对新技术的敏感性和好奇心,激发学生对FPGA技术和交通灯系统设计的兴趣;培养学生团队合作精神和自主学习能力。
二、教学内容本课程的教学内容主要包括FPGA的基本知识、FPGA在交通灯系统中的应用和FPGA的设计与验证方法。
1.FPGA的基本知识:介绍FPGA的基本概念、特点和应用领域;讲解FPGA的硬件描述语言和编程方法。
2.FPGA在交通灯系统中的应用:分析交通灯系统的需求,讲解FPGA在交通灯系统中的设计和实现方法。
3.FPGA的设计与验证方法:介绍FPGA的设计流程,讲解FPGA的设计方法和验证方法,并通过实际案例进行讲解和演示。
三、教学方法本课程将采用讲授法、案例分析法和实验法进行教学。
1.讲授法:通过讲解FPGA的基本知识、设计和验证方法,使学生掌握FPGA的基本概念和应用。
2.案例分析法:通过分析交通灯系统的需求,讲解FPGA在交通灯系统中的应用,使学生理解FPGA的实际应用场景。
3.实验法:通过实际操作FPGA相关软件和硬件设备,让学生亲手设计和验证FPGA交通灯系统,培养学生的实际动手能力和创新思维。
四、教学资源本课程的教学资源包括教材、多媒体资料和实验设备。
1.教材:选用合适的FPGA教材,为学生提供系统的理论知识学习。
2.多媒体资料:提供FPGA相关讲座、案例分析和实验操作的视频资料,丰富学生的学习体验。
3.实验设备:准备FPGA开发板和相关的硬件设备,为学生提供实际动手操作的机会。
基于FPGA的交通灯课程设计报告
摘要本实验为自主选题设计实验,实验选择具有倒计时显示功能的红黄绿三色交通设计,实验中采用VHDL 作为设计功能描述语言,选用Altera公司的EP1K30144-PIN TQFP最为主控芯片,实验报告中简要介绍了FPGA器件,并给出了设计原理图,详细的介绍了交通灯的设计流程,实验报告中还附有实验代码实验结果照片图。
AbstractThis experiment designed for independent choice experiment, experiment choice which has the function of the countdown display red yellow green traffic design, description language (VHDL as design function is applied in the experiments, the most main control chip select MAX II EPM240T100C5 Altera company, experiment report, this paper briefly introduces the MAX II device series, and gives the design diagram, detailed introduces the traffic lights of the design process, the experiment report with the code results photo graph.目录一、概述 (1)1.1课程设计背景 (1)1.2课程设计题目 (1)1.3课题功能补充 (1)二、系统设计与论证 (2)2.1系统设计思路 (2)2.2系统框架设计 (3)2.3输入输出设计 (4)2.4模块设计过程 (4)2.4.1状态转换模块 (4)2.4.2数码管显示模块 (5)2.5模块描述 (5)2.5.1主控制模块 (5)2.5.2 45s时间倒计时模块 (6)2.5.3 25s时间倒计时模块 (6)2.5.4 5s时间倒计时模块 (7)2.5.5 数据选择模块 (7)2.6整体电路图 (8)三、系统仿真 (9)四、心得体会 (9)五、附录 (10)5.1主控制模块源程序 (10)5.2 45s模块源程序 (12)5.3 25s模块源程序 (13)5.4 5s模块源程序 (14)5.5 数据选择模块源程序 (16)六、参考文献 (16)七、老师评语及成绩 (17)一、概述1.1课程设计背景经过两个学期的电子线路设计测试实验,我们从基础的模电、数电典型电路的设计和实现做起,从PSpice和MAXⅡ的设计与仿真,到面包板搭建电路的实践与测试,在不断的学习和积累中,了解了电子技术设计的基本过程和基础知识。
fpga交通信号灯课程设计报告
fpga交通信号灯课程设计报告FPGA交通信号灯课程设计报告一、引言交通信号灯是城市交通管理系统中重要的组成部分,它能够有效地引导车辆和行人的交通流动,提高交通效率和安全性。
为了更好地理解和应用FPGA技术,我们选择了交通信号灯作为课程设计的主题。
本文将详细介绍FPGA交通信号灯的设计思路和实现过程。
二、设计目标本次课程设计的主要目标是利用FPGA实现交通信号灯的控制系统,通过灯光的闪亮和转换来模拟不同道路的交通流向。
具体设计要求如下:1. 使用FPGA实现交通信号灯的控制逻辑;2. 能够模拟不同道路的交通流向,并能够根据实际情况进行灯光的闪亮和转换;3. 能够通过按钮进行手动控制或者自动控制。
三、设计思路本次课程设计的核心是设计交通信号灯的控制逻辑。
首先,我们需要确定交通信号灯的灯光布局和控制方式。
一般来说,交通信号灯包括红灯、黄灯和绿灯,分别代表停止、警告和通行。
根据交通流向的不同,我们需要设计不同的灯光组合和切换方式。
在FPGA设计中,我们可以使用状态机的方式来实现交通信号灯的控制逻辑。
通过定义不同的状态和转换条件,我们可以控制交通信号灯的灯光切换。
同时,我们还可以通过外部按钮的输入来实现手动控制功能,或者通过计时器的方式实现自动控制功能。
四、设计实现1. 硬件设计在硬件设计方面,我们需要使用FPGA开发板搭建交通信号灯的控制系统。
首先,我们需要将FPGA开发板与红、黄、绿三色LED灯进行连接,以实现灯光的控制。
同时,我们还需要将FPGA开发板与外部按钮进行连接,以实现手动控制功能。
2. 软件设计在软件设计方面,我们需要使用Verilog HDL来描述交通信号灯的控制逻辑。
首先,我们需要定义不同的状态,例如红灯亮、黄灯亮和绿灯亮等。
然后,根据不同的状态和转换条件,我们可以使用if-else语句或case语句来实现灯光的切换。
最后,我们需要根据外部按钮的输入来实现手动控制功能,或者使用计时器模块来实现自动控制功能。
基于FPGA交通灯控制器设计
基于FPGA交通灯控制器设计引言:近年来,城市交通的快速发展给城市交通管理带来了巨大的挑战。
交通灯系统是一项重要的交通管理设施,能够保证出行的安全和有序。
传统的交通灯控制器通常基于微控制器或PLC,但是随着FPGA(Field Programmable Gate Array)技术的发展,越来越多的交通灯控制器开始采用FPGA来实现,以提供更高的实时性和可编程性。
设计目标:本文旨在设计一个基于FPGA的交通灯控制器,以实现交通灯的准确、稳定和快速的切换,以提高交通流量的效率和道路的安全性。
FPGA交通灯控制器的设计:FPGA交通灯控制器的设计主要包括以下几个步骤:1.系统功能设计:首先,需要确定系统的功能需求,即要实现的交通灯控制策略。
例如,可以采用定时控制、感应控制或组合控制等方式来决定交通灯的切换规则。
2.硬件设计:根据系统功能需求,设计FPGA的硬件电路,包括FPGA芯片的选择、外围电路的设计和电源等。
3. 程序设计:编写FPGA的逻辑代码,实现交通灯控制的算法和逻辑。
可以使用硬件描述语言(HDL)如Verilog或VHDL来实现。
4.仿真验证:使用FPGA开发工具进行仿真验证,确保交通灯控制器的功能和性能达到设计要求。
5.硬件调试和优化:根据仿真结果,对硬件电路进行调试,并优化电路设计,以提高交通灯控制器的性能和稳定性。
6.硬件实现:将设计好的交通灯控制器加载到FPGA芯片中,并与其他外围设备(如传感器、通信模块等)进行连接。
7.系统测试和验收:对交通灯控制器进行系统测试,验证其在实际环境中的功能和性能,并根据实际需求进行调整和优化。
设计考虑:在设计FPGA交通灯控制器时1.实时性:交通灯控制需要具备高实时性,能够及时响应交通信号的变化,并快速切换信号灯。
2.稳定性:交通灯控制器需要具备稳定性,能够保持信号灯的状态稳定和可靠。
3.可编程性:FPGA交通灯控制器应具有良好的可编程性,能够根据需求进行灵活配置和调整。
基于FPGA设计——交通灯
FPGA课程设计——交通灯控制器通信工程学院电科0701班罗超(17)第一部分技术规范功能描述:实现一个由一条主干道和一条支干道的汇合点形成的十字路口的交通灯控制器,具体功能:(1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。
(2) 主干道处于长允许通行状态,而支干道有车来时才允许通行。
当主干道允许通行亮绿灯时,支干道亮红灯。
而支干道允许通行亮绿灯时,主干道亮红灯。
(3) 当主干道、支干道均有车时,两者交替允许通行,主干道每次通行45 秒,支干道每次通行25 秒,在每次由绿灯向红灯转换的过程中,要亮5 秒的黄灯作为过渡,并进行减计时显示。
每个周期结束时都要进行支干道是否有车的检测,若有车则进行下一个周期,若没有,则主干道亮绿灯,支干道亮红灯,直到检测到支干道有车。
系统总体框图:根据设计要求和系统所具有的功能,并参考相关的文献资料,经行方案设计,可以画出如下图所示的交通信号灯控制器的系统框图。
I/O管脚的描述表一:系统总体I/O管脚的描述注:其中系统时钟的频率选为10KHZ,复位采取同步复位方式,且低有效。
支干道检测到有车时, carsignal=1;否则,carsignal=0。
方案核心:在交通灯控制器的设计中,交通灯控制及计时模块是本设计的关键模块。
第二部分总体设计方案交通灯系统详细框图:在系统总体框图的基础上进一步详细设计,得到如下系统详细框图。
1.时钟分频模块系统的动态扫描需要10KHZ的脉冲,而系统时钟计时模块需要1HZ的脉冲。
分频模块主要为系统提供所需的时钟计时脉冲。
该模块将10KHZ的脉冲信号进行分频,产生1S的方波(占空比为50%),作为系统时钟计时信号。
图四:时钟分频模块框图I/O管脚描述如下:表二:时钟分频模块I/O端口描述注:系统时钟的频率为10KHZ,分频后的时钟信号为1HZ(占空比为50%)。
复位信号为同步复位,且低有效。
2.交通灯控制及计时模块控制模块JTDKZH:根据主干道、支干道输入信号以及时钟信号CLK,发出主、支干道指示灯的控制信号,同时向各个定时单元、显示控制单元发出使能控制信号产生系统的状态机,控制其他部分协调工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要本实验为自主选题设计实验,实验选择具有倒计时显示功能的红黄绿三色交通设计,实验中采用VHDL 作为设计功能描述语言,选用Altera公司的EP1K30144-PIN TQFP最为主控芯片,实验报告中简要介绍了FPGA器件,并给出了设计原理图,详细的介绍了交通灯的设计流程,实验报告中还附有实验代码实验结果照片图。
AbstractThis experiment designed for independent choice experiment, experiment choice which has the function of the countdown display red yellow green traffic design, description language (VHDL as design function is applied in the experiments, the most main control chip select MAX II EPM240T100C5 Altera company, experiment report, this paper briefly introduces the MAX II device series, and gives the design diagram, detailed introduces the traffic lights of the design process, the experiment report with the code results photo graph.目录一、概述 (1)1.1课程设计背景 (1)1.2课程设计题目 (1)1.3课题功能补充 (1)二、系统设计与论证 (2)2.1系统设计思路 (2)2.2系统框架设计 (3)2.3输入输出设计 (4)2.4模块设计过程 (4)2.4.1状态转换模块 (4)2.4.2数码管显示模块 (5)2.5模块描述 (5)2.5.1主控制模块 (5)2.5.2 45s时间倒计时模块 (6)2.5.3 25s时间倒计时模块 (6)2.5.4 5s时间倒计时模块 (7)2.5.5 数据选择模块 (7)2.6整体电路图 (8)三、系统仿真 (9)四、心得体会 (9)五、附录 (10)5.1主控制模块源程序 (10)5.2 45s模块源程序 (12)5.3 25s模块源程序 (13)5.4 5s模块源程序 (14)5.5 数据选择模块源程序 (16)六、参考文献 (16)七、老师评语及成绩 (17)一、概述1.1课程设计背景经过两个学期的电子线路设计测试实验,我们从基础的模电、数电典型电路的设计和实现做起,从PSpice和MAXⅡ的设计与仿真,到面包板搭建电路的实践与测试,在不断的学习和积累中,了解了电子技术设计的基本过程和基础知识。
在本学期,我们迎来了电子技术课程设计,这是一次将理论付诸实践的宝贵机会,是提升我们运用电子技术设计手段实现实际问题的能力的良好机遇。
在选题阶段,我踌躇满志的和另一个同学选择了SD卡音乐播放器这个选做题,但是由于没有足够地去深入了解相关的技术问题,致使在开题时没有通过曾老师的验收,只能十分遗憾的选择了基础题,改做交通灯控制器了。
虽然有些遗憾,因为当初觉得自己有能力完成那样一个选做题,但是这也给了我一个深刻的教训,在机遇和挑战面前,再有信心也要做好充足的准备来证明你的实力。
另一方面给我的启示就是,尽管一个相同的题目前人做了很多工作,给我们提供了一个很好的平台,但是如果我们只是去读懂和使用它们,仅限在这样一个层次是远远不够了,要学会从前人的研究成果中寻找新的突破点,利用自己已掌握的知识或者所具备的能力,在原有的基础上实现更加丰富的功能,这才应该是我们做课程设计的最终目的。
仅仅看懂别人的设计思路和代码并不是能力的体现,而真正锻炼我们能力的是在充分掌握前人设计手段的基础上,融会贯通地使原有的设计更加结合实际,更加完善。
1.2课程设计题目设计一个十字路口交通信号灯的控制电路。
要求红、绿灯按照一定的要求亮和灭,并在亮灯期间进行倒计时,且将运行时间用数码管显示出来。
要求主干道每次通行时间为45秒,支干道每次通行时间为25秒。
每次变换运行车道前绿灯闪烁,持续时间为5秒。
即车道要由45转换为25时,主干道在通行时间只剩下5秒钟时,绿灯闪烁显示,支干道仍为红灯。
可以对主、支方向上的交通灯运行时间进行重新设置。
1.3课题功能补充在原有题目功能要求的基础上,我对交通灯控制器的功能在设计方面进行了补充,主要体现在:(1)增加主、支干道左转红绿信号灯;(2)增加主、支干道左转运行时间倒计时,并用数码管显示;(3)增加LED同步显示当前运行状态功能,即用LED显示信号灯状态;功能增加了,可以说任务量也增加了不少。
就最为关键的时间设置和显示方面,由于增加了两个左转方向的运行时间,虽然只是增加了两个状态,但是同时显示四个方向的等待和通行的倒计时,确实在开始设计时,我有些茫然,觉得无从下手。
我花了很长时间在网上查阅实际中的交通灯到底是如何计时和运行的,也到学校周围的路口实地调查过几种十字路口交通灯的设置,慢慢的从实际设置需求中理清头绪,具体的设计思路将在后面的部分详细说明。
二、系统设计2.1系统设计思路前面讲到,基于状态机的方法可以轻松实现交通灯的控制,而状态转换利用Verilog中的case和循环语句很容易实现。
我将四种状态的转换顺序设置为:主直→主左→次直→次左→主直→……(依次循环),每个状态在设置时间的基础上由倒计时进行状态的变换。
以上都是比较容易实现的,也是很多经典的例子上有讲解过的,下面我着重说明下如何实现四个方向同时进行等待和通行的倒计时。
用四组数码管来显示主、次干道直行和左转倒计时,首先需要了解这四组数码管显示的规律,也就是显示计数的规律。
在网上查阅资料的时候,通过观看一段视频,我茅塞顿开。
这个视频展示的是基于51单片机实现的交通灯控制器的实物功能演示,它也是利用了四组数码管分别显示四个方向的倒计时。
通过反复观看我发现,其实在四个方向中,一个是通行倒计时,另外三个是等待倒计时,而等待倒计时又是它之前状态通行时间之和,在显示的效果上就是总会有两组倒计时数值是相同的,即相邻状态的那两个是相同的,一个是正在通行,一个是等待上一状态通行的结束。
这之后的两个状态显示的倒计时是累加上之前未通行状态的设置时间和正在通行状态的剩余时间之和。
如图所示:图1 状态转换图图2 倒计时显示方式(以主干道正在通行为例)2.2系统框架设计通过以上分析,可以较为清晰地看出在系统设计状态转换和一些实现方式的设计思路,下面说明系统的框架整体设计思路。
整体框架思路为:首先将教学实验箱提供的50MHZ时钟信号分频,转换为可利用的1Hz CP信号,同时为了实现绿灯在1s内闪烁一次,再转换出一个2Hz的CP信号提供给需要闪烁的绿灯。
然后是设置时间的功能模块,通过开关可以分别设置四个方向的运行时间,并将设置的时间传送到状态转换模块中。
在状态转换功能模块中,通过前面传送来的设定通行时间进行倒计时和转换状态,并输出当前方向通行剩余时间和四向使能EN信号。
在时间显示功能模块中,接收到前面的设置时间、剩余时间、使能信号,运用前面说明的现实方式的逻辑,计算出等待时间,在该向通行时显示剩余时间,在该向等待时显示等待时间,最终将时间信号输出到数码管显示模块;另外,由于数码管数量的限制,只能一次性显示8个(即四组),那么究竟是显示倒计时还是显示设置时间就需要一个开关信号来区分,于是设置一个输入信号来判别是否进入设置模式,并且只能在设置模式下设置时间。
LED信号灯显示功能模块则将状态转换模块输出的EN使能信号和2Hz的CP信号以及当前剩余时间作为输入,根据状态点亮相应的LED信号灯。
LED显示功能模块的原理和LED信号灯显示模块类似,也是根据同步状态EN使能信号,通过刷新字符的方式,改变和显示当前通行状态。
最后,数码管显示功能模块是结合DE2教学开发板数码管的编码规则将BCD码转换为七段码,在译码后显示出来。
图3 系统框图上图所示的系统框图只是大致说明系统的框架和流程,没有具体到每个模块的输入和输出,在前面的文字描述中有所说明,更加详细的设计说明将在后面模块功能说明的详细介绍。
2.3输入输出设计根据功能需要,输入设计采用两个按键,模拟主干道、支干道有车过来。
时钟信号输入为1MHz的时钟频率振荡器。
输入设计采用4个数码管用于显示倒计时,8个LED灯作为交通信号。
2.4模块设计过程2.4.1状态转换模块该模块是控制器的核心部分,但是原理其实很简单,只是输入输出量很多,获取的信息多,处理后输出的信息也多。
前文已说明了状态转换的思想是该控制器实现的主要思路,那么如何处理好这么多输入输出的关系就成为了重点需要解决的问题了。
输入部分的关键是四向设定通行时间的传入,这可以从时间设置模块的输出获取。
这四个设定时间传入的时间需要选择好,即选择恰当的时机读取新的设置通行时间,因为设置时间的操作可能发生在任何运行时间,如果不能选择很好的时机来读入新的设置通行时间,可能造成逻辑上的混乱,致使状态不能按照正常的顺序进行转移,也给实际的交通信号控制造成了一定的影响。
在这里,我选取了在每个状态运行结束的同时来读取新的设置通行时间,这样在任意状态时刻设置时间,将会在下一个状态到来时切换到新的通行时间上去运行,一方面不会使设置的效果延时太长,另一方面也不会出现如果恰巧在该方向上设置时间,那么该方向可能一直显示通行而不能正常转换状态的逻辑错误。
输出部分的关键是四个方向的EN使能信号和通行倒计时时间。
根据所在的状态,可以对四个方向的EN使能信号进行赋值输出,用于控制信号灯显示和LED同步状态显示等。
通行时间倒计时是为了数码管能够显示出通行剩余时间和等待通行时间,这个显示的方式在前文也有描述,这里不再赘述。
通行剩余时间就是状态转换过程所依据的倒计时时间,在状态转换中需要根据各向通行时间在每个通行状态进行减计数倒计时,当计数到01时切换状态,而这个倒计时的时间正好是该方向通行的剩余时间,输出后经过显示方式的逻辑处理,就可以变成其它禁止方向的等待通行时间了。
2.4.2数码管显示模块该功能模块同样建立在DE2底层函数调用基础上,实现4个数码管的时间显示。
根据DE2教学开发板上数码管的七段编码规则,将输入时间的8位BCD码转换为七段码显示出来,我根据实际需要修改了底层函数,使得调用更加方便和集成化。
根据数码管七段的位置进行编码,每个段位的管子仍然是共阳极的,所以高电平实现熄灭管子,低电平实现点亮管子。