Chinaunix首页 | 论坛 | 博客
  • 博客访问: 126678
  • 博文数量: 34
  • 博客积分: 69
  • 博客等级: 民兵
  • 技术积分: 233
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-08 21:56
文章分类

全部博文(34)

文章存档

2014年(9)

2013年(25)

分类: Android平台

2014-09-02 21:28:20

1. 先看原理图,看有哪些信号线
2. 查看 2440 Datasheet,理解各个信号线的关系(时序图)

LCD控制器时序的理解
Vsync : 一帧数据开始,会先扫描VSPW+1 + VBPD+1 行(无效行)
Hsync : 一行数据开始,HSPW+1 + HBPD+1(每一行中无效像素点)
VCLK :一个 VCLK 对应一个像素的数据
VD:一个一个的像素
VDEN:低电平时长为 HSPW+1 + HBPD+1,高电平开始则发送 HOZVAL+1 像素数据,然后变为低电平时长 HFPD+1,此时Hsync为高,行同步有效,重新跳到最左边


Soc 这边会开一片内存当做帧缓存,我们把要显示的RGB数据一一放在这片内存,然后LCD控制器把这些数据通过
Hsync、Vsync 信号发送给 LCD


写程序
{
1. 设置时序
2. 在 framebuffer 里写入RGB数据
3. 背光设置

}


LCD 选定后,像素宽度 bpp 是固定的


如果用 8pp 的像素宽度,需要用到调色板
调色板:存256种颜色,2440 的 LCD 控制器内部的一块区域
此时,framebuffer 里面存的数据是调色板的索引,而调色板里面才是存的真正的颜色数据
{
1. 设置LCD控制寄存器的像素宽度bit为8pp
2. 设置数据格式为565,表示调色板的数据位 16 bit 的565格式
说明:用8位bpp后,LCD控制器从framebuffer取出数据后,会从调色板里取出真正的颜色数据发送给LCD
}


硬件相关的操作?
{
1. 引脚配置
2. 设置 framebuffer 地址
}
阅读(2116) | 评论(0) | 转发(0) |
0

上一篇:Linux 声音子系统之 Asoc 框架: Machine 驱动

下一篇:没有了

给主人留下些什么吧!~~