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 地址
}
阅读(2132) | 评论(0) | 转发(0) |