李俊,张团善,武玉婷
(西安工程大学 电子信息学院,西安 710048)
目前,ARM在嵌入式系统中的应用越来越广泛。本文选用的是NXP公司32位 LPC2478。LPC2478丰富的资源适合在工业领域中应用,该芯片的成本和功耗都比较低,是内部集成LCD控制器的ARM7芯片。在工业领域中,相比较数字屏而言,模拟屏具有驱动能力、抗干扰能力强和价格低等优点。根据实际项目应用,本设计中采用了群创公司的7 in模拟屏。
HX8817是一个带有 ITUR BT.656和BT.601输入接口的TFT-LCD时序控制器。该控制器内置色彩空间转换电路、DAC和运算放大器,并且具有gamma校正和极性翻转功能,将数字数据转化为行极性变换方式的、模拟放大的RGB信号,同时产生模拟屏所需的水平和垂直时序。该芯片结构框图如图1所示。
图1 HX8817结构框图
LCD控制器直接为多种彩色和单色LCD显示屏的接口提供了所有必需的控制信号。显示分辨率最高支持1 024×768。LCD控制器用于将像素编码数据转换成所需格式,并产生相应的时序以驱动各种单屏或双屏的单色和彩色LCD显示屏。该 LCD控制还具有两个独立的DMA FIFO缓存器,当液晶屏为单屏,可将这两个缓存器合并为32双字节容量来使用。采用了DMA FIFO之后,SDRAM中的Frame Buffer中的图像数据以DMA方式传输到LCD控制器数据缓存器FIFO,不占用系统总线时间。LCD控制器包含两个单独的AHB接口。一个是AHB从接口,主要被CPU用于访问LCD控制器内的控制寄存器和数据寄存器;另外一个是AHB主接口,被LCD控制器用来DMA访问存在于内存或系统其他地方的显示数据。LCD控制器的接口和控制信号引脚如表1所列。
表1 LCD控制器的引脚
具体的硬件电路框图如图2所示。
图2 系统硬件框图
硬件电路可以分为以下部分:
①电源驱动电路设计。该电路主要功能是把5 V电源变成模拟屏所需的正负电压(VGL、VGH)。本设计采用MC34063芯片,该芯片外围电路简单,能很方便地设计出模拟屏所需的正负电压。
②ARM的LCD控制器与HX8817芯片接口设计。通过设定HX8817的IF1~IF3引脚,使得HX8817的输入为18位数字信号RGB(R5~R0,G5~G0,B5~B0),具体设定IF1~IF3均为高电平。分辨率通过RES1~RES3引脚设定,本文设定分辨率为 480×234。但是由于LPC2478的LCD控制器数据总线为24位,因此在数据总线连接的时候必须注意对应的连接顺序。为了保证颜色的失真最低,只能丢弃LCD 24位 RGB中的每种颜色数据的低两位。其他引脚对应方式如下:LCD控制器的LCDDCLK接HX8817的CLK1,LCDFP接VS,LCDLP接HS,LCDENA接DE。
③HX8817与模拟屏接口。此处所要注意的是HX8817的POL信号要经过运放电路,然后叠加直流信号,产生VCOM信号送给模拟屏,具体参考电路如图3所示。其他引脚只要一一对应连接即可。通过调节VCOM的DC端,可以改变LCD的色彩;调节 AC端,可以改变LCD的对比度。
图3 VCOM信号产生电路图
本文的重点是讨论如何实现用LCD控制器的信号去驱动模拟屏,具体在显示上的一些GUI函数,不是本文讨论的内容,在此就不展开。HX8817所需的时序信号是通过对LCD控制器的配置产生的,笔者根据实际项目应用,并比较HX8817输入时序信号和LCD控制器输出时序信号,对LPC2478的LCD控制器里的主要寄存器进行初始化设置。初始化函数Lcd_Init()主要代码如下:
本文给出了一种LCD控制器信号直接驱动模拟屏的设计方案,主要就硬件的实现展开论述。经过实验证明,该设计方案具有硬件接口电路设计简单、成本较低等特点,对具有数字屏的项目转换成模拟屏具有很实际的借鉴意义,可广泛应用于工业自动化产品中。
[1]HX8817 TCOM with YUV Input and DAC version 04,2007-10.
[2] 周立功,等,深入浅出 ARM7——LPC2400(下册)[M].北京:北京航空航天大学出版社,2006.
[3]周立功,等,ARM嵌入式系统应用技术笔记——基于LPC2400(下册)[OL].[2010-03].http://zlgmcu.com.