随着电子技术的迅猛发展,液晶显示器(LCD)具有功耗低,体积小,重量轻,超薄等许多其他显示器无法比拟的优点,被广泛用于智能仪器、仪表和低功耗电子产品中。TFT-LCD屏采用有源显示方式,具有抗抖动,色彩饱和度高,还原能力强和对比度高等特点,在嵌入式系统中具有广泛的应用前景。在嵌入式系统中,LCD控制器是处理器与LCD显示驱动器之间的接口部件,对LCD屏提供时序信号和显示数据,用来控制数据在LCD屏幕上的显示,是LCD系统中重要的组成部分。现有的LCD控制器一般都由各个生产厂家自行开发,通用性差,而软件控制TFT-LCD会占用大量的处理器资源,使得系统的集成度不高。
SoPC Builder是Altera公司实现SoPC概念的一款工具软件,使得用户可以通过自定义逻辑的方法方便地开发基于NiosⅡ的SoPC系统。So-PC Builder集成在EDA工具QuartusⅡ中,提供NiosⅡ处理器及一些常用外设接口,用于组建一个在模块级和组件级定义的系统,能够自动生成片上总线和总线仲裁器等所需的逻辑。基于SoPC的设计在很大程度上依赖于利用集成电路IP(intellectual property)。集成电路IP是指经过预先设计、预先验证、符合产业界普遍认同的设计规范和设计标准,具有相对独立,并可以重复利用的电路模块或子系统。本文中提出一种基于SoPC的参数化TFT-LCD控制器IP核设计,用硬件描述语言实现控制器的逻辑功能,这种参数化的组件设计具有很强的通用性和兼容性。
1 通用册LCD控制器总体设计
在嵌入式系统中,LCD控制器是非常重要的片上外围设备,处理器通过LCD控制器来完成对显示驱动器的控制,最终实现LCD屏的点亮操作。由于LCD显示驱动器只是一个被动系统,还需要有控制电路提供驱动系统所必须的扫描时序信号和显示数据。处理器通过对LCD控制器的操作,实现对LCD显示扫描时序的设置和显示数据的写入,从而完成对LCD的显示操作,其原理图如图1所示。
在SoPC Builder中以自定义组件的形式对LCD控制器进行设计,该控制器组件具有Avalon总线接口,可以很容易地将其与其他标准IP核一起构建以。NiosⅡCPU为核心的片上系统。NiosⅡ处理器通过Avalon从端口对LCD控制器的寄存器组进行配置,针对设计中帧缓存读操作的特点,选择以Avalon主端口接口的形式对帧缓存中的显示数据进行主动读取,并实现IP核参数化设计,提高控制器对于其他不同规格TFT液晶屏的复用性。该控制器还包含硬件光标功能,为添加外部鼠标设备接口提供了方便。LCD控制器的具体设计思路是在SDRAM中开辟一段存储空间,用来存放屏幕图像数据,称之为帧缓存。通过设计适当的硬件逻辑来建立帧缓存与屏幕图像像素之间一一对应的关系,并配合LCD显示所需的行、场时序信号,将帧缓存中的数据不断地输给LCD,用以完成最终的显示刷新。LCD控制器总体结构如图2所示。
作者:马宏锋 党建武 王宏斌 来源:现代电子技术