LCD控制器

2024-10-23

LCD控制器(共11篇)

LCD控制器 篇1

引言

目前只有国外和我国台湾地区的少数半导体公司拥有设计和生产专用LCD显示控制芯片的相关技术,但他们只生产和出售商业级芯片,工作温度在0℃~50℃。受此限制,商用LCD显示器工作温度范围窄,不能满足特殊应用场合工作温度需求。另外,专用LCD显示控制芯片在图像处理上功能强大,却没有针对特殊使用场合提供诸如嵌入式检测,宽范围背光控制,低温加热控制等功能。随着FP-GA技术的发展,其内部资源和速度等级不断提高,且可提供工业级温度范围(-40℃~+85℃)芯片,能保证在允许的温度范围内器件不会发生物理损坏,使采用FPGA进行高性能和高集成度的LCD显示控制器的设计成为可能。为此我们开展了基于FPGA的面向特殊应用场合的LCD控制器的视频接口、图像处理、辅助控制电路等相关研究。

1 系统逻辑结构

本LCD显示控制器能够接收两路DVI-D视频信号,输出LCD显示屏TCON所需的LVDS信号,驱动LCD屏显示。控制器同时具有OSD屏幕控制、LED背光控制、自动低温加热、嵌入式检测功能。其系统架构框图如图1所示。

由图1可知,LCD显示控制器主要由DVI解码器(ADV7612),视频信号检测单元,视频信号缩放处理单元,OSD菜单处理单元,视频alpha叠加处理单元,色彩变换单元以及LED背光控制,低温加热控制及嵌入式检测单元等功能模块组成。外部输入的DVI视频经过ADV7612解码后输入到视频检测单元,检测到有效性后,通过缩放、色彩变换、alpha叠加、灰阶扩展等一系列单元模块,完成整个视频流的处理,最后编码成LVDS信号输出到LCD。除DVI解码器外,其它控制部分均采用Altera公司的FPGA(EP3C55F780I7N)及外部存储器DDR2SDRAM来实现。FPGA内部以NiosII软件为中心,将各功能模块有机地组合起来,实现各种特定的功能。下文将重点介绍DVI解码、视频流处理各个功能模块的设计,同时对背光、加热进行简单介绍。

2 功能模块设计

2.1 DVI解码器

DVI解码器将DVI视频信号转化为TTL视频信号,以便于FPGA处理。DVI解码器采用ADI公司的ADV7612[1]来实现。ADV7612 内置双路DVI兼容型接收器和主分量处理器(CP),用于处理来自DVI接收器的视频信号。

ADV7612支持所有强制性格式以及许多可选格式,支持最高达UXGA、8 位的DVI格式。ADV7612功能框图如图2所示。

ADV7612内部集成了同步信号生成模块,用于DE的再生(基于显示视频格式的测量)和水平/垂直同步信号的滤波,以防止产生毛刺。

ADV7612作为DVI解码器的基本特性可以概括为:

TMDS时钟频率最大值:162.5 MHz;

支持DVI 1.4a规格定义的3D格式;

集成式均衡器支持最长30米电缆;

支持中继器;

内部EDID RAM;

DVI端口具有热插拔输出引脚。

2.2 视频信号缩放

DVI视频信号经ADV7612解码后变成TTL标准的并行视频信号,并送入FPGA。FPGA首先根据DE信号的频率来判断信号的有效性,当无有效的外部视频信号时,内部产生640×480@60HZ的“蓝屏”信号替代外视频,送入视频信号缩放处理单元。

Altera提供了一组视频和图像处理系统设计和开发IP核[2](VIP)。VIP使用Avalon-ST接口和Avalon-MM接口进行数据输入输出和外部存储器的访问,这些标准接口确保视频和图像系统可以方便快捷地通过这些IP核实现集成。

Avalon-ST接口是高速流接口,它采用Avalon-ST视频协议传输视频和控制数据。Avalon-ST视频协议是面向包的协议,可以构建视频处理数据通道,自动配置和改变视频的格式,实现配置视频系统所需外部逻辑的最小化。通过Avalon-ST接口创建视频处理通道,将视频和图像处理IP核连接在一起实现特定的视频处理功能。

Avalon-MM接口提供监视和控制IP核属性的方法。通过Avalon-MM从接口提供对一系列寄存器的访问,VIP IP核允许运行时控制其部分行为。

本系统中采用VIP的时钟驱动的视频输入和输出,缩放器II,帧缓存器模块组成视频信号缩放单元,使LCD控制器自动适应1 920×1 200@60 Hz以下各种分辨率并缩放到LCD屏的物理分辨率。图3为视频信号的缩放单元的逻辑结构图。

视频输入IP核将时钟驱动的DVI视频转换成流控制的Avalon-ST视频,它提供时钟域交叉能力,移除了输入视频在水平和垂直方向上的空白,仅保留活动图像数据,创建Avalon-ST视频协议和活动图像包。表1为视频输入IP核的主要参数设置。

缩放器II IP核和帧缓器IP核用于改变视频流的大小。在缩放器II IP核中我们采用双三次插值算法,在实现图像缩放时能够更好的保留图像边缘的锐度,同时通过插值运算保证图像边缘的平滑。由于视频输入和输出不是严格同步,利用帧缓存器IP将帧视频数据存到外部DDR2SDRAM,实现帧速转换。缩放器能够自动将1 920×1 200分辨率以下的各种视频信号缩放到1 600×1 200的分辨率。表2为缩放器II IP核的主要参数设置。

时钟驱动视频输出IP核通过插入水平和垂直空白并生成水平和垂直同步信息,将流控制的Ava-lon-ST视频转换成时钟驱动的基于帧的具有单独同步信号(Hsync,Vsync)的“DVI视频”。表3为时钟驱动视频输出IP核的主要参数设置。

2.3 OSD菜单处理

OSD(On Screen Display)是一种在屏显示技术,其目的是根据按键的选择在显示图像上叠加文字、图形等信息,使显示屏幕为用户提供更多的附加信息。本文利用FPGA设计的OSD分辨率为480×240,颜色深度为16bit,通过移植GUI,可方便地显示各种复杂信息。图4为OSD控制器的结构框图。

OSD控制器包括一个Avalon Slave端口和一个Avalon master端口,NiosII处理器通过Avalon Slave端口读、写OSD控制器的各个寄存器,从而对控制器的显示和模式进行控制。这些可读写的寄存器包括使用DDR2SDRAM作为显存的首地址寄存器,设置显示有效的控制寄存器等。Avalon master端口根据寄存器中设置的显存首地址值,通过Ava-lon总线自动地从DDR2SDRAM中读取要显示的图形数据。而NiosII处理核也可在软件控制下通过Avalon总线更新DDR2SDRAM中的内容,双方的协调是由Avalon总线的控制逻辑实现的。在软件上将绘点,画线,写字符,写位图等子程序封装成GUI(图形用户接口),方便应用程序调用。为了使OSD控制器产生的视频数据与外部DVI视频同步,Timing Engine采用外部同步信号,可以方便地与外部视频融合。

2.4 视频alpha叠加

alpha叠加用于在同一个视频帧中组合多个视频流,视频缩放处理和OSD菜单处理产生的两路信号需要通过alpha叠加来实现视频的叠加显示。在本设计中,OSD控制器产生的视频必须叠加在DVI外视频上。其数学表达式为(1):

alpha值由NiosII处理核设定,范围为0~255。

alpha叠加可以实现画中画(PIP)显示。将al-pha设为0,在OSD显示区域完全覆盖原DVI视频,也可以将alpha设为128,在DVI视频上重叠显示OSD内容,二者的内容都可见,实现“透明”效果,变动alpha值时可以达到不同的“透明”效果。

2.5 图像色彩变换

为了提升图像的显示质量,本设计加入了图像色彩变换的处理算法。通过仿真计算,对一些常用变换公式[3]进行优化设计,利用FPGA丰富的逻辑资源和LUT(lookup Table)结构高效地实现了亮度调节、色温调节、伽马(GAMMA)校正和对比度调整等功能。

亮度调节:指调节图像的整体亮度范围,变换曲线如图5(a)所示,A表示亮度的变化量;

色温调节:指调节RGB分量在各自0~255范围内的比例,可单独调节,变换曲线如图5(b)所示,k表示调节的百分比(0~100%);

伽马校正:指对图像的伽马曲线进行编辑,进行图像的非线性色调校正,采用指数函数进行校正,曲线如图5(c);

对比度调整:指图像各个灰度间的对比度差异的调整,在普通变换曲线的基础上进行优化,设计了新型的指数型对比度调节曲线(图5(d)),调节范围更广,效果突出。

对图5的4种变换曲线进行优化,可以将4种变换曲线转换为两种基本的变换曲线,变换公式如下:

式(2)和式(3)中,x表示原始图像的灰度值(0~255),f(x)表示变换后的灰度值,Lmin和Lmax表示该变换公式的最小值和最大值,表示伽马校正系数,表示对比度调整的指数函数系数。公式2 表示亮度、色温、伽马的综合调节公式,调节Lmin的值,即可实现一定范围内的亮度调节(等效于曲线的平移变换);调节Lmax的值,即可实现图像色温的调节(等效于曲线斜率的变换),伽马校正是通过系数为的指数函数实现的。公式3表示亮度、色温、对比度的综合调节公式,亮度和色温的调节与公式2的原理相同,对比度调整采用了分段指数函数实现,选取128灰阶作为分段分界点(可根据实际需求,改变分界点坐标),两段指数函数的系数互为倒数,保证了曲线的平滑度。

实际计算过程中,图像数据为8bit数据,为保证算法的计算精度,减少灰阶损失,对Lmin和Lmax放大4倍(左移2位,10bit)后按照公式2和公式3进行运算,将运算的10bit结果存储到LUT单元中,通过对LUT的查询,实现视频数据的快速变换,后面再通过灰阶扩展算法,实现10bit数据到8bit数据的还原。LUT是一个双端口存储器,NiosII软核可以对其进行随时更新。

2.6 灰阶扩展

为了不牺牲视频图像的灰阶,设计采用了两帧PD+FRC算法[4-5]来实现显示器的灰阶扩展,使8bit显示屏具有10bit的颜色体现能力。

PD(Pixel Dithering)技术是指用交替的点图案去模拟在显示器中不能使用的颜色的过程。采用不同的真实灰阶实现亮度融合,产生感应灰阶。

FRC(Frame Race Control)是为了消除静态抖动算法引起的条纹效应,更好地还原图像质量,使显示的图像平滑柔和,利用人眼视觉惰性实现的动态抖动算法。算法示意图如图6所示。

由图6可以看出,动态抖动算法为了消除固定抖动模板引起的条纹效应,采用隔帧变换抖动模板的方法,在时域上,由于抖动矩阵的循环变换而导致不同帧抖动后的图案中同一位置处的像素明暗轮换出现,但图像的灰度保持不变,条纹效应被平均。

通过灰阶扩展处理,消除了图像色彩变换引起的灰阶损失,使显示器具有更优的图像显示质量。

2.7 嵌入式检测及LED背光控制,低温加热控制

针对特殊使用场合的需求,本设计加入了嵌入式检测,宽范围背光控制和低温加热控制。

嵌入式检测单元可以实时检测LCD显示屏温度,LED背光温度,一方面将检测数据通过串行口上报主机,同时根据LCD显示屏温度实现低温加热控制,根据LED背光温度可以实现高温限亮。拓宽了显示器的工作温度范围。

背光控制方面,设计了如图7所示恒流LED驱动电路驱动背光,具有效率高、外围电路简单的优点,在FPGA的控制下可实现大于2000级大范围的线性亮度调节。同时为了适应人眼对低亮度下亮度变化更敏感的感知特征,对背光亮度曲线进行校正,使人眼感受显示器亮度的“线性”变化。图7中开关恒流驱动电路还设计了背光状态检测电路,实时监测LED工作状态,具备背光故障在线检测功能。

低温加热控制电路包括加热驱动电路、高温保护电路、加热状态检测电路组成,实现加热控制、加热保护和加热状态在线检测等功能,低温加热控制是一个闭环系统,FPGA通过实时采集LCD屏的温度,在低温下开启PWM信号控制加热驱动电路,通过加热组件对屏加热,消除液晶由于低温造成的响应延迟,对比度降低等负面效应。PWM的占空比对应加热功率,LCD屏的温度和加热功率之间的动态关系曲线可通过特定的函数约定。采用该低温加热控制电路后,LCD显示器可在-45℃环境下,5分钟内达到正常显示,鼠标运动无拖尾,色彩和亮度正常。

3 结论

通过LCD控制器的研制,我们在一片FPGA上实现了视频接口,图像处理,OSD显示,嵌入式检测,背光控制,低温加热控制,高温限亮控制等功能,实现了真正的“SOC”。经过试验验证,该系统可在宽温下(-45℃~+70℃)稳定工作。其主要性能指标如下:

视频接口:双DVI-D输入接口,通过硬线选择;

视频分辨率:自动适应1 920×1 200@60 Hz以下各种分辨率并放大到满屏(1 600×1 200);

视频信号亮度调节:不降低灰阶时100级可调;

视频信号色温调节:三种色温可选且可通过OSD自定义色温;

视频信号GAMMA校正:提供1.5 至2.5 的GAMMA调节范围;

视频信号对比度调整:不降低灰阶时100级可调;

LED背光控制范围:0.17cd/m2~800cd/m2;

加热控制:低温下自动加热,具有软件可设置的加热策略。

参考文献

[1]Analog Devices.Dual Port Xpressview Advantiv HDMI Receiver Functionality and Features[Z].2010-2014 Analog Devices.

[2]Altera Corporation.Video and Image Processing Suite User Guide[Z].Altera Corporation,2013.

[3]冈萨雷斯.数字图像处理[M].2版.北京:电子工业出版社,2007:276-284.

[4]陈建军,周旭,张小芸.感应灰阶的产生技术及其在液晶显示器上的应用[J].光电子技术,2013,33(2):113-114.

[5]Utsumi Y,Hiyama I,Komura S,et al.Development of authentic-color IPS-LCD without color tracking[C].SID 02Digest Boston,USA,2002:820-823.

LCD控制器 篇2

LCD显示器的表面是一层易碎的玻璃,如果这块玻璃破裂,则整台显示器就立即报废。因此,在选购LCD显示器时,首先要仔细地检查该表面玻璃有无裂纹和划伤的痕迹。其次是检查坏点。通常所说的坏点有两种:一种是“亮点”,另一种是“暗点”。亮点就是始终亮着的点,暗点则是始终都不亮的点。

如果我们仔细观察某些液晶显示器,就会发现显示器上有几个特别亮的点,这就是亮点,过亮的点看起来令人不舒服,也无法正常显示图像和字符。同样,液晶显示器上还可能出现暗点,暗点多了也会影响液晶显示器正常使用,暗点和亮点都是没有办法修复的,所以它们均叫做坏点,

一台液晶显示器的亮点和暗点各不超过3个就算合格,这一点在选购时要特别注意。那么,在实际选购时该如何检查LCD显示器有无坏点呢?进入MS-DOS方式时,全屏都是黑色的,就可以十分清楚地看出是否有亮点。也可以在Windows桌面上右键单击,在弹出菜单中单击选中“属性”一“外观”,然后把颜色选为“白色”或“黑色”,“确定”后就会使桌面成为全白色或全黑色,可以清楚地看出屏幕上是否有暗点或亮点。

除此之外,液晶显示器的延迟时间、可视范围、多种接口也很重要。延迟时间是越小越好;可视范围是越大越好;接口则是越多越好。最后,在把LCD显示器买回家后,最好马上接到自己的显卡上试用,看它是否和自己的显卡相匹配。

本文出自:www.st99.com/101935R.html

LCD独领风骚 篇3

人们对更高分辨率机型的需求越来越大,这也有利于LCD电视机赢得更大的市场。日本索尼公司以及中国台湾和韩国的很多公司都在大力宣传LCD电视机,业界分析师认为,这将为等离子电视机公司的合并铺平道路。

对等离子电视机制造商来说,要在尺寸低于50英寸的电视机中实现全部高清晰度功能,技术上很困难,而且常常需要非常高的成本。而LCD电视机制造商正在大力推销低于50英寸的全高清机型,当然LCD电视机的价格一般较高。

Credit Suisse公司分析师Wanli Wang说:“这个圣诞节有可能是等离子电视机制造商销售42英寸机型的最后机会了。明年此时,等离子电视机和LCD电视机之间也许就不存在价格差别了。”他表示,在价格差别很小的情况下,大多数人会选择LCD电视机机,因为LCD电视机的分辨率更高。

LCD控制器 篇4

带有集成LCD控制器的AVR XMEGA系列整合了在LCD显示器上运行图块所需的全部特性,降低了整体设计复杂性。这些器件还包括一个能够实现LCD信号内部重路由 (re-routing) 的创新SWAP模式,帮助设计人员简化PCB设计和减低复杂性。这些AVR XMEGA微控制器采用爱特梅尔picoPower技术,能够实现超低功耗,新器件所用的电流相比现有的megaAVR LCD控制器减少2/3以上,在睡眠模式下运行LCD显示仅需3µA电流。64和100引脚AVR XMEGA微控制器上集成的LCD控制器分别支持多达4×40和4×25图块,对于不需要全部LCD图块的设计,最多16个图块引脚可以用作通用I/O引脚。

集成有LCD控制器和USB功能的新型AVR XMEGA系列包含现有AVR XMEGA系列的所有相同特性,包括高精度12位模拟、实时性能,以及爱特梅尔专利超低功耗picoPower技术。AVR XMEGA器件经设计可用于在具有相同外设模块的器件之间实现简单直观的移植和线性地址映射。

三星通过LCD业务分拆案等 篇5

三星电子日前在韩国首尔召开了第43次股东大会,大会表决并通过了LCD业务分拆的提案。三星电子相关负责人对此表示称,此次拆分LCD显示业务的目的是为了更好地提升公司竞争力。LCD业务部将在4月1日成立一家独立子公司,暂定名为三星显示器有限公司,注册资本为7500亿韩元,将在上半年内推进与三星移动显示器公司(SMD)的合并程序。新成立的公司总裁由现任三星电子LCD业务部长(副社长)朴东健担任。

点评:目前,三星电子已经全面停产LCD面板,并全力发展OLED面板业务。据了解,三星电子2012年新品将全部为LED产品。三星电子将LCD面板业务分拆独立出来后,会否更有利于业务的开展,我们拭目以待。

LG在华展出大尺寸OLED电视

3月20日,LG电子将55英寸3D OLED电视带入中国市场展示,成为国内平板市场首个引入大尺寸OLED电视的品牌。LG还透露,今年下半年该产品将在中国市场推广上市。

点评:目前LED方兴未艾,OLED又席卷而来,技术的发展突飞猛进。三星、LG等韩资企业纷纷加大OLED的研发,也给国内企业带来了一定的压力。据称,TCL也将要在下半年建立OLED面板实验线。未来在电视领域谁将引领潮流,是以韩资为首的屏幕和智能技术发展,还是以国产彩电为首的“云电视”内容扩充?

百视通推出“电视银行”

在获得中国银行40亿元授信后,百视通新媒体股份有限公司(百视通,600637)近日和中国银行宣布共同启动中国首个智能电视“家居银行”。

据百视通介绍,家居银行又称“电视银行”、“家庭银行”,是电子银行渠道的重要组成部分。使用该项功能的个人用户手持遥控器就可通过操作家里的电视机和电视机顶盒,进行类似网银和手机银行的交易。

“家居银行”不仅具有电视支付功能,还能提供自助注册、账户查询、本地服务(代缴费)、柜台签约、转账汇款、信用卡、基金、国债、个人设定等功能,与网络银行、手机银行共同成为新媒体时代的银行业务三大支撑。

点评:不用排队,不用上网,打开电视就能转账汇款缴水电费。“电视银行”确实很方便。尤其是对于大部分不熟悉电脑的中老年客户,电视银行要比网银方便得多。虽然由于数字电视自身线路和系统较为封闭,具有较强的安全性,但企业和银行在启动初期仍要重点关注安全问题,以防大范围安全事件发生。

海信展出智能物联网冰箱

可聊天看电视

3月20日,由中国家用电器协会主办的中国家电博览会在上海开幕。海信在此次展会上展出了新品智能物联网冰箱。据工作人员介绍,海信智能冰箱依托强大的海信物联云服务,能实时监测冰箱内的食物并为用户提供科学的饮食建议,通过物联云服务平台与手机远程连接,让用户随时了解冰箱内食物的信息。同时,海信智能物联网冰箱还可以实现聊天和看电视等多媒体互动。

LCD控制器 篇6

1 架构选择及硬件实现

1.1 架构分析选择

根据嵌入式处理器的工作原理, 有三种架构形式可以实现LCD控制器的设计[3], 如图1所示。架构2和架构3采用了与CPU共用显示存储器的方式, 在显示过程中, CPU和LCD控制器需要间断地释放对共用存储器的访问, 以完成刷新数据和更新数据在存储器中的交互。这两种架构中, CUP对存储器的访问会直接影响到显示数据的更新及LCD显示器的显示效果。尽管架构2增加了本地存储器, 提高了系统性能, 但是同样受到架构模式的制约。而架构1避免了共用显示存储器的模式, 将LCD控制器作为总线上的一个外设, CPU将需要更新显示的数据通过存储器接口发送给总线上的LCD控制器, LCD控制器控制LCD显示。本文系统即采用了架构1形式的架构。

1.2 系统硬件设计

基于架构1设计了图2所示的硬件结构。整个系统以FPGA对更新数据和刷新数据的仲裁处理为核心, 配合SDRAM的操作及显示数据的传输标准转换 (LVDS转换) 完成其大屏幕显示器驱动的任务, 实现显示功能。

XC6SLX45是XILINX公司新推出的一款FPGA, 属于SPARTAN6系列, 具有很高的性价比优势。利用FPGA配置灵活的特点, 在硬件方面FPGA主要实现四个接口:CPU接口、SDRAM接口、FPGA配置接口和LCD接口。其中, SDRAM接口[4]和LCD接口都是常用的标准接口, 这里不再赘述。FPGA的配置接口用于对FPGA的被动串行配置, 采用FPGA的这种配置方式可以很好地提高该控制器的可移植性, 又可以节省FPGA的配置芯片的成本。LCD控制器通过CPU接口连接到AMBA总线上[5], 并以存储器的方式被嵌入式处理器访问。

HY57V283220是一款32 bit数据总线宽度的SDRAM, 采用32 bit的数据总线能够很好地提高本控制器的数据处理速度和其驱动能力。DS90C38是一款通用的大屏幕LCD显示器LVDS接口转换芯片, 可以适用于大部分差分接口的LCD显示器, 设计中, 可以很好地将FPGA产生的RGB格式的数据转换成高速串行差分数据格式。

1.3 硬件接口电路设计

控制器与CPU的接口是ARM的存储器访问接口, 接口采用异步通信方式并由26 bit地址线、32 bit数据总线接入读写片选线组成, 其接入接口硬件图如图3所示。

显示屏接口采用标准的大屏幕LVDS接口, 通过LVDS转换芯片与外围LCD屏幕连接, 将FPGA产生的RGB等信号转换成高速差分串行输出信号。LCD显示器接口如图4所示。

2 FPGA软件设计

FPGA软件模块及功能示意图如图5所示, 其软件设计分为4个模块: (1) DCM时钟管理模块。主要功能是利用FPGA内部DCM产生其他模块所需的时钟; (2) 接收模块。主要用来接收CPU发送来的需要更新的显示数据, 作适当处理后进行数据缓存; (3) 显存管理模块。主要用来解决CPU写入数据和LCD显示器读出数据之间的冲突; (4) LCD驱动模块。主要用于产生LCD显示器需要的时序。

2.1 接收模块

接收模块的程序流程图如图6 (a) 所示。系统上电复位后, 接收模块进入等待接收数据状态, 当有来自CPU的数据请求时, 接收模块通过CPU接口通信协议接收数据, 数据包括显示数据和存储地址。接收数据后, 首先对地址进行译码。地址分为显示数据地址和寄存器地址:当地址为寄存器地址时, 接收数据对寄存器进行操作, 用来对LCD屏的属性进行配置和控制, 以增强LCD控制器对不同LCD屏的兼容性;当地址为数据地址时, 将CPU传递的线性地址译码为SDRAM写入操作的bank地址、行地址和列地址。地址译码后, 将地址和数据进行封包组帧, 并且加入自动预充电标志位, 以提高SDRAM的写入数据速度。判断预充电标志位是否有效的依据是:数据地址是SDRAM的“行末”地址、后一个数据不与当前数据的行地址相同, 然后将封号帧的数据依次传入接收缓存 (FIFO) 中, 等待显存管理模块的读取。数据的帧格式如表1所示。

2.2 显存管理模块

显存管理模块分为:SDRAM接口模块和SDRAM控制模块。SDRAM接口模块根据SDRAM的操作时序建立SDRAM访问接口;SDRAM控制模块仲裁CPU的显示更新数据和LCD的显示刷新数据在SDRAM中的读写操作, 其操作机制如图6 (b) 所示。系统上电复位后进入监控状态, 然后进入SDRAM读操作状态, 将LCD显示缓存中存入一定量的显示数据后, 管理模块进行N次的SDRAM刷新操作, 刷新结束后显存管理模块将一直监视接收缓存, 直到显示缓存中数据不足时则循环进行读操作。

SDRAM是动态存储器, 合理的操作机制可以提高SDRAM的读写速度。本控制器在SDRAM的操作上引入了如下机制以提高系统的性能:

(1) 读写操作分开独立连续进行:将SDRAM中数据连续读出固定个数的数据, 然后进入连续写入状态。

(2) 连续两个数据不同行时, 采用自动预充电读写操作, 同行则不进行预充电操作。

(3) 在空闲状态进行手动刷新SDRAM,

本系统的读操作是周期进行的, 在每次读操作后进行固定周期数的刷新操作, 既保证了刷新次数, 又节省了刷新时间。

(4) 采用32 bit的SDRAM, 以增加位宽换取速度。

2.3 LCD驱动模块

该模块根据LCD标准的时序要求产生行时钟、场时钟和数据使能信号, 并且配合像素时钟将LCD显示缓存中的32 bit数据以16 bit读出。

3 实验验证

本设计采用的SDRAM的工作时钟为133 MHz, 为了减少异步时钟造成的问题, FPGA的系统工作时钟也采用了相同频率的工作时钟, 并且成功地应用于某船载导航雷达的现实界面的实现上。在雷达图像显示中, ARM与LCD控制器之间的数据量为30 MB/s, 屏幕采用了日立公司TMS150XG1-10TB型号的TFT-LCD显示器, LCD屏幕的分辨率为1 024×768, 像素时钟为65 MHz。实验结果证明, LCD控制器的工作性能良好, 屏幕显示清晰稳定。利用chipscope抽取主要的数据如图7所示。抽取结果显示, 接收到的ARM数据经过组帧最后正确地产生了用于显示的数据。

本文介绍了新型高分辨率LCD控制器, 解决了大屏幕显示所需的高刷新率和高更新率问题。同时, 多个内部寄存器使其支持各种型号的LCD显示器, 并已成功地驱动了15英寸的LCD显示器。

摘要:为了解决ARM等嵌入式处理器驱动大屏幕LCD困难的问题, 提出了一种基于FPGA的大屏幕LCD控制器解决方案。该控制器通过搭建合理的架构设计及巧妙的总线仲裁机制, 解决了大屏幕显示所需的高刷新率和高更新率问题。同时, 多个内部寄存器使其支持各种型号的LCD显示器, 并成功地驱动了15英寸的LCD显示器。

关键词:大屏幕LCD,FPGA,LCD控制器

参考文献

[1]ELECTRONICS S.S3C2440A 32-bit CMOS microcontro-ller user′s manual (R) .2004.

[2]王顺利, 戴明, 孙丽娜.基于FPGA的一种新型8通道数据采集系统[J].电子技术应用, 2009, 35 (11) .

[3]MOTION S.SM502 mobile multimedia companion chipDatabook (R) .2006.

[4]李卫, 王杉, 魏急波.SDRAM控制器的FPGA设计与实现[J].电子工程师, 2004, 30 (10) .

LCD控制器 篇7

在现代电子设备中,触摸屏的应用使电子设备更智能化、人性化。在手机、导航仪、电子仪器、咨询终端等设备中,作为信息交流的媒介,触摸屏具有界面编程灵活、反应速度快、功耗低、体积小的特点。

RA8806是一个文字与绘图模式相结合的点矩阵液晶显示控制器,最大能驱动640×240或320×480分辨率的LCD液晶触摸屏,可以显示文字、图片、符号等复杂信息,支持文字、图片混合显示和区域卷动,支持90°,180°,270°的文字旋转显示,支持4/8 b的8080和6800系列两种MPU接口,提供4×8或8×8的键盘扫描接口,提供使用者自行创建字型及符号的功能,可以进行文字对齐、设置粗体字、设置行间距和LCD对比度、背光调节。

STM32系列嵌入式芯片是常用的微控制器芯片,本文使用的是内核为32位CotrexTM-M3的STM32F103,并行LCD接口兼容8080/6800模式,通过配置FSMC来连接LCD。在实验中还把UCGUI软件移植入STM32F103中,UCGUI是一种嵌入式系统中常用的图形支持软件,适用于各种尺寸的LCD,将UCGUI软件移植入微控制器可以方便的绘制图形、文字、控件等人机交互界面元素。

1 RA8806数据总线接口方式

常见的RA8806是用I/O或总线方式与单片机或嵌入式系统连接,本文采用的是320×240分辨率的RA8806控制器触摸屏以总线方式与STM32F103连接,连接的电路如图1所示。

在设计中将BUSY引脚9空置,复位引脚11接高电平,可以通过STM32F130复位完成整个电路复位。RA8806和STM32F103都是采用了Intel 8080模式连接,数据总线宽度为8 b。

2 软件设计

2.1 软件初始化

系统软件初始化包括STM32F103初始化、UCGUI初始化和RA8806控制器初始化,在STM32F103初始化中FSMC的配置为:

在RA8806控制器中,触摸屏有自动模式和手动模式两种,自动模式和手动模式中,都可以通过触碰产生中断读取触碰坐标值,手动模式还可以通过轮询触碰事件读取坐标,在实验中采用的是手动模式中的轮询方式,这种方式的流程图如图2所示。在初始化RA8806时,寄存器TPCR1,TPCR2,INTR须按流程图设置,DWWR=AWRR=0x27,DWHR=AWBR=0xEF,其他寄存器默认设置。

2.2 触摸屏坐标

触摸屏的坐标分为逻辑坐标和物理坐标,逻辑坐标为用户触摸是手指所点击屏幕的坐标,物理坐标为触摸屏显示的实际坐标,逻辑坐标和物理坐标比较接近,如果相差太多就需要校准。

RA8806是通过一个10位的A/D转换器连接4线电阻式触摸屏,用户触摸后产生的逻辑坐标存于TPXR,TPYR和TPZR 3个寄存器中,TPXR中存放了x轴坐标的高8位,TPYR中存放了y轴坐标的高8位,TPZR的bit[1:0]是x轴的低二位,bit[3:2]是y轴的低二位。

为了便于处理逻辑坐标,将TPXR和TPYR寄存器的数据左移2位进行计算,再分别取出TPZR寄存器中的低二位进行或运算,得出x,y轴的坐标。这个逻辑坐标不能直接显示,需要进行校准处理后根据触摸屏的大小转换为物理坐标显示,设计程序如下:

如果用户触摸的范围超出了设定的显示窗口,就需要对逻辑坐标(x,y)进行判断,如果超出了范围,逻辑坐标无效,就将鼠标设置到对应的边缘,反之逻辑坐标有效。

2.3 触摸屏校准

由于触摸屏自身的性能不好,或使用一段时间后会发现逻辑坐标和物理坐标的偏差越来越大,坐标不准造成误操作影响用户使用,这样就要通过校准程序来减少误差。电阻式触摸屏的电压成线性均匀分布,假设触摸屏上一点的逻辑坐标为(xA,yA),对应的物理坐标为(xDA,yDA),由电阻式触摸屏的线性特性可知,任意一点B的逻辑坐标可以用下面公式表示:

由式(1)可推出系数:

只需在触摸屏上取3个物理坐标已知的点A,B,C,这3个点应该分布均匀不靠近边缘以免不准确,通过读取TPXR,TPYR,TPZR寄存器读出逻辑坐标求出Kx,Ky,求出Kx,Ky后由式(1)校准逻辑坐标与物理坐标,图3(a)为校准的界面,图3(b)为校准后计算的Kx,Ky,由图可以看出两个系数都接近于1,说明触摸屏的坐标误差比较小。

3 结语

RA8806控制器在软件设计上方便、灵活,能满足开发人员对中等尺寸触摸屏控制器的要求,丰富的功能和较高的性价比使RA8806控制器的LCD在市场上有很大的优势,基于RA8806的触摸屏与STM32嵌入式系统通过数据总线方式相结合,可以构造出理想的人机交互界面,具有广阔的应用领域。

摘要:RA8806点矩阵液晶显示控制器内置字库、触摸屏和键盘接口,具有功能强、移植性强、性价比高的特点,比其他同类产品更受设计人员欢迎。采用RA8806控制器的LCD可以充分满足STM32嵌入式系统的各种液晶显示需求,为了实现这一目的,给出了在STM32上驱动该控制器的方法、触摸屏校准的思路及部分程序,并在实验中得以实现。

关键词:RA8806,LCD,STM32,液晶触摸屏

参考文献

[1]瑞佑科技有限公司.RA8806双图层文字/图形LCD控制器[M].深圳:瑞佑科技有限公司,2008.

[2]STMicroelectronics.STM32F103xC datasheet[M].[S.l.]:STMicroelectronics,2009.

[3]STMicroelectronics.RM0008 reference manual[M].[S.l.]:STMicroelectronics,2010.

[4]刘升.基于RA8806控制器的LCD和51单片机接口技术[J].电子设计工程,2009(8):125-127.

[5]范蔚.触摸屏校正算法及编程设计[J].山东纺织经济,2007(2):86-88.

[6]刘子文.电阻技术触摸屏的校正算法及应用编程设计[J].办公设备技术与信息,2006(2):32-34.

[7]张琛,耿标,杨敏杰.基于At mega16的TFT-LCD触摸屏系统设计[J].中国科技博览,2010(26):40.

[8]邓明华,罗培东,钟佳明.基于Cortex-M3的TFT触摸屏在环境监控系统中的应用[J].现代电子技术,2010,33(13):198-200.

[9]纪松波,侯婷.智能液晶触摸显示终端与单片机接口的设计[J].现代电子技术,2010,33(12):16-18.

LCD控制器 篇8

目前在各种基于Nios处理器或者MicroBlaze处理器的嵌入式系统中,经常采用LCD液晶屏作为终端显示器件,这主要因为LCD液晶屏所具有工作电压低、功耗小、寿命长、易集成等特性。在各种类型的液晶屏中,抗抖动、色彩饱和度高、还原能力强、对比度突出的TFT类型的液晶屏,更是获得了广泛的应用。在本文中,提出了一种在基于Nios处理器的嵌入式系统中,能够正常使用TFT-LCD类型液晶屏的控制组件的设计方法,并在某GPS数据采集系统中得到了实际应用。该组件具有AVALON总线的主从接口,能够与Nios处理器进行信息交互,并依照规定的时序关系输出正确的控制信号及像素颜色数据,进而点亮液晶屏以显示文本与图形。

该控制组件具备两个特点:一是组件内各模块采用有限状态机实现,以提高实时性能;二是采用参数化的设计方法,能够适用各种型号的液晶屏,提高设计的通用型。

2. 总体设计

整个LCD显示系统的结构如图1所示:

上图中LCD显示驱动电路是一个被动系统,仅有驱动电路是不能实现LCD显示的,还需要有相应的控制器提供两组信号,一是扫描时序信号,二是像素点的颜色分量值。处理器通过对LCD控制器的操作实现了对LCD显示扫描时序的设置和显示数据的写入,从而完成对LCD的显示操作。

LCD控制组件的设计思路是:在Nios嵌入式系统的SDRAM中开辟一段存储空间,用来存放屏幕图像的数据,这段存取空间即为帧缓存。通过恰当的硬件逻辑设计建立帧缓存与液晶屏幕像素之间一一对应的关系,并配合时序信号,将帧缓存中的数据实时地输送给LCD屏,最后完成显示刷新。本设计中为LCD控制器设计了一对基于Avalon总线规范的主从端口接口,通过该接口来实现LCD控制器与外部Avalon总线模块的连接,继而实现Nios处理器对于LCD控制器的控制。其中,从端口接口完成LCD控制器中相关寄存器的存取;主端口接口完成从帧缓存中读取数据的逻辑控制。帧缓存读控制逻辑根据帧缓存地址生成逻辑所产生的地址发起Avalon总线的读操作,从帧缓存中将该数据读取到输出缓冲(FIFO存储器)。与此同时,时序信号生成模块产生与像素数据同步的相关显示点的横,纵坐标,像素输出控制逻辑再根据坐标值LCD驱动电路输出相应的RGB颜色数据。此外LCD时序信号生成模块也输出必要的场同步信号与行同步信号。LCD控制器的总体结构图如下:

3. 控制组件的具体实现

3.1 LCD时序信号生成模块

为了实现LCD屏幕的正常显示,LCD驱动电路需要接收四组信号,分别是:IDATA(像素数据信号)、IDCLK(时钟信号)、IHS(行同步信号)、IVS(场同步信号)。这四组信号必须按照驱动芯片手册提供的规范时序进行驱动,其中行同步和场同步信号用来标记屏幕上一行和一帧图像的开始和结束的时间,屏幕扫描线从上到下,从左到右依次扫描。在这个过程中,只需要将帧缓存中的图像像素数据依次输出,就可以实现屏幕图像的显示。上述行同步信号与场同步信号由LCD时序信号生成模块产生,同时该模块生成坐标数据提供给输出控制模块。

在一个标准行周期内对时序信号的要求如下:一个低电平脉冲由IHS信号线输入到LCD,标志着一行数据结束和下一行数据显示的开始,其时间间隔计为THP。数据信号Data signal从第THE个IDCLK周期开始显示有效,直到第(THE+THD)个IDCLK周期,在THD这段时间间隔内,一行中每个像素点的RGB数据按照像素时钟IDCLK的频率依次输出,驱动像素数据信号线,这样就完成了一行图象的显示。最后,在进行下一行图象显示之前,还需要重新关闭像素数据信号,时间间隔被定义为THF个时钟周期。对于场周期内信号的时序要求与行周期类似。

本设计中使用的液晶屏为TD036THEA1,屏内驱动电路相关时序参数如下表:

为了提高本设计的通用性,在对时序信号生成模块进行代码设计的时候,采取参数化的设计方法。这样在使用其他型号TFT类型液晶屏的时候,只需在SOPC Builder开发环境中调用该控制组件时,修改以上相应参数就可以完成对控制器的复用,不需要修改源代码,因而降低了控制器组件的移植难度。

为了提高控制信号的实时性,采用有限状态机生成相应的时序信号。对于行同步生成状态机Hstate,有HCYC、HBACK、HDISPLAY、HFRONT四个状态,分别对应TH、THE、THD、THF这四段时间间隔。行状态机的状态转移图分别如图3所示。

该状态机总共包含两个输出信号,其中IHS表示行同步时序信号,DATA为数据输出有效信号,表示当前状态为LCD显示状态。

状态机的工作流程如下:复位后,状态机进入行同步状态HCYC。该状态下,行同步信号IHS处于无效状态。当HCount计数值到达1时,状态机进入HBACK状态,从进入该状态一直到下一行数据开始显示期间,IHS信号一直保持有效。当HCount计数值到达151时,状态机进入行数据显示有效HDISPLAY状态,表示此时可以将像素数据显示到LCD屏幕上。当HCount计数到1111时,状态机进入HFRONT状态,该状态表示一行图象已经显示完成。当HCount计数满1170时,状态机返回到HCYC状态,同时HCount复位为1,开始下一行数据的显示。至于场状态机的状态转移关系与行状态机类似。

3.2 帧缓存读控制逻辑电路

为了实现Nios II处理器对帧缓存读操作的控制,依照Avalon总线规范,在帧缓存读模块外部设计了一个Avalon主端口接口。在Avalon总线规范中,Avalon主端口可以主动发起数据传输,并且这个传输过程不需要处理器干预。由于图像是一帧一帧输出到LCD屏上的,而且显示刷新的过程是无限循环的,所以必须反复执行帧缓存读操作,因此,选择以流水线读传输模式对主端口进行设计

分析帧缓存读模块的工作流程可以发现:该模块只存在两个状态:空闲状态和读状态。具体过程为:当读模块处于显示有效的时序周期时,就进入帧缓存读状态,当显示有效的时序周期结束,模块随即进入空闲状态。同样使用一个master_state状态机来表示模块状态。该状态机有idle和read两个状态。在read状态,每次需要传输的数据个数在LENGTH_COUNT寄存器中设置,主端口根据读信号m_read,地址信号m_address发起流水线读传输,每读一个帧缓存地址单元并获取其相应数据后,地址自增1,LENGTH_COUNT寄存器值自减1。当LENGTH_COUNT的值减为0时,表示一次帧缓存读传输已经结束。状态机进入idle状态。此时将帧缓存中的图像数据保存到输出缓冲FIFO中。该FIFO具体是通过使用Quartus II软件自带的MegaWizard管理器生成一个的异步FIFO来实现,容量为1K。

4. 设计结果验证

将该LCD控制组件在基于Nios处理器的GPS数据接收系统中进行应用。在Nios IDE环境中采用C语言对串口传输过来的卫星数据进行解码、提取、转换,并调用图形接口函数来绘制点、直线、矩形、字符等。最终设计的硬件电路下载到FPGA开发板的配置芯片中,运行软件后,在LCD液晶屏中显示出正确的图像。具体LCD显示效果如图4所示:

5. 结束语

实践证明,该LCD控制器具备Avalon总线接口,易于与其他标准IP核构成以Nios为核心的片上系统,同时提高了处理器的运行效率。采用IP核参数化设计,提高了控制组件的通用性和复用性。

摘要:本文介绍了一种在基于Nios处理器的嵌入式系统中,使用TFT-LCD类型的液晶屏的控制组件来实现的设计方法。该组件以Altera的NiosII处理器为核心,通过发起Avalon主端口的操作,完成对帧缓存的读取操作。本控制器具有Avalon总线的主从接口,能够与Nios处理器进行信息交互,并依照规定的时序关系输出正确的控制信号及像素颜色数据,进而点亮液晶屏以显示文本与图形。控制组件以参数化概念设计,集成在GPS数据接收系统中。实践表明,本控制器运行稳定,并且易于移植到其他SOPC系统中。

关键词:Avalon,LCD控制器,参数化

参考文献

[1]盛磊,徐科军,陈智渊.数字在屏幕显示控制核的设计与FPGA实现[J].上海交通大学学报,2006,40(5):762—766.

[2]潘松,黄继业.SOPC技术实用教程[M].北京:清华大学出版社,2005.

LCD控制器 篇9

SoPC Builder是Altera公司实现SoPC概念的一款工具软件[3], 使得用户可以通过自定义逻辑的方法方便地开发基于NiosⅡ 的SoPC 系统。SoPC Builder 集成在EDA 工具QuartusⅡ中, 提供NiosⅡ处理器及一些常用外设接口, 用于组建一个在模块级和组件级定义的系统, 能够自动生成片上总线和总线仲裁器等所需的逻辑[3]。基于SoPC的设计在很大程度上依赖于利用集成电路IP (intellectual property) 。集成电路IP是指经过预先设计、预先验证、符合产业界普遍认同的设计规范和设计标准, 具有相对独立, 并可以重复利用的电路模块或子系统[4]。本文中提出一种基于SoPC的参数化TFT-LCD控制器IP核设计, 用硬件描述语言实现控制器的逻辑功能, 这种参数化的组件设计具有很强的通用性和兼容性。

1通用TFT-LCD控制器总体设计

在嵌入式系统中, LCD控制器是非常重要的片上外围设备, 处理器通过LCD控制器来完成对显示驱动器的控制, 最终实现LCD屏的点亮操作[5]。由于LCD显示驱动器只是一个被动系统, 还需要有控制电路提供驱动系统所必须的扫描时序信号和显示数据。处理器通过对LCD控制器的操作, 实现对LCD显示扫描时序的设置和显示数据的写入, 从而完成对LCD的显示操作[6], 其原理图如图1所示。

在SoPC Builder中以自定义组件的形式对LCD控制器进行设计, 该控制器组件具有Avalon总线接口, 可以很容易地将其与其他标准IP核一起构建以NiosⅡCPU为核心的片上系统。NiosⅡ处理器通过Avalon从端口对LCD控制器的寄存器组进行配置, 针对设计中帧缓存读操作的特点, 选择以Avalon主端口接口的形式对帧缓存中的显示数据进行主动读取[7], 并实现IP核参数化设计, 提高控制器对于其他不同规格TFT液晶屏的复用性。该控制器还包含硬件光标功能, 为添加外部鼠标设备接口提供了方便。LCD控制器的具体设计思路是在SDRAM中开辟一段存储空间, 用来存放屏幕图像数据, 称之为帧缓存。通过设计适当的硬件逻辑来建立帧缓存与屏幕图像像素之间一一对应的关系, 并配合LCD显示所需的行、场时序信号, 将帧缓存中的数据不断地输给LCD, 用以完成最终的显示刷新。LCD控制器总体结构如图2所示。

LCD控制器的具体工作流程为刷新周期开始时, 主端口模块根据帧缓存地址生成逻辑所产生的地址完成主端口的读操作, 实现帧缓存中数据的读取, 并将该数据输送给输出缓冲模块。同时, 时序信号生成模块依据LCD屏的时序规范生成行、场同步信号, 以及与像素数据同步的相关显示点的横、纵坐标。

设计的LCD控制器包含硬件光标显示模块, 所以在进行最后屏幕显示时, 像素输出控制逻辑有两部分的数据来源, 一部分为从帧缓存中读取的屏幕数据;另一部分为硬件光标的显示数据。最后, 像素输出控制逻辑根据从端口模块中各个系统寄存器内的信息向LCD屏幕发送将要显示的图像数据。

2硬件光标模块设计

硬件光标模块为LCD控制器设计带鼠标光标的显示功能, 为系统开发中添加鼠标接口提供了方便。光标显示的实现方式有硬件方式和软件方式, 软件方式比较复杂, 且占用大量的CPU处理时间;硬件方式用硬件逻辑资源来实现, 处理速度快, 不占用CPU时间。硬件方式的设计思路是为光标的图像数据设置单独的存储空间 (RAM) 用以保存, 当LCD屏幕需要对光标进行显示时, 由硬件逻辑负责在输出光标和背景图像之间做出选择。而软件部分只需简单地修改光标坐标寄存器的值, 就可以完成光标在屏幕上的显示操作。采用这种方法, 大大提高了系统性能。硬件光标RAM模块是通过MegWizard Plug-In Manager编辑器生成的, 最终生成的存储光标图像数据的双口RAM如图3所示。

3LCD控制器组件设计

将LCD控制器按总体设计要求编写相应的硬件描述语言代码, 其端口定义的程序主要有系统时钟、LCD时钟、Avalon从端口、Avalon主端口和LCD输出的定义[8]。程序的主要内容有各种寄存器和连线的定义, 行场参数的设定, 行扫描状态机、场扫描状态机、Avalon主端口读控制逻辑状态机、帧缓存地址生成逻辑、LCD有效显示数据信号生成逻辑、硬件光标模块和两个例化模块的调用等。最终生成的元件符号如图4所示。

组件编辑器是SoPC Builder的一个重要组成部分, 可以使用该工具将用户定制逻辑封装成组件, 并在SoPC Builder环境中像其他标准组件一样使用[9]。在SoPC Builder环境下, 启动组件编辑器, 按照组件编辑图形用户界面的提示, 做相应的操作。主要有导入硬件HDL代码LCD_INTERFACE, 为硬件逻辑代码中的信号指定Avalon信号类型、Avalon接口设计和设置添加组件的界面向导等, 最后就生成了用户自定义的组件LCD_INTERFACE。它以IP核的形式存放在SoPC Builder的组件库中供设计使用, 把液晶显示控制器设计成Avalon总线的slave设备[10]。 由于该控制器是参数化的, 可以很容易地修改TFT_LCD液晶的时序参数, 具有很强的通用性。通过Terasic公司的TRDB_LTM彩色液晶显示开发板进行设计验证。TRDB_LTM采用Toppoly公司的TFT_LCD模块TD043MTEA1, 4.3英寸屏。时序参数中, 横向时序参数为:时钟频率 (NCLK) 33.2 MHz;横向有效数据为800点;H_LINE=1 056;Hsync_Blank = 216;Hsync_Front_Porch = 40。纵向时序参数为:纵向有效数据为480点;V_LINE=525;Vsync_Blank = 35;Vsync_Front_Porch = 10。

按上面的时序参数在SoPC系统中配置TFT_LCD液晶IP核后, 设置屏幕背景为白屏, 并在上面用黑线画一个矩形, 显示结果如图5所示。如果将时序参数中的数据做如下调整, 将横向有效显示数据设置为480点, 纵向有效显示数据设置为360点, 做同上的验证, 显示结果如图6所示。由这两个图可见, 该控制器具有很好的通用性。

4结语

介绍一种通用TFT-LCD控制器的设计, 用HDL语言对各模块进行描述, 包括内部控制器、Avalon总线主从接口、液晶时序数据输出接口等的逻辑描述。最后在SoPC Builder工具里以自定义组件的形式添加到SoPC系统中, 以IP核的形式存放在SoPC的组件库中, 供以后的系统开发使用。由于采用了参数化的组件设计思想, 使得该IP核具有很强的通用性, 大大简化了底层编程的复杂度。经实验证明, 该设计方法具有较强的实用性和通用性。同时, 该设计也为开发其他基于SoPC 的Controller IP Core提供了一个范例。

摘要:在嵌入式系统中, IP核的使用已成为SoPC系统的重要组成部分, 针对现有LCD控制器型号之间兼容性差的缺陷, 提出了一种基于SoPCBuilder工具的参数化TFT-LCD控制器IP核的设计方法。用硬件描述语言进行通用TFT-LCD控制器的功能描述, 将设计的控制器以IP核的形式添加到SoPCBuilder中去, 供SoPC系统设计使用。进行设计验证, 结果表明, 该方法具有很好的通用性, 也提高了系统的兼容性。

关键词:SoPC,TFT-LCD,IP核,嵌入式系统

参考文献

[1]侯长宏, 袁慧梅.基于SoPC的NiosⅡ与液晶模块接口及程序设计[J].液晶与显示, 2008, 23 (3) :307-311.

[2]刘永智, 杨开愚.液晶显示技术[M].成都:电子科技大学出版社, 2000.

[3]谭会生, 张昌凡.EDA技术及应用[M].西安:西安电子科技大学出版社, 2001.

[4]周立功.SoPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社, 2006.

[5]侯建军, 郭勇.SoPC技术基础教程[M].北京:清华大学出版社, 2008.

[6]王刚, 肖铁军, 时建雷.基于SoPC的LCD控制器IP核的设计与实现[J].计算机工程与设计, 2009, 30 (6) :1404-1406.

[7]LI Zhuo, CHEN Zhiliang.Verification and autotest for LCD driver/controller[J].IEEE, 2003 (2) :1175-1178.

[8]吴登峰, 张志敏, 安虹.片上LCD控制器的设计与实现[J].计算机工程与应用, 2004 (32) :109-111.

[9]王刚, 张潋.基于FPGA的SoPC嵌入式系统设计与典型实例[M].北京:电子工业出版社, 2009.

LCD控制器 篇10

本报讯 康宁公司在中国设立的第二家LCD玻璃生产厂2月28日开业。该工厂拥有8.5代玻璃的熔融、成型和后段加工能力,将向包括京东方在内的TFT-LCD客户供应产品。

网康科技率先获得国家级三大权威认证

本报讯 网康科技的互联网控制网关ICG产品近期通过公安部信息安全产品检测中心的测试,一次获得三大权威产品资质证书,成为上网行为管理领域唯一达到应用层40G吞吐的厂商。

博通推出系列新型企业级交换产品

本报讯 博通近日宣布推出新型系统级交换芯片(SoC)解决方案,博通BCM56340系列简化了移动用户的流量配置和监控,同时提供了与数据中心及云计算存储资源的安全、无缝高速连接。

特艺推出软件Qeo

本报讯 全球媒体和娱乐行业技术公司特艺日前宣布推出一款能够使各生态系统的终端及应用程序实现无缝互操作性的软件框架—Qeo,能提供更简易和丰富的智能家庭、娱乐和个人媒体服务。

搜狗网址导航进军移动互联网

本报讯 搜狗网址导航近日推出了“搜狗市场”,致力于为Android用户提供简单、易用的移动应用下载服务,并通过“点评家”和“互动社区”,让用户通过真实有效的应用点评来选择APP。

海尔Mini Pad登陆京东

本报讯 海尔电脑推出的首款超轻薄全金属Mini Pad——海尔小钢炮系列PAD712日前正式登陆京东商城。该款7英寸平板电脑采用全金属机身设计、1.5GHz高性能处理器以及7英寸IPS高清屏幕,机身厚度仅为8.9mm,重量只有305克。

Macworld|iWorld 2013 中国创新力量首秀

LCD控制器 篇11

在嵌入式系统开发设计中, 大部分需要人机交互功能, 显示参数信息等。比较常用的显示输出有LED发光二极管, 数码管和液晶屏显示。相对而言, LED和数码管的显示功能较为简单, 不能满足更多的需求, LCD液晶屏显示应用广泛, 能够显示更多复杂而方便控制的可视化信息。大部分的LCD控制显示都是静态的, 只具有显示功能而无交互实时显示, 其控制器大多为单片机, 汇编或C语言, 这些程序都是顺序执行, 无法实现系统中多任务的同时执行[1]。利用FPGA及Verilog硬件描述语言能够描述层次设计, 实现多任务同时执行, 封装后用于不同模块, 修改方便, 实用性强。因此本文通过FPGA, 研究基于ST7565P的128x64 的LCD控制系统设计, 使用Verilog硬件描述语言实现文字显示、控制及实时温度数据显示。

一、系统整体设计

常用的LCD128 x 64 分为有字库和无字库的两种, 本设计采用的液晶显示模块是含有ST7565P驱动芯片的液晶, 此芯片不含字库。因此, 在显示文字时, 利用其绘图功能进行显示。本文系统总体框图如图1 所示。本文系统工作前, 首先需要通过FPGA对LCD进行初始化, 初始化包括清屏, 扫描显示, 电源设置等。初始化之后, 通过SPI总线对显示控制模块进行发送控制, SPI模块控制着初始化及绘图控制模块, 是不可或缺的一部分。绘图显示模块用来控制LCD在显示时的换行, 定位等操作。与此同时, 在LCD进行显示过程中, 可以通过按键加减设置, 温度传感器等控制端口对LCD128 x64 中显示的内容进行切换及温度传感器测温及显示。

二、显示控制系统硬件设计

本设计采用ALTERA公司的CYCLONE系列的FPGA芯片EP4CE15F17C8, 利用黑金开发板上基于ST7565P的128x64 液晶屏为主的器件来进行显示控制系统的设计。为了实现在LCD上显示实时温度值, 利用DS18B20 温度采集传感器作为温度采集模块, 其为数字温度传感器, 采用的是3引脚封装的方式, VGG、GND、DQ, 利用DQ进行I/O数据的传输。另外, 通过按键的设置, 经过按键消抖, 边沿检测来控制显示的内容, 从而实现LCD显示系统的交互功能, 进行温度值及其他模式的选择设置。

三、显示控制系统设计

本系统主要功能包括通过LCD128 x 84 驱动程序显示中文字符, 实时数据显示。可以随意选择在LCD上显示的位置, 并且在显示过程中可以通过按键进行数字的切换控制。在此设计中, 需要的控制模块包括SPI控制模块, 对LCD其他模块进行数据发送控制。LCD控制模块, 其中包含了初始化及绘图模块, 及其组合模块。另外FPGA还通过端口控制对温度传感器与按键进行控制。

3.1 SPI控制。本文选用的LCD128 x 64 为串行输入模式的液晶, 同时驱动芯片ST7565P支持SPI这种通信协议, SPI总线是同步串行接口, 占用的接线口少, 节约芯片管脚, 通信效率高, 可同时接收、发送串行数据, 通信模式也较为简单, 因此选用的是SPI传输模式。

在SPI传输中, 有主/ 从机模式, 主机即为FPGA, 从机是LCD液晶, SPI完成的操作是根据时钟信号, 主机向从机写数据的控制过程。对于主机而言, 有CS使能权, 产生串行时钟。对于从机而言, CS为被使能, 接收串行时钟。FPGA向LCD写入数据的时序图如图2 所示。

通过图3 数据时序图可以看出, SI端、SCL端和CS端都由主机输出, 从机输入, 从FPGA传输数据时, CS为低电平, SCL在下降沿, 当LCD读取数据时CS为低电平, 并且发生在SCL信号的上升沿。可以看出SPI的规则是通过时钟信号的上升、下降沿来控制字节的传输, 即在时钟上升沿锁存数据, 下降沿发送数据。通过定时计数器, 按照时序步骤进行一个比特一个比特的传输, 重复八次, 即完成一个字节的传输。此控制系统中LCD显示需要的初始化、绘图功能都需要SPI模块来进行数据的传输。

3.2 LCD液晶显示控制。 本文采用黑金开发板上的LCD12864, 其中的驱动芯片是ST7565P, 为点阵液晶驱动芯片, 不含字库, 因此利用点阵绘图的方式进行显示。其中液晶扫描与CGRAM的分布有关, CGRAM文件中采用了8pages x 8bit x 128words的分配, 由八页组成, 一页包括十六个字节。LCD液晶屏显示的内容事先通过取模软件对内容取模, 再将转换后的数据文件存储为.mif的格式, 存储在ROM中。FPGA只需要通过显示控制对ROM进行读取操作, 内容就会通过显示控制命令写入液晶屏, 得以显示[5]。

LCD12864 采用的显示扫描有不同的扫描次序, 列填充有“从左向右”, “从右向左”, 页扫描有“从上至下”, “从下至上”。本系统采用的扫描次序是“从左向右, 从上至下”的扫描方式。每当列地址填充到127, 一页扫描完毕的时候, 列地址复位为零, 页地址加1, 表示开始扫描新的一页, 直到第八页结束。在LCD12864 初始化结束后, 进行绘图控制, 绘图模块将存储在ROM中的填充值通过SPI发送到LCD上, 对应此LCD采用的扫描方式, 利用地址转换表达式x + (y<<7) 准确获得rom中相应位置的数据。

和其他LCD一样, 此12864 有一套自己的指令集, 用户可以用这些指令集对液晶屏进行初始化, 电源配置, 屏幕亮度等控制。此LCD的初始化包括发送显示配置命令, 扫描次序命令, 内部电源配置命令, 采用顺序语句执行方式完成初始化过程, 并进行相应的寄存器复位。在LCD液晶屏的某些位置显示实时数据时, 设置所需位置的页地址, 列地址, 并实时刷新, 即可显示实时的数据。

3.3 液晶交互功能控制。为了实现实时数据显示及液晶屏的交互功能, 采用了单总线数字温度传感器DS18B20 进行实时温度测温, 并通过按键设置想要的温度值与按键按下时的模式, 显示在液晶屏上。

DS18B20 使得控制系统变得简单, 可靠便捷, 通过一条I/O线与FPGA进行数据的传输, FPGA对其的控制操作也需要进过初始化、温度转换、读写数据。其操作也是按照严格的时序进行的。FPGA控制主要实现对DS18B20 的调用, 建立相应端口。

获取到相应的温度值之后, 按照LCD上的显示安排, 确定好显示的具体行、列地址, 利用绘图控制模块的功能将数据写入并显示在LCD液晶屏上。

另外, 通过按键控制、改变LCD液晶屏上显示的内容, 需要通过延迟过滤不稳定状态, 对按键去抖, 并通过边沿检测来确定对电平的高低变化, 进行判断。由此通过key键进行交互功能。

四、显示控制系统的设计验证

通过黑金开发板FPGA芯片DB4CE15 及上面自带的LCD128 x 64 进行此控制系统的硬件平台验证, 设计通过Quartus II 11.0 开发设计工具进行工程设计编译, 并下载到开发板上进行效果测试。设计的效果如图3 所示, 其中第一行显示标题, 第二行显示通过按键设置的温度值, 第三行显示实际温度值, 第四行显示通过按键改变的数字。由此达到预期效果, 实现了LCD控制器系统的动态, 多功能的效果。

五、结论

通过Verilog硬件描述语言设计LCD控制系统, 系统体积小, 便于修改, 也为后续的开发设计研究奠定基础。由于此LCD128 x 64 是基于ST7565P驱动芯片的, 不支持字库, 使其显示文字字符不像有标准库的LCD那么简单, 需要通过绘图将字符转换为图片形式进行显示, 另外对于实时数字的显示, 当扫描通过确定的位置时输入由传感器传入的数据, 并通过刷新显示实时数据值, 当需要通过按键控制、改变字符显示内容时, 利用按键去抖, 延时, 边沿检测等来控制按键的准确性。同时也对基于ST7565P的点阵液晶屏的显示控制方法进行了研究, 并根据此液晶屏的特点对SPI同步串行模式展开研究分析, 通过以上研究, 最终完成对LCD128 x64 的显示控制系统的设计, 此系统实现了文字显示, 数据的实时显示, 交互功能, 具有实用性。

摘要:本文通过SPI技术, 设计了基于FPGA的LCD动态显示控制系统。核心控件选用Altera公司的FPGA芯片进行设计, LCD选用型号为128×64液晶显示。软件采用Verilog进行编写, 实现了按键、LCD交互控制, 动态实时显示的功能。

关键词:FPGA,LCD,SPI,控制系统,Verilog

参考文献

[1]马子龙, 莫家业.基于FPGA的液晶显示驱动IP核的设计[J].南宁职业技术学院学报, 2010, 3 (11) :20-22.

[2]周鹏, 李圆圆.基于FPGA的LCD液晶动态显示驱动程序的设计[J].电子质量, 2014 (11) :34-42.

[3]郑争兵.基于FPGA的图形点阵液晶显示系统设计与实现[J].液晶与显示, 2013, 3 (28) :403-407.

[4]吕建波.基于单总线数字温度传感器DS18B20的测温系统设计[J].现代电子技术, 2012, 19 (35) :117-119.

[5]杨海波, 张玮, 刘晓静, 孟燕军, 孙艳英, 易小林.一种基于数字温度传感器DS18B20的多功能电子温度计设计[J].中国医学物理学杂志, 2013, 1 (30) :3890-3893.

上一篇:工作目的下一篇:数字化矿山技术