基于FPGA的LED点阵控制器完整论文Word文档下载推荐.docx
- 文档编号:19865212
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:29
- 大小:486.73KB
基于FPGA的LED点阵控制器完整论文Word文档下载推荐.docx
《基于FPGA的LED点阵控制器完整论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于FPGA的LED点阵控制器完整论文Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。
现场可编程器件(FPGA和CPLD)等ISP器件无须编程器,利用器件厂商提供的编程套件,采用自顶而下的模块化设计方法,使用原理图或硬件描述语言(VHDL)等方法来描述电路逻辑关系,可直接对安装在目标板上的器件编程。
它易学、易用、简化了系统设计,减小了系统规模,缩短设计周期,降低了生产设计成本,从而给电子产品的设计和生产带来了革命性的变化。
⏹1.1课题背景及意义
点阵控制器应用最广泛的就属单片机,单片机具有强大的信息处理、逻辑分析、决策判断等能力,借助程序,通过输入/输出接口,实时检测被控对象的状态,控制其当前或预计的行为,组成智能化仪器设备。
但是,在应用时单片机存在许多缺点和弱点,如:
从低速来说,单片机靠执行指令来完成各种功能,不论多高的工作时钟频率或多么好的指令时序,其排队式串行指令执行方式使得工作速度和效率大打折扣。
在高速实时仿真、高速数据采集等方面显得力不从心。
从复位工作方式上说,单片机工作之初,需花一段时间经历复位过程;
工作时,在某种干扰性突变情况下,也会复位,复杂的复位过程很可能就是工作不可靠的根源。
偶然因素,会引起程序跑飞。
虽然有“看门狗”或其他抗干扰措施,在极复杂的情况下,单片机的程序仍存在跑飞的可能,从而进入“死机”。
在单片机系统中,单片机的芯片通过印制板与系统中由其他集成电路组成的逻辑电路相连。
一旦改变设计,可能重新制版,加长了开发周期。
那么随着微电子技术飞速发展,集成电路规模越来越大,产生了复杂可编程逻辑器件FPGA和现场可编程门阵列FPGA(两种器件有类似之处,以下用FPGA器件简称),这些器件含有数量众多的可编程逻辑宏单元或逻辑块,他们能够任意组合,设计成功能各异的逻辑电路。
FPGA器件输入引脚的箝位电平和输出引脚的原始电平可预先设定,一开机立即就能达到预定电平,状态明确。
各逻辑宏单元或逻辑块的输入信号仅需几ns~几十ns就反映到输出端,信号传输效率很高,适合高速采样等场合。
可编程逻辑宏单元或逻辑块之间的相互连线在同一封装内,受外界干扰影响小,电磁兼容(EMC)性能好。
然而,对设计者来说,FPGA器件最大的优点在于可现场编程。
改变逻辑关系时,无需更改外部线路板,只需用图形语言程序或硬件描述语言程序来改变电路,生成下载编辑软件,通过下载电缆输入FPGA器件即可,非常方便,特别有利于新品试制,大大缩短了开发周期。
所以,大屏幕点阵控制器应用最广泛的就是应用FPGA可编程逻辑电路。
⏹1.2课题的主要任务和技术指标
由于PLD器件的外围器件很少,且可以利用PLD的编程端口(可复用)进行在系统编程,使得系统的修改、显示方式的改变和扩展都变的非常简单、方便。
电路主要实现的功能是:
1.采用5V电源供电,并具有电源指示灯。
2.利用单片机提取字模数据。
3.把字模数据存放到外部RAM内。
4.用FPGA可编程逻辑芯片控制显示数据。
2.LED显示原理和系统总体设计
2.1方案设计与论证
方案1:
采用单片机做为控制器,使用单片机制作和操作起来比较简单,应用也比较广泛,而且单片机的造价低,焊接方便。
但单片机的运行速度有限,一旦用来控制大屏幕,它的分辨率就会降低,而且单片机IO口一共有四组,如果需要IO口较多时就容易不够用。
方案2:
采用可编程逻辑器件CPLD进行编程设计。
这也是我最初考虑的对象,因为,CPLD器件I/O管脚要比单片机多很多,而且可编程逻辑器件的工作频率要远远高于单片机,内存也较大,这样工作起来速度就较单片机要快。
选用EPM7128系列芯片,成本较低而且焊接起来也比较方便。
但此芯片内部不含有RAM存储器,无法进行缓存,而且程序量较大,占用芯片较多内存,影响工作速度。
方案3:
采用FPGA进行编程设计。
CycloneFPGA系列芯片平衡了逻辑、存储器、锁相环和高级I/O接口,而且造价较其它系列的芯片要低,比CPLD芯片功能更丰富些,而且它的内存容量要远远大于CPLD芯片容量,具有丰富的I/O端口,而且芯片内部具有RAM缓存器。
利用单片机模块写入要显示的数据。
这样也叫方便容易。
综合以上几点,最后我决定采用第三种方案进行电路设计。
2.2工作原理
2.2.1LED原理
图2-1发光二极管
在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。
PN结加反向电压,少数载流子难以注入,故不发光。
这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。
其原理图如图2-1所示。
LED的发光颜色和发光效率与制作LED的材料和工艺有关,目前广泛使用的有红(波长660nm)、绿(波长470nm)、蓝(波长525nm)三种。
由于LED工作电压低(仅1.5-3V),能主动发光且有一定亮度,亮度又能用电压(或电流)调节,本身又耐冲击、抗振动、耐高温、寿命长(10万小时),所以在大型的显示设备和户外的显示媒介中。
目前尚无其他的显示方式与LED显示方式匹敌。
LED象素直径的大小一般有φ3、φ3.75、φ5、φ8、φ15、φ19、φ26等.
LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光率高、使用寿命长、组态灵活、色彩丰富、制作简单,安装方便以及对室内外环境适应能力强等优点,被广泛应用于各种公共场合。
如汽车报站器、广告屏以及公告牌等。
点阵显示的内容随时可以更新,能实现汉字或图片的循环显示、上下左右滚动显示、上下左右卷动显示。
16*80双色点阵显示屏,自带两种颜色,通过程序控制,可以实现RGB三色显示,且数据由单片机的串行移位寄存器发送,方便快捷,操作灵活。
对于显字方式有以下三种:
1、循环闪烁显示;
2、上下左右滚动显示;
3、上下左右卷动显示。
另外,带程序下载模块,可作为一个开发板使用,带四个独立按键,一个锋呜器,可实现对51系列的单片机的烧写。
2.2.2点阵系统硬件设计
1.LED模块
1)LED发光管
一般由单个LED晶片,反光碗,金属阳极,金属阴极构成,外包具有透光聚光能力的环氧树脂外壳。
可用一个或多个(不同颜色的)单灯构成一个基本像素,由于亮度高,多用于户外显示屏。
2)D点阵模块
由若干晶片构成发光矩阵,用环氧树脂封装于塑料壳内。
适合行列扫描驱动,容易构成高密度的显示屏,多用于户内显示屏。
LED点阵模块采用二十个8*8模块组成16行80列的显示屏,为解决串传输中列数据准备和列数据显示之间的矛盾,我们采用了二十个移位寄存器74HC595作为列驱动。
因为74HC595具有一个8bit的串入并出的移位寄存器和一个8bit输出锁存器的结构,而且为寄存器和输出锁存器的控制各自独立。
这使得行数据准备和列数据显示可以同时进行。
由单片机P1口输出4bit二进制信号,经一个4/16移码器74HC154,生成16条行选通信号线,再和16个9012PNP型三极管实现对点阵的行扫描。
同时也节约了单片机的很多IO口资源,为单片机系统扩充使用功能提供了条件。
由于单片机的TTL输出口的驱动能力非常有限,所以在每个输出口都加一个三极管,增加I/O口的驱动电流,用来驱动LED显示屏的行信号。
详细接法如图2-2所示(此图只例举了其中一部分电路,其余部分同此一样)。
图2-2部分LED接法
在程序中,把汉字的二进制编码存放在一个码表中,让74HC154循环扫描点阵的第一到第十六行,紧接着利用单片机的串口移位寄存器把数据值分两步发送给74HC595,先发左半屏数据,再发右半屏数据。
对于颜色的控制,我们用了两块74HC595控制红色,另外两块74HC595控制绿色,如果需要哪种颜色,直接选通相应的74HC595的使能信号即可,当我们把控制两种颜色的74HC595的使能信号同时打开时,显示屏立刻显示出了第三种颜色,这样就实现了三种颜色的显示,操作简单可行。
3系统硬件电路设计
3.1系统主控制芯片Cyclone飓风FPGA配置
飓风FPGA使用SRAM来存放配置数据,而SRAM是不能掉电保存数据的,因此FPGA在每次上电时必须将配置数据下载到FPGA内部。
飓风FPGA的配置有三种模式:
主动模式(AS)、被动模式(PS)和JTAG(JointTestActionGroup联合测试行动组)模式,可以使用其中的任何一种来配置Cyclone飓风FPGA。
如表3-1所示。
表3-1FPGA配置模式
配置方式
描述
主动模式
配置途径:
配置芯片EPCS1或EPCS4
被动模式
1、增强型配置芯片EPCS4EPCS8和EPCS16
2、EPC1和EPC2
3、智能主机如微处理器
4、下载电缆
JTAG模式
通过JTAG引脚配置:
1、下载电缆
2、智能主机如微处理器
3、JamTM标准测试和编程语言(STAPL)
你可以选择一片飓风芯片将其MESL0和MESL1引脚通过置0或1来区别是哪一种配置模式,引脚具体连接情况如表3-2所示。
表3-2配置模式管脚选择
MESL1
MESL0
配置模式
AS
1
PS
0或1
JTAG
注意:
1.MESL引脚不能悬空,让它们接逻辑0或1。
这些引脚支持非JTAG配置模式。
如果你的设计只适合JTAG配置模式,那就将MESL0接到VCC上。
2.JTAG模式的优先级比AS和PS高,这说明在JTAG模式中MESL的设置是无效的。
在配置完成之后,飓风FPGA会对寄存器和I/O引脚进行初始化,然后进入用户模式,同时用户程序开始起作用。
飓风FPGA芯片是第一款支持配置数据压缩的新型FPGA芯片,这个特点允许我们对配置数据进行压缩之后通过PC机将位数据流下载到专用的配置芯片内,如EPCS1或EPCS4。
飓风FPGA芯片会自动的在配置过程中对位数据流进行实时解压缩,同时对芯片编程。
配置数据压缩功能支持主动和被动配置模式,但它不支持JTAG配置模式。
数据压缩之后其文件大小是压缩之前的35%到60%。
表3-3是未压缩的飓风系列FPGA芯片原始配置文件大小,如果要配置多个FPGA就将其文件大小相加,其和的大小就为配置文件的大小。
表3-3飓风系列FPGA配置数据
芯片
位数据大小
字节数据大小
EP1C3
627,376
78,422
EP1C4
925,000
115,625
EP1C6
1,167,216
145,902
EP1C12
2,326,528
290,816
EP1C20
3,559,608
444,951
下面分别对这三种配置模式作简单介绍。
3.1.1主动配置模式
串行配置芯片提供了一个串行接口来接收配置数据。
在配置过程中,飓风FPGA就会通过串行接口读配置芯片中的配置数据,如果是压缩数据就对其进行解压缩,并对芯片进行配置。
在这个过程中,FPGA控制配置接口的动作,因此称此方式为主动配置模式。
与被动模式相比,配置芯片控制配置接口的动作。
主动配置模式(AS)时序图如图3-1所示。
图3-1主动配置模式时序图
在系统上电的时候,飓风芯片和串行配置芯片都会进入系统上电复位(POR)阶段,一旦飓风芯片进入POR状态,它就会将nSTATUS设为低电平指示系统忙,使CONF_DONE设为低电平指示芯片未配置。
在POR之后,典型时间是100ms,飓风FPGA就释放nSTATUS低电平状态而被外挂的10K电阻拉为高电平使FPGA进入配置模式状态。
一旦FPGAPOR成功,它就退出POR状态,所有的I/O引脚是处于三态。
飓风芯片的I/O口在配置前及配置中都有一个弱的内部上拉电阻。
DCLK在FPGA的整个配置周期内是始终产生的,并且这个时钟为串行接口提供时钟。
飓风芯片使用内部的晶振来产生DCLK的。
图3-2给出了主动配置单个FPGA芯片的电路连接图。
图3-2主动配置FPGA芯片
1、主动配置多个FPGA芯片
可以使用单个串行配置芯片来配置多个FPGA芯片,使用nCE和芯片使能输出脚nCEO级连多片FPGA芯片,而在这芯片链中第一片FPGA芯片的nCE脚必须接到地上,而使它的nCEO脚接到第二片的nCE脚上,并且必须使最后一片芯片的nCEO悬空。
当第一片芯片接收了其所有的配置数据之后,它就会使nCEO变为低电平而使下一片芯片处于接收配置数据状态,这个芯片链中的所有nCONFIG,nSTATUS,CONF_DONE,DCLK,DATA0引脚都是连在一起的。
第一片飓风FPGA芯片配置成主控芯片,它控制这个链中的所有其它芯片的配置,必须将主控芯片的MESL引脚连接为主动模式,而链中的其它芯片接成被动模式。
其总的电路连接图如图3-3。
图3-3用一个串行配置芯片配置多个FPGA芯片(主动配置)
2、为多个FPGA芯片配置同样的数据
在一些特殊的应用中要求使多个FPGA芯片具有同样的电路功能,那么势必要使这些FPGA配置同样的数据。
这就要在串行芯片中存放几个区的同样的配置数据,第一区的数据送给主控芯片,而接下来的同样的配置数据就送给链中的其它被动配置模式芯片,配置完成之后,那么有同样配置数据的芯片就具有了同样的电路功能。
其电路图与用一个串行配置芯片配置多个FPGA芯片(主动配置)一样。
3、在系统配置FPGA芯片
通过主动配置接口,你也可以在系统对配置芯片编程,在系统编程过程中,FPGA是不会接收配置数据的,因为下载电缆使其nCE引脚被置成高电平,而nCONFIG为低电平使FPGA处于复位状态。
在配置芯片编程完成之后,下载电缆会释放nCE,nCONFIG引脚,它们被各自的下拉和上拉电阻拉为低电平和高电平。
电路连接图3.4-示。
图3-4在系统配置串行芯片
3.1.2被动串行控制
飓风FPGA也支持被动配置模式。
在被动配置模式中,一个额外的主机(配置芯片、嵌入式微处理器或PC主机)控制配置过程。
配置数据是以同步的形式经DATA0和DCLK引脚传送到FPGA内部的。
PS配置波形时序图如图3-5。
图3-5被动配置时序图
正如主动配置模式一样,被动配置模式有多种形式,如用EPC2、EPC4、EPC8和EPC16专用配置芯片来配置,而目前专用的被动配置芯片EPC价格比较昂贵,产品成本较高。
同样你也可以使用PC机的下载电缆来配置,但它只能在做实验时采用,商业化的产品是不可能采用PC机这种配置模式的。
第三种方法是采用微处理器MCU来控制配置。
目前微处理器较便宜,并且技术比以往都有很大程度上的提高,特别是在CPU频率、片内RAM、片内flashROM等方面。
我们在知道其配置时序后完全有可能模仿其时序来对FPGA进行配置,实际应用中也有很多的先例。
下面给出目前使用较多的使用微处理器来配置FPGA芯片的硬件电路连接图如图3-6。
图3-6被动配置电路图
3.1.3JTAG配置模式
JTAG是为了测试芯片内部电路而设计的,这种边界扫描测试(Boundary-ScanTestBST)结构提供了有效测试PCB的方法。
当设备正常工作时,BST结构可以在无须使用物理探测就能测出引脚连接情况并获得相关数据。
你可以通过JTAG电路将配置数据通过移位的方式移入FPGA内部。
QuartusⅡ软件自动产生.sof文件,它可被用来作为JTAG配置的数据文件。
飓风FPGA是使用TDI、TDO、TMS和TCK四个引脚的,它不支持可选的TRST引脚,而TCK、TDI和TMS都有一个弱的内部上拉电阻,所有的用户引脚在JTAG配置时是三态的。
各引脚功能介绍如表3-4所示。
表3-4JTAG引脚功能说明
引脚
功能
TDI
测试数据输入
命令、测试和编程数据的串行数据输入脚,数据是在TCK的上升沿移入FPGA
TDO
测试数据输出
命令、测试和编程数据的串行输出脚,数据在TCK的下降沿移出FPGA,若数据没有移出则为三态
TMS
测试模式选择
输入引脚,提供控制信号决定传输测试准入端口控制状态机。
状态机的传输发生在TCK的上升沿,因此TMS必须在TCK上升沿之前设置
TCK
测试时钟输入
BST电路时钟输入,某些动作发生在TCK上升沿,某些发生在TCK的下降沿
JTAG模式配置单个FPGA芯片的电路连接图如图3-7。
图3-7JTAG模式配置单个飓风FPGA
这三种配置模式各有其优缺点:
JTAG模式主要在实验中使用,它因不需要专门的配置芯片来中转直接对目标芯片通过一根下载线(如ByteBlasterII)来下载程序,这种模式特别方便、简单。
但它的缺点就是不能掉电保存程序。
因此限制了其商业化的目的。
主动和被动模式都使用外部存储器来存放配置数据,达到掉电保存配置数据的目的。
在专用的配置芯片较贵时,普遍采用被动方式来配置,即采用微处理器和一片大容量的ROM来代替专用芯片,但是必须自己编写程序来模仿下载时序对芯片进行配置,比较烦琐。
但就目前飓风芯片的配置芯片EPCS1价格便宜,因此本系统采用EPCS1的主动配置模式。
经实验表明,使用EPCS1主动配置模式方便,电路板面积小,比较经济。
3.2CycloneTM系列芯片概述
CycloneTM是现场可编程门阵列逻辑系列是基于1.5V、0.13-µ
m、所有铜布线的SRAM工艺,最大达到20,060个逻辑单元和高达288Kbits的RAM,并含有一个或两个锁相环(PLLs),一个双数据率(DDR)接口来满足DDRSDRAM的需要,一个快速RAM存储器。
Cyclone芯片是一种有很高成本效益的数据传输应用,它支持多种I/O标准,包括LVDS的达到640Mbps传输率,支持33MHz到66MHz的32位到64位的PCI接口,支持ASSP和ASIC芯片的接口。
同时Altera公司提供了一个新的低价位的串行配置芯片EPCS1N来配置Cyclone芯片。
芯片特点:
●2,910到20,060个逻辑单元,具体如下表所示。
●最大达到294,912个RAM位(36,864字节)
●支持低价位的串行配置芯片
●支持LVTTL,LVCMOS,SSTL-2和SSTL-3的I/O标准
●支持33到66MHz的32到64位的PCI标准
●支持高速LVDSI/O(640Mbps)
●支持高速LVDSI/O(311Mbps)
●支持311Mbps的RSDSI/O
●最多的一个芯片中含有两个锁相环提供时钟相乘和移相
●行逻辑阵列块(LAB)最大的含有8个全局时钟线和6个时钟源
●支持外部存储器,如DDRSDRAM(133MHz),FCRAM和单数据率RAMSDRAM
●支持多IP核包括AlteraMegaCores函数和AlteraMegaFunctions合伙人的程序
Cyclone飓风系列芯片资源总汇如表3-5所示:
表3-5Cyclone飓风系列芯片资源总汇
特点
逻辑单元(Les)
2,910
4,000
5,980
12,060
20,060
M4KRAM块(128x36位)
13
17
20
52
64
RAM总位数
59,904
78,336
92,160
239,616
294,912
锁相环
2
最大用户I/O口
104
301
185
249
在本系统里,采用EP1C3114C8N芯片。
3.2.1M4K模块介绍
CycloneTM、StritixTM、StritixⅡ和StritixGX系列芯片都提供了一个异步、双端口、带寄存器的输入口,可选择的带寄存器输出口的存储模块。
M4K模块
图3-8M4KRAM块LAB行接口
对存储处理器代码、执行查找表目的和执行大存储器应用是很有用的。
每一块M4K块是一个128x36的RAM块,它包含4608个可编程位,并包含有奇偶校验位。
M4K模块可以被设计成双端口RAM、单端口RAM,FIFO缓冲器,或者是ROM,同时当你在设计存储器时也可使用存储器初始化文件(.mif)或者是十六进制文件(.hex)来对存储器进行初始化。
图3-8给出了M4K的LAB连接图。
M4K存储模块可被设计成表3-6中任何形式大小的存储器。
表3-6M4K存储模块
操作模式
M4K存储模块大小
单端口RAM或ROM
128x36256x18512x91024x42048x24096x1
双端口RAM
写xM/读xNWxY/RxZM,N=1,2,4,8,.16,32
真正的双端口RAM
端口AXM/端口BXN3AxY/BxZ3
M,N=1,2,4,6,16(M≥N)YZ=9,18(Y≥Z)
本系统正是利用了飓风芯片的这个特点,将单片机传送到FPGA的字模数据存储在由M4K做成的RAM单元中,这样取消了外挂8KRAM的步骤,同时也提高了系统的稳定性。
3.2.2cyclone锁相环(PLLs)
CyclonePLLs提供两个通用的锁相环(PLLs),它为多时钟和相位移动以及在不同的I/O输出不同频率的情况提供了保证。
其内部结构如下图3-9:
图3-9锁相环结构图
1.PLL1支持一个经CLK0和CLK1的单端或LVDS输入
2.PLL2支持一个经CLK2和CLK3的单端或LVDS输入
3.PLL1_OUT和PLL2_OUT支持单端或LVDS输出,如果不需要外部输出,那么这些引脚可作为一般的I/O口使用
4.100引脚的EP1C3芯片TQFP封装的不支持外部时钟输出,144引脚的EP1C6芯片TQFP封装的PLL2不支持外部时钟输出。
本系统使用PLL1来对外部输入的时钟进行分频,取的了比外部计数芯片分频更好的效果。
3.3系统硬件模块电路设计
3.3.1系统总的工作原理
本系统采用单个16×
80LED点阵逐列左移(或右移)显示汉字或字符,需显示汉字或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA LED 点阵 控制器 完整 论文