福州瑞芯微电子有限公司密级状态:绝密()秘密()内部()公开(√)RockChip_LCD_开发文档(MID)文件状态:[]正在修改[√]正式发布当前版本:V1.7作者:Yxj、lb,hhb完成日期:2013-12-22审核:XXX完成日期:201X-XX-XX说明:该文档针对RK30XX、RK2928、RK31XX以后的FB以及LCDC驱动框架福州瑞芯微电子有限公司FuzhouRockchipsSemiconductorCo.,Ltd(版本所有,翻版必究)福州瑞芯微电子有限公司1版本历史版本号作者修改日期修改说明备注福州瑞芯微电子有限公司2目录1LCD硬件原理............................................................................................................................................32LCD驱动框架及实现................................................................................................................................82.1FB框架相关的代码.............................................................................................................................82.2LCDC相关的代码.............................................................................................................................82.3LCD屏幕配置相关代码....................................................................................................................92.4LCD电源相关的操作的配置以及板级配置..................................................................................142.5MAKEMENUCONFIG相关配置..........................................................................................................24附录:...............................................................................................................................................................281LVDS、EDP、MIPI显示接口转换芯片及其驱动..............................................................................282MIPI屏幕的使用.....................................................................................................................................302.1相关代码..........................................................................................................................................302.2内核配置..........................................................................................................................................302.3屏幕配置文件...................................................................................................................................303快速判断RGB颜色是否有颠倒.............................................................................................................344利用LUT功能改善显示效果.................................................................................................................365支持BMP格式的开机LOGO................................................................................................................376高清屏优化...............................................................................................................................................407基于RKFB驱动的应用开发..................................................................................................................417.1概述..................................................................................................................................................417.2相关系统调用:...............................................................................................................................417.3相关系统调用的流程.......................................................................................................................46福州瑞芯微电子有限公司31LCD硬件原理LCD是LiquidCrystalDisplay的简称,即液晶显示器,依据驱动方式可分为静态驱动、简单矩阵驱动以及主动矩阵驱动3种。其中,简单矩阵型又可再细分扭转向列型(TN)和超扭转式向列型(STN)两种,而主动矩阵型则以薄膜式晶体管型(TFT)为主流。表(1)列出了TN、STN和TFT显示器的区别。类别TNSTNTFT原理液晶分子,扭转90度扭转180~270度液晶分子,扭转90度特性黑白,单色,低对比黑白,彩色,低对比彩色,高对比动画显示否否是视角30°以下40°以下80°以下面板尺寸1~3英寸1~12英寸37英寸表(1)TN、STN、TFTLCD对比由表(1)可以看出,TFTLCD比TN和STNLCD的显示质量更佳,由于制造工艺的原因,他的对比度高,反应速度快,能显示丰富的色彩。因此在当前的嵌入式市场中,大量使用的就是TFTLCD。一块LCD屏显示图像不但需要LCD驱动器,还需要有相应的LCD控制器。通常LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器(LCDC)则由外部电路来实现。许多MCU内部直接集成了LCD控制器,比如RK系列的CPU,通过LCD控制器可以方便地控制STN和TFT屏。图(1)给出了TFT屏的典型时序。时序图中的VCLK、HSYNC和VSYNC分别为像素时钟信号(用于锁存图像数据的像素时钟)、行同步信号和帧同步信号,VDEN为数据有效标志信号,VD为图像的数据信号。福州瑞芯微电子有限公司4图(1)行场控制的LCD时序图上图的VSYNC是帧同步信号,每发出一个脉冲,都意味着新的一屏图像数据开始发送。HSYNC是行同步信号,每发出一个脉冲都表明新的一行图像资料开始发送。在帧同步以及行同步的头尾都必须留有回扫时间。这样的时序安排起源于CRT显示器电子枪偏转所需要的时间,但后来成为实际上的工业标准,因此TFT屏也包含了回扫时间,虽然对于TFT来说,这是不需要的。图(2)给出了LCD控制器中应该设置的TFT屏的时序参数,其中的上边界(uppermargin,verticalbackporch)和下边界(lowmargin,verticalfrontporch)即为帧切换的回扫时间,左边界(leftmargin,horizontalbackporch)和右边界(rightmargin,horizontalfrontporch)即为行切换的回扫时间,水平同步(hsync,horizontalpulsewidth)和垂直同步(vsync,verticalpulsewidth)分别是行和帧同步本身需要的时间。横向分辨率(xres,Horizontalvaliddata)和纵向分辨率(yres,verticalvaliddata),在我们的MID系统上,常用的LCD分辨率主要为800*480、1024*600、1024*768、1280*800、1920*1200、2048*1536等。福州瑞芯微电子有限公司5VsynclenUppermarginXres横向分辨率Yres纵向分辨率Lowermargin图(2)LCD中的时序参数图(3)是一个典型的LCD的timingcharacteristics:图(3)timingcharacteristics可以看到,此款LCD可以用DE和SYNC两种模式去驱动,我们常用的是SYNC模式,从软件上来说,DE模式和SYNC模式是一样的,软件上不做区分。从表中我们可以得到如下参数:RightmarginLeftmarginHsync福州瑞芯微电子有限公司6Left_margin=HBP(HorizontalBackPorch)=16;Right_margin=HFP(HorizontalFrontPorch)=210;Hsync=HPW(HorizontalPulseWidth)=30;Xres=HVD(HorizontalValid)=800;Upper_margin=VBP(VerticalBackPorch)=10;low_margin=VFP(VerticalFrontPorch)=22;Vsync=VPW(VerticalPulseWidth)=13;Yres=VVD(VerticalValid)=480;而且这些参数满足如下公式:Left_margin+right_margin+hsync+xres=horiz