欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    LCD驱动程序开发指南.docx

    • 资源ID:4885941       资源大小:576.48KB        全文页数:22页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    LCD驱动程序开发指南.docx

    LCD驱动开发指引1、LCD驱动概述LCD驱动程序调试,是整个手机研发过程中非常重要的一个环节,在每个新的机 型开发的初期,最先都要调试LCD驱动程序,我们俗称“点屏”。“点屏”的调试包括 两个部分,一是点亮LCD的背光,二是调试LCD显示。背光驱动调试的方法与技 巧,会在背光文档中叙述,暂不在这篇文档里讨论,本文将重点讨论LCD的电路原 理、驱动程序分析、LCD驱动调试经验总结和具体驱动调试案例的分析。2、LCD原理及电路分析相关概念:LCD :全称是Liquid Crystal Display液晶显示屏LCM :全称是Liquid Crystal Module指的是液晶显术模块,包括液晶屏及液晶的 外围FPC电路和结构件。LCD的FPC电路:指LCM模块中的液晶外围电路,这部分电路由LCD模组厂 家按照我们对LCD的接口要求进行设计的。在LCD驱动调试中,看FPC电路图也 是很重要的一个环节。LCD外围电路:我们通常也简称为LCD电路,指的是baseband端的LCD接口电 路部分,这部分电路由我们自行设计。LCD模组厂家:指信利,天马,京东方这些厂家。他们将LCD制作成可以供我们 生产使用的LCM模组。2.1LCD芯片介绍目前手机使用的大部分显示器件都是LCD (Liguid Crystal Display器件,目前康 佳使用的LCM模块由信利、京东方、天马、凌达这几家厂商供货。但是LCM生 产厂家对我们调试驱动并没有任何关系,我们需要了解的是LCM所使用的IC型号。因为,我们实际上是对LCD的IC进行编程,间接控制LCD面板,常用的IC有HD66773、S6B33B2/ S6B33B6、HD66777 等。LCD驱动的编程,除了要关注IC的型号,还要关注LCD FPC的电路设计,LCD 外围电路设计,基带芯片的LCD接口单元,背光IC的控制等几个方面,当然也包括 软件的上层程序。下面我们就先了解一下LCD IC的内部结构,这是编程要关注的 最主要方面。LCD内部一般包含指令寄存器,和GRAM空间。指令寄存器用来设置LCD IC 工作的电压、电流、时序、扫描方式等等的一系列内容,而GRAM空间被用来实 现LCD刷屏。LCD IC中有几个比较重要和通用的寄存器,必须要去熟练使用。下面以 HD66773为例来说明如何使用:1、电源控制寄存器。这些寄存器用来控制Driver IC的上电步骤,一般来说对 寄存器设置的顺序和延迟时间有较严格的要求。HD66773上的电源控制寄存器为 0x03、0x04、0x0c、0x0d、0x0e这几个寄存器。电源设置一般芯片资料中会有 说明,同时厂家也会给推荐值,一般来说只需要按照推荐值来设置就可以了。比如我 们在M610上曾碰到过产线2%机器RTC开机白屏的问题,就是与电源设置有关。 后面还会再提到这个问题。2、模式控制寄存器。显示控制寄存器,需要我们自己去配置的地方较多。厂家 给的初始化代码,一般只是一个通用的代码,只能保证你点亮屏,效果要自己调。可调 的效果包括LCD的扫描方向、RGB反色、刷屏速度、SLEEP&ACTIVE mode。 HD66773的相关寄 存器有0x05、0x07。3、刷屏相关的寄存器。包括对当前刷屏位置的定位寄存器,GRAM地址定位 寄存器。在HD66773中包括,0x16、0x17、0x21、0x22寄存器等。4、其他寄存器。包括Y设置等,这些和各个厂家的硬件相关性比较强,按照厂 家推荐值来设置就可以了。不同的IC寄存器虽然编号或读写方式会不同,但是大概的功能都是相似的,只要 仔细阅读相关的datasheet,都不难理解。2.2LCM内部电路介绍LCM是液晶显示模块的简称,它包括LCD,外围FPC电路和结构件。LCM模 块中对于我们最关键的是FPC电路。对于LCD芯片来说,它可以支持很多种模式的外部接口、工作电压、数据传输 方式,比如总线接口有6800,8080,可以用16位总线,也可以用18位总线。LCD的外 部接口一般是由我们定义,然后交给模组厂家制作。下面我们来分析一个LCD FPC的实例:下面的这个FPC图,是D363上所使用的京东方LCD,LCD的芯片为:SSD1289, 我们这里使用18位并行总线,262K色模式。图1 LCD FPC电路图作为驱动调试,我们并不需要精确的知道每个引脚的含义和作用,但是对于一些 关键的引脚,则必须要理解,关键引脚主要指能影响LCD工作的引脚,关键引脚包 括数据线引脚、模式控制引脚、reset引脚、RD&WR引脚以及CS引脚。下面我 们就逐一分析这些引脚。在图1中,以上提到的关键引脚大部分为从SSD1289芯片 直连出来,需要注意的是模式控制引脚,仅引出1根。所以在BB电路设计的时候就 必须注意,我们只能使用部分的LCD数据传输模式。-223ESSRPP345-333(升压电璀模式控T 制引脚升压电路一一膨埔搓门例1:如何配置LCD芯片的工作方式图2芯片控制引脚说明从图2,我们可以看到LCD的数据传输模式共有4个控制引脚,其中PS30 为:XX01,其中PS2接出,供BB控制,PS3则由FPC上的跳线电阻控制,PS3为1还 是0,由电阻的接法决定。REGVDD PS2 PSI 乎 PS0 32" P53 - 33 5HUT35 /RESETX 28X 29X 302. 8VPSOPS(3:0)二111111101011101O.CZT001_10003- wires MCU Serial interface4- wires MCU Sena interface16 bits 68 paraHel mterface加伯68 parH 而团竺三_ 6 bits 8弓pa础可备画云a bits BU para lie I interface PSII nm itInterface图3芯片工作模式说明D363使用的是18位并行总线工作模式,故PS3应置为0, PS2应置为1。X VvX-f-X X"- Hb+B2 I日阳我 DDFX 20 REGVDD x 29 X 30PSOPSIPS2PS3DCBB 口匿引脚InputinterfaceSelectionPS2FS1PS(3.0)二1111 3-wiires MCU Serial interfaceI HO 4-wires MCU Serial interface10T1 : 1G bits 68 parallel interfacem bits 80 parallel int四成、1000 '8 bits HU parallel interface 、0111 :18 bits 68 parallel interface 可能的工地口 . 9 b眠朋pwallel into理巳,珥 作模式<Cgimi8bits 8Q pm 垂亟亟IOIIJO U bits H(J parallel interface0011 : 6 bits RGB interface'i0010 】6 如博 RGR irtlwfHE + Ww昭 SPI 8可* Rgb iiuerfggg 十 Data or corrtmand图4 LCD的BB端电路图由前面的分析,得知BB的GPO2引脚控制LCD的工作模式,这里显然只要将 GPO2设置为1,即可使LCD工作在正常的模式了。程序中在LCD初始化函数之前,需要设置GPO2 口,程序的代码为:GPO_ModeSetup(2,0;GPO_WriteIO(1,2;这里需要说明的是,因为GPO本来就是专门输出的接口,所以不需要再像 GPIO 一样,执行一个初始化IO方向的函数了。2.3 LCM外围电路介绍看懂并分析电路原理图对LCD调试也是非常重要的,在开始LCD驱动调试之 前先检查原理图是非常有必要的。下面我们来解析一下LCD的外围电路。LCD的外围电路相对比较简单,引脚 数量少,且由于KONKA对于LCD基本上采用相同的接口标准,所以不同的IC差异 性较小。下面我们以一个具体的LCD电路图,来进行具体分析。下图标出了每个引 脚的含义。需要注意的是,这只是LCD外围电路图,并不是包括LCD FPC里定义 的每个引脚的电路图。因为不同的厂家在做屏的时候会根据客户的需求,把一些没 有用的引脚封装在FPC内部。我们需要看LCD FPC电路图,才能了解到这些引脚 的状态。o 1 - fc S 4 Q 1 :|.9 4 &&_ &一CE-'_tsl-1 T 4 1! 口dddddp口DECB康 EC&图5 LCD外围电路分析根据上图,基本上LCD的引脚作用都可以了解。在驱动程序的调试过程中,不仅 要依靠软件Trace来调试,很多时候需要直接去量测电路的信号来IC器件的工作状 态。象数据线、片选线、WRB、RDB等信号,都很关键。在软件不能调通的情况 下,就需要去量测各个引脚的信号,来确定LCD芯片是否接收到正确的信号,比如说 CS , RS信号等,有可能没有送来。上图是一个8位LCD并口的,LCD接线实例,数据线和NFI总线,D0D7位直 连。那么是不是,当I使用8位连线方式时,都是连D0D7位呢?答案显然是否定 的。实际上,NFI总线的NLD0-NLD7可以连D8D15位,也可以连D1D8位,具体 怎么连要综合LCD IC的芯片资料,LCD FPC的内部电路图,LCD外围电路3个方 面,才可以确定如何连线。下面我们从一个具体的实例上来看具体的分析过程。例2:如何确定LCD数据线的接线方式例2,我们依然以京东方屏SSD1289芯片为讲解,和例1不同的是。例1应用在 D363产品上,使用18bit 8080总线模式。例2应用在T218电视手机项目上,使用 16bit 8080总线的模式,T218上使用的LCM模块同D363的FPC原理图完全相 同。不同的地方是图2中的R1、R2两个跳线电阻,T218的接法和D363恰好相 反。第一步,阅读芯片资料,了解芯片进行数据读写的工作模式。这里可以参见例1 中的图3,我们对PS3-PS0应该的设置是:1001, 16bit 8080 parallel interfaceo这里就 不再讨论了,具体可参见例1。第二步,需要知道具体的指令和数据在16bit 8080 parallel interface模式下如何 进行工作,查看芯片资料SSD1289_0.32.pdf的第54页,我们可以看到。1)悬空不接Mapping for Writing an InstructioninterfaceCycleD171601514D13D12D11D10D9D8D7D6D5D418 bits旧的B14IB 13IB12旧11IB1QIS 7旧61B53B4旧316 bits旧15旧14旧13旧12IB11旧10旧9188 < IB 7旧6旧54旧39 bitsrlndB15旧1418-13旧12旧11旧6旧SS4旧38 bite旧15 '旧131B12旧1B7旧氐旧5S4Hardware pinsRemark :Don't care bitsNot connected pins图5 LCD指令读写方式ire pinsrl;interfactColor mode | CycfeD17D16D15D14D13D12D11DIOsiD8D7D6D5D4D3D2D118 bits262kR5R4R3R2R1ROG5G4G2G1GOB5B4B3B2B116 bits262k俨2*R6R4尺3R2R1ROXXG5G4G3G2G1GOXXJ5B4B3B281BOKXIR5R4R3R2RlROXKG5GAG3G2g7go'XX|B5B403B2B1BC"XX1stRSR4R3R2R1RDKXG5G4G3G2G1GOXXXXXXXXXXB5B483B2B180XX仲2ndR5R443R2Rl |ROXG5763G2G1GOXX55"§4*Bi"nri'*. ,XXXx.XXX65kR4R3R2R1ROGSG4G3fG2G1GOB3B2B1BOt9 bits262kj nd-R5R3即RlROG5G42G1GOB5B4B3B28 bit262kV2 nd如R3R2R1ROK/ZxG5伊LMG1/TX05囱B3以B1FWXX65k俨R4R3fl2RlRa顽G4G3G2G1居B2BlBORemark :Don't care bitsNot canhected pins忌空引脚图6 LCD数据读写方式从图5和图6,我们可以看到,LCD数据在16bit 8080 parallel interface模式下 D0和D9位,是应该悬空的引脚,所以对应D1D8接NLD0NLD7, D10-D17接 NLD8NLD15,我们来看实际的LCD电路图,也是如此。InterfaceColor model CycleD17 16D15D14D13012D11D1D| D9 | D8D7D6D5D4D3D2iBblls262 kR5R4R3R2R1ROG5G4G2G1GOBSB4B3B216 bte262k1"R5R4R3R2R1ROXXG5G4G3G2G1GOX弱B4B3B2B1BOXKR5柯4R3R2RlROXGEG3G2IG1GOXXB5&4B3B2BlBOXR5R4R3R2|牝1ROXXG5G4G3G2G1GOXXXXXXXXXG5B4B3B2B1BOX俨2ndR5R4R3R2;R1ROXXG5G4G3G2G1GOXB5&4B3B2ei80XXXXXXXXXR4R3R2R1 IROG5G4G:$:H.'G1GOB4B2Bl9 bits2泌俨RER4R3Fi2RlROG5容G1GOB5B3| B28 bits俨3R&.R4R3R2RlROG5G3G2GOAB5bKB3B2B1时X65kR4R3甲R1Rp,G5G4G2G1B4应B2B1pinsRemark :Don't care bitsNot connected pins悬空引脚图7 LCD外围电路图2.4基带接口电路介绍基带接口电路指基带芯片控制LCD的电路单元。MTK的LCD控制单元支持 46 layer,每个layer可以进行任意叠加或进行透明翻转等设置,并且每个layer都有 特定的地址空间。图8是MTK6217芯片框图,图中可以看到EMI和NFI总线上都 可外接LCD器件(注:MTK6226以后的芯片,EMI总线上不支持外挂LCD。NFI 和EMI总线的宽度为16bits。m ic aWK: 1VOICE 1_ 二LI:低4AND FI3SH ConlrollerSRAM LCD MEtadyCapracB8.HrVOICE LAUDIO LMCL?DS=*IntefacaeCaprac&&MMir:EiTupiControierCaproces-MrExterralMsmoryIrlffaceBrkigteInterrupt Car'ircirerbr-Chip图9 LCD接口电路从图9中可以看出LCD模块共有4个layer,实际上我们的GDI程序,可以操作4个layer ,但当最终进行LCD刷新的时候,会对layer进行合并成一层,然后将 bitmap 数据 DMA到总线上。对应在电路原理图上的电路连线如图10所示,图中的电路图PLLQUTLPADQ-M4DS.UQ-5 岩喜_| 01柘比_ *田_|图10 LCD接口控制引脚ON/8 酉 dl 皿善。一 mlsE1 山口E_l m尝1PLLOUTPLLOUT图11 LCD接口数据引脚在图10中,我们可以看到LCD接口所使用的控制引脚为LWRB、LPA0、 LRDB、LRSTB、LPCE0 这几个引脚。LPCE0:为NFI总线的片选引脚,NFI总线上可能不仅Main_LCD还有其他外接 设备(如sub_LCD,所以使用片选信号来区分当前操作的是哪一个设备。注:NAND flash使用不同的信号控制引脚。LRSTB :总线设备的reset引脚,低有效。nand flash使用单独的reset引脚,NFI 的另外两个片选,共同使用LRSTB引脚。LRDB:Read信号引脚,低有效。一般最好有上拉电阻。LWRB :写信号引脚,低有效。一般最好有上拉电阻。LPA0:RS信号引脚,当LPA0为0,则写数据。当LPA0为1,则写命令。例3:LCD接口电路分析前面所分析的都是单纯LCD的情况,这里我们看一个LCD没有直接挂在 BaseBand总 线上,而是接在backend IC上的情况。在图12上我们可以看到,Backend IC芯片接在MTK芯片的EMI总线上。这 时,在普通菜单操作状态下,backend IC上的控制引脚以及数据引脚的信号,直接 bypass到LCD上,而当系统进入Camera程序后,完全由backend IC来实现对LCD的控制。在Bypass时backend IC内部会形成通路,对CS、RS、WRB、RDB等 信号以及数据线都实现直接接通。这时仅需要将读写数据的总线地址偏移到LCD 上即可(这里LCD和backend IC有不同的地址空间。图12 LCD baseband的电路图3、LCD驱动程序分析LCD驱动程序在不同的平台上,其基本的程序结构和框架是相同的,但不同的平 台的LCD接口以及操作方法并不相同,其他的差异还包括不同的操作系统,如Linux 和nuclues的驱动程序的写法也不完全相同。编写LCD驱动之前也需要先阅读平 台的芯片资料并了解一些操作系统,软件架构的基本信息。3.1标准LCD驱动程序介绍:LCD驱动程序本身,并不复杂,不管是MTK平台还是TI平台,LCD驱动都是很 相似的,驱动中最主要函数都是以下4个:兼:据任地址数据无锋片无1、LCD initial:初始化函数,初始化LCD芯片,仅在开机的时候被调用一次。2、LCD entersleep:设置LCD休眠状态,在每次背光熄灭时,调用该函数设置 LCD进入休眠,以减少耗电。3、LCD Exitsleep:设置LCD退出休眠状态,在每次背光点亮时,调用该函数是 LCD进入standby状态。需要注意的是,有的LCD芯片进入休眠后,LCD的当前画面不能 维持,所以需要先进行LCD刷新,再点亮背光。4、LCD Blockwrite:向 LCD刷新一幅图像,所有LCD的刷新动作都通过该函数 实现。Blockwrite函数支持任意坐标开始,指定size刷新动作。例4:LCD代码实例下面的LCD代码实例以D363机型上所使用的SSD1289京东方LCD为例来进 行讲解,在驱动代码理解中可以参考SSD1289的datasheet和MTK6228的芯片资料 帮助了解程序。电路部分可以参见上以章的分析。1、LCD初始化代码:void LCD_lniLSSD1289(kai_uint32 bkgsund, void *buf addr)kal_uintl6 background = (kal_uintl6)bkground;LC D_s et_re g (QxOOOO jOxOOOlgdelayms(200);I/power on sequenceLC D_s et_re g (0x0003 #%8日甘4iLC D_s et_re g (0x000c jOxOOOO)contfo) 2LC D_s et_re g (OxOOOd jOxOOOQ7LC D_s et_re g (OxOOOe j0x2c00 )>/.*o w&f cont/v/ 4LC D_s et_re g (0:001 e jQjcOOal 展jpw心 w眺泌E delaymsCSOO);LC D _s et_re g (0x0001 jOsSbSf); /Driv 冲切世.3呼混. delayms(100);LC D _s et_re g (0x0002 jOx(36OO), /fed dsi住f 目己 control delayms(100)jLCD _s et_re g (Ci?<0003 jQ626e 罕, contra/ Idelayms(200jj/PV_7+ 060712LCD_set_reg(0x001 OjOxOOOO);7Zs!epdelayms(20);LCD_set_reg(0x0011 jOxeOSOj/Z/entfp- mods/.O1W OOOO CVJJ OOOO delaym s&D);.*二 执行上电流程L二 执行上电流程执行上电流宿第一段代码中实现了晶振起振,上电控制,输出格式控制等。D D D D D D D c c c c c c C eeeeeee 5SSSSSS设置显示区域及设置显示区域及LCD_s et_re g (0x0005 Jj::0000): /compare留诂心 1 LCD_set_reg(0x0006,0x0000)/compare register 2 LC D_s et_re g (0x001 BjOKeflporchLCD_s et_re g (0x0017,0x0003); / pg心/ 芦°必 LCD_s et_re g( 0x0007 JJxOSSS); /dfsp/ay delayms(20);LCD_s et_re g (OxOOOb lOxULiOO); /frame cycie controi delayms(20);ILC D_s et_re g (OxOOLtf JjdjULiO); /gate scs.q stating position LC Ds et_re g (0x0041 .0x0000); / ret/crf.' setoff con&o/ i LCD_we:t_re:Qi:DxQiJ42 由1戒1口1。口;|;/咯击匚3 setoff con&o! 2 LCD_set_reg(0x0048,0x0000)j/first wdow LC D_s et_re g (0x0049,0x01 '3f ) wfndo iv 心6LCD_s et_re g (0z004a jjxOOOO); /second* s扫?tLCD_s et_re g (0x004b 0x0000); /secondw 曲d/R.am 06.07.11LCD_s et_re g (0::004e .,0x0000); /LCDZs et_re g i:0x004f JMiQW) ; / LCD_s et_re g (0::0044 .OxeTLiO); / LC D_s et_re g (0x0045 30x0000); / LCD_s et_re g (0x0046.0x013f ;i; / LCD_s et_re g (0x0023.0x0000); / LCD_s et_re g (0x0024 .LixOLiOO); / delayms(300);设置.显示区域及设置显示区域及 同孝信号同步信号LC D_s et_re g (OxOUUS JJ 0000) jLC D_s et_re g (0x0006,0x0000) jLCD_s et_re g (OxOUl bjOxefl c:); /honzorai porchLC D_s et_re g (0x0017,0x0003); / * 由3 JLCD_set_reg(0x0007,0x0233);/display controi delayms(20);LC D_s et_re g (OxOUUb JJaOOOO ); /frs-me cyde c-?. delayms(20);re g iJIixOULf.iLixOOOO.); /gste scan s拾点! reg (0x0041 .,0x0000 j; /reg (0::0042 jUxOLiLiLi); / yreg(0::0048jLijOOOLij;/first window wts reg(0x0049 JZixOI 3f);/first window enc reg(0::004ajLixOOOLi);/second 时nd。hf re g (LI:LIU4b iLIxLILILILI) ; /second w计& *2、LCD进入sleep模式和退出sleep模式的代码3、LCD刷屏函数void LCD_BlorkWr航_SSD1289馅I 顷罹 startwg! -Jintl6 starty.d1 Linrlo cndK.t-a. uinhlS endyj >,31 uinti6 I starty. I endy J stnrtx. 1 endx;ksLuintlSLCD_k; 一-kal_-jint32 addledatAjWhile (LCD_I S_Fl UN PI IN G) jI/horijorttal RAM Jitdireis positionS E T. LCD_C.M D_P A RAM E TE R(0 j LCDCMD (Ct<t»44 &OkF Fffi) < <2)| (0xM44&0xFF)< <1);S FT_I. CD_CM D_P A RAM FIT R (: ,LCD_DATA r(l_er dx < <8 JStOxF FOO(l_5ta ntx 版 c FF) c v 1);/vertil RAM adcresp portionSET_LC D_CM D_P A RAM E TE R(2 jLCD_CM Ci j (Ox GO 45 &Dx F FOD') i: <2)| (mOO 的&D*FF) :心); SElLCiJ_tMD_PARAMETELCD_DATAX(1_歌占rtyMtFFOO)<<2)| (l_5tartvfeOwF); SETLCD_C*1EJ PARA*1ETERi*,LCC_CMDJ(0lxK4&O>.FF0Q)<<2)| (0xM4BMxFF)«1);SETCD CMD PARAMFTEP.LCDOATAXO . wEySi旧i (i _endY&0xFFl<<1);S ET_U D_CM D_P A RAM ETE R(E L CD_CM D / (DxQOE &JD> FFOO )<<2)| ( (DkOOJ EBO- FF)<-1 j);5 ET_LC D_CND_P A HAM ETE RfTjLCD-pATA/。血 rtx &OJ(FFOO(l_StartxMHFF)-c <1)JSE r_LLD_CMD_PAhAMtTEk0JLC.D_CMDJ(&xM4iL &OxFFOJ)y <2)| (0wM4F&d7 FF)< <1);' SET LCD C*1D PARAMETERtjLCDDATAXO ,rtftrtv&0xFFOO)<<2)| (I ,start¥edt<FF)<<);write dataW ET_LC O_CM D_P A UAH FT F 用(1 口 ,LC 匚 _C MD/(0jc0(J22&iIJx F FDO)-c <2)| (f&rflG22 FF)八T);LCD_5END_DMA_CMD(11 )E MAE LE_LC D_TR,A MSFEft_C O M PLETE_ NT;E REA6 LE_LC D_R Ol_CTR L_CM D_FIR ST;STAft-r_Ict?3ft AN 5 FE Rj设置GRAM刷 屏指令加:指令设置GRAM刷 - tnd LCD_B Io rik W r ite_S S DI 2 SS >这里举例了 MTK平台的驱动程序,但是其他平台的驱动在形式上也大致如此, 不同之处在于基带芯片接口的操作方式各有不同。3.2 LCD平台相关特性:基带接口的操作方式不同的具体表现大致有以下几点:1、总线接口及总线操 作方法不同,总线地址不同总线接口常用的为6800接口和8080接口,目前公司通常使用的都是8080接口 的LCD , 8080接口就是通常说的并行总线接口。在MTK平台,一般使用NFI总线, 总线地址为固定地址,不管是16bit还是8bit总线,只要直接对总线地址操作即可。 TI locosto平台则略有不同,虽然LCD也是和flash共用总线,但不能直接对总线地址 操作,而必须通过TI芯片中的一个FIFO来对总线进行操作。2、是否支持DMA, 如何实现DMA一般的LCD数据刷新都是有DMA支持的,使用DMA可以提高程序的运行效 率,从而提高LCD的刷新速度(这里的速度不是指单次刷新的绝对速度。MTK和 TI的DMA都是专用的DMA单元控制。3、LCD的背光如何控制虽然LCD背光并不属于LCD驱动程序,但是要验证LCD驱动程序必须要先点 亮LCD背光。LCD背光的控制基本上分为两种情况,一种是由PMC或基带芯片 的某个引脚直接控制,只需要配置基带芯片或PMIC的相关寄存器即可控制背光, 为了背光的效果更好,或驱动能力更强,也会使用专门的背光IC。关于背光IC的详 细内容,将在背光的文档中详细讨论。4、LCD的供电引脚、片选信号、读写信号、reset引脚等LCD的供电、片选等信号引脚,对LCD的控制也相当重要,这些引脚和硬件原 理图相关性。3.2 MTK平台驱动程序解析MTK平台的驱动程序的模块性较好,平台相关参数的配置全部都在lcd_sw.h文 件中,下面我们就来详细解析一下这些参数。例5:MTK驱动平台相关参数解析1、MTK总线地址配置参数:#define LCD_HD66781_CTRL_ADDR#define LCD_HD66781_DATA_ADDR/define MAIN_LCD_CMD_ADDRdefine MAIN LCD DATA ADDRLCD_PARALLELO_AO_LQW_ADDRLCD_PARALLELO_AO_HIGH_ADDR

    注意事项

    本文(LCD驱动程序开发指南.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开