- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VHDL交号灯控制器
《PLD与现代传感技术应用》
课程论文
基于的的设计
学 院:电信学院
专 业:控制工程
姓 名:
基于的的设计
(辽宁科技大学 电信学院, 电信2010)
摘要:交通灯控制系统在城市交通监管中起着极其重要的作用。应用VHDL语言,在Altera公司的QuartusII软件环境下,通过模块化编程完成了灯亮时间可调的交通灯控制系统设计, 并进行了逻辑综合、 仿真, 系统的软件仿真测试结果满足了设计要求,达到了预期的效果。由于设计采EDA技术,不但大大缩短了开发研制周期, 提高了设计效率,而且使系统具有设计灵活,实现简单, 性能稳定的特点。
关键词:交通灯控制; FPGA; VH DL;仿真
0 引言
交通灯是城市交通监管系统的重要组成部分,对于保证机动车辆的安全运行,维持城市道路的顺畅起到了重要作用。目前很多城市交叉路口的交通灯实行的是
定时控制,灯亮的时间是预先设定好的, 在时间和空间方面的应变性能较差,一定程度上造成了交通资源的浪费,加重了道路交通压力。本文在 EDA 技术的基础
上,利用FPGA 的相关知识设计了交通灯控制系统,可以根据实际情况对灯亮时间进行自由调整,整个设计系统通过Quartus I I软件进行了模拟仿真,并下载到
FPGA 器件中进行硬件的调试, 验证设计的交通信号灯控制电路预定的功能
1 VHDL的特点
随着电子技术的发展 ,数字系统的设计正朝高速度、大容量、小体积的方向发展 ,传统的自底而上的设计方法已难以适应形势。EDA ( Electronic Design Automation)技术的应运而生 ,使传统的电子系统设计发生了根本的变革。EDA 技术就是依赖功能强大的计算机 ,在EDA工具软件平台上 ,对以硬件描述语言VHDL(Very Hieh Speed Integrated Circuit Hardware DescriptionLanguage)为系统逻辑描述手段自顶而下地逐层完成相应的描述、综合、优化、仿真与验证 ,直至生成器件。VHDL 语言是目前应用于数字系统仿真最为实用的语言之一。VHDL 语言最早由美国国防部提出。用VHDL 语言进行数字逻辑电路和数字系统的设计 ,是电子电路设计方法上的一次革命性变革。与传统设计方法相比 ,VHDL 描述电路行为的算法有很多优点:
设计层次较高、 用于较复杂的计算时 ,能尽早发现存在的问题 ,缩短设计周期;
(2)独立实现 ,修改方便 ,系统硬件描述能力强;
(3)可读性好 ,有利于交流 ,适合于文档保存;
(4)VHDL 语言标准、 规范、 移植性强;
(5)VHDL 类型众多而且支持用户自定义类型 ,支持自顶而下的设计方法和多种电路的设计。
2 交通灯设计说明
启动交通灯首先将开关 置为高电平则系统就会进入稳定的工作状态。30 秒后 ,均变黄 ,持续秒后,红 , load1为绿。30 秒后 ,均变黄 ,持续秒如此交替循环。3 交通灯设计思路框图4 软件流程图及程序
根据交通灯信号控制的要求,可把它分解为定时器和控制器两部分。CLK:时钟脉冲; :road0红灯;灯;:road1红灯;灯;(如图1所示) 主控制电路设计程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
use ieee.std_logic_arith.all;
ENTITY fz IS
PORT( clk : IN STD_LOGIC;
rest : in std_logic;
r0,y0,g0,r1,y1,g1: out std_logic
);
END ENTITY fz;
ARCHITECTURE behavioral OF fz IS
constant yellow_time : integer:=5;
constant green_time : integer:=30;
constant red_time : integer:=30;
signal p,f : integer range 0 to 3;
signal clk_500 :std_logic;
BEGIN
temp1: process(clk)
variable cnt1 :integer range 0 to 2;
variable cnt2 :integer range 0 to 3;
BEGIN
if clkevent and clk=1 then
if cnt
您可能关注的文档
- 基于FPGA的计算技术.docx
- 基于Java的注册管理系统实训报告.doc
- 基于java的网站设计与开发毕业论文.doc
- 基于Java平wing+mysql实现图书管理系统总结报告.doc
- 基于java课理系统的文献综述.doc
- 基于Java平聊天系统的研究正文.doc
- 基于JAVA的B应用开发实训教程.doc
- 基于JAVA的图书馆管理系统的设计与实现.doc
- 基于JSP的W数据库访问.doc
- 基于JSP的学息管理系统 论文参考.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)