最近玩全志A33,4核芯片,跑安卓4.4,调了一把LVDS屏,给你们分享下调试过程,也给本身留个底。markdown
我们这个A33的LVDS使用的是LCD的接口来复用的,具体管脚分布以下,使用的是PD18-PD27这几个引脚; 动画
我这边使用的屏是夏普的屏,型号是LQ121K1LG52,这款屏支持6/8bit 单路lvds接口。信号接口是20PIN的。管脚分布以下图设计
多说一句,这个20脚的高低电平对于LVDS输出格式有严重影响,8bit模式下,20脚若是接GND或者悬空,则选择NS模式;若是接高电平,则选择JEIDA模式;两种模式的区别以下图:调试
我这里板子上面,这个引脚接的是VCC,因此,使用的是JEIDA模式。接口
在配置A33支持LVDS这一块,全志的BSP作的至关好了,咱们只须要在一个叫作sys_config.fex的文件里面进行修改,就能够实现。这个文件在个人bsp里面是在这个目录:vendor/softwinner/tools/pack/chips/sun8iw5p1/configs/dvk3/sys_config.fex
若是使用的BSP版本或者开发板厂家不一样,这个路径是有一点变化的。不过这个路径很重要,由于开机LOGO已经开机动画,都在这个目录里面;因此,若是你玩这个,你必定要知道。那么,废话很少说,贴图,上时序分析:图片
我们这个屏的时序内容比较少,就这一点。咱们看下type里面的内容:
时钟典型值为83.5MHZ,行周期为1680,列周期为831,咱们能够算得出来,83.5 * 1000 * 1000 / (1680 * 831) 约等于60HZ。因此,下面对于A33里面的参数进行配置。ip
A33的LCD屏配置主要是2部分,一个是总配置,一个是具体配置,咱们分别介绍:开发
这部分是主要设置,说重要也不重要,你们知道下就好了,基本上不用改。下面说下重要的具体配置部分了,先看一个解释部分的贴图it
这里面最重要的几个参数,在lvds下面的,就是以下:
lcd_if, lcd_x, lcd_y, lcd_dclk_freq, lcd_hbp, lcd_ht, lcd_vbp, lcd_vt, lcd_hspw, lcd_vspw, lcd_lvds_of, lcd_lvds_colordepth, lvd_lvds_mode,主要就是这几个参数,我这边的配置以下,你们能够参考class
一些跟时序无关的参数,你们本身对照定义来看就能够了,这里就说下跟时序相关的几个参数;
lcd_ht = 1680这个就是上面时序图里面的行周期
lcd_vt = 831这个是上面时序图里面的列周期
而后lcd_hbp, lcd_hspw怎么设计呢,lcd_hbp + lcd_hspw = 1680 - 1280,而后hbp > hspw,具体的值就随便你设计了。
一样的, lcd_vbp + lcd_vspw = 831 - 800,而后vbp > vspw,具体的也是有你设计。
最下面,还有几个lcd_pwm,以及lcd_en脚,须要对应你的原理图,个人是这样的
基本上,只要你的板子没有问题,而后按照这些提到的知识点来进行配置,LVDS屏就必定搞得定。
这个项目进行到如今,才刚刚开了个头,只是把安卓环境搭建好,LVDS屏搞亮了,后面还要用模拟SPI的方式驱动TSC2046的四线电阻屏,等我调通了,就会发布出个人调试方法给你们,敬请期待。