专科EDA彩灯控制器设计.docx

上传人:b****5 文档编号:8645597 上传时间:2023-02-01 格式:DOCX 页数:19 大小:394.12KB
下载 相关 举报
专科EDA彩灯控制器设计.docx_第1页
第1页 / 共19页
专科EDA彩灯控制器设计.docx_第2页
第2页 / 共19页
专科EDA彩灯控制器设计.docx_第3页
第3页 / 共19页
专科EDA彩灯控制器设计.docx_第4页
第4页 / 共19页
专科EDA彩灯控制器设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

专科EDA彩灯控制器设计.docx

《专科EDA彩灯控制器设计.docx》由会员分享,可在线阅读,更多相关《专科EDA彩灯控制器设计.docx(19页珍藏版)》请在冰豆网上搜索。

专科EDA彩灯控制器设计.docx

专科EDA彩灯控制器设计

摘要

本设计应用数字电子技术的逻辑器件设计电路原理图以及编写VHDL语言来进行分析也编写,并在QUATURSII软件上实现编译,调试,波形仿真与分析,以及下载到FPGA上运行,实现彩灯功能,并能自由控制彩灯循环点亮的快慢,从而实现出现实中彩灯的原理。

最终完成的是灯光装饰中的彩灯循环点亮,数字计数以及频率调节等功能的设计。

通过本实训,能够初步学会与理解QUATURSII软件与FPGA芯片的综合运用,还能有效地了解与实现现在生活中用到的与看到的,更深入地了解理论与生活的联系,从而更能了解社会,寻求发展方向。

利用控制电路可使彩灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以省电。

循环彩灯的电路很多,循环方式更是五花八门。

通过程序调试及运行仿真,结果表明,本程序可以完成:

8个灯的循环、8个灯的可控制循环以及8个灯的不同花样的循环。

本设计对更高层次的电子自动循环彩灯设计具有一定的拓展性。

关键词:

VHDL;彩灯控制;QUATURSII软件;FPGA芯片

 

目录

引言1

第一章功能及要求2

1.1设计目的2

1.2设计要求2

第二章设计方案2

2.1PLC技术电子彩灯自动循环设计2

2.2EDA的电子自动循环彩灯设计方案3

第三章EDA技术4

3.1EDA的概念4

3.2EDA的发展历程4

3.4EDA技术的应用发展6

第四章VHDL语言7

4.1VHDL的结构7

4.1.1实体7

4.1.2结构体7

4.1.3库8

4.2VHDL的基本语句8

4.2.1顺序语句9

4.2.2并行语句9

第五章自动循环彩灯的设计12

第六章波形仿真、下载、测试17

6.1下载与测试17

6.2仿真波形18

总结23

致谢24

参考文献25

引言

生活中小型的彩灯多为采用霓虹灯管做成各种各样和多种色彩的灯管,或是以日光灯、白炽灯作为光源,另配大型广告语、宣传画来达到效果。

这些灯的控制设备多为数字电路。

而在现代生活中,大型楼宇的轮廓装饰或大型晚会的灯光布景,由于其变化多、功率大,数字电路则不能胜任。

针对EDA日益得到广泛应用的现状,本论文介绍彩灯控制中的应用,灯的亮灭、闪烁时间及流动方向的控制均通过EDA来达到控制要求。

当今,随着EDA技术的发展及其应用的推进,EDA已成为系统自动化、信息化、远程化及智能化的重要支柱。

因而,学习EDA不仅是自动化系统集成的设计、使用与维修人员的迫切要求。

可编程序控制器是微型计算机技术与继电器常规控制技术结合的产物,是在顺序控制的基础上发毡起来的新型控制器。

下面将全面介绍EDA,LED和彩灯控制器设计的整个过程。

 

第一章功能、要求及设计方案

1.1设计目的

1.进一步掌握数字电路课程所学的理论知识。

2.了解数字系统设计的基本思想和方法,学会科学的分析和解问题,增强动手和实践能力。

3.学习层次化设计步骤。

4.学习EDA设计的仿真的硬件测试方法。

1.2设计要求

设计要求:

1.实现8个彩灯可以自动循环;

2.实现速度可以控制;

3.达到不同的循环图案(2种以上);

4.多种花型可以自由变化,循环往返。

1.3PLC技术电子彩灯自动循环设计

可编程控制器是计算机技术与自动化控制技术相结合而开发的一种是用工业环境的新型通用自动控制装置,是作为传统续电器的替换产品而出现的。

随着微电子技术和计算机技术的迅猛发展,可编程控制器更多地具有了计算机的功能,不仅能实现逻辑控制,还具有了数据处理、通信、网络等功能。

由于它通过软件来改变控制过程,而且具体提及小、组装维护方便、编程简单、可靠性高、抗干扰能力强等特点,已广泛应用于工业控制的各个领域,大大推进了电机一体化的进程。

1.3.1PLC的特点

(1)高可靠性

(2)编程简单,使用方便(可采用梯形编程方式,与世界续电器控制电路非常接近,一般电气工作者很容易接受)

(3)环境要求低(使用于恶劣的工作环境)

(4)体积小,体重轻

(5)扩充方便,组合灵活

1.4EDA的电子自动循环彩灯设计方案

EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。

近几年来,硬件描述语言等设计数据格式的逐步标准化,不同设计风格和应用的要求导致各具特色的EDA工具被集成在同一个工作站上,从而使EDA框架日趋标准化。

VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时对设计进行仿真模拟。

其行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的在利用功能。

 

第二章EDA技术

2.1EDA的概念

EDA是电子设计自动化(E1echonicsDes5pAM•toM60n)的缩写。

由于它是一门刚刚发展起来的新技术,涉及面广,内容丰富,理解各异,所以目前尚无一个确切的定义。

但从EDA技术的几个主要方面的内容来看,可以理解为:

EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计电子系统到硬件系统的一门新技术。

可以实现逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化,逻辑布局布线、逻辑仿真。

完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片。

EDA技术是伴随着计算机、集成电路、电子系统的设计发展起来的,至今已有30多年的历程。

大致可以分为三个发展阶段。

#$@&%#K:

JFD(本文来自移动通信网,版权所有

2.2EDA的发展历程

20世纪70年代的CAD(计算机辅助设计)阶段:

这一阶段的主要特征是利用计算机辅助进行电路原理图编辑,PCB布同布线,使得设计师从传统高度重复繁杂的绘图劳动中解脱出来。

20世纪80年代的QtE(计算机辅助工程设计)阶段:

这一阶段的主要特征是以逻辑摸拟、定时分析、故障仿真、自动布局布线为核心,重点解决电路设计的功能检测等问题,使设计而能在产品制作之前预知产品的功能与性能。

20吐纪如年代是EDA(电子设计自动化)阶段:

这一阶段的主要特征是以高级描述语言,系统级仿真和综合技术为特点,采用“自顶向下”的设计理念,将设计前期的许多高层次设计由EDA工具来完成。

EDA是电子技术设计自动化,也就是能够帮助人们设计电子电路或系统的软件工具。

该工具可以在电子产品的各个设计阶段发挥作用,使设计更复杂的电路和系统成为可能。

在原理图设计阶段,可以使用EDA中的仿真工具论证设计的正确性;在芯片设计阶段,可以使用EDA中的芯片设计工具设计制作芯片的版图:

在电路板设计阶段,可以使用EDA中电路板设计工具设计多层电路板。

特别是支持硬件描述语言的EDA工具的出现,使复杂数字系统设计自动化成为可能,只要用硬件描述语言将数字系统的行为描述正确,就可以进行该数字系统的芯片设计与制造。

有专家认为,21世纪将是四A技术的高速发展期,EDA技术将是对21世纪产生重大影响的十大技术之一。

2.3EDA技术的基本特征

EDA代表了当今电子设计技术的最新发展方向,利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在汁算机上自动处理完成。

设计者采用的设计方法是一种高层次的”自顶向下”的全新设计方法,这种设汁方法首先从系统设计人手,在顶层进行功能方框图的划分和结构设计。

在方框图一级进行仿真、纠错.并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行驶证。

然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路(ASIC)。

设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。

由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免设计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次性成功率。

由于现代电子产品的复杂度和集成度的日益提高,一般分离的中小规模集成电路组合已不能满足要求,电路设计逐步地从中小规模芯片转为大规模、超大规模芯片,具有高速度、高集成度、低功耗的可编程朋IC器件已蓬勃发展起来。

在EDA技术中所用的大规模、超大规模芯片被称为可编程ASIC芯片,这些可编程逻辑器件自70年代以来,经历了CPm、IzPGA、CPLD、FPGA几个发展阶段,其中CPm(复杂可编程逻辑器件)/IzPGA(现场可编程逻辑器件)肩高密度可编程逻辑器件,目前集成度已高达200万门/片以上,它将掩模ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转由掩模ASIC实现,因此开发风险也大为降低。

可以说CPLE)/FPGA器件,已成为现代高层次电子设计方法的实现裁体。

2.4EDA技术的应用发展

(1)CPLD/FPGA系统:

使用EDA技术开发CPLD/FPGA,使自行开发的CPLD/FPGA作为电子系统、可控制系统、信息处理系统的主体。

(2)“CPLD/FPGA+MCU”系统:

使用EDA技术与单片机相接结合,使自行开发的CPLD/FPGA+MCU作为电子系统、控制系统、信息处理系统的主体。

(3)“CPLD/FPGA+专用DPS处理器”系统:

将EDA技术与DSP专用处理器配置合使用,使自行开发的“CPLD/FPGA+专用DPS处理器”构成一个数字信号处理系统的整体。

(4)基于FPGA实现的现代DSP系统:

基于SOPC(aSystemonaProgrammableChip)技术、EDA技术与FPGA技术实现方式的现代DSP系统。

(5)基于FPGA实现的SOC片商系统:

使用超大规模的FPFA实现的内含1个或数个嵌入式CPU或DSP能够实现复杂系统功能的单一芯片系统。

 

第三章VHDL语言

硬件描述语言是EDA技术的重要组成部分,VHDL是电子设计的主流硬件描述语言。

VHDL(Very-lligh-speedIntegratedCiecuitHardwareDescriptionLanguage)。

3.1VHDL的结构

VHDL主要是由实体,结构体、库、程序包和配置构成,其中实体和结构体是必不可少的。

3.1.1实体

用VHDL进行的设计,无论简单与复杂,都可看成是一个“元件”,这个元件可以是一个反相器,出可以是一个CPU乃至整个系统。

VHDL中的实体(ENTITY)部分就是对这个元件和外部电路之间的接口进行描述,可以看成是定义元件的引脚。

实体语句结构格式:

ENTITY实体名IS

[GENERIC(类属表);]

[PORT(端口表);]

ENDENTITY实体名;

实体语句以“ENTITY实体名;”结束,实体名的具体取名由设计者自定,但必须遵守VHDL标识符的有关规定。

由于实体名实际上就是该设计电路的器件名,因此实体名最好根据电路的功能来取。

3.1.2结构体

实体语句可以看成是描述“元件”的引脚,而结构体则是描述元件内部的结构和逻辑功能。

结构体的组成:

·对数据类型、常数、信号、子程序及元件等元素的说明。

·对实体逻辑功能的描述,包括各种形式的顺序描述语句和并行描述语句。

·有元件例化语句对外部元件端口间的连接方式的说明。

结构体语句结构格式:

ARCHITECTURE结构体OF实体名IS

[说明语句]

BEGIN

[功能描述语句]

END结构体名;

“实体名”必须是该结构体所对应的实体的名字,而“结构体名”可以由设计者自己选择。

3.1.3库

库实际是程序包的集合,程序中调用的是程序包中的内容,因此,在库语句中,除了指明使用的库外,还要使用USE语句指明库中的程序包。

库的基本格式:

LIBRARY库名;

USE库名.程序包名.项目名;

库的种类:

IEEE库:

是VHDL设计中最常用的库,其中包括符合IEEE标准的程序包STD_LOGIC_1164,大部分数字系统设计都是以此程序包中设定的标准为基础的。

STD库:

是VHDL语言中的标准库。

WORK库:

是VHDL设计现行工作库,用于存放用户设计和定义的一些设计单元和程序包,可以看成用户的临时仓库。

3.2VHDL的基本语句

顺序语句(SequentialStatements)和并行语句(ConcurrentStatements)是VHDL程序设计中的两类基本语句。

3.2.1顺序语句

顺序语句只能在进程(Process)和子程序中使用,有6种顺序语句分别是赋值语句,流程控制语句,等待语句,子程序调用语句,返回语句和空操作语句。

(1)赋值语句:

变量赋值语句和信号赋值语句的格式

变量赋值目标:

=赋值源;

信号赋值目标<=赋值源;

(2)流程控制语句:

是通过设置条件、判断条件是否成立来控制语句的执行的。

这类语句共有5种。

IF语句、CASE语句、LOOP语句、NEXT语句和EXIT语句

(3)WAIT语句:

在进程中,当执行到WAIT语句时,程序将被挂起,直到设置的条件满足后再重新开始运行。

WAIT语句主要有3种形式

WAITON信号表;

WAITUNTIL条件表达式;

WAITFOR时间表达式;

3.2.2并行语句

VHDL中的并行语句主要有以下7种:

(1)块语句:

是由一系列并行运行的语句构成的组合体,功能是将这些并行语句组合成一个或多个子模块。

(2)进程语句:

由顺序语句组成,可按规定的条件将外部信号或内部数据向其它信号进行赋值。

(3)并行信号代入语句。

(4)条件信号赋值语句。

(5)选择信号赋值语句。

(6)元件例化语句

(7)生成语句:

可以用来复制一组相同的设计单元。

1.块语句的功能就是提供一种划分机制,它允许设计者将一个大的设计实体划分成若干个功能模块。

BLOCK语句的格式如下:

块标号:

BLOCK[(保护表达式)]

接口说明

类属说明

BEGIN

并行语句

ENDBLOCK块标号;

2.进程(PROCESS)语句是由顺序语句组成的程序结构,主要是由3个部分组成,即进程说明部分、顺序语句描述部分和敏感信号表。

其基本格式如下:

[进程标号]:

PROCESS[(敏感信号表)]IS

[进程说明部分]

BEGIN

顺序语句

ENDPROCESS[进程标号];

3.子程序

VHDL的子程序有过程(PROCEDURE)和函数(FUNCTION)两种形式,它们可以在VHDL程序的3个不同位置进行定义,即可以在程序包、结构体或进程中定义,只有在程序包中定义的子程序可以被其它程序调用。

4.过程

定义过程(Procedure)的语句格式是:

PROCEDURE过程名(参数表);—过程首

PROCEDURE过程名(参数表)IS—过程体

[说明部分]

BEGIN

顺序语句;

ENDPROCEDURE过程名;

过程语句由过程首和过程体两部分组成,其中过程首不是必需的,过程体可以独立存在和使用。

在进程或结构体中定义过程时不必定义过程首,而在程序包中必须定义过程首。

5.函数

定义函数的语句格式如下:

FUNCTION函数名RETURN数据类型;—函数首

FUNCTION函数名RETURN数据类型IS—函数体

[说明部分]

BEGIN

顺序语句;

ENDFUNCTION函数名;

函数是由函数首和函数体两部分组成,在进程或结构体中不必定义函数首,而在程序包中必须定义函数首。

函数的参数只能是输入值,可以是信号或常数。

6.子程序重载

子程序重载指两个或多个子程序使用相同的名字,VHDL允许设计者用一个名字书写多个子程序,这些子程序的参数类型和返回值可以是不同的3.达到不同的循环图案(2种以上);

 

第四章自动循环彩灯的设计

本程序是为了控制8盏灯的速度和8盏灯不同的循环花样;其有IEEE库、程序包、实体zyz、结构体one、配置。

模块loop1、loop2、loop3、loop4其实现的不同花样的设计;模块loop5、loop6、loop7其实现的是不同速度的设计;模块loop8、loop9是对按键的设计。

Libraryieee;--调用IEEE库

Useieee.std_logic_1164.all;--使用1164这个程序包

Useieee.std_logic_unsigned.all;--使用unsigned这个程序包

Entityzyzis--实体说明

Port(clk:

instd_logic;--脉冲

K1,k2:

instd_logic;--速度控制按键

k4,k3:

instd_logic;--花样控制按键

clk4:

bufferstd_logic;--另一个脉冲

Q:

outstd_logic_vector(7downto0));--8盏灯

End;

Architectureoneofzyzis--结构体说明

Signala1,a2,a3,a4:

std_logic_vector(2downto0);--定义信号

Signalk1k2:

std_logic_vector(1downto0);--同上

Signalk3k4:

std_logic_vector(1downto0);--同上

Signalf0,f1,f2:

std_logic_vector(7downto0);--同上

Signalq1:

std_logic_vector(7downto0);--同上

Signalq2:

std_logic_vector(7downto0);--同上

Signalq3:

std_logic_vector(7downto0);--同上

Signalq4:

std_logic_vector(7downto0);--同上

Signalclk0:

std_logic;--同上

Signalclk1:

std_logic;--同上

Signalclk2:

std_logic;--同上

Begin

K1k2<=k1&k2;

K3k4<=k3&k4;

loop1:

Process(clk4)--一种循环的花样

begin

Ifclk4'eventandclk4='1'then

A1<=a1+1;

Ifa1="111"thena1<="000";--当a1=’8’时a1为0

Endif;

Endif;

Casea1is

When"000"=>q4<="00000001";--当a1=‘0’时q4点亮一个灯

When"001"=>q4<="00000010";--当a1=‘1’时q4点亮一个灯

When"010"=>q4<="00000100";--当a1=‘2’时q4点亮一个灯

When"011"=>q4<="00001000";--当a1=‘3’时q4点亮一个灯

When"100"=>q4<="00010000";--当a1=‘4’时q4点亮一个灯

When"101"=>q4<="00100000";--当a1=‘5’时q4点亮一个灯

When"110"=>q4<="01000000";--当a1=‘6’时q4点亮一个灯

When"111"=>q4<="10000000";--当a1=‘7’时q4点亮一个灯

Whenothers=>null;

Endcase;

Endprocess;

Loop2:

Process(clk4)--同loop1功能一样实现一种循环花样

begin

Ifclk4'eventandclk4='1'then

A2<=a2+1;

Ifa2="111"thena2<="000";

Endif;

Endif;

Casea2is

When"000"=>q1<="10000000";

When"001"=>q1<="01000000";

When"010"=>q1<="00100000";

When"011"=>q1<="00010000";

When"100"=>q1<="00001000";

When"101"=>q1<="00000100";

When"110"=>q1<="00000010";

When"111"=>q1<="00000001";

Whenothers=>null;

Endcase;

Endprocess;

Loop3:

Process(clk4)--同loop1一样实现一种循环花样

begin

Ifclk4'eventandclk4='1'then

A3<=a3+1;

Ifa3="111"thena3<="000";

Endif;

Endif;

Casea4is

When"000"=>q2<="11111110";

When"001"=>q2<="11111101";

When"010"=>q2<="11111011";

When"011"=>q2<="11110111";

When"100"=>q2<="11101111";

When"101"=>q2<="11011111";

When"110"=>q2<="10111111";

When"111"=>q2<="01111111";

Whenothers=>null;

Endcase;

Endprocess;

Loop4:

Process(clk4)--同loop1一样实现一种循环花样

begin

Ifclk4'eventandclk4='1'then

A4<=a4+1;

Ifa4="111"thena4<="000";

Endif;

Endif;

Casea4is

When"000"=>q3<="01111111";

When"001"=>q3<="10111111";

When"010"=>q3<="11011111";

When"011"=>q3<="11101111";

When"100"=>q3<="11110111";

When"101"=>q3<="11111011";

When"110"=>q3<="11111101";

When"111"=>q3<="11111110";

Whenothers=>null;

Endcase;

Endprocess;

Loop5:

Process(clk)--利用分频来改变其速度的快慢,这里是基准频率为1HZ,分频后变为0.05HZ

Begin

Ifclk'eventandclk='1'then

f0<=f0+1;

Iff0="1010"then

Clk0<=notclk0;

Endif;

endif;

endprocess;

loop6:

Process(clk)--同loop5利用分频来改变其速度的快慢,这里是基准频率为1HZ,分频后变为0.025HZ

Beg

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

当前位置:首页 > 高中教育 > 初中教育

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

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