基于FPGA的LCD设计_第1页
基于FPGA的LCD设计_第2页
基于FPGA的LCD设计_第3页
基于FPGA的LCD设计_第4页
基于FPGA的LCD设计_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本 科 毕 业 设 计( 2009 届)题目基于FPGA的LCD控制器设计学院专业班级学号学生姓名指导教师完成日期年月日63 / 64文档可自由编辑打印基于FPGA的LCD控制器设计【摘要】本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方便之后模块的移植和应用。本课题的设计采用了带ST7920驱动的12864-12液晶模块,并使用Altera公司的cycloneII系列的EP2C5T144C8来作为核心的控制器。控制器部分采用VHDL语言编写,主体程序采用了状态机作为主要控制方式。该控制器分为字符显示模块和图片显示模块两个主要部分。在字符的显示功能上采用显示控制模块与字

2、符调用RAM相结合的方式,使使用者能方便地调用液晶自带的字库来显示字符;而图片显示模块则通过特殊的处理算法解决了图像显示缓冲区X地址不断移位以及上下半屏分开的问题,通过读取图片ROM来显示图片。最后实现使用FPGA在LCD上的任意位置显示任意的16*16像素的中文字符以及16*8的英文字符,另外要能根据输入数据的变化同步变化LCD上显示的内容。同时要能将储存模块中的图片数据正常地显示在LCD上。该课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD的产品的开发。同时可以大大缩短FPGA的开发时间。另外,由于模块的易用性,也将使得更多的采用FPGA的产品之上出现LCD,增加人机之

3、间的交互性,为行业和我们的生活带来新的变化。【关键词】12864-12,VHDL,LCD,FPGA,状态机Design of the LCD Control Module Based on FPGA【Abstract】In this project, the main object is to design a LCD controller based on FPGA, and at the same time emphasize on the convenience for the later application and migration. In this project, I use

4、d 12864-12 LCD module with the ST7920 driver. For the controller part, I chose the Cyclone II serial FPGA, the EP2C5T144C8, which developed by the Altera Cooperation. The program of the controller is written by VHDL language, and the main body of the program used state machine as the primary control

5、 method. In this LCD controller, there are two major parts, which are the character display module and the picture display module. The character display module put the Character Calling Ram and the display control module together to enable the user to call the embedded character library easily to di

6、splay the information he/she needed. For the picture display module, the module, through specific algorithm, solved the problems that the x address of the picture display buffer kept stepping forward after every 16 times and the display screen are divided into 2 section by the buffer. And this modul

7、e, by reading a picture ram, displayed picture which was put earlier. In this project, I finally realized the following function. The first one is to display any 16*16 pixels Chinese character and 16*8 pixels English character on any position of the display screen. The second one is the display info

8、rmation will instantaneously update as the input data changes. The last function is that any given picture data can be displayed properly on the LCD screen.The research of this project will contribute to the developing process of those products which use FPGAs, especially those products also use LCD

9、. And at the same time, it can reduce dramatically on the developing time. In addition, for the convenience of this controller, more and more FPGA based products will come out with LCD screen. This change will enhance the interaction between human and the machine, and bring innovation to the industr

10、y and our lives. 【Key Words】12864-12,VHDL,LCD,FPGA,State Machine. 目录第1章 绪论51.1 选题的背景与意义51.2 LCD的控制,应用和市场的发展现状51.3 课题的主要研究内容和重点、难点71.3.1 本课题主要研究内容和重点71.3.2 本课题的主要难点:71.4 课题研究预期目标71.4.1 课题研究预期理论目标71.4.2 课题研究预期技术目标8第2章 现代LCD技术92.1 现代LCD技术简介92.2 STN-LCD技术的显示原理102.3 动态STN-LCD驱动方法11第3章 现代FPGA技术143.1 FPGA的

11、发展历程143.2 FPGA的基本原理153.2.1 查找表的基本原理153.2.2 基于乘积项的FPGA的逻辑实现原理153.3 FPGA的设计方法163.4 VHDL硬件描述语言163.5 Quartus II简介173.6 核心控制芯片选择183.7 FPGA的设计流程19第4章 总体系统设计及资源224.1 系统设计要求224.2 系统设计总体框图224.3 系统开发选用资源224.3.1 液晶模块选用224.3.2 FPGA的选择284.4 硬件设计30第5章 系统各部分模块的设计315.1 初始化模块设计315.1.1 LCD模块初始化原理315.1.2 时钟模块的设计325.1.

12、3 字符显示前初始化模块的设计335.1.4 图片显示前初始化模块的设计365.2 写入数据模块的设计385.2.1 英文字符部分的数据模块385.2.2 中文字符部分的数据模块405.2.3 图片部分的数据模块415.3 显示控制模块的设计415.3.1 字符显示控制模块的设计415.3.2 动态数据的显示控制435.3.3 图像数据的显示控制445.4 字符显示及图片显示整体模块495.5 本章小结50第6章 模块测试与使用方法516.1 模块的使用方法516.1.1 字符显示模块的使用516.1.2 图片显示模块的使用526.2 测试内容536.2.1 字符显示部分的测试536.2.2图

13、片显示部分的测试546.3 测试结果576.3.1 字符显示576.3.2 图片显示586.4小结60结束语61参考文献62致谢63第1章 绪论1.1 选题的背景与意义液晶,是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性,又具有液体的流动性。一般可分热致液晶和溶致液晶两类。在显示应用领域,使用的是热致液晶,超出一定温度范围,热致液晶就不再呈现液晶态,温度低了,出现结晶现象,温度升高了,就变成液体;液晶显示器件所标注的存储温度指的就是呈现液晶态的温度范围。液晶由于它的各向异性而具有的电光效应,尤其扭曲向列效应和超扭曲效应,所以能制成

14、不同类型的显示器件(Liquid Crystal Display 简称LCD)。在平板显示器件领域,目前应用较广泛的有液晶(LCD)、电致发光显示(EL)、等离子体(PDP)、发光二极管(LED)、低压荧光显示器件(VFD)等。 液晶显示器件有以下一些特点 低压微功耗,平板型结构,被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳),显示信息量大(因为像素可以做得很小),易于彩色化(在色谱上可以非常准确的复现),无电磁辐射(对人体安全,利于信息保密),长寿命(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命有限,不过背光部分可以更换)。之前,一般流行采用单片机来控制驱动LCD。采用单

15、片机控制LCD的显示在设计上相对比较简单。可以通过KEIL等软件的编写方便地控制LCD的图形以及字符的现实。但是由于单片机的顺序执行结构。决定了在现实图片或者字符的同时,单片机本身无法处理其他数据或者执行其他的运算命令。这在某种程度上大大地降低了工作的效率。而采用FPGA来控制LCD则不存在这个问题。但是由于FPGA不像单片机,可以直接使用控制语句来方便地控制LCD。因此需要编写大量的代码来控制LCD。因为这个原因,采用FPGA的设计一般都会再一次通过单片机来驱动LCD的显示。本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方便之后模块的移植和应用。最后在FPGA上的任意

16、位置显示任意的16*16D的中文字符以及16*8的英文字符,另外要能根据输入数据的变化同步变化LCD上显示的内容。同时要能将储存模块中的图片数据正常地显示在LCD上。该课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD得采用FPGA的产品的开发。同时可以大大缩短FPGA的开发时间。另外,由于模块的易用性,也将使得更多的采用FPGA的产品之上出现LCD,增加人机之间的交互性,为行业和我们的生活带来新的变化。1.2 LCD的控制,应用和市场的发展现状在技术方面,因集成式的控制芯片具有包括了缩小了IC的体积、低功率消耗、降低封装的成本、节省电路板的数量及体积等优点,并使材料成本及L

17、CD后段组装成本得以降低,因此许多厂商纷纷朝向高集成度控制芯片发展,并积极开发视讯应用的控制芯片。而最新趋势Smart Panel,在制程上则有简化流程、减少材料成本等优点。根据相关资料显示,Smart Panel可降低约10%15%的成本,这也是国外一些大厂所钟爱的方式。 为降低控制IC 成本,众多IC厂商纷纷推出集成式的单芯片控制IC。美国的Genesis最早推出集成式IC,将ADC、Scaler、OSD (内置菜单)与PLL(锁相环)为一颗单芯片控制IC。接着更进一步集成入DVI 组件,形成LCD 双模控制IC。其组件集成数量持续增多,并渐渐添加Video 的功能。当前Genesis 最

18、高集成度的产品,集成入的组件已经包括ADC、Scaler、PLL、OSD、TCON 与DVI,仅剩Video 的功能以及SDRAM 的组件尚未集成。 随着市场竞争的加剧,液晶显示器厂商的成本压力越来越大,必须采用更简单的线路设计实现液晶显示器的功能,以期降低成本,才能在市场竞争中立于不败之地。 LCD控制IC必将向高集成度方向发展,以满足市场需要。而在LCD的应用以及市场方面,虽然手机仍然是中小尺寸液晶显示屏(LCD)的最主要应用设备,但便携导航设备(PND)、数码相框和MP3/便携媒体播放器(PMP)等新型设备,正在该市场的销售额中占有越来越大的份额。由于这些产品所使用的显示屏大于手机所用的

19、显示屏,因此在供应商的工厂中同样需要更多的面板,这对于LCD面板生产商来说是个绝好的机会。各种中小尺寸LCD的产能扩张和价格下降,促进了其应用领域的多元化。这又进一步刺激了需求,并吸引许多其它产品来采用中小型LCD,如白色家电和零售标牌。大多数行业内的公司认为,为了利用手机市场和新兴产品,中小尺寸显示屏供应商必须相应地平衡和调整策略,否则就可能错失整个市场。导航设备PND的主要功能是显示GPS信息,因此能否显示详细并准确地图影像非常关键。这使得许多PND制造商把目光转向了更加精确的小型LCD。这方面出现的需求促使iSuppli公司把2011年PND显示屏市场的出货量预测提高到了6,050万部。

20、2006年的出货量为1,080万部,2006-2011年出货量的年复合增长率是41.3%。iSuppli以前预测2011年出货量是5,400万部。尽管中小尺寸LCD价格下降,但2011年PND显示屏的营业额将从2006年的3.24亿美元上升到7.76亿美元,年复合增长率为19.1%。2007年一年,PND显示屏销售额将比2006年的3.24亿美元增长近一倍,达到6.35亿美元。媒体播放器但PND不是推动中小尺寸显示屏市场繁荣的唯一消费电子产品。MP3/PMP目前是使此类显示屏出货量增长最快的领域之一。 iSuppli公司预测,2011年底MP3/PMP单位出货量将达到2.05亿,而2007年预

21、计为1.63亿。这相当于2011年显示屏销售额将达到16亿美元,略低于2007年的17亿美元,这主要是因为中小型LCD价格随着产能扩张和制造工艺改进而不断下降。推动显示屏单位出货量增长的因素包括:消费电子公司苹果和它的iPod产品线,以及距苹果最近的竞争对手紧追不舍,从而推动MP3/PMP市场整体增长。MP3音乐播放器变身进入了PMP领域。有源矩阵LCD供应商正在紧盯这个市场,以防止AMOLED供应商染指。因为PMP是消费电子产业中增长最快的领域之一,而且随着更多的产品涌现,将需要更多的LCD来满足需求。数码相框和便携DVD播放器等其它应用每年需要的显示屏越来越多。这些应用需要较大的显示屏(约

22、7.0英寸),因此它们的需求增长可能对产能分配和供需平衡造成较大的影响。1.3 课题的主要研究内容和重点、难点1.3.1 本课题主要研究内容和重点本课题的主要内容是基于FPGA的LCD控制器的设计研究,并兼顾程序的易用性以方便以后模块的移植。该课题设计到FPGA得应用,LCD驱动的研究,字符以及图像显示模式的研究等知识。并利用QUARTUS II 实现相关模块的设计,在FPGA上实现对LCD的控制,显示任意中文,英文和图像。1.3.2 本课题的主要难点:1. 12864-12的液晶模块指令集较为复杂,采用FPGA设计需要定义的变量和状态将会很多;2. 中英文字符的显示部分程序要考虑到程序的易用

23、性,方便将来移植后的使用;3. 图形显示部分,由于12864-12内部图形显示GDRAM的地址寻址方式的独特性,并不是始终从0到15循环,而是随着行数的增加会做一个移位。同时LCD屏幕上的点阵也被拆分为上下两个半屏,分别对应Y地址的0-8和9-15这导致了取模后的图形所对应的数组,如若按普通方法则不能正常显示。1.4 课题研究预期目标 本课题研究预期目标主要包括采用FPGA控制LCD在任意位置显示任意中文以及英文字符,和在LCD上显示储存模块中的图像数据。1.4.1 课题研究预期理论目标1. 掌握FPGA对LCD的控制方法,为课题研究做好理论准备;2. 通过FPGA对LCD的控制,使得任何开发

24、者都可以较为容易地通过此显示控制模块,在液晶上显示所需的内容。;3.算法实现:对于12864-12的特殊图形RAM对应LCD的显示方式,采用特定算法,使得取模后的图像所对应的数组,无需经过处理便可以通过FPGA ( Gate Array)在LCD上显示。1.4.2 课题研究预期技术目标1. 中文字符在LCD上的正常显示;2. 英文字符在LCD上的正常显示;3. 输入变动的数据能在LCD上的同步刷新显示;4. 图像数据在LCD上的正常显示;第2章 现代LCD技术2.1 现代LCD技术简介在七十年代初液晶开始作为一种显示媒体使用以来,液晶的应用范围被逐渐拓宽,到目前已涉及游戏机,手机/电话机,电视

25、,笔记本电脑/掌上电脑,DC/DV以及液晶显示器等领域。在1984年,欧美提出了STN-LCD,而同时TFT-LCD技术也被提出,但仍不成熟,在80年代末,日本掌握了STN-LCD的生产技术,在93年,日本又掌握了TFT-LCD生产技术,液晶显示器开始向廉价低成本的方向发展,随后DSTN-LCD诞生;另一方面向高端的薄膜式晶体管TFT-LCD发展,97年,日本建成了一大批大基板尺寸的第三代TFT-LCD生产线。在此期间,韩国和我国台湾开始介入液晶显示器生产领域,我国内地企业也引进生产线,生产TN-LCD,东亚地区逐渐发展成为世界液晶显示器的主要生产地,第三代半及第四代TFT-LCD生产线开始建

26、立,日本,韩国和中国(含台湾省)在液晶显示器生产及技术上开始走在世界最前列。 大家知道,液晶是一种具有规则性分子排列的有机化合物,它即不是固体也不是液体,它是介于固态和液态之间的物质,把它加热时它会呈现透明的液体状态,把它冷却时它则会出现结晶颗粒的混浊固体状态。液晶按照分子结构排列的不同分为三种:粘土状的Smectic液晶,细柱形的Nematic液晶和软胶胆固醇状的Cholestic液晶。这三种液晶的物理特性各不相同,而第二类的细柱形的Nematic液晶最适于用来制造液晶显示器。按物理结构常见的液晶显示器可分为以下几种:表2.1 常见液晶显示器大家从上面就可看出TN、STN、DSTN三种液晶都

27、属于无源矩阵LCD,它们的原理基本相同,不同之处只是各个液晶分子的扭曲角度略有差异而已,其中DSTN(俗称“伪彩”)在早期的笔记本电脑显示器及掌上游戏机上广为应用,但由于其必须借用外界光源来显像所以其有很大的应用局限性,但这些早期的反射型单色或彩色没有背光设计的LCD可以做得更薄、更轻和更省电,如果能在技术上对其进行革新这些东东对于掌上型电脑和游戏机来说还是非常有用的。而STN超扭曲向列型无源矩阵LCD则是我们今天小型液晶显示器上应用的主流,它具有屏幕反应速度快,对比度好,亮度高,可视角度大等优点。图2.1 液晶原理图最早的液晶显示器TN它由玻璃板,偏光器,ITO膜,配向膜组成两个夹层等组成,

28、它是所有液晶显示器技术原理的鼻祖。而TFT液晶显示器同TN系列液晶显示器一样由玻璃基板、ITO膜、配向膜、偏光板等部分组成,它也同样采用两夹层间填充液晶分子的设计,只不过把TN上部夹层的电极改为FET晶体管,而下层改为共同电极。2.2 STN-LCD技术的显示原理传统的TNI CD(扭曲向列液晶显示器件)具有电光响应速度缓慢,阈值特性很不明显的弱点,这给多路驱动造成了困难,使其在大信息量的视频显示上受到了限制。通过将TNLCD液晶分子的扭曲角度由90。加大到180。至360。之问就可以制成STNI CD(超扭曲向列液晶显示器件)。STN I CD 大大提高了显示特性,目前几乎所有的点阵图形和大

29、部分点阵字符LCD均已采用了STN 模式,STNI CD技术在液晶产业中已处于逐渐成熟和完善的阶段。将涂有透明导电层的玻璃上光刻形成特定的透明电极,在两片这种玻璃授板问夹上一层STNI CD 材料,四周密封,形成一个厚度仅为微米量级的扁平液晶盒。由于玻璃内表面涂有定向层膜并进行了定向处理,盒内液晶分子沿玻璃表面平行排列,如果两片玻璃内表面定向层处理的方向呈一定的夹角,则液晶分子在这两片玻璃之间以角度扭曲由于STN-LCD 液晶分子在盒中的扭曲螺旋距比可见光波长大得多,所以当垂直于玻璃表面一侧的直线偏振光入射后,其偏光方向在通过整个赦晶层后会被扭曲角度另一侧射出,因此此液晶盒具有在成角度偏振片间

30、透光的作用和功能。如果在液晶盒上施加一个电压并达到一定值后,液晶分子长轴将开始沿电场方向倾斜,当电压达到2倍阈值电压后,除电极表面的分子外,所有的赦晶盒内两电极之间的液晶分子都变成沿电场方向的再排列,这时角度旋光功能消失,在成角度的偏光片之间失去了旋光作用使器件不能再透光。因此,将STN LCD放在成角度的偏振片之间就可以用给液晶盒通电的办法使光改变其透过和遮住状态从而实现显示的功能。液晶屏幕的驱动方式 :单纯矩阵驱动方式是由垂直与水平方向的电极所构成,选择要驱动的部份由水平方 向电压来控制,垂直方向的电极则负责驱动液晶分子。 在TN与STN型的液晶显示器中,所使用单纯驱动电极的方式,都是采用

31、X、Y轴的交叉方式来驱动,如下图所示,因此如果显示部份越做越大的话,那么中心部份的电极反应时间可能就会比较久。而为了让屏幕显示一致,整体速度上就会变慢。讲的简单一点,就好象是CRT显示器的屏幕更新频率不够快,那是使用者就会感到屏幕闪烁、跳动;或着是当需要快速3D动画显示时,但显示器的显示速度却无法跟上,显示出来的要果可能就会有延迟的现象。2.3 动态STN-LCD驱动方法STNLCD 的显示效果是由于在显示像素上施加了电场的缘故,而这个电场是由显示像素前后两个电极上的电压信号差所产生的。在显示像素上建立直流电场并不困难,但直流电场将导致液晶材料的化学反应和电极老化。从而迅速降低液晶材料的寿命,

32、因此必须建立交流电场,并要求这个电场中的直流分量尽可能小,通常要求小于50 mV。因此STNLCD必须采用交流驱动。STNLCD显示驱动方法有很多种,常用的有静态驱动法和动态驱动法。当STNLCD显示像素众多时,若使用静态驱动法将会产生众多的引脚以及庞大的驱动电路,实现起来有困难,因此常用动态驱动法。图2.3 液晶驱动示意图动态驱动法中STN LCD 电极的制作和排布为矩阵型结构,即把水平一组显示像素的电极连接在一起引出 称之为行电极,用COM 符号表示,把纵向一组显示像素的电极连在一起引出,称之为列电极,用符号SEG 表示。每个STN-LCD显示像素都由其所有行和列的位置唯一确定。上图为N

33、行、M 列STN-LCD电极连接示意图,显示图形为字符“R”。点阵型STN-L CD 和字符型STN-LCD 的电极连接略有不同,但它们均可以由上图来表示。动态驱动法就是采用逐行、循环地给行电极施加选择脉冲,同时所有的列电极给出该行像素对应的选择或非选择脉冲从而实现一行所有显示像素的驱动,循环一次称为一帧。这种扫描是逐行顺序进行的,循环周期很短,使得STN-LCD显示屏上呈现稳定的图象效果。一帧中每一行的选择时间是相等的,若一帧的扫描行数是N,则一行所占用的扫描时间为一帧的1N,该值称为占空比系数。在特定电压下,扫描行数的增加将使占空比下降,从而引起液晶像素上交变电场有效值的下降,降低了显示质

34、量,因此随着显示像素的增多就需要适度地提高电场电压的有效值来保证显示质量。动态驱动方式下,某一液晶像素呈显示效果是由施加在行电极上的选择电压与施加在列电极上的选择电压的台成来实现的。与该像素不在同一行及同一列上的像素都处于非选择状态下,而与该像素在同一行或同一列的像素均有选择电压加入,称为半选择点。当半选择点的电压接近液晶的阔值电压时屏上将出现不应该有的半显示现象,这会使得对比度下降,这种现象叫做“交叉效应”,在动态驱动法中可采用偏压技术来解决这一问题。平均电压法是解决“交叉效应”的有效办法,其原理是把半选择点和非选择点上的电压平均化。若显示点电压为VLCD,则半选择点和非选择点电压为VLCD

35、/,其中为整数称为偏压比。平均电压法适度提高非选择点上的电压来抵消半选择点上的电压,从而扩大选择点和半选择点的电压之间的差距,提高显示对比度,又使非选择和半选择点的显示更均匀一致。对比度是衡量液晶显示质量的重要标志。只要驱动电压的有效值足够大液晶就可以实现显示,且选通时的透过率与有效值成正比,而对比度是透过率之比,所以只要确定了选通电压有效值与非选通电压有效值之比就能预测出显示对比度的好坏。第3章 现代FPGA技术3.1 FPGA的发展历程作为一种可编程逻辑器件,现场可编程门阵列的出现是可编程逻辑器件发展变化的必然,它的出现推动着可编程逻辑器件的进一步发展。因此说,了解了可编程逻辑器件的的发展

36、历程,也就了解了FPGA的发展历程。可编程逻辑器件(FPGA)是20世纪70年代发展起来的一种新型期间。它的应用不仅简化了电路设计,降低了成本,提高了系统的可靠性,而且给数字系统的设计方式带来了革命性的变化。可编程逻辑器件的发展是以微电子创作技术的不断进步为基础的,其结构和工艺的变化经历了一个不断发展变革的过程。20世纪70年代,早期的可编程逻辑器件只有可编程只读存储器,紫外线可擦除制度储存器和电可擦除只读储存器3种。随后,出现了一类结构稍微复杂的可编程芯片,即可编程逻辑阵列(PLA)。PLA在结构上由一个可编程的与阵列和可编程的或阵列构成,阵列规模小,编程过程复杂繁琐。PLA既有现场可编程的

37、,也有掩膜可编程的。在这之后出现了可编程阵列逻辑(PAL)器件,它由一个可编程的“与”平面和一个固定的“或”平面构成,是现场可编程的。它的实现工艺由反熔丝技术、EPROM技术和EEPROM技术3种。在PLA的基础上,又发展除了一种通用阵列逻辑(GAL),如GAL16V8、GAL22V10等。它采用了输出逻辑宏单元结构和EEPROM工艺,实现了电可擦除、电可改写,由于其输出结构是可编程的逻辑宏单元,因而其设计具有很强的灵活性,至今仍有许多应用。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但由于其结构过于简单,因此,只能用于实现较小规模的电路设计为了弥补这一缺陷,20世纪8

38、0年代中期,著名的可编辑逻辑器件厂商Altera和Xilinx分别推出了扩展型的复杂可编程逻辑器件(CPLD)和类似于标准门阵列的现场可编程门阵列(FPGA)。CPLD和FPGA的功能基本相同,只是芯片的内部原理和结构有些差别。这两种器件兼容了PAL和GAL器件的优点,具有体系结构灵活、逻辑资源丰富、集成度高以及适用范围广等特点,可用于实现较大规模的电路设计,编程也很灵活,所以,被广泛应用于产品的原型设计和小批量生产之中。几乎所有使用PAL、GAL和中小规模通用数字集成电路的场合均可应用CPLD和FPGA器件。如今,FPGA器件已成为当前主流的可编辑逻辑器件之一。经过近20年的发展,可编辑逻辑

39、器件已经取得了长足的进步,资源更加丰富,使用越来越方便。将来的可编程逻辑器件,密度会更高、速度会更快、功耗会更低,同时还会增加更多新的功能,向着集成了可编程逻辑、CPU、储存期等组件的可编程单片系统(SOPC)方向发展。3.2 FPGA的基本原理对于可编程逻辑器件,从实现原理上讲,一般分为两种:基于查找表加寄存器结构和SRAM工艺的FPGA,集成密度高,寄存器资源丰富,适合做时序逻辑设计,多用于上万门以上的设计,如数字信号处理和各种算法的实现等;基于乘积项结构和EEPROM工艺的FPGA,集成密度低,乘积项资源丰富,适合做组合逻辑设计,多用于5000门以下的设计,如编码、译码电路等。3.2.1

40、 查找表的基本原理查找表本质上就是一个RAM。目前FPGA中多使用四输入的LUT,所以每一个LUT可以看成一个有4位地址线的16×1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。3.2.2 基于乘积项的FPGA的逻辑实现原理以一个简单的电路为例,具体说明FPGA是如何利用以上结构实现逻辑的,电路如下图:图3.1 电路图假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!

41、D + B*C*!D (以!D表示D的“非”)FPGA将以下面的方式来实现组合逻辑f:图3.2 电路图2A,B,C,D由FPGA芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到:f= f1 + f2 = (A*C*!D) + (B*C*!D) 。这样组合逻辑就实现了。 图3电路中D触发器的实现比较简单,直接利用宏单元中的可编程D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与I/O脚相连,把结果输出到芯片管脚。

42、这样FPGA就完成了图3所示电路的功能。3.3 FPGA的设计方法FPGA的常用设计方法包括“自顶向下”和“自下而上”。目前大规模FPGA设计一般选择“自顶向下”的设计方法。所谓“自顶向下”设计方法,简单地说,就是采用可完全独立于芯片厂商及其产品结构的描述语言,在功能级对设计产品进行定义,并结合功能仿真技术,以确保设计的正确性,在功能定义完成后,利用逻辑综合技术,把功能描述转换成某一具体结构芯片的网表文件,输出给厂商的布局布线器进行布局布线。布局布线结果还可反标回同一仿真器,进行包括功能和时序的后验证,以保证布局布线所带来的门延时和线延时不会影响设计的性能。“自顶向下”设计方法的优越性是显而易

43、见的。首先,由于功能描述可以完全独立于芯片结构,在设计的最初阶段,设计师可不受芯片结构的约束,集中精力进行产品设计,进而避免了传统设计方法所带来的重新再设计风险,大大缩短了设计周期。其次,设计的再利用得到保证。目前的电子产品正向模块化方向发展。所谓模块化就是对以往设计成果进行修改、组合和再利用,产生全新的或派生设计。而“自顶向下”设计方法的功能描述可与芯片结构无关。因此,可以以一种IP(Intelligence Property 知识产权)的方式进行存档,以便将来重新利用。第三,设计规模大大提高。简单的语言描述即可完成复杂的功能,而不需要手工绘图。第四,芯片选择更加灵活。设计师可在较短的时间内

44、采用各种结构芯片来完成同一功能描述,从而在设计规模、速度、芯片价格及系统性能要求等方面进行平衡,选择最佳结果。目前最为常用的功能描述方法是采用均已成为国际标准的两种硬件描述语言VHDL和Verilog HDL。3.4 VHDL硬件描述语言VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计

45、,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。1. 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。2. VHDL丰富的仿真语句和库函数,使得在任何大系统的设计

46、早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。3. VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。4. 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。5. VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计3.5 Quartus II简介Quartus II软件是Altera公司在MAX+PLUS II软件基础上推

47、出的一种更佳的设计软件。对于一个高性能、价格合理、尽快面市的方案,结合使用Quartus II软件和Altera FPGA将是非常好的选择。Quartus II软件比所有竞争产品具有更佳的集成设计环境(例如综合、仿真、逻辑分析和布局布线)。Quartus II平面配置器在输入引脚至所有连接逻辑的信号追踪上,表现出色。集成的Signal Tap II逻辑分析器非常易于使用,不像MAX+PLUS II那样,还要购买第三方开发工具。Quartus II软件比MAX+PLUS II更加可靠,用户界面更加友好,特别是在仿真,节点发现和引脚分配等方面。同样,图形激励生成器比第三方的仿真工具更快、更有效。转

48、换设计一直非常简单,在很短的时间内,就可以适用到目标器件中。在MAX+PLUS II软件的基础上,Quartus II软件具有一些重要的优点:1. 支持器件:支持MAX 3000A、7000AE、MAX 7000B 和 MAX 7000S系列以及新的MAX II系列。支持 FLEX 10KE®、FLEX 10K®、FLEX 10KA、ACEX、FLEX 6000系列,以及最新的Cyclone、Stratix 和 Stratix II 系列FPGA。2. 性能: 对于MAX 3000A、MAX 7000AE、MAX 7000B、MAX 7000S、FLEX 10K 和ACEX

49、设计,比MAX+PLUS II 10.2版本提供更好的平均性能表现。(1) 对MAX设计,平均设计性能快15;(2) 对给定的MAX设计,所需器件资源平均少5。3. 综合:(1)一体化RTL综合不仅支持AHDL,还支持最新的VHDL和Verilog语言标准。(2)在综合和设计实施之前,RTL浏览器提供VHDL或者Verilog设计的图形表示(仅限于Quartus II软件)。(3)支持所有的主要第三方综合流程。4. 高级功能:高级功能支持MAX II CPLD和最新的FPGA器件系列:(1)PowerGauge 功率分析功能支持MAX 3000A, MAX 7000AE和MAX 7000B设计

50、和最新的FPGA器件(即将支持MAX II CPLD器件)。(2)LogicLock 基于模块的设计流程(3)SOPC Builder: 同IP轻松集成5. 编译:(1)物理综合优化(2)时序收敛平面配置编辑器6. 验证功能:(1)多时钟和多周期时序分析(2)面向FPGA设计的SignalTap II 嵌入式逻辑分析器7. 最后一刻设计改变支持(ECO支持):(1)芯片编辑器(将于2004年下半年支持MAX II)(2)渐进式拟和从MAX+PLUS II软件转换到Quartus II软件非常容易,现在可以用Quartus II进行所有的Altera新设计。Quartus II软件最新版非常实用

51、,根本不用再回到老版本去完成一个设计。转到Quartus II软件的一个主要原因是其出众的实现时序收敛的能力,这对大部分有难度的工程是不可缺少的。如果将Altera CPLD或FPGA中的所有逻辑资源全部用上,即使这样,仍旧能够满足速度需要。比较包括Xilinx在内的其他PLD供货商的开发工具,只有Quartus II软件才是最容易使用的。3.6 核心控制芯片选择在数字电路中,核心控制芯片一般有单片机(MCU)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、数字信号处理器(DSP)等。由于在实际应用中,本系统要能够同时处理三路的血细胞信号(RBC,WBC,PLT),且从前面的每

52、一路A/D转换电路出来的脉冲信号周期约为40s。因此,若要实时地、不失真地对信号进行采集和处理,必须采用处理速度较高的信号处理芯片。而普通的单片机的处理速度已经不能满足系统要求,因此必须采用以DSP、FPGA或CPLD为核心的处理器。同时,由于我们对DSP不太熟悉,若采用DSP可能会加大编程和调试难度,延长研发周期,故也不采用该芯片;同时系统中对脉冲统计的部分需要用到RAM,CPLD没有自带的RAM模块,对外部的RAM操作处理起来相当麻烦,而FPGA采用VHDL语言和图形输入,DSP-Builder等混合编程方式,又有自带的RAM模块,操作比较灵活。因此,本系统拟采用FPGA中CycloneI

53、I芯片EP2C5T144C8实现。本设计的器件基础是FPGA(Field Programmable Gate Array)现场可编程门阵列,与PLD(Programmable Logic Device)可编程逻辑器件统称为PLD/FPGA,两者的功能基本相同,只是实现原理略有不同,能完成任何数字器件的功能。上至高性能CPU,下至简单的74电路,都可以用PLD/FPGA来实现。PLD/FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD/FPGA的在线修改能力,随

54、时修改设计而不必改动硬件电路。使用PLD/FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。 PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。它们是在PAL、GAL等逻辑器件的基础之上发展起来的,同以往的PAL、GAL等相比较,FPGACPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。这样的FPGACPLD实际上就是一个子系统部件。这种芯片受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。比较典型的就是Xilinx公司的FPG

55、A器件系列和Altera公司的CPLD器件系列,它们开发较早,占用了较大的PLD市场。通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了PLD技术的发展方向。当然还有许多其它类型器件,如:Lattice,Vantis,Actel,Quicklogic,Lucent等。 3.7 FPGA的设计流程FPGA开发采用的是一种高层次设计方法,这是一种“自顶向下”的方法,适应了当今芯片开发的复杂程度的提高、上市时间紧迫的特点。这种设计方法首先从系

56、统设计入手,在顶层进行功能方框的划分和结构设计,在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统进行描述,在系统一级(层)进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级(层)可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率、其具体步骤如下:按照“自顶向下”的设计方法进行系统划分。1) 输入VHDL/Verilog HDL代码。这是高层次设计中最为普遍的输入方式,用任何文本编辑器都可用,但通常在专用的HDL编辑环境中进行

57、,因为专业的集成开发环境通常提供各种结构模版,并且可以自定义各种要素的色彩显示,提高可读性。提高输入效率。此外,还可以采用图形输入方式,这种输入防式具有直观、容易理解的优点。2) 将以上的设计输入编译成标准的VHDL/Verilog HDL,然后将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确。对于大型设计,进行代码级的功能仿真主要是检验系统功能设计的正确性,因为对于大型设计,综合、试配要花费数小时,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤由EDA工具自动进行。3) 利用综合器对源代码进行综合优化处理,生成门级描述的网表文件,即将源文件调入逻辑综合软件进行逻辑分析处理。也就是说将高层次描述(行为或数据流级描述)转换成低层次的网表输出(寄存器与门级描述)。逻辑综合软件会生成EDIF(Electronic Design Inter

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论