基于FPGA的LED显示装置控制板的设计Word下载.docx
- 文档编号:923960
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:48
- 大小:870.06KB
基于FPGA的LED显示装置控制板的设计Word下载.docx
《基于FPGA的LED显示装置控制板的设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于FPGA的LED显示装置控制板的设计Word下载.docx(48页珍藏版)》请在冰点文库上搜索。
WaveformSimulation
第一章.前言
1.1研究背景
微电子技术和计算机技术的飞速发展,使得现代电子系统的设计和应用进入了一个全新的时代。
数字化是当今社会的主要特征之一。
高性能但结构简单的电子技术产品已经成为了市场的主体。
数字集成电路应用非常广泛,其发展从电子管、晶体管、小规模集成SSI、MSI、LSI、VLSI(几万门以上)到超大规模集成电路ULSI和超位集成电路GSI,其规模几乎平均每一年~两年翻一番。
集成电路的发展大大促进了EDA的发展,先进的EDA已从传统的“自下而上”的设计方法改变为“自上而下”的设计方法。
PLD是可编程逻辑器件(ProgrammableLogicDevice)的英文缩写,是一种数字集成电路的半成品,在其芯片上按一定排列方式集成了大量的门和触发器等基本逻辑元件,使用者可利用某种开发工具对其进行加工,即按设计要求将这些片内元件连接起来,使之完成某个逻辑电路或系统的功能,成为一个可在实际电子系统中使用的专用集成电路
。
现在应用最广泛的PLD主要是复杂可编程逻辑器件CPLD(ComplexProgrammableLogicDevice),现场可编程门阵列FPGA(FieldProgrammableGateArray)和可擦除可编程逻辑器件EPLD(ErasableProgrammableLogicDevice)。
LED是发光二极管(LightEmittingDiode)的英文缩写。
它是一种给它一定电压,便会发出光亮的半导体,它的光产生方式是近乎日光灯和气体放电式灯。
LED是一种非常有用及有效率的光源,它的颜色是根据它使用的半导体成份造成,目前大约有红、黄、绿及白光等等。
LED显示屏(LEDpanel)是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
作为一项高新科技产品正引起人们的高度重视,它以其动态范围广,亮度高,寿命长,工作性能稳定而日渐成为显示媒体中的佼佼者,现已广泛应用于广告、证券、交通、信息发布等各方面,且随着全彩屏显示技术的日益完善,LED显示屏有着广阔的市场前景。
本毕业设计以研究FPGA为主,只完成LED显示装置的控制板。
FPGA使用的是ALTERA的FLEX10K。
1
1.1
1.2CPLD/FPGA的用途
CPLD/FPGA能做什么?
可以毫不夸张地讲,CPLD/FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用CPLD/FPGA来实现。
CPLD/FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法或硬件描述语言(如VerilogHDL和VHDL)自由地设计一个数字系统。
通过软件仿真,可以事先验证设计的正确性。
在PCB(电路印制板)完成以后,还可以利用CPLD/FPGA的在线修改能力,随时修改设计而不必改动硬件电路。
使用CPLD/FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性
1.3CPLD与FPGA的比较
CPLD是由GAL发展起来的,其主体结构仍是与或阵列,自20世纪90年代初Latice公司开发出在系统可编程CPLD以来,CPLD发展迅速。
FPGA是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集密度最高达500万门/片以上,系统性能可达200MHz。
CPLD与FPGA的对照情况如下
:
1.2
1.3.1结构
FPGA器件是由逻辑功能块排列为阵列,并由可编程的内部连接这些功能块来实现一定的逻辑功能。
CPLD是由可编程的与/或门阵列以及宏单元构成。
1.3.2集成度
FPGA可以达到比CPLD更高的集成度,同时也具有更复杂的布线结构和逻辑实现。
1.3.3适合结构
CPLD组合逻辑的功能很强,一个宏单元就可以分解十几个甚至20~30多个组合逻辑输入。
而FPGA的一个LUT只能处理4输入的组合逻辑,因此,CPLD适合用于设计译码等复杂组合逻辑。
FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,CPLD一般只能做到512个逻辑单元。
所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好的选择。
1.3.4功率消耗
一般情况下,CPLD功耗要比FPGA大,而且集成度越高越明显。
1.3.5速度
CPLD优于FPGA。
由于FPGA是门级编程,且逻辑块之间是采用分布式互连;
而CPLD是逻辑块级编程,且其逻辑块互连是集总式的。
因此,CPLD比FPGA有较高的速度和较大的时间可预测性。
1.3.6编程方式
CPLD主要是基于EEPROM或FLASH存储器编程,编程次数可1万次。
其优点是在系统断电后,编程信息不丢失。
FPGA大部分是基于SRAM编程,其缺点是编程数据信息在系统断电时丢失。
现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)同属于近年来发展迅速的可编程专用集成电路(ASIC)。
它们都是在PAL、GAL等逻辑器件的基础之上发展起来的。
同以往的PAL、GAL等相比较,FPGA/CPLD的规模比较大,适合于时序、组合等逻辑电路应用场合,它可以替代几十甚至上百块IC芯片。
这样的FPGA/CPLD实际上就是一个子系统部件,这种芯片具有可编程性和实现方案容易改动的特点。
FPGA/CPLD的使用,使设计的电子产品达到小型化、集成化和高可靠性,而FPGA器件的现场可编程技术和CPLD的在系统可编程技术使可编程器件在使用上更为方便,大大缩短了设计周期,减少了设计费用,降低了设计风险。
现场可编程门阵列FPGA(FieldProgrammableGateArray)器件是Xilinx公司1985年首家推出的,它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作。
FPGA的结构与门阵列PLD不同,其内部由许多独立的可编程逻辑模块(CLS)组成,逻辑块之间可以灵活地相互连接。
FPGA的结构一般分为三部分:
可编程逻辑块,可编程I/O模块和可编程内部连线。
CLB的功能很强,不仅能够实现逻辑函数,还可以配置成RAM等复杂的形式。
配置数据存放在片内的SRAM或者熔丝图上,基于SRAM的FPGA器件工作前需要从芯片外部加载配置数据。
配置数据可以存储在片外的EPROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场可编程。
FPGA出现后受到电子工程师的普遍欢迎,发展十分迅速。
Xilinx,Altera和Actel等公司都提供高性能的FPGA芯片。
FPGA结构与原理
现场可编程门阵列(FPGA)的电路结构是由若干独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接成所需要设计的数字系统。
基于查找表(LUT)的FPGA结构为现在主流的FPGA结构。
FPGA结构一般由三个部分组成:
可配置逻辑功能模块(CLB),输入输出模块(IOB),可编程内部互连资源(PI)。
查找表LUT本质上就是一个RAM。
目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线16×
1的RAM。
当用户通过原理图或HDL语言描述了一个逻辑电路后,FPGA开发软件会自动计算逻辑电路的结果,并把结果事先写入RAM。
这样,每输入一个信号逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
FLEX10K的系统结构
FLEX10K主要由嵌入式阵列块(EAB),逻辑阵列块(LAB),快速连线带(Fast-Track),输入/输出单元(IOE)四个部分组成。
FLEX10K是在业界最先将嵌入式阵列结合进PLD的。
借助嵌入式阵列,PLD可更有效地实现复杂逻辑处理,如乘法器、微处理器、DSP等。
嵌入式阵列由多个EAB组成,每个EAB基本为一个带有寄存器的RAM(2048位)。
LAB呈行列排序,每行嵌入一个EAB。
每个LAB内包含有局部连线和8个逻辑单元(LE),每个LAB自身可构成一个低密度PLD,可相当于96个可用逻辑门。
多个LAB互连结合可构成更大的逻辑块,因而也将LAB称为CPLD的构成“粗颗粒(coarsegrain)”。
IOE起着引脚接口的作用,其内部主要有一个双向缓冲器和一个寄存器。
每个IOE可经编程选择与多个互连通道连接。
FLEX10K还有6个专用输入引脚,其连接线遍布整个器件,传送信号的延时偏移较小。
它们可用作全局时钟或清除,置位信号。
1.4硬件描述语言概述
在计算机辅助电子系统设计出现以前,人们一直采用传统的硬件电路设计方法来设计系统的硬件,这是一种自下至上的设计方法。
随着ASIC的开发和研制,为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发时间,各ASIC研制和生产厂家相继开发了用于各自目的的硬件描述语言。
所谓硬件描述语言,就是可以描述硬件电路的功能,信号连接关系及定时关系的语言。
其中最有代表性的是美国国防部开发的VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)语言和GatewayDesignAutomation公司开发的VerilogHDL语言。
与传统的基于电路原理图的设计方法相比,使用硬件描述语言(HDL)进行设计具有许多优点
(1)通过使用HDL,设计者可以在非常抽象的层次上对电路进行描述。
(2)通过使用HDL,设计者可以在设计周期的早期对电路的功能进行验证。
设计者可以很容易地对RTL描述进行优化和修改,满足电路功能的要求。
由于能够在设计初期发现和排除绝大多数设计错误,因此大大降低了在设计后期的门级网表或物理版图上出现错误的可能性,避免了设计过程的反复,显著地缩短了设计周期。
(3)使用HDL进行设计类似于编写计算机程序,带有文字注释的源程序非常便于开发和修改。
与门级电路原理图相比,这种设计表达方式能够对电路进行更加简明扼要的描述。
基于HDL语言的设计方法是不可动摇的。
随着数字电路复杂性的不断增加以及EDA工具的日益成熟,基于硬件描述语言的设计方法已经成为大型数字电路设计的主流。
没有一个数字电路设计师能承担无视这种新设计方法所付出的代价。
1.5VerilogHDL概述
VerilogHDL语言最初是于1983年由GatewayDesignAutomation公司为其模拟器产品开发的硬件建模语言。
Verilog语言于1995年成为IEEE标准,称为IEEEStd1364-1995。
2001年颁布了VerilogHDL1363-2001标准。
VerilogHDL这种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。
被建模的数字系统对象的复杂性可以介于简单的门和完整的数字电子系统之间。
数字系统能够按层次描述,并可在相同描述种显式地进行时序建模,是目前应用最广泛地一种硬件描述语言
VerilogHDL语言不仅定义了语法,而且对每个语法结构都定义了清晰地模拟、仿真语义,它还从C编程语言中继承了多种操作符和结构。
VerilogHDL语言地核心子集非常易于学习和使用,对大多数建模应用来说已经足够。
1.6关于QuartusII
QuartusⅡ是Altera公司推出的一款FPGA开发工具,它提供了一种与结构无关的设计环境,它使Altera通用PLD系列设计者能方便地进行设计输入、快速处理和器件编程。
使用QuartusⅡ,设计者无需精通器件内部的复杂结构,只需运用自己熟悉的输入工具(如原理图输入或高级行为语言)进行设计,通过QuartusⅡ把这些设计转换成最终结构所需要的格式。
由于有关结构的详细知识已装入开发工具,因此设计速度非常快。
设计人员在很短的时间内就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作。
QuartusⅡ设计软件具有先进的功能,它可以提高系统性能,扩展系统功能,轻松处理潜在的设计延时,实现布局布线之后的设计改变等。
它拥有现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)设计的所有阶段的解决方案。
第二章.系统总体设计
2
2.1系统
「LED电光显示装置」是指、通过控制16x16的矩阵LED显示文字、图画。
图2-1为显示的是「LED电光显示装置」系统概略图
图2-1 LED电光显示装置 系统概略图
本系统由控制部、显示部以及电源部构成。
控制部和外部的接口带有RS232C、进行和PC等的数据交换。
此外、还进行向显示部的控制以及显示部的数据传送。
显示部通过从控制部接收数据、控制矩阵LED。
电源部将AC220V变换为DC5V、给控制部以及显示部供电。
2.2系统内部接口
「LED电光显示装置」系统内的主控制板和LED显示屏、以及各LED显示屏之间、全部用共通的串行接口连接。
串行接口是由数据时钟信号、帧脉冲信号、面切換信号、串行数据信号构成。
2.3LED显示屏
显示部由8块LED显示屏构成。
图2-2就是LED显示屏的内部构成图。
各个LED显示屏由矩阵LED和作为其控制部的LED控制板构成。
LED控制板的内部带有系统时钟(OSC)、通过内部复位(RST)初始化
图2-2LED显示屏 内部构成图
2.4输入信号
来自外部的输入信号为
・CLK_IN:
数据时钟信号[200kHz(max)]
・FP_IN:
帧脉冲信号
・BANK_IN:
面切换信号
・DATA_IN:
串行数据信号
2.5LED驱动信号
矩阵LED依靠
・red_data[15:
0]:
红数据信号
・green_data[15:
绿数据信号
・com_drv[15:
通用驱动信号
驱动。
2.6输出信号
向外部的输出信号为
・CLK_OUT:
数据时钟信号
・FP_OUT:
・BANK_OUT:
・DATA_OUT:
DATA_IN 在内部变换为16位平行数据、但是其最上位变为 DATA_PUT。
2.7输入输出信号表
表2.1为输入输出信号表。
表2.1 LED控制版 输入输出信号表
Name
dir
active
Init
from
to
note
CLK_IN
I
↑
主控制版 以及
前段LED控制版
-
数据时钟输入
200kHz(max)
FP_IN
H
帧脉冲输入
BANK_IN
面切换输入
1:
BANK_B、0:
BANK_A
DATA_IN
串行数据输入
CLK_OUT
O
次段LED控制版
数据时钟输出
FP_OUT
帧脉冲输出
BANK_OUT
存储器面切换输出
DATA_OUT
串行数据输出
电源5V
电源部
DC5V电源
2.8时序图
图2.3为时序图。
图2-3 外部接口 时序图
DATA_OUT 相对于DATA_IN 延迟16个时钟、相对于FP_OUT延迟16个时钟。
2.9机能概要
LED控制板机能大致如下划分。
1)输入接口部
获取来自外部的信号。
2)存储器写入控制部
通过来自输入接口部的信号、控制向存储器部的数据写入。
3)存储器读出控制部
通过来自动态控制部的时间信号、控制存储器部的数据读出。
4)动态控制部
读出来自存储器部的数据、控制矩阵LED的动态开灯。
然后生成存储器读出控制部的时间信号。
5)SEL部
通过re、选择存储器读出地址/写入地址。
6)存储器部
相对于在SEL部选择的地址、进行数据的读出/写入。
7)DRIVE
驱动矩阵LED开灯的存储器。
8)OSC
生成系统时钟、使LED控制板内部使各个信号同步。
9)RST
生成LED控制板内的上电复位信号。
其中, 1)~7)在FPGA内构成。
图5-1为LED控制板的机能模块图。
图2-4 LED控制板机能模块图
第三章.模块机能
3
3.1输入接口部
表3.1位输入接口部的各个机能模块概要。
name
place
Note
LATCH
InputI/F
输入信号通过数据时钟的下降沿锁存时间。
SYNC
以输入信号为基础生成与系统时钟同步的信号。
S/P
输入串行数据变换为16位平行数据。
输入接口部获取来自外部的信号、传送到输出接口部、存储器部以及存储器写入控制部。
来自外部的信号为了进行波形整形、通过控制板上的缓冲接收、放到内部。
输入信号除去 CLK_IN、在LATCH部一起锁存。
clk_b和锁存信号fp_l、bank_l在内部使用、所以在SYNC部和sclk(系统时钟)同步、作为clk_p、fp_p、bank_p送出到存储器写入控制部。
锁存data_l在S/P部进行串行/平行变换、作为16位平行数据p_data[15:
0]送出到存储器部。
此时p_data[0]作为s_data一起传送到输出接口部。
3.1
3.1.1内部模式图
图3-1为内部模块图
图3-1 输入接口部内部模块图
表3.2 输入接口部 输入输出信号表
To
sclk
OSC
系统时钟
xrst
Low
RST
上电复位
clk_b
输入Buff
数据时钟
fp_b
High
帧脉冲
bank_b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA LED 显示装置 控制板 设计