资源描述
.wd. LED大屏幕显示控制系统设计摘 要LED显示屏是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的大型显示系统。它以其适用范围广、寿命长,工作性能稳定,功耗低、亮度高,而日渐在显示领域中得到广泛应用,如广告、车站、码头、证券、银行等信息传播、信息发布方面,是目前国际上对比流行的显示媒体。本文介绍了一种全新的LED显示屏控制解决方案,主要使用Altera cyclone飓风FPGA和16位凌阳单片机SPCE061A作为主控器件,采用较普遍的74LS595作为LED 显示屏显示驱动芯片。实验说明按照本系统的设计出的电路简单,控制方便,屏幕显示稳定,效果佳,是现代LED 电子屏的一种很好的解决方案。文中首先描述了LED 的构造原理、模块、分类、亮度控制方式和电子屏的组成,对cyclone 飓风FPGA的配置模式进展了简要的介绍。对Altera公司编程软件Quartus 4.0与MAX+PLUS 相比独有的特点及新技术进展了对比详细的分析,以便对它有一个对比清晰的了解,并采用此软件为以后的系统设计提供参考。最后以本系统的192x128的单色红色点阵屏为模板,详细的介绍系统电路的设计及在大屏幕上显示汉字和图形的原理及各种显示方式的算法,及若何让屏幕显示的更稳定、清晰做了些探讨。关键词:LED显示屏; 配置; Quartus ; 凌阳单片机; 飓风FPGA AbstractLED panels are a large-scale display system, which consist of microelectronics technique, photoelectron technique, computer technique, and information handles technique. With its wide application scope, long life span, stable work function, low power consumes, high bright degree, gradually, LED panels become extensive application in display field as the information transmission and announcement measures, Such as advertise, the station, wharf, stock certificate, bank etc. it is popular display medium.This thesis introduced a kind of all new LED panels control solution. The Mainly control unit use one Altera cyclone EP1C6 and one 16-bit lingyang single-chip processor SPCE061A, which both is popular in current industry control field, use the common 74LS595 as the LED display driver chip. The experimentresult according to this system shows that it is a good solution with the characteristics of simplified circuit, conveniently control, stably display and good effect. this thesis first described the LEDs construction principle, module, and classification. Then gives out a brief introduction of the configuration mode for cyclone FPGA(this system adapts active mode), and gives out a detail description about the programmer software Quartus 4.0 and its unique features when compared with the MAX+PLUS , which provides reference for new system design. At last, takesMonochromaticlattice (red) of the 192x128s in this system as template, gives out the analysis of this system circuit, the principle of displaying Chinese character or figure on large screen and the algorithm for different display mode, also discussed how to make screen display more stable and clearer.Key words: LED panels; configuration; Quartus ; lingyang single-chip processor; cyclone FPGA 目 录第1章 LED显示屏技术概述11.1 LED 原理11.2 LED模块11.3 LED显示屏分类21.4 LED亮度控制方法21.5 LED显示屏组成2第2章 CYCLONE 飓风FPGA 配置42.1 主动配置模式52.2 被动串行配置72.3 JTAG 配置模式9第3章 QUARTUS 4.0软件简介11第4章系统硬件电路设计154.1 系统上位机154. 2 主控板174.2.1 SPCE061A16位凌阳单片机概述174.2. 2 CycloneTM 系列芯片概述184.2.3 M4K 模块介绍194.2.4 cyclone 锁相环PLLs204.2.5 SPCE061A 控制电路214.2.6 FPGA EP1C6 的大屏幕驱动信号产生电路224.3 点阵驱动电路22第5章系统软件设计245.1 RAM中数据存放格式245.2 SPCE061A 字模数据送到RAM中算法245.3 整屏数据同时上移算法255.4 整屏左移算法265.5 整屏右移算法285.6 主程序模块305.7 中断接收字模模块31小结34参考文献35致谢36附录一:英文翻译37附录二:电路图65第1章 LED显示屏技术概述随着时代的开展,信息的交流在我们的生活中起着越来越重要的作用。从传统的播送、电视、报纸,到现在的移动通信、因特网,无论信息交流的手段若何开展,仍不能改变LED显示屏在传递信息方面受到的关注。近几年在LED 材料研制和控制技术上的开展,更是受到人们的关注。在目前这个群雄逐鹿的显示领域包括CRT,LCD,DLP,背投技术,等离子显示技术等,LED 显示技术将凭借其自身的优势在未来的显示领域中取得一席之地。LED显示屏是集微电子技术、计算机技术、信息处理技术、光电子技术于一体的大型显示系统。它以其适用范围广、寿命长,工作性能稳定,功耗低、亮度高,而日渐在显示领域中得到广泛应用,如广告、医院、车站、码头、证券、银行、展览等信息传播、信息发布方面,是目前流行的显示媒体。1.1 LED 原理图1.1 发光二极管在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。其原理图如图1.1所示。LED的发光颜色和发光效率与制作LED的材料和工艺有关,目前广泛使用的有红波长660nm、绿(波长470nm)、蓝波长525nm三种。由于LED工作电压低仅1.5-3V,能主动发光且有一定亮度,亮度又能用电压或电流调节,本身又耐冲击、抗振动、耐高温、寿命长10万小时,所以在大型的显示设备和户外的显示媒介中。目前尚无其他的显示方式与LED显示方式匹敌。LED象素直径的大小一般有3、3.75、5、8、15、19、26等.1.2 LED模块1LED发光管一般由单个LED晶片,反光碗,金属阳极,金属阴极构成,外包具有透光聚光能力的环氧树脂外壳。可用一个或多个不同颜色的单灯构成一个 根本像素,由于亮度高,多用于户外显示屏。 2LED点阵模块由假设干晶片构成发光矩阵,用环氧树脂封装于塑料壳内。适合行列扫描驱动,容易构成高密度的显示屏,多用于户内显示屏。 3贴片式LED发光灯(或称SMD LED)LED发光灯是贴焊形式的封装,可用于户内全彩色显示屏,可实现单点维护,有效抑制马赛克现象。1.3 LED显示屏分类1按颜色划分:单色屏、双色屏和全色屏 目前在市面上见得对比多的是红、绿、蓝3种颜色的LED发光二极管,用它们做成的LED屏被称为单色屏;红色和绿色的LED放在一起作为一个象素制作的显示屏叫双色屏或彩色屏。2按使用的环境划分:户内屏、户外屏和半户外屏 户内屏面积一般从不到1平米到十几平米,点密度较高,在非阳光直射或灯光照明环境使用,观看距离在几米以外,屏体不具备密封防水能力。 户外屏面积一般从几平米到几十甚至上百平米,点密度较稀(多为1000-4000点每平米),发光亮度在3000-6000cd/平米(朝向不同,亮度要求不同),可在阳光直射条件下使用,观看距离在几十米以外,屏体具有良好的防风抗雨及防雷能力。半户外屏介于户外及户内两者之间,具有较高的发光亮度,可在非阳光直射户外下使用,屏体有一定的密封,一般在屋檐下或橱窗内。3按控制或使用方式划分:同步屏和异步屏同步方式是指LED显示屏的工作方式 根本等同于电脑的监视器,它以至少30场/秒的更新速率点点对应地实时映射电脑监视器上的图像,通常具有多灰度的颜色显示能力,可到达多媒体的宣传广告效果。异步方式是指LED屏具有存储及自动播放的能力,在PC机上编辑好的文字及无灰度级图片通过串口或其他网络接口传入LED屏,然后由LED屏脱机自动播放,一般没有多灰度显示能力,主要用于显示文字信息及一些图片,可以多屏联网显示。4按使用方式划分:点阵屏、点阵数码混合屏。1. 4 LED亮度控制方法LED亮度控制有两种方法。一种是改变流过LED的电流,一般LED管允许连续工作电流在20毫安左右,除了红色LED有饱和现象外,其他LED亮度 根本上与流过的电流成比例;另一种方法是利用人眼的视觉惰性,用脉宽调制方法来实现灰度控制,也就是周期性改变光脉冲宽度即占空比,只要这个重复点亮的周期足够短即刷新频率足够高,人眼是感觉不到发光象素在抖动。由于脉宽调制更适合于数字控制,几乎所有的LED屏都是采用脉宽调制来控制灰度等级的。 1. 5 LED显示屏组成LED 显示屏是一种发布信息的载体,这要求它能够接收计算机发送过来的显示数据。因此主要包括:显示信息发送端即上位机、数据处理主控板模块以及显示驱动电路三局部组成。上位机与主控板之间的数据通信可以是RS-485协议,也可采用TCP/IP协议来进展多个LED屏之间的连网通讯。随着LED制造工艺的改良,LED 使用寿命、亮度及灰度等级都在原来的根基上有很大的提高,特别是现代PC技术,网络技术、IC技术的开展,使LED点阵大屏幕的控制变得越来越方便,尤其是近几年的多媒体技术开展并在这方面的研究和应用,使LED点阵屏的画面变得越来越生动、形象,这促使了LED屏在我们生活中的不可或缺的信息交流工具。本系统设计的是一种户内型LED点阵屏,采用了目前在控制方面的新技术、新手段。实验说明本系统,电路简单,控制方便,屏幕显示稳定,效果佳,是现代LED 显示屏的一种很好的解决方案。第2章 Cyclone 飓风FPGA 配置飓风FPGA 使用SRAM 来存放配置数据,而SRAM是不能掉电保存数据的,因此FPGA在每次上电时必须将配置数据下载到FPGA内部。飓风FPGA 的配置有三种模式:主动模式AS、被动模式PS和JTAGJoint Test Action Group 联合测试行动组模式,可以使用其中的任何一种来配置 Cyclone飓风 FPGA。表 2.1 FPGA 配置模式配置方式描述主动模式配置途径:配置芯片EPCS1 或 EPCS4被动模式配置途径:1、 增强型配置芯片EPCS4 EPCS8 和EPCS162、 EPC1和EPC23、 智能主机如微处理器4、 下载电缆JTAG模式通过JTAG引脚配置:1、 下载电缆2、 智能主机如微处理器3、 JamTM 标准测试和编程语言STAPL你可以选择一片飓风芯片将其MESL0和MESL1 引脚通过置0或1来区别是哪一种配置模式,引脚具体连接情况如表2.2所示。表 2.2 配置模式管脚选择MESL1MESL0配置模式00AS01PS00或1JTAG注意: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%。表2.3是未压缩的飓风系列FPGA芯片原始配置文件大小,如果要配置多个FPGA就将其文件大小相加,其和的大小就为配置文件的大小。表 2.3 飓风系列FPGA 配置数据芯片位数据大小字节数据大小EP1C3627,37678,422EP1C4925,000115,625EP1C61,167,216145,902EP1C122,326,528290,816EP1C203,559,608444,951下面分别对这三种配置模式作简单介绍。2.1 主动配置模式串行配置芯片提供了一个串行接口来接收配置数据。在配置过程中,飓风FPGA 就会通过串行接口读配置芯片中的配置数据,如果是压缩数据就对其进展解压缩,并对芯片进展配置。在这个过程中,FPGA控制配置接口的动作,因此称此方式为主动配置模式。与被动模式相比,配置芯片控制配置接口的动作。主动配置模式AS时序图如图2.1所示。图 2.1 主动配置模式时序图在系统上电的时候,飓风芯片和串行配置芯片都会进入系统上电复位POR阶段,一旦飓风芯片进入POR状态,它就会将nSTATUS 设为低电平指示系统忙,使CONF_DONE 设为低电平指示芯片未配置。在POR之后,典型时间是100ms,飓风FPGA就释放nSTATUS低电平状态而被外挂的10K电阻拉为高电平使FPGA进入配置模式状态。一旦FPGA POR成功,它就退出POR状态,所有的I/O引脚是处于三态。飓风芯片的I/O口在配置前及配置中都有一个弱的内部上拉电阻。DCLK在FPGA的整个配置周期内是始终产生的,并且这个时钟为串行接口提供时钟。飓风芯片使用内部的晶振来产生DCLK的。图2.2给出了主动配置单个FPGA芯片的电路连接图。图2.2 主动配置FPGA芯片1、主动配置多个FPGA芯片 你可以使用单个串行配置芯片来配置多个FPGA芯片,使用nCE和芯片使能输出脚nCEO级连多片FPGA芯片,而在这芯片链中第一片FPGA芯片的nCE脚必须接到地上,而使它的nCEO脚接到第二片的nCE脚上,并且必须使最后一片芯片的nCEO悬空。当第一片芯片接收了其所有的配置数据之后,它就会使nCEO变为低电平而使下一片芯片处于接收配置数据状态,这个芯片链中的所有nCONFIG, nSTATUS, CONF_DONE, DCLK,DATA0 引脚都是连在一起的。第一片飓风FPGA芯片配置成主控芯片,它控制这个链中的所有其它图 2.3 用一个串行配置芯片配置多个FPGA芯片主动配置芯片的配置,必须将主控芯片的MESL引脚连接为主动模式,而链中的其它芯片接成被动模式。其总的电路连接图如图2.3。2、为多个FPGA芯片配置同样的数据 在一些特殊的应用中要求使多个FPGA芯片具有同样的电路功能,那么势必要使这些FPGA配置同样的数据。这就要在串行芯片中存放几个区的同样的配置数据,第一区的数据送给主控芯片,而接下来的同样的配置数据就送给链中的其它被动配置模式芯片,配置完成之后,那么有同样配置数据的芯片就具有了同样的电路功能。其电路图与用一个串行配置芯片配置多个FPGA芯片主动配置一样。3、在系统配置FPGA芯片通过主动配置接口,你也可以在系统对配置芯片编程,在系统编程过程中,FPGA是不会接收配置数据的,因为下载电缆使其nCE 引脚被置成高电平,而nCONFIG为低电平使FPGA处于复位状态。在配置芯片编程完成之后,下载电缆会释放nCE, nCONFIG引脚,它们被各自的下拉和上拉电阻拉为低电平和高电平。电路连接图2.4所示。图 2.4 在系统配置串行芯片2.2 被动串行配置飓风FPGA也支持被动配置模式。在被动配置模式中,一个额外的主机配置芯片、嵌入式微处理器 或 PC主机控制配置过程。配置数据是以同步的形式经DATA0和DCLK引脚传送到FPGA内部的。PS配置波形时序图如图2.5。图2.5 被动配置时序图注意:1 在电源上电和配置过程中,CONG_DONE是为低电平的,在配置完毕之后,CONF_DONE 被置为高电平,它指示配置成功。如果芯片重配置,CONF_DONE 在nCONFIG变为低电平后变为低电平。 2 在配置过程中,用户引脚都有一个微弱的上拉电阻并处于三态状态的,在初始化之后,用户I/O脚按照用户设计所分配的管脚功能工作。3在配置之前或配置过程中的前136个时钟周期内,nCONFIG是为低电平的,而INIT_DONE是为高电平的。4在用户模式,假设使用被动配置模式,DCLK会被拉为高电平或低电平。5用户模式时,DATA0是不能被拉为高电平或低电平的。正如主动配置模式一样,被动配置模式有多种形式,如用EPC2、EPC4、EPC8和EPC16专用配置芯片来配置,而目前专用的被动配置芯片EPC价格对比昂贵,产品成本较高。同样你也可以使用PC机的下载电缆来配置,但它只能在做实验时采用,商业化的产品是不可能采用PC机这种配置模式的。第三种方法是采用微处理器MCU来控制配置。目前微处理器较廉价,并且技术比以往都有很大程度上的提高,特别是在CPU频率、片内RAM、片内flash ROM等方面。我们在知道其配置时序后完全有可能模仿其时序来对FPGA进展配置,实际应用中也有很多的先例。下面给出目前使用较多的使用微处理器来配置FPGA芯片的硬件电路连接图如图2.6。图 2.6 被动配置电路图2.3 JTAG 配置模式 JTAG是为了测试芯片内部电路而设计的,这种边界扫描测试Boundary-Scan Test BST构造提供了有效测试PCB的方法。当设备正常工作时,BST构造可以在无须使用物理探测就能测出引脚连接情况并获得相关数据。你可以通过JTAG电路将配置数据通过移位的方式移入FPGA内部。Quartus 软件自动产生 .sof 文件,它可被用来作为JTAG配置的数据文件。飓风FPGA是使用TDI、TDO、TMS 和 TCK 四个引脚的,它不支持可选的TRST引脚,而TCK、TDI和TMS都有一个弱的内部上拉电阻,所有的用户引脚在JTAG配置时是三态的。各引脚功能介绍如表2.5 所示。表 2.4 JTAG 引脚功能说明引脚描述功能TDI测试数据输入命令、测试和编程数据的串行数据输入脚,数据是在TCK的上升沿移入FPGATDO测试数据输出命令、测试和编程数据的串行输出脚,数据在TCK的下降沿移出FPGA,假设数据没有移出那么为三态TMS测试模式选择输入引脚,提供控制信号决定传输测试准入端口控制状态机。状态机的传输发生在TCK的上升沿,因此TMS必须在TCK上升沿之前设置TCK测试时钟输入BST电路时钟输入,某些动作发生在TCK上升沿,某些发生在TCK的下降沿JTAG模式配置单个FPGA芯片的电路连接图如图2.7。图 2.7 JTAG 模式配置单个飓风FPGA这三种配置模式各有其优缺点:JTAG 模式主要在实验中使用,它因不需要专门的配置芯片来中转直接对目标芯片通过一根下载线如ByteBlasterII来下载程序,这种模式特别方便、简单。但它的缺点就是不能掉电保存程序。因此限制了其商业化的目的。主动和被动模式都使用外部存储器来存放配置数据,到达掉电保存配置数据的目的。在专用的配置芯片较贵时,普遍采用被动方式来配置,即采用微处理器和一片大容量的ROM 来代替专用芯片,但是必须自己编写程序来模仿下载时序对芯片进展配置,对比烦琐。但就目前飓风芯片的配置芯片EPCS1价格廉价,因此本系统采用EPCS1的主动配置模式。经实验说明,使用EPCS1主动配置模式方便,电路板面积小,对比经济。第3章 Quartus 4.0软件简介Altera公司的Quartus 4.0 编程软件提供了很多的设计优点和一个友好的可编程片上系统设计,它支持的Altera 公司的大局部CPLD 及FPGA芯片,包括最新的Stratix,Stratix GX, 和Cyclone系列芯片,使用Quartus 可以降低设计和校验周期而提高设计效率。它与MAX+PLUS 相比增加了许多的功能,含有许多更具特色和更强的实用功能,大致有以下几点。1、Quartus与MATLAB/Simulink和Altera的DSP Builder,以及第三方的综合器和仿真器相结合,用于开发DSP硬件系统。DSP Builder就是Altera公司推出的一个面向DSP开发的系统级工具。它是作为Matlab的一个Simulink工具箱Tool Box出现的。DSP Builder作为Simulink中的一个工具箱,使得用FPGA设计DSP系统完全可以通过Simulink的图形化界面进展,只要简单地进展DSP Builder工具箱中的模块调用即可。DSP Builder中的DSP 根本模块是以算法级的描述出现的,易于用户从系统或者算法级进展理解,甚至不需要十分了解FPGA本身和硬件描述语言。DSP Builder是一种支持自顶向下设计流程的系统级工具。首先利用MATLAB强大的系统设计、分析能力和DSP Builder提供的模块或IP核完成顶层系统设计及系统仿真测试,然后通过DSP Builder中的Signal Compiler将Simulink模型文件自动转换成VHDL的RTL表述和工具命令语言Tcl脚本,再进展RTL级的功能仿真,并通过SOPC设计工具Quartus进展综合、适配与时序仿真;最后形成对指定FPGA进展编程配置的POF和SOF文件,实现硬件DSP系统的仿真测试,其间可以将设定好的嵌入式逻辑分析仪Signal Tap与DSP硬件系统文件一同适配并下载到FPGA芯片中去,然后可在MATLAB的Simulink窗口观测到通过JTAG口接收来自Signal Tap测得的芯片中DSP硬件模块的实时工作波形,从而实现硬件仿真和调试的目的。最后,如有必要,可以将DSP硬件模块通过SOPC接口编辑成Nios嵌入式系统处理器的用户指令,这样使微处理器处理数据的速度得到提高。2、Quartus II与SOPC Builder结合用于开发Nios嵌入式系统。Quartus II软件包含SOPC Builder功能。它有自动增加任务功能,参数化元件设计功能,IP 代码连接功能,支持多嵌入式微处理器,SOPC Builder 使设计者可以把一个很好的设计概念在几分钟之内转变成为一个可以运行的实际系统From Concept To System In Minitues。Altera的Nios核是用户可随意配置和构建的32位/16位总线用户可选的指令集和数据通道的嵌入式系统微处理器IP核,采用Avalon总线构造通信接口,带有增强的内存、调试和软件功能C或汇偏程序程序优化开发功能;含有FS2开发的基于JTAG的片内设备OCI内核这为开发者提供了强大的软硬件调试实时代码,OCI调试功能可根据FPGA JTAG端口上承受的指令,直接监视和控制片内处理器的工作情况。此外,基于Quartus平台的用户可编辑的Nios核含有许多可配置的接口模块核,包括:可配置高速缓存包括由片内ESB或外部SRAM或SDRAM,100M以上单周期访问速度模块,可配置RS-232通信口、SDRAM控制器、标准以太网协议接口、DMA、定时器、协处理器等等。在植入配置FPGA前,用户可根据设计要求,利用Quartus和SOPC Builder,对Nios及其外围系统进展构建,使该嵌入式系统在硬件构造、功能特点、资源占有等方面全面满足用户系统设计的要求。Nios核在同一FPGA中被植入的数量没有限制,只要FPGA的资源允许,此外Nios可植入的Altera FPGA的系列几乎没有限制。3、Quartus II含实时调试工具、嵌入式逻辑分析仪Signal Tap II。随着逻辑设计复杂性的不断增加,在计算机上以软件方式的仿真测试变得更加消耗时间,而不断需要重复进展的硬件系统的测试同样变得更为困难。为了解决这些问题,设计者可以将一种高效的硬件实时测试手段和传统的系统测试方法相结合来完成,这就是嵌入式逻辑分析仪Signal TapII的使用。它可以随设计文件一并下载于目标芯片中,用以捕捉目标芯片内设计者感兴趣的信号节点处的信号,而又不影响原硬件系统的正常工作。可以通过两种方式来使用Signal Tap。一种是直接使用Quartus4.0中的Signal Tap;另一种方式是通过MATLAB的Simulink和DSP Builder来使用Signal Tap。DSP Builder中包含有Signal Tap模块,设计者可以使用此模块设置用于信号探察的事件触发器,配置存储器,并能显示波形。这可以使用Node模块来选择有待监测的信号。使用Signal Tap后,当触发器运行后,通常要占用局部内部RAM,因为在实际监测中,将测得的样本信号暂存于目标器件中的嵌入式RAM如ESB中,然后通过器件的JTAG端口和Byte Blaster下载线将采得的信息传出,送于PC机进展分析。PC机中送达的数据是以文本文件的方式存储的,并可在Simulink图上显示波形。4、Quartus II含有逻辑锁定功能,即Logic Lock技术,使模块化设计到达最优化的设计效果。在设计中有时候会碰到这样的情况,原来在硬件测试上十分成功的FPGA设计模块,结果在源代码并没有任何改变的情况下,仅仅是增加了一点与原程序毫不相干的电路描述,或甚至只改变了某个端口信号的引脚锁定位置,结果在综适宜配后,原设计的硬件性能大为下降,如速度降低了,有时甚至无法正常工作。这说明,即使对原设计作很小的改变,都会使适配器对原设计的布线routing和布局placing策略作大幅改变和调整,而人很难直接介入布线/布局的优化。对于由许多 根本电路模块构建成的顶层系统的FPGA开发,类似的问题将更加突出。例如,原来某一 根本模块的FPGA硬件测试十分成功,包括工作性能、速度以及资源利用率等,但当将这些 根本模块连接到一个顶层设计后,即使在同一FPGA中进展测试,也常发现各模块以及总系统的性能有所下降,甚至无法工作的情况。事实上,如果能在设计 根本模块时,就固定其布线/布局的原方案,即使在顶层文件的总体适配时,也不改变原来 根本模块的布线/布局及其原来的优化方案,就能很好地解决上述棘手的问题。对此,Quartus提供了这一优秀的设计技术,可以锁定设计好的布线/布局方案。这样一来,对于一项较大设计中的某一底层模块,不但在顶层的软件描述上是一个子模块,而且在FPGA芯片中总体适配中,此模块在硬件更象是一标准模块,始终能保持自己原来的布线/布局方案,从而在任何大系统中都能保持原有的电路性能,就像一个被调用的独立的元件一样,不会由于顶层系统布线/布局的改变而改变 根本模块的布线/布局构造了。有了逻辑锁定技术,面对大系统的设计,工程师们就可以将构成大系统的各模块进展分别设计,分别优化它们的布线/布局,及适配约束,逐个地使它们分别获得最正确的工作性能,逐个优化并锁定它们的布线/布局方案,最后把它们连在一起形成性能优良的顶层系统。显然,逻辑设计锁定功能是我们的设计变得越来越模块化,系统功能更优化,同时它为设计更大的系统提供了技术保障。5、Quartus II含有将FPGA设计向ASIC设计无缝转移的高效的ASIC设计技术,即Hard Copy技术。HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的系统通过特定的技术直接向ASIC转化。HardCopy技术是一种全新的ASIC设计解决方案,即将专用的硅片设计和FPGA至HardCopy自动迁移过程结合在一起的技术,即首先利用Quartus将系统模型成功实现于HardCopy FPGA上,然后帮助设计者把可编程解决方案无缝地迁移到低成本的ASIC上的实现方案。HardCopy器件如HardCopy Stratix系列、Excalibur系列FPGA防止了ASIC的风险,它采用FPGA的专用迁移技术。其HardCopy ASIC是直接在Altera PLD体系之上构建的,采用有效利用面积“逻辑单元海内核。本质上HardCopy器件是FPGA的准确复制,剔除了可编程性、专用配置和采用金属互连使用的走线,这样器件的硅片面积就更小,成本就更低,而且还改善了时序特性。6、Quartus 的RTL Viewer(存放器层查看器)提供了一个可以看到低层逻辑电路并对其进展分析和节点定位的功能,极大的方便了程序的调试。随着FPGA设计规模的扩大,其复杂程度也不断得提高,我们很难在设计的早期发现电路本身的问题,而我们又不能修改逻辑电路,这让设计者始终处于被动状态。Quartus 的RTL Viewer(存放器层查看器)提供了一个功能强大的在调试、优化或入口进程的约束时查看你的初始综合结果,它是作为Quartus 的一个子窗口形式存在的。Quartus 的RTL Viewer 允许你查看Quartus 集成综合结果或是第三方网表文件在Quartus 中产生的图形结果。在分析、解释或是网表输出之后,在综合或适配优化算法发生之前, RTL Viewer用一个逻辑电路图代替了设计的网表文件,这个逻辑电路图不是最终的设计构造图,因为系统还没有优化,但这是与你的原始设计最为接近的可能结果。如果你是使用Quartus 的集成综合工具,这个电路图可以让你知道Quartus 软件是若何解释你的设计文件的。如果你使用的是第三方综合工具,那RTL Viewer 让你了解你的综合工具所输出的网表文件所对应的电路图。你可以在仿真之前通过RTL Viewer 来虚拟的检查你的设计,以便在设计早期阶段发现问题,节省珍贵的时间。如在校验时发现有不明行为发生,你就可以通过 RTL Viewer 来对初始网表综合进展跟踪来确保所有的连接和逻辑是正确的。如果在RTL Viewer阶段是正确的那么你就把重点放在这之后的步骤,如综合或布局与布线时的优化、因布局与布线产生的时序问题、校验流程的本身问题等等。另外,可通过RTL Viewer 来对一些特殊信号进展定位,这对你的调试是很有帮助的。你也可以使用它的导航技术来对你感兴趣的节点进展跟踪其源信号来确保连接是正确无误的。当你在对Quartus 设置来优化设计时,你也可对VQM或EDIF 网表中感兴趣的节点进展定位,如在两个存放器进展多周期时钟分配时,在第三方工具的综合过程中,有时候很难决定分配存放器的名字。在RTL Viewer 中使用导航技术来对目标节点进展定位。你可从一个I/O端口开场,在设计中的不同层次向前或向后对感兴趣的节点进展跟踪,或者你可以通过检查RTL Viewer逻辑电路图对存放器进展简单的定位。虽然在元件层进展导航是一件很麻烦的事情,但这样做还是比在 VQM 或 EDIF网表文件中找出有些连接来的简单。在此次毕业设计中,通过对Quartus 的实际应用中虽然未使用到上述功能,但我仍然感到其界面做的比MAX+PLUS 更适合我们的使用习惯,并且Quartus 在编译时给出了很多的统计数据,如LEs使用比例,PLLS 使用比例,RAM 使用量,I/O口使用量,时钟信号的建设保持时间和电路最高时钟等等,并可在编译时检查毛刺情况,这些都为我们的设计提供了极大参考价值,保证了系统的正常工作。第4章 系统硬件电路设计随着现代电子技术和IC 技术的开展,特别是现代大规模集成电路的开展以及微处理器功能不断增强,在LED 显示屏的控制方面变得越来越容易,电路由原来的中小规模集成电路及各种散件做成的控制和驱动电路转变为现在的MCU、CPLD/FPGA及专用显示驱动芯片的控制电路。以前LED显示屏电路复杂,稳定性差,屏幕面积相对来说较小,应用面窄,而现在各个方面都得到了极大的提高,而且越来越深入到人们的生活当中。本系统就是在这样的一个大环境下,顺应时代潮流,采用了现代各种新技术,新手段来实现一192x128的显示屏。考虑到我们设计的是一种户内型的显示屏,那它是作为传送固定信息的人与人之间的交流媒介,显示数据是一种自动播放形式,这就决定了该大屏幕是处于一种被动、循环往复的显示方式模式,因此采用异步传输能减少系统不断查询串口承受标志位的系统消耗。本系统主要由上位机的字模产生及发送局部由PC机通过串口来发送显示字模数据,主控板局部、显示驱动电路三局部组成。系统上位机由一台PC机来控制,它主要是发送字模数据到主控板的存储器中,而主控板对这些字摸数据进展处理,之后再将字模数据发送到大屏幕显示驱动电路中,随后在大屏幕上显示数据。系统总框图如图4.1。上位机由PC机来代替RS-485转换接口RS-485转换接口主控板由MCU、FPGA组成 LED电子屏双绞线图 4.1 系统框图4.1 系统上位机字模发送是由一个VB做成的字模发送软件, 根本界面如以下列图4.2。经本实验的综合调试,该软件操作方便、简单。此软件由六个区组成。串口通道及波特率设置窗口,发送字模数据浏览窗口,屏幕点阵大小设置窗口,数据保存和退出窗口,系统时间、日期显示窗口、显示屏数据编辑窗口。此软件界面友好,容易操作。如本系统是192x128的屏幕,用串口2以9600bps 的波特率发送字模数据,那么只要在界面上的屏幕点阵大小和串口、波特率设置窗口中设置这些值即可。发送设置是发送哪几屏的数据。本软件是专为本系统设计的共有8个大屏幕的数据编辑和发送能力。当屏幕点阵大小、串口和波特率设置好之后,再对此8个屏幕的显示数据进展编辑,你可在浏览窗口内观看显示效果。数据的编辑可以在浏览窗口直接编辑,也可通过调用其他的文本文件来进展编辑。在这些工作完成之后,先按准备发送让系统对要发送的所有数据进展后台处理,之后再点击发送,此时,数据将一屏接一屏发送,全部发送完之后会有一个OK窗口表示发送成功。图 4.2 字模发送软件界面编辑且设置好的点阵数据将从指定串口按指定波特率按以下格式发出。 第1个字节:发送地址高8位,第2字节:发送地址低8位,从第3字节开场是本屏的点阵数据, 按图像点阵从左到右,自上而下扫描,每8位组成1个字节,每个字节先从D0(最低位)装配,每行图像的点数是8的倍数。一行扫完后紧接下一行,直到本屏数据发送完。字模由PC机是通过串口2按RS-485协议传输到主控板上的,因为按RS-485协议做成的串口传输的是一种差动信号,其最大传输距离为1200米(100kb/s),这正好符合本系统主控制室离显示屏幕一般较远的情况,保证了传输数据的正确性,提高数据传输的可靠性。4.2 主控板主控板由一片凌阳16位单片机SPCE061A和一片ALTERA 公司的新推出的FPGA cyclone EP1C6飓风芯片组成。4.2.1 SPCE061A 16位凌阳单片机概述SPCE061A是继mnSP系列产品SPCE500A等之后凌阳科技推出的又一个16位构造的微控制器。目前有两种封装形式:84引脚的PLCC84封装和80引脚的LQFP80贴片封装。特别适合于数字声音和语音处理识别领域。SPCE061A单片机内部构造图如图 4.3所示。图 4.3 SPCE061 内核构造图主要性能如下: 16位mnSP微处理器 工作电压:VDD为2.43.6V(cpu), VDDH为2.45.5V(I/O) CPU时钟:32768Hz49.152MHz 人为可调 内置2K字SRAM、内置32K FLASH 可编程音频处理 32位通用可编程输入/输出端口 32768Hz实时时钟,锁相环PLL振荡器提供系统时钟信号 2个16位可编程定时器/计数器(可自动预置初始计数值) 2个10位DAC(数-模转换)输出通道 7通道10位电压模-数转换器(ADC)和单通道语音模-数转换器 声音模-数转换器输入通道内置麦克风放大器自动增益控制(AGC)功能 系统处于备用状态下(时钟处于停顿状态)耗电小于2mA3.6V 14个中断源,两个优先级:定时器A / B,2个外部时钟源输入,时基,键唤醒,通用异步串口通信及软中断等 具备触键唤醒的功能 使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据 具备异步、同步串行设备接口 具有低电压复位(LVR)功能和低电压监测(LVD)功能 内置在线仿真电路接口ICEIn- Circuit Emulator 具有保密能力 具有WatchDog功能 支持C语言和汇编混合编程 有专用的数字信号处理的函数,是一款低价位的数字信号处理MCU 内建音频编码和解码算法函数,具体函数如表4.1。表 4.1 语音编码压缩对照表模块名称语音压缩编码率类型数据采样率/KHz压缩比SACM_A200016KB/s ,20KB/s , 24KB/s168:1, 8:1.5,8:1.25SACM_S480/S7204.8KB/s 7.2KB/s2480:3 80:4.5SACM_S240/S1202.4KB/s2480:1.5SACM_MS01音乐合成16KB/s,20KB/s,24KB/s16SACM_DVR(A2000)16KB/s的数据率,8KM/s 的采样率,用于ADC通道录音功能164.2.2 CycloneTM 系列芯片概述CycloneTM 是现场可编程门阵列逻辑系列是基于1.5V 、0.13-m、所有铜布线的SRAM工艺,最大到达20,060个逻辑单元和高达288Kbits 的RAM,并含有一个或两个锁相环PLLs,一个双数据率DDR接口来满足DDR SDRAM的需要,一个快速RAM 存储器。Cyclone芯片是一种有很高成本效益的数据传输应用,它支持多种I/O 标准,包括LVDS的到达640Mbps传输率,支持33MHz到66MHz的32位到64位的PCI接口,支持ASSP和ASIC芯片的接口。同时Altera 公司提供了一个新的低价位的串行配置芯片EPCS来配置Cyclone芯片。芯片特点:l 2,910到20,060个逻辑单元,具体如下表所示。l 最大到达294,912个RAM位36,864字节l 支持低价位的串行配置芯片l 支持LVTTL,LVCMOS,SSTL-2 和SSTL-3的I/O 标准l 支持33到66MHz的32到64位的PCI标准l 支持高速LVDS I/O 640Mbpsl 支持高速LVDS I/O 311Mbpsl 支持311Mbps 的RSDS I/Ol 最多的一个芯片中含有两个锁相环提供时钟相乘和移相l 行逻辑阵列块LAB最大的含有8个全局时钟线和6个时钟源l 支持外部存储器,如DDR SDRAM133MHz,FCRAM和单数据率RAM SDRAMl 支持多IP核包括 Altera MegaCores 函数和Altera MegaFunctions 合伙人的程序Cyclone 飓风系列芯片资源总汇:表 4.2 Cyclone 飓风系列芯片资源总汇特点EP1C3EP1C4EP1C6EP1C12EP1C20逻辑单元Les2,9104,0005,98012,06020,060M4K RAM块128x36位1317205264RAM 总位数59,90478,33692,160239,616294,912锁相环12222最大用户I/O口1043011852493014.2.3 M4K 模块介绍CycloneTM、Stritix TM、Stritix 和Stritix GX 系列芯片都提供了一个异步、双端口、带存放器的输入口,可选择的带存放器输出口的存储模块。M4K 模块对存储处理器代码、图4.4 M4K RAM块 LAB 行接口执行查找表目的和执行大存储器应用是很有用的。每一块M4K 块是一个128x36的RAM块,它包含4608个可编程位,并包含有奇偶校验位。M4K模块可以被设计成双端口RAM、单端口RAM,FIFO缓冲器,或者是ROM,同时当你在设计存储器时也可使用存储器初始化文件.mif或者是十六进制文件.hex来对存储器进展初始化。图4.4给出了M4K的LAB连接图。M4K 存储模块可被设计成表4.3中任何形式大小的存储器。表 4.3 M4K存储模块操作模式M4K存储模块大小单端口RAM或ROM128x36 256x18 512x9 1024x4 2048x2 4096x1双端口RAM写x M /读x N W x Y/ R x Z M,N = 1,2,4,8,.16 ,32真正的双端口RAM端口 A X M /端口 B X N3 A x Y /B x Z3M,N = 1,2,4,6,16 ( M N ) Y Z= 9,18 ( Y Z )本系统正是利用了飓风芯片的这个特点,将单片机传送到FPGA的字模数据存储在由M4K 做成的RAM 单元中,这样取消了外挂 8K RAM 的步骤,同时也提高了系统的稳定性。4.2.4 cyclone 锁相环PLLsCyclone PLLs 提供两个通用的锁相环PLLs,它为多时钟和相位移动以及在不同的I/O输出不同频率的情况提供了保证。其内部构造如下:图 4.5 锁相环构造图注意: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来对外部输入的时钟进展分频,取的了比外部计数芯片分频更好的效果。4.2.5 SPCE061A 控制电路 本系统的大屏幕是一个192x128的点阵,那么要存放这些数据就需要1536个字的存储器空间,考虑到显示屏的数据不只是1屏的数据,同时也考虑到SPCE061A 内部有32Kflash ROM,最大的可以存放16屏的字模数据,本系统设计8屏数据的空间,从9000H图4. 6 SPCE061A 系统电路图单元开场存放,充分表达大屏幕显示的大信息量,增加其使用领域。此单片机电路的功能是:接收PC上位机发送过来的字模数据,同时将接收进来的数据写入到 flash ROM 中,直到所有的数据接收完之后,再执行字模处理程序,将处理好的数据通过其32个I/O 口发送给FPGA。因单片机内部含有UART 电路,因此只需外加一个RS-485电平转换芯片MC3486,由IOB7口直接接收串口数据。因为凌阳单片机是16位单片机,本系统充分利用其硬件资源,直接使用16位的数据位宽,11根地址线,这样降低了数据操作的难度,同时也充分发挥了硬件优势来降低程序难度,实现了“以硬代软的目的。 考虑到数据显示时是一种动态扫描模式,假设采用一个RAM 区,势必造成单片机在写RAM 时,FPGA只能处于等待状态,这样就产生了一个不好的结果就是屏幕动态扫描停顿,因屏幕数据是移位输出的,那么扫描停顿时,就始终有一行点阵特别的亮,因为那一行的高电平时间保持较长的时间,这样就影响了屏幕了显示效果。在本系统中,我们设计了两个同样大小的RAM 区分为A区和B区,让单片机交替写A区和B区。当单片机在写A区时,那FPGA就去读B区的字模数据,当单片机在写B区时,那FPGA就去读A区的字模数据,这样就不会造成FPGA 有停顿扫描的时间,保证了各行的点阵有一样的时间占
展开阅读全文