android lcd 屏 测试

   日期:2024-12-26    作者:ks5jw 移动:http://oml01z.riyuangf.com/mobile/quote/51102.html


android lcd 屏 测试

1. LCD设备驱动相关的数据结构

2. s3c2440 lcd控制器的结构

我们根据数据手册来描述一下这个集成在S3C2440内部的LCD控制器
LCD控制器由REGBANK、LCDCDMA、TIMEGEN、VIDPRCS寄存器组成;
REGBANK由17个可编程的寄存器组和一块256*16的调色板内存组成,它们用来配置LCD控制器的;
LCDCDMA是一个专用的DMA,它能自动地把在侦内存中的视频数据传送到LCD驱动器,通过使用这个DMA通道,视频数据在不需要CPU的干预的情况下显示在LCD屏上;
VIDPRCS接收来自LCDCDMA的数据,将数据转换为合适的数据格式,比如说4/8位单扫,4位双扫显示模式,然后通过数据端口VD[23:0]传送视频数据到LCD驱动器;
TIMEGEN由可编程的逻辑组成,他生成LCD驱动器需要的控制信号,比如VSYNC、HSYNC、VCLK和LEND等等,而这些控制信号又与REGBANK寄存器组中的LCDCON1/2/3/4/5的配置密切相关,通过不同的配置,TIMEGEN就能产生这些信号的不同形态,从而支持不同的LCD驱动器(即不同的STN/TFT屏)。


常见的TFT屏工作时序分析:

VSYNC:垂直同步信号
HSYNC:水平同步信号 
VCLK:像素时钟信号
VD:像素数据输出端口
VDEN:数据使能信号
LEND:行结束信号

VBPD(vertical back porch):表示在一帧图像开始时,垂直同步信号以后的无效的行数,对应驱动中的upper_margin;   
VFBD(vertical front porch):表示在一帧图像结束后,垂直同步信号以前的无效的行数,对应驱动中的lower_margin;   
VSPW(vertical sync pulse width):表示垂直同步脉冲的宽度,用行数计算,对应驱动中的vsync_len;   
HBPD(horizontal back porch):表示从水平同步信号开始到一行的有效数据开始之间的VCLK的个数,对应驱动中的left_margin;   
HFPD(horizontal front porth):表示一行的有效数据结束到下一个水平同步信号开始之间的VCLK的个数,对应驱动中的right_margin;   
HSPW(horizontal sync pulse width):表示水平同步信号的宽度,用VCLK计算,对应驱动中的hsync_len;  


3. 帧缓冲设备的注册

 首先在arch/arm/mach-xx/目录中定义一些信息
(1)LCD控制器的IO端口开始地址,结束地址,LCD中断

(2)LCD硬件参数,如LCD的屏幕尺寸,屏幕类型,像素时钟,水平可见的像素,垂直可见的像素,色位模式,以及上面介绍的6个参数。有的板子可以支持很多个尺寸的屏幕,所以要建立一个数组,default赋值相应的index。

(3)LCD引脚相关的配置,哪些配置成LEND、VCLK、HSYNC、VSYNC、VDEN。

第(1)行的信息保存在platform_device结构的resource成员。

第(2)行和第(3)行的信息保存在platform_device结构的device成员的void *platform_data指针中,在平台初始化时赋值。

接下来看下probe的过程:






特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号