Fork Me on GitHub

源码开放学ARM

LASO - Learn ARM with Source Open

首页         目录索引         资料下载         代码下载         联系作者        
下载PDF打印版本

LCD 控制器结构

LCD 驱动的要素

1. lcd init 初始化相关的特殊功能寄存器 SFR
2. 对 LCD 的 framebuffer (FB) 进行数据赋值
RGB 3个字节来表示 ROW * COL * 3 字节 
565 (5bit + 6bit +5bit) 2 字节
3. DMA 操作把 SDRAM 上的数据发送给 LCD Driver

LCD controller	控制器 (S3C6410 SoC) -> 
LCD Signals 信号 (50 pin)
--------------------------------- U3
LCD Module 模块
	LCD driver 驱动器
	TFT 显示屏
	
软件的工作
	1. 配置管脚的功能复用
	2. 配置LCD控制器的工作参数(包含了时序参数) (SFR)
	3. 指定 LCD 内部 DMA 传送的数据起始地址 (FB)
	4. 对 FB 帧缓存区域的数据进行写数据的操作
		
硬件的工作
	1. LCD控制器内部的DMA开始工作,就是将 FB 的字节通过 signal 传输出去
	2. 其中 RGB 3字节数据,DMA读出来,通过24根VD数据线发送给 LCD module
	3. RGB interface 对时序有一定的要求,传输必须按照约定的时序(是由lcd module的提供厂家给出相关参数)
	
480列 * 272行
RGB Interface: 接口 Signals
	VD[0:23]	24 根数据线
	VCLK 		像素时钟
	VSYNC		场同步	480*272个像素时钟可以传输1场的数据
	HSYNC		行同步	480个像素时钟可以传输1行的数据
	
	HOZVAL	列数(一行传输多少个像素点)、
	H
		SPW			Pulse-Width
		BPD			Back 后肩
		FPD			Front 前肩
	V
		SPW			
		BPD
		FPD
		
	6个时间延迟参数	
		
	
loadb 0x51000000 
下载 wav/bmp 文件,用 kermit 协议

loadb
下载 bin 文件,默认地址 0x50000000

go 0x50000000
执行 bin, 会从 0x51000000 读取文件,进行显示或者播放

LCD 数据量
	1 VCLK = 9Mhz = 10Mhz
	1 second = 10*1000000 个像素
	10 * 10^6 * 3字节 = 30Mbytes

上一节 | 目录索引 | 下一节

blog comments powered by Disqus