LCD驱动软硬件设计

时间:2008-12-16

  OMAP5910内部具有独立的LCD控制模块,其功能如图1所示。从图中可以看出LCD控制模块的单元是控制器,负责和其他各个部分的控制以及和外设的连接。控制器连接两个外设,一个是到OMAP5910的DMA请求,一个是到外设的LCD的中断请求。这样,0MAP5910作为主设备,可以在CPU不参与的情况下实现对LCD的显示核控制。LCD作为被动设备,有少量需要返回的状态,发送中断到OMAP5910,由OMAP5910安排时间读取LCD状态。这样,使得整个LCD的显示和控制占用较少的CPU资源。

LCD控制器的功能框图

  图1 LCD控制器的功能框图

  LCD控制模块的数据通道由调色板RAM、灰度/串行器和输出FIFO这3个部分组成。这3个部分支持12或16位STN方式,由控制器控制输出数据到LCD的数据总线上。而对于16位薄膜工艺学(TFT,Thin ̄Film Technology)方式,数据直接传输到LCD的总线,提供2(16)=64K的彩色信号。

  LCD控制模块的寄存器单元用于对模块的设置,寄存器包括一个控制寄存器、3个时间寄存器和一个状态寄存器。主要用来设置LCD的宽度和高度、彩色或单色选择、被动或主动显示选择、引脚的极性选择、帧时钟的脉冲宽度、像素时钟和偏转频率以及各种状态值等。控制器可以根据寄存器的内容对各种时钟信号进行控制和复位。

  LCD控制模块和TFT-LCD之间的控制信号有PCLK(像素时钟信号)、HS(水平同步信号)、VS(垂直同步信号)以及AC(输出使能信号)等4个信号,这些信号均由LCD控制模块输出到LCD。

  LCD驱动电路和0MAP5910的迕接如图2所示。使用OMAP5910的LCD控制器接口连接LZ9FC22。LZ9FC22是Sharp公司专门配合LQ035Q7D型号LCD的驱动芯片,可以和LQ035Q7D进行无缝连接。

  LZ9FC22和OMAP5910的LCD控制器连接,由于LZ9FC22是18位控制器(RGB信号各有6位),而OMAP5910的LCD控制器的输出只有16位数据,为此必须损失两位数据,将LZ9FC22的R0和BO接地,或者将R0和R5、BO和B5连接在一起。

  LCD的像素同步时钟信号、水平同步信号、垂直同步信号和输出使能直接连接到LZ9FC22上。LZ9FC22有两个水平和垂直刷新设置信号,分别为HRVE和VRVE引脚,使用OMAP5910的两个GPIO引脚控制,通过改变GPIO引脚的状态设置LCD的刷新方式。为了保证LZ9FC22正常工作,OMAP5910提供复位信号到LZ9FC22,一旦LQ035Q7D显示不正常或者响应异常,OMAP5910通过复位引脚控制LZ9FC22恢复到初始状态。

LCD驱动电路的连接

  图2 LCD驱动电路的连接

  LZ9FC22和0MAP5910的引脚连接如表所示。

引脚连接

  表 LZ9FC22和OMAP5910的引脚连接

  LQ035Q7D面板显示需要15V的高压,而LQ035Q7D的逻辑电平需要3.3V电源。图3实现从3.3V转换到15V和3.3V的电源原理。其中3.3V到3.3V使用TI公司的TPS79333,是为了保证输出到LCD的3.3V稳定可靠,如果TPS79333的输入3.3V足够稳定,满足LQ035Q7D的要求,也可以直接将该电源连接到LCD。

  LQ035Q7D的背光电路如图4所示。使用TI公司的TPS61042驱动4个LED灯管,同时使用PWM信号控制电压的输出,以调节4个LED灯管的亮度。PWM信号的控制频率在100~50kHz之间,频率过低,会产生闪烁。如果不使用PWM信号,可以直接连接一个GPIO引脚,设置高低电平控制LED灯的开关

LCD的电源电路设计

  图3 LCD的电源电路设计

 LCD的背光电路设计

  图4 LCD的背光电路设计

  OMAP59 10对LCD驱动的软件设计包括触摸屏的驱动、LCD的驱动、背光的驱动以及LCD亮度的驱动等4个部分。其中,LCD亮度的驱动较为简单,设置OMAP59l0内部的LCD Brt寄存器就可以控制LCD的亮度,该寄存器为32位数据格式,设置OxOFFFF FFFF为亮度,OxOOOO OOOO为亮度。此外,还可以在OMAP5910内部的StLED-Gm和StLED-Red寄存器调整输出的黄色和红色像素的宽度,从而改变LCD的亮度和颜色。

  LCD背光的控制由OMAP5910的PWM信号完成,设置OMAP5910内部的PWT FRO寄存器就可以控制输出脉冲的频率,置OMAP5910内部的PWT-VCR寄存器就可以控制输出脉冲的高电平宽度,从而实现对背光的控制。

  LCD触摸屏的控制由OMAP5910的Touc廴Screen寄存器完成。该寄存器主要设置触摸屏和OMAP5910的SPI接口协议。包括触摸中断的响应、SPI双向数据的传输以及SPI时钟等信息。此外,也可以设置SPI的CS片选信号打开或关闭触摸屏,这种功能在触摸屏和键盘同时存在的系统非常有用。当OMAP5910检测到键盘中断时,可以屏蔽触摸屏的中断,从而可以避免多种输人信息的冲突。

  在Linux下驱动LCD的设计主要包括帧缓冲设各设计、主要结构体定义、内核配置和编译等几个部分。

  帧缓冲设备为图像硬件设备提供了一种抽象化处理。它代表了一些视频硬件设各,允许应用软件通过定义明确的界面来访问图像硬件设各。这样软件无需了解任何涉及硬件底层驱动的东西(如硬件寄存器)。它允许上层应用程序在图形模式下直接对显示缓冲区进行读写和I/O控制等操作。通过专门的设备节点可对该设备进行访问,如/dev/fb*。

  在LCD控制器操作中,帧缓冲器用于存放全部屏幕的所有编码像素数据。在它的位地址处是32或512字节的缓冲器,用来存放调色板数据表。32位缓冲器用于4、12或16位像素编码的16项调色板;512字节缓冲器用于装入8位像素编码的256项调色板。在12或16位像素编码时,不使用调色板,此时的帧缓冲器的起始32字节必须填入全零。
  欢迎转载,信息来源维库电子市场网(www.dzsc.com


  
上一篇:滤波器回音相消算法设计
下一篇:AC97音频口软硬件设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料