LCD S3C2410X User Manual [zh, en]

Page 1
LCD Controller 中文手册 S3C2410
S3C2410X LCD 控制器
----文章来源:S3C2410X 用户手册 LCD Controller 部分 作者:三星公司 译者:张杰
1、概述
S3C2410X 中的 LCD 控制器由传送逻辑构成,这种逻辑是把位于系统内存显示缓冲区中 LCD
视频数据传到外部的 LCD 驱动器。
LCD 控制器支持单色,使用基于时间的抖动算法和帧频控制的方法,可以支持每像素 2
位(四级灰度)或每像素 4 位(16 级灰度)的单色 LCD 显示屏。也支持彩色 LCD 接口,可以 是每像素 8 位(256 种颜色)和每像素 12 位(4096 种颜色)的 STN LCD。
支持每像素 1 位、2 位、4 位和 8 位带有调色板的 TFT 彩色 LCD 和每像素 16 位与 24 位的
无调色板真彩色显示。
根据屏幕的水平与垂直像素数,数据界面的数据宽度,界面时间和自刷新速率,LCD 控
制器可以编程以支持各种不同要求的显示屏。
2、特点
2.1、STN 型 LCD 显示器
-支持 3 种扫描方式:4bit 单扫、4 位双扫和 8 位单扫 -支持单色、4 级灰度和 16 级灰度屏
-支持 256 色和 4096 色彩色 STN 屏 -支持多种屏幕尺寸
应用中典型的屏幕尺寸有 640×480, 320×240, 160×160, 和其它 最大虚拟屏幕尺寸达 4Mbytes 256 色颜色模式下最大虚拟屏幕尺寸:4096×1024, 2048×2048, 1024×4096 及其它
2.2、TFT 型 LCD 显示屏
-支持 1 位、2 位、4 位和 8 位(每像素)调色板 TFT 显示 -支持 16 位/像素非调色板真彩色 TFT 显示
-支持 24 位/像素非调色板真彩色 TFT 显示
-24 位/像素模式下最大支持 16M 彩色 TFT -支持多种屏幕尺寸
典型分辩率为 640*480、320*240、160*160 及其它多种规格的 LCD 最大虚拟显示达 4Mbytes。
虚拟显示尺寸在 64K 模式下:2048×1024 及其它
2.3、共同特点
LCD 控制器有一个专用 DMA,它不断从位于系统内存中的显示缓冲区获取视频数据。其特点归 纳如下:
— 专用中断功能(INT_FrSyn and INT_FiCnt) — 使用系统内存作为显存
1
Page 2
LCD Controller 中文手册 S3C2410
— 支持多种虚拟显示屏(支持水平/垂直滚屏) — 对于不同的显示屏,支持可编程定时控制 — 支持小端和大端字节模式以及 WinCE 数据格式
— 支持 SEC TFT LCD 屏( )
注意
WinCE 不支持 12 位包数据格式。
请检查 WinCE 是否支持 12 彩色模式
2.4、外部接口信号
VFRAME/VSYNC/STV : 帧同步信号(STN)/ 垂直同步信号(TFT)/ SEC TFT 信号 VLINE/HSYNC/CPV : 行同步脉冲信号(STN)/ 水平同步信号(TFT)/ SEC TFT 信号
VCLK/LCD_HCLK : 像素时钟信号(STN/TFT)/ SEC TFT 信号 VD[23:0] : LCD 像素数据输出端口(STN/TFT/SEC TFT)
VM/VDEN/TP : LCD 驱动器交流信号(STN)/ 数据使能信号(TFT)/ SEC TFT 信号 LEND/STH : 行结束信号(TFT)/SEC TFT 信号 LCD_PWREN : LCD 屏电源控制信号
LCDVF0 : SEC TFT 信号 OE LCDVF1 : SEC TFT 信号 REV
LCDVF2 : SEC TFT 信号 REVB
2
Page 3
LCD Controller 中文手册 S3C2410
2.5、方框图
图 15-1 LCD 控制器框图
S3C2410X 中 LCD 控制器用为传送视频数据和产生需要的控制信号的,如 VFRAME, VLINE,
VCLK, VM,等。除控制信号外,S3C2410X 中的 LCD 控制器还有传送视频数据的端口,如图中 VD[23:0]所示。LCD 控制器由 REGBANK, LCDCDMA, VIDPRCS, TIMEGEN, and LPC3600(如图 15-1 LCD 控制器框图)组成。REGBANK 有 17 个可编程寄存器组和用来配置 LCD 控制器的 256*16
的调色板存储器。LCDCDMA 是一个专用 DMA,自动传送帖数据到 LCD 驱动器。利用这个专用的 DMA,视频数据可以在没有 CPU 的参与下自动显示。VIDPRCS 从 LCDCDMA 接收视频数据,然后
将其转换成适合的数据格式通过数据端口 VD[23:0]发送到 LCD 驱动器上,例如 4/8 位单扫描 或 4 位双扫描模式。TIMEGEN 由可编程逻辑组成,支持各种常见 LCD 驱动器的定时与速率界 面的不同要求。TIMEGEN 模块产生 FRAME, VLINE, VCLK, VM 等信号。
数据流描述如下: LCDCDMA 有 FIFO(First-In First-Out, 先入先出)存储器。当 FIFO 为空或者部分为空时,
LCDCDMA 模块就以爆发式传送模式从帧存储器中取数据(每次爆发式请求连续取 16 个字节, 期间不允许总线控制权的转变)。当传送请求被位于内存控制器中的总线仲裁器接受时,将有
连续的 4 个字的数据从系统内存送到外部的 FIFO。FIFO 的大小总共为 28 字,其中分别有 12 个字的 FIFOL 和 16 个字的 FIFOH。S3C2410X 有两个 FIFO 存储器以支持双扫描显示模式。在
单扫描模式下只有一路 FIFO(FIFOH)工作。
3、STN 型 LCD 控制操作
3.1、脉冲发生器(TIMEGEN)
TIMEGEN(脉冲发生器)用来产生 LCD 驱动器的控制信号,如 VFRAME、VLINE、VCLK 和 VM。
这些控制信号与寄存器组中控制寄存器 LCDCON1/2/3/4/5 的配置密切相关。
基于这些 LCD 控制寄存器的可编程配置,TIMEGEN 就能产生可编程的控制信号,以适合支
持多种不同类型的 LCD 驱动器。
以帧为周期,在整个第一行期间,插入一个 VFRAME(帧)脉冲信号。VFRAME 信号使行指
3
Page 4
LCD Controller 中文手册 S3C2410
针回到显示器的顶行重新开始新的一帧。
VM 信号使 LCD 驱动器的行和列电压极性交替变换,用作对像素的开与关。VM 信号的触发
速率决定于 LCDCON1 寄存器中 MMODE 位和 LCDCON4 寄存器 MVAL 区的设置。若 MMODE 位为 0, 则 VM 信号每帧触发一次。若 MMODE 位为 1,则 VM 信号在指定数量的 VLINE 信号后的触发,
VLINE 数量由 MVAL[7:0]的值决定。图 15—4 显示了以 MMODE=0 和 MMODE=1 且 MVAL[7:0]=0x2 时的例子。当 MMODE=1 时,VM 信号的速率与 MVAL[7:0]的值有关,公式为:
VM 速率 = VLINE 速率 / (2 * MVAL)
VFRAME 和 VLINE 脉冲的产生取决于 LCDCON2/3 寄存器中 HOZVAL 和 LINEVAL 的配置,它
们都与 LCD 屏的大小和显示模式有关。换句话说,HOZVAL 和 LINEVAL 可由 LCD 屏与显示模式 决定,公式如下:
HOZVAL = (水平显示尺寸/ 有效 VD 数据队列数)-1 彩色显示模式下:水平显示尺寸 = 3 * 水平像素数
在 4 位单扫描模式下,有效 VD 数据队列数应为 4。若用 4 位双扫描显示,有效的 VD 数
据队列数也应为 4,但在 8 位单扫描模式下,有效的 VD 数据队列数应为 8。
LINEVAL = (垂直显示尺寸)-1 :单扫描情况 LINEVAL = (垂直显示尺寸 / 2)-1 :双扫描情况
VCLK 信号的速率取决于 LCDCON1 寄存器中 CLKVAL 的配置。表 15-1 定义了 VCLK 与 CLKVAL
的关系。CLKVAL 的最小值为 2。
VCLK(Hz)=HCLK/(CLKVAL x 2)
帧频(帧速率)就是 VFRAM 信号的频率。帧频和寄存器 LCDCON1/2/3/4 中 WLH[1:0](VLINE
脉冲宽度)、WDLY[1:0](VCLK 延迟于 VLINE 脉冲的宽度)、HOZVAL、LINEBLANK 和 LINEVAL 及 VCLK 和 HCLK 密切相关。大多数 LCD 驱动器有它们适合帧频。帧频可由下列公式计算得出:
帧频(Hz) = 1/[ { (1/VCLK)×(HOZVAL+1)+(1/HCLK)×(A+B+(LINEBLANK×8))}×
(LINEVAL+1)]
A = 2
(4+WLH)
, B = 2
(4+WDLY)
表 15-1: VCLK 与 CLKVAL 间的关系 (STN, HCLK = 60 MHz)
CLKVAL 60 MHz/X VCLK
2 60 MHz/4 15.0 MHz 3 60 MHz/6 10.0 MHz : : :
1023 60 MHz/2046 29.3 kHz
4、视频操作
S3C2410X 的 LCD 控制器可支持 8 位彩色模式(256 色模式),12 位彩色模式(4096 色模
式),4 级灰度模式,16 级灰度模式以及单色模式。对于灰度或彩色模式,需要基于时间抖动 和帧速率控制的方法来实现灰度或彩色的分级。可以通过一个可编程的查找表选择,这个以
后会作解释。单色模式则不需要这些模块(FRC 和查找表),基本上通过转换视频数据使 FIFOH (如果是双扫描显示类型则还有 FIFOL)的数据串行化为 4 位(若为 4 位双扫描或 8 位单扫
描显示类型时为 8 位)数据流到 LCD 驱动器。
接下来的部分将介绍根据查找表和 FRC 在灰度和彩色模式下的操作。
4
Page 5
LCD Controller 中文手册 S3C2410
查找表
S3C2410X 能支持多样选择的颜色或灰度映射的颜色查找表,确保用户使用弹性化。颜色
查找表是可以选择彩色或灰度级别(在 4 级灰度模式下可选择 16 级灰度中的 4 级,在 256 色 模式下可选择 16 级红色中的 8 种,16 级绿色中的 8 种和 16 级蓝色中的 4 种)的调色板。换
句话说就是,在 4 级灰度模式下,利用查找表用户可以选择 16 级灰度中的 4 级。在 16 级灰 度模式下,灰度级别是不能选择的。在可能的 16 级灰度中所有的 16 种灰度必须选择。在 256
色模式下,3 位代表红色,3 位代表绿色,2 位代表蓝色。这 256 种颜色是指由 8 种红色、8 种绿色和 4 种蓝色(8*8*8=256 种)组合而成的。在其它模式下,查找表可适当选择。8 种红
色可从 16 级红色选择,8 种绿色可从 16 级绿色选择,4 种蓝色可从 16 级蓝色选择。在 4096 色模式下不能像在 256 色模式下那样选择。
5、灰度模式操作
S3C2410X 的 LCD 控制器支持 2 种灰度模式:每像素 2 位灰色(4 级灰度)和每像素 4 位
灰色(16 级灰度)。2 位/像素灰色模式下使用一个查找表(BLUELUT),允许在 16 级可能的灰 度中选择 4 种。2 位/像素灰色查找表用的是蓝色查找表(BLUELUT)寄存器中 BLUEVAL[15:
0],就像在彩色模式下的使用蓝色查找表一样。0 级灰度由 BLUEVAL[3:0]指定。若 BLUEVAL[3:0] 值为 9,则 0 级灰度就代表 16 级灰度中的第 9 级灰度。若 BLUEVAL[3:0]值为 15,则 0 级灰
度就代表 16 级灰度中的第 15 级灰度,如此类推。按上面介绍的方法,1 级灰度由 BLUEVAL[7: 4]指定,2 级灰度由 BLUEVAL[11:8]指定而 3 级灰度就由 BLUEVAL[15:12]指定。BLUEVAL[15:
0]中这四组值就分别代表灰度 0、灰度 1、灰度 2 和灰度 3。在 16 级灰度模式下就不需要选 择了。
6、256 级彩色模式操作
S3C2410X 的 LCD 控制器可支持 8 位/像素的 256 色显示模式。利用抖动算法和帧频控制,
彩色显示模式下可产生 256 种颜色。每像素的 8 位可编码成为 3 位代表红色、3 位代表绿色 和位代表蓝色。彩色显示模式使用单独的红色、绿色和蓝色查找表。它们分别用寄存器 REDLUT 中 REDVAL[31:0]、寄存器 GREENLUT 中 GREENVAL[31:0]和寄存器 BLUELUT 中 BLUEVAL[15:
0]作为可编程的查找表项。
和灰度显示一样,寄存器 REDLUT 可 8 组每组 4 位,也就是 REDVAL[31:28]、REDLUT[27:24]、 REDLUT[23:20] 、 REDLUT[19:16] 、 REDLUT[15:12] 、 REDLUT[11:8] 、 REDLUT[7:4] 和 REDLUT[3:0],分别指定一种红色级别。每组中的 4 位的可能组合数为 16,每种红色级别应
指定为 16 种可能级别中的一种。换言之,用户利用这种查找表可以选择适合的红色级别。对 于绿色,寄存器 GREENLUT 中的 GREENVAL[31:0]作为查找表,和红色查表作同样的处理。同
样地,寄存器 BLUELUT 中 BLUEVAL[15:0]也被指派为查找表。对于蓝色,和 8 级红色或绿色 级别不同,只有 2 位,可以指定 4 级蓝色。
7、4096 级彩色模式操作
S3C2410X 的 LCD 控制器可以支持 12 位/像素的 4096 色显示模式。利用抖动算法和帧频 控制,这种彩色显示模式可产生 4096 种颜色。代表一个像素的 12 位编码为 4 位代表红色、4
位代表绿色和 4 位代表蓝色。4096 色显示模式下不使用颜色查找表。
抖动和帧频控制
对于 STN 型 LCD 显示屏(单色除外),视频数据都必须经过抖动算法的处理。DITHFRC 有两个功能,如
为减少闪烁而设的基于时间的抖动算法和为在 STN 型屏上显示灰色或彩色的帧频控制。在 STN 型屏上基于
5
Page 6
LCD Controller 中文手册 S3C2410
帧频控制的灰色或彩色显示原理这里将作介绍。例如,为了显示总共 16 级灰度中的第 3 级灰度(3/16), 显示的像素需要开 3 个时间单位而关闭 13 个时间单位。换言之,在 16 帧数据中,一个特定的像素在 3 帧
中是显示的,而在其它 13 帧中这一像素是不显示的。这 16 帧数据是周期性地被显示的。这是在显示屏上 显示灰度的一个基本原理,即所谓的基于帧频控制的灰度显示。实际例子见表 15-2 所示。如表中代表 14
级灰度的,需要一个 6/7 的占空比,即 6 个单位时间像素显示而一个单位时间像素不显示。其它所有灰度 显示的情况见表 15-2。
使用 STN 型 LCD 时,我们应注意一项,也就是,闪变噪声是由于邻近的帧中的像素同时开与关。例如,
若第一帧中所有的像素都是开的,而下一帧的所的像素都是关的,闪变噪声将会达到最大。为了减少屏上 的闪变噪声,像素开与关的的概率应相近。为了实现这一点,可使用基于时间的抖动算法,它可以使每帧
中邻近的像素样式更多样化。下面是详细的说明。对于 16 级灰度,帧频控制应有以下灰度级别和帧频控 制间的关系。第 15 级灰度应该使像素保持开状态,第 14 级灰度应有 6 个单们时间是开的和 1 个单位的时 间是关的,第 13 级灰度应使 4 个单位时间开和 1 个单位时间关,……,而第 0 级灰度应使像素始终是关
的,见表 15-2。
Table 15-2. Dither Duty Cycle Examples
Pre-Dithered Data
(gray level number)
15 1 7 1/2 14 6/7 6 3/7 13 4/5 5 2/5 12 3/4 4 1/3 11 5/7 3 1/4 10 2/3 2 1/5
9 3/5 1 1/7 8 4/7 0 0
Duty Cycle Pre-Dithered Data
(gray level number)
Duty Cycle
显示类型
LCD 控制器支持 3 种类型的 LCD 驱动器:4 位双扫描、4 位单扫描和 8 位单扫描显示模式。图 15-2 为
单色显示下的三种显示类型。图 15-3 为在彩色显示方式下的三种显示类型。
4 位双扫描显示方式
4 位双扫描用 8 位并行数据线同时移送数据至显示屏的上半屏和下半屏。8 个平行数据线中有 4 位数
据被移入上半屏,而另一半被移入下半屏,如图 15-2 所示。当每个半屏中数据移送完毕时一帧便结束。 LCD 控制器引出的 8 个 LCD 输出端(VD[7:0])可直接与 LCD 驱动器相连。
4 位单扫描显示方式
4 位单扫描采用 4 位并行数据线将行数据一次连续移出,直到整个帧的数据被移出为止。从 LCD 控制
器引出的 4 个 LCD 输出端(VD[3:0])可直接连到 LCD 驱动器上,而 LCD 输出端的另 4 个端口(VD[7:4]) 则没用。
8 位单扫描显示方式
8 位单扫描采用 8 位并行数据线将行数据一次连续移出,直到整个帧的数据被移出为止。从 LCD 控制
器引出的 8 个 LCD 输出端(VD[7:0])可直接连到 LCD 驱动器上
256 色显示方式
彩色显示下每个像素的图像数据需要 3 位(红绿蓝),即每行的移位寄存器数量相当于 3 倍的水平像
6
Page 7
LCD Controller 中文手册 S3C2410
素数。所以一个水平移位寄存器的长度是行像素数量的 3 倍。RGB 数据以连续的位数据通过并行线移位至
LCD 驱动器。 如图 15-3 所示,在三种显示方式下,像素在并行数据线中的三种颜色和顺序。
4096 色显示方式
三种颜色的顺序决定于显示缓冲区中视频数据的次序。
MEMORY DATA FORMAT (STN, BSWP=0) 内存中的数据格式 Mono 4-bit Dual Scan Display: 单色 4 位双扫描显示
Video Buffer Memory:(视频缓冲区) LCD Panel
Address(地址)Data(数据) 0000H A[31:0] 0004H B[31:0]
·
·
· 1000H L[31:0] 1004H M[31:0]
·
·
·
A[31] A[30] ...... A[0] B[31] B[30] ...... B[0] ......
L[31] L[30] ...... L[0] M[31] M[30] ...... M[0] ......
单色 4 位单扫描和 8 位单扫描
Video Buffer Memory: LCD Panel Address(地址)Data(数据)
A[31] A[30] A[29] ...... A[0] B[31] B[30] ...... B[0] C[31] ...... C[0] ......
0000H A[31:0] 0004H B[31:0]
0008H C[31:0]
·
·
·
7
Page 8
LCD Controller 中文手册 S3C2410
内存中数据的格式(STN,BSWP=0)
4 级灰度模式下,一个像素由 2 位视频数据表示。 16 级灰度模式下,一个像素由 4 位视频数据表示。
256 级彩色模式下,一个像素由 8 位(其中 3 位红色,3 位绿色,2 位蓝色)视频数据表示,彩色数据格式 如下表所示:
位[ 7:5 ] 位[ 4:2 ] 位[1:0]
红 绿 蓝
4096 级彩色模式下,一个像素由 12 位(其中 4 位红色,4 位绿色,4 位蓝色)视频数据表示。下表表示了 字内彩色数据格式(如下:视频数据必须以三个字为界)。
RGB 顺序
数据 [31:28] [27:24] [23:20] [19:16] [15:12] [11:8] [7:4] [3:0]
字 #1 红(1) 绿(1) 蓝(1) 红(2) 绿(2) 蓝( 2) 红(3) 绿(3) 字 #2 蓝(3) 红(4) 绿(4) 蓝(4) 红(5) 绿(5) 蓝(5) 红(6)
字 #3 绿(6) 蓝(6) 红(7) 绿(7) 蓝(7) 红(8) 绿(8) 蓝(8)
8
Page 9
LCD Controller 中文手册 S3C2410
4-bit Dual Scan Display(4 位双扫描显示)
4-bit Single Scan Display(4位单扫描显示)
8-bit Single Scan Display(8 位单扫描显示)
Figure 15-2. Monochrome Display Types (STN)
图 15-2 单色显示(STN)
9
Page 10
LCD Controller 中文手册 S3C2410
4-bit Dual Scan Display(4 位双扫描显示)
4-bit Single Scan Display(4 位单扫描显示)
8-bit Single Scan Display(8 位单扫描显示)
图 15-3 彩色显示(STN)
10
Page 11
LCD Controller 中文手册 S3C2410
时序要求
应利用 VD[7:0]信号将视频数据从内存传送到 LCD 驱动器。VCLK 信号是将数据移入 LCD
驱动器中移位寄存器的时钟信号。一行数据被移入 LCD 驱动器中的移位寄存器后,便插入一 个 VLINE 信号以显示此行(表明一行的结束)。
VM 信号则为显示器提供一个交流信号。LCD 用此信号使行和列电压的极性交替,这样可 以使像素开或关,因为若用直流电压,LCD 中的等离子体会被破坏。VM 信号可配置成每帧触 发或在指定数量的 VLINE 信号后触发。
图 15-4 为 LCD 驱动器接口的时序要求。
11
Page 12
LCD Controller 中文手册 S3C2410
Figure 15-4. 8-bit Single Scan Display Type STN LCD Timing
图 15-4:8 位单扫描显示方式 STN 型 LCD 时序图
12
Page 13
LCD Controller 中文手册 S3C2410
4、TFT 型 LCD 控制器操作
TIMEGEN(脉冲发生器)产生适合 LCD 驱动器的各种控制信号,如 VSYNC, HSYNC, VCLK, VDEN, 和 LEND 等信号。这些控制信号与寄存器组中的控制寄存器 LCDCON1/2/3/4/5 的配置密切相
关。基于这些可编程 LCD 控制寄存器,肪冲发生器可以产生可编程的信号,可支持各种不同 类型的 LCD 驱动器。
VSYNC 和 HSYNC 脉冲的产生取决于寄存器 LCDCON2/3 中 HOZVAL 与 LINEVAL 的配置值。
HOZVAL 与 LINEVAL 的值与实际 LCD 屏和尺寸有关,公式如下:
HOZVAL = (水平显示尺寸) -1 LINEVAL = (垂直显示尺寸) -1
VCLK 的速率取决于寄存器 LCDCON1 中 CLKVAL 的值。表 15-3 定义了 VCLK 与 CLKVAL 之间
的关系。CLKVAL 的最小值为 0。
VCLK(Hz) = HCLK/[(CLKVAL+1)x2]
帧频即为 VSYNC信号的频率。帧频与控制寄存器 LCDCON1及 LCDCON2/3/4 中的 VSYNC、VBPD、 VFPD、LINEVAL、HSYNC、HBPD、HFPD、HOZVAL 和 CLKVAL 有关联。大多数 LCD 驱动器有它们
适合的帧频。帧频可由下公式得出
Frame Rate = 1/[{(VSPW+1)+(VBPD+1)+(LIINEVAL+1)+(VFPD+1)}×{(HSPW+1)+(HBPD+1)
+(HFPD+1)+(HOZVAL+1)}×{2×(CLKVAL+1)/(HCLK)}]
表 15-3:VCLK 与 CLKVAL 的关系(TFT, HCLK=60 MHz)
CLKVAL 60 MHz/X VCLK
1 60 MHz/4 15.0 MHz 2 60 MHz/6 10.0 MHz : : :
1023 60 MHz/2048 30.0 kHz
13
Page 14
LCD Controller 中文手册 S3C2410
视频操作
S3C2410X 中 TFT LCD 控制器支持 1、2、4 或 8 位每像素带调色板显示和 16 或 24 位每像
素无调色板真彩色显示。
256 色调色板
S3C2410X 支持多种颜色映射选择的 256 色调色板,使用户的操作更具弹性。
内存中数据的格式(TFT)
这一部分包括每种显示模式的几个例子。
24BPP Display(24 位/像素显示) (BSWP = 0, HWSWP = 0, BPP24BL = 0)
D[31:24] D[23:0]
000H 004H
008H
Dummy Bit Dummy Bit
Dummy Bit
P1 P2
P3
...
(BSWP = 0, HWSWP = 0, BPP24BL = 1)
D[31:8] D[7:0]
000H 004H
P1 P2
Dummy Bit Dummy Bit
008H
P3
...
VD Pin Descriptions at 24BPP(24 位/像素下 VD 引脚描述 )
VD
RED
GREEN
BLUE
23 22
7 6 5 4 3 2 1 0
21
20
19 18
17
16
15
14
13
7 6 5 4 3 2 1 0
12
Dummy Bit
11
10 9 8 7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
14
Page 15
LCD Controller 中文手册 S3C2410
16BPP Display (16位/像素显示方式)
(BSWP = 0, HWSWP = 0)
D[31:16] D[15:0] 000H 004H
008H
P1 P3 P4
P5 P6
P2
...
(BSWP = 0, HWSWP = 1)
D[31:16] D[15:0] 000H 004H
008H
P2 P4 P3
P6 P5
P1
...
VD Pin Connections at 16BPP(16位/像素时VD引脚的连接)
(5:6:5)
(5:5:5:I)
注意:未使用的VD引脚可用作GPIO
15
Page 16
LCD Controller 中文手册 S3C2410
8BPP Display(8位/像素显示方式)
(BSWP = 0, HWSWP = 0)
(BSWP = 1, HWSWP = 0)
16
Page 17
LCD Controller 中文手册 S3C2410
4BPP Display(4位/像素显示方式)
(BSWP = 0, HWSWP = 0)
(BSWP = 1, HWSWP = 0)
2BPP Display(2位/像素显示方式)
(BSWP = 0, HWSWP = 0)
17
Page 18
LCD Controller 中文手册 S3C2410
使用 256 色调色板(FTF)
调色板的配置和格式控制。 S3C2410X 为 TFT 型 LCD 控制提供了 256 色调色板。 在这两种格式中用户可以从 64K 种颜色选择 256 种颜色显示。
256 色调色板由 256(深度)×16 位 SPSRAM 组成,这种调色板可支持 5:6:5(R:G:B)和
5:5:5:1(R:G:B:I)两种格式。
当用户使用 5:5:5:1 格式时,亮度数据(I)可用作每个 GRB 数据的共同 LSB(最低有效
位),即:5:5:5:1 格式等同于 R(5+I):G(5+I):B(5+I)格式。
使用 5:5:5:1 格式时,例如,用户可如表 15-5 那样配置调色板,然后将引脚 VD 接到 TFTLCD 屏(其中 R(5+I)=VD[23:19]+VD[18],VD[10]或 VD[2],G(5+I)=VD[15:11]+VD[18],VD[10]或 VD[2], B(5+I)=VD[7:3]+ VD[18], VD[10]或 VD[2]),将寄存器 LCDCON5 中的 FRM565 设置
成 0。
Table 15-4. 5:6:5 Format
Table 15-5. 5:5:5:1 Format
注意:
1、0x4D000400 是调色板起始地址。 2、VD18、VD10 和 VD2 的输出值是一样的,即 I。
3、DATA[31:16]是未用的。
调色板读写
当用户在调色板上执行读写操作时,需检查一下寄存器 LCDCON5中的 HSTATUS和 VSTATUS,
因为在 HSTATUS 和 VSTATUS 状态为活动期间,读写操作是禁止执行的。
调色板的临时配置
S3C2410X 充许用户在没有大的修改的情况下对一帧填入一种颜色,这样可以将帧缓冲或
调色板填入一种颜色。要显示同种颜色的一帧,可将要显示的颜色的值写入寄存器 TPAL 中的 TPALVAL 并且将 TPALEN 置 1。
18
Page 19
LCD Controller 中文手册 S3C2410
Figure 15-5. 16BPP Display Types (TFT)
19
Page 20
LCD Controller 中文手册 S3C2410
Figure 15-6. TFT LCD Timing Example
5、虚拟显示(TFT/STN)
S3C2410X 支持硬件方式的水平和垂直滚屏。要实现滚屏,可修改 LCDSADDR1 和 LCDSADDR2 寄存器中的 LCDBASEU 和 LCDBASEL 的值(如图 15-8)。但不是通过修改 PAGEWIDTH 和 OFFSIZE
来实现。
显示缓冲区中的图像在尺寸上应比 LCD 显示屏大些。
20
Page 21
LCD Controller 中文手册 S3C2410
OFFSIZE PAGEWIDTH OFFSIZE
This is the data of line 1 of virtual screen. This is the data of line 1 of virtual screen. This is the data of line 2 of virtual screen. This is the data of line 2 of virtual screen.
This is the data of line 3 of virtual screen. This is the data of line 3 of virtual screen.
LCDBASEU
This is the data of line 4 of virtual screen. This is the data of line 4 of virtual screen. This is the data of line 5 of virtual screen. This is the data of line 5 of virtual screen.
This is the data of line 6 of virtual screen. This is the data of line 6 of virtual screen. This is the data of line 7 of virtual screen. This is the data of line 7 of virtual screen.
This is the data of line 8 of virtual screen. This is the data of line 8 of virtual screen. This is the data of line 9 of virtual screen. This is the data of line 9 of virtual screen.
This is the data of line 10 of virtual screen. This is the data of line 10 of virtual screen. This is the data of line 11 of virtual screen. This is the data of line 11 of virtual screen
. .
LINEVAL + 1
View Port (The same size
of LCD panel.)
. Before Scroling
LCDBASEL
This is the data of line 1 of virtualscreen. This is the data of line 1 of virtual screen. This is the data of line 2 of virtual screen. This is the data of line 2 of virtual screen. This is the data of line 3 of virtual screen. This is the data of line 3 of virtual screen.
This is the data of line 4 of virtual screen.This is the data of line 4 of virtual screen. This is the data of line 5 of virtual screen. This is the data of line 5 of virtual screen.
This is the data of line 6 of virtual screen. This is the data of line 6 of virtual screen. This is the data of line 7 of virtual screen. This is the data of line 7 of virtual screen. This is the data of line 8 of virtual screen. This is the data of line 8 of virtual screen.
This is the data of line 9 of virtual screen. This is the data of line 9 of virtual screen. This is the data of line 10 of virtual screen. This is the data of line 10 of virtual screen.
This is the data of line 11 of virtual screen. This is the data of line 11 of virtual screen
. .
. After Scroling
Figure 15-7. Example of Scrolling in Virtual Display (Single Scan)
图 15-7:虚拟显示滚屏(单扫描)示例
21
Page 22
LCD Controller 中文手册 S3C2410
6、LCD 的电源控制(STN/TFT)
S3C2410X 有电源控制(PWREN)功能。启用电源控制时,引脚 LCD_PWREN 的输出值是由 ENVID 控制的。换言之,当引脚 LCD_PWREN 连接至 LCD 屏的电源开启控制端后,LCD 屏的电源
就自动由 ENVID 的设置确定。
S3C2410X 亦有极性反转位(INVPWREN),可以 PWREN 信号的极性反转。
此功能只有当 LCD 屏有电源控制端口且被正确连接至 LCD_PWREN 引脚时方为有效。
图 15-8:电源控制功能举例(PWREN=1,INVPWREN=0)
22
Page 23
LCD Controller 中文手册 S3C2410
7、LCD 控制器的专用寄存器
LCD 控制寄存器 1
寄存器 地址
LCDCON1 0X4D000000 R/W
LCDCON1 Bit
LINECNT
(只读)
CLKVAL
MMODE [7]
PNRMODE [6:5]
BPPMODE [4:1]
ENVID [0]
[27:18]
[17:8]
行计数器状态位,值由 LINEVAL递减至 0
Determine the rates of VCLK and CLKVAL[9:0].
STN: VCLK = HCLK / (CLKVAL×2) ( CLKVAL≧2 ) TFT: VCLK = HCLK / [(CLKVAL+1) ×2] ( CLKVAL≧0 )
决定VM信号的触发速率。 0 = 每帧触发,
1 = 触发速率由MVAL决定
显示模式选择位
00 = 4位双扫描显示模式(STN) 01 = 4位单扫描显示模式(STN)
10 = 8位单扫描显示模式(STN) 11 = TFT型LCD显示
单个像素的位数选择
0000 = STN型1位/像素, 单色模式 0001 = STN型2位/像素, 4级灰度模式 0010 = STN型4位/像素16级灰度模式
0011 = STN型8位/像素, 彩色模式 0100 = STN型12位/像素, 彩色模式
1000 = TFT型1位/像素 1001 = TFT型2位/像素 1010 = TFT型4位/像素
1011 = TFT型8位/像素 1100 = TFT型16位/像素
1101 = TFT型24位/像素 LCD视频输出和逻辑信号使能位
0 = 视频输出和控制信号无效 1 =视频输出和控制信号有效
R/W
LCD 控制寄存器 1
描述 初始值
描述
复位值
0x00000000
0000000000
0000000000
0
00
0000
0
23
Page 24
LCD Controller 中文手册 S3C2410
控制寄存器2
寄存器 地址
LCDCON2 0X4D000004 R/W
R/W
LCD 控制寄存器 2
描述
复位值
0x00000000
LCDCON2
VBPD [31:24]
LINEVAL [23:14] TFT/STN: 这些位决定 LCD 屏的垂直尺寸 0000000000
VFPD [13:6]
VSPW [5:0]
位 描述
TFT: 垂直后沿(VBPD)指在一帧开始时,垂直同步时期之后
非活动行的数目。
STN: 使用STN型LCD时此位应为0
TFT: 垂直后沿指在一帧结束时,垂直同步时期后非活动行的数
目。
STN: 使用STN型LCD时此位应为0 TFT: 通过对非活动行的计数,垂直同步脉冲宽度决定着VSYNC
脉冲高电平宽度。
STN: 使用STN型LCD时此位应为0
初始状态
0x00
00000000
000000
控制寄存器3
寄存器 地址
LCDCON3 0X4D000008 R/W
LCDCON3 Bit 描述 初始状态
HBPD (TFT) TFT: 水平后沿(HBPD)为HSYNC下降沿后与有效数据之前VCLK
WDLY (STN)
HOZVAL [18:8]
HFPD (TFT) TFT: 水平前沿(HFPD)为有效数据之后与HSYNC上升沿前VCLK
LINEBLANK
(STN)
[25:19]
[7:0]
R/W
描述
LCD 控制寄存器 3
的周期数目。
STN: WDLY[1:0]位通过对HCLK的计数决定VLINE与VCLK之间的 延迟。WDLY[7:2]为保留位。
00 = 16 HCLK, 01 = 32 HCLK, 10 = 48 HCLK, 11 = 64 HCLK
TFT/STN:这些位决定着LCD屏水平尺寸,HOZVAL必须被指定以 满足一行有4n个字节的条件。如单色模式下LCD一行有120个点, 但120点是不被支持的,因为1行要由15个字节组成。而单色模式 下一行128个点是可以支持的,因为一行有16(2n)个字节组成。LCD 屏将丢弃多余的8个点。
的周期数目。
STN: 这些位确定行扫描的返回时间.这些位可微调VLINE的速率。 LINEBLANK的最小数为HCLK*8。如:LINEBLANK=10,返回时
间在80个HCLK期间插入VCLK。
复位值
0x00000000
0000000
00000000000
0X00
24
Page 25
LCD Controller 中文手册 S3C2410
LCD 控制寄存器 4
Register Address R/W Description
LCDCON4 0X4D00000C R/W
LCDCON4 Bit Description
MVAL [15:8]
HSPW(TFT)
[7:0]
WLH(STN)
STN: 如果 MMODE=1,这两位定义 VM信号以什么速度变化 TFT: 通过对VCLK的计数水平同步脉冲宽度决定着HSYNC脉高电
平脉冲的宽度。
STN: 通过过HCLK的计数,WLH[1:0] 位决定着VLINE脉冲的高电平 宽度。而WLH[7:2]作为保留位。
00 = 16 HCLK, 01 = 32 HCLK, 10 = 48 HCLK, 11 = 64 HCLK
LCD 控制寄存器 4
Reset Value
0x00000000
Initial state
0X00 0X00
25
Page 26
LCD Controller 中文手册 S3C2410
LCD 控制寄存器 5
Register Address R/W Description
LCDCON5 0X4D000010 R/W
LCD控制寄存器 5
Reset Value
0x00000000
LCDCON5 Bit Description Initial state
保留 [31:17] 这些位是保留位,值为 0。 0
VSTATUS [16:15] TFT: 垂直扫描状态 (只读).
00
00 = VSYNC 01 = BACK Porch 10 = ACTIVE 11 = FRONT Porch
HSTATUS [14:13] TFT: 水平扫描状态 (只读).
00 00 = HSYNC 01 = BACK Porch 10 = ACTIVE 11 = FRONT Porch
BPP24BL [12] TFT: 这些位确定中 24bpp 显示时显存中数据的格式。
0
0 = LSB 有效 1 = MSB 有效
FRM565 [11] TFT: 这些位确定 16bpp 显示时输出数据的格式。
0
0 = 5:5:5:1 格式 1 = 5:6:5 格式
INVVCLK [10] STN/TFT: 这一位决定 VCLK 的有效极性。
0 0 = VCLK 下降沿时取数据。 1 = VCLK 上升沿时取数据。
INVVLINE [9] STN/TFT:此位指明 VLINE/HSYNC 脉冲的极性。
0 0 = 正常 1 = 反转
INVVFRAME [8] STN/TFT:此位指明 VFRAME/VSYNC 脉冲的极性。
0 0 = 正常 1 = 反转
INVVD [7] STN/TFT:此位指明 VD (视频数据)脉冲的极性。
0 0 = 正常 1 = VD 反转
INVVDEN [6] TFT:此位指明 VDEN 信号的极性。
0 0 = 正常 1 = 反转
INVPWREN [5] STN/TFT:此位指明 PWREN 信号的极性。
0 0 = 正常 1 = VD 反转
INVLEND [4] TFT:此位指明 LEND 信号的极性。
0 0 = 正常 1 = VD 反转
PWREN [3] STN/TFT: LCD_PWREN 输出信号使能位。
0 0 = PWREN 信号无效
1 = PWREN 信号有效
ENLEND [2] TFT: LEND 输出信号使能位。
0 0 = LEND 信号无效 1 = LEND 信号有效
BSWP [1] STN/TFT: 字节交换控制位。
0 0 = 不可交换
1 = 可以交换
HWSWP [0] STN/TFT: 半字交换控制位。
0 0 = 不可交换
1 = 可以交换
26
Page 27
LCD Controller 中文手册 S3C2410
帧缓冲起始地址寄存器1
Register Address R/W Description Reset Value
LCDSADDR1 0X4D000014 R/W
LCDSADDR1 Bit Description Initial State
LCDBANK [29:21] 这些位指明在系统内存中视频缓冲区的位置A[30:22]。LCDBANK的值
是不可被改变的,移动观察窗口时也是一样。LCD帧缓冲应保证在4MB 的连续区域内,以确保在移动观察窗口时LCDBANK的值不被改变。所 以,在使用函数malloc()时务必要小心。
LCDBASEU [20:0] 对双扫描LCD:这些位指示帧缓冲区或在双扫描LCD时的上帧缓冲区
的开始地址 A[21:1] 对单扫描LCD:这些位指示帧缓冲区的开始地址 A[21:1]
STN/TFT: 帧缓冲起始地址寄存器1
0x00000000
0x00
0x000000
27
Page 28
LCD Controller 中文手册 S3C2410
帧缓冲起始地址寄存器2
Register Address R/W Description Reset Value
LCDSADDR2 0X4D000018 R/W
LCDSADDR2 Bit Description Initial State
LCDBASEL [20:0] 对于双扫描LCD:这些位指示在使用双扫描LCD时的下帧存储区的开
始地址 A[21:1]。 对于单扫描LCD:这些位指示帧存储区的末地址 A[21:1]
LCDBASEL = ((the fame end address) >>1) + 1
STN/TFT:帧缓冲起始地址寄存器2
= LCDBASEU +(PAGEWIDTH+OFFSIZE)x(LINEVAL+1)
0x00000000
0x0000
注意:当 LCD 控制器起用时,用户可通过改变 LCDBASEU 和 LCDBASEL 的值实现滚屏。但是, 在一帧结束时,LCDBASEU 和 LCDBASEL 的值务必不能改变,可参考 LCDCON1 寄存器中的 LINECNT
域,因为 LCD 的 FIFO 是在换帧前取数据的。所以,若这时你要换帧,预取的 FIFO 数据将被 丢弃,LCD 屏的显示也会出现错误。检查 LINECNT 时,需先屏蔽所有中断。否则,由于中断
服务程序的执行时间,读取的 LINECNT 的值也会被丢弃。
28
Page 29
LCD Controller 中文手册 S3C2410
帧缓冲起始地址寄存器3
Register Address R/W Description Reset Value
LCDSADDR3 0X4D00001C R/W STN/TFT: 虚拟屏地址设置 0x00000000
LCDSADDR3 Bit Description Initial State
OFFSIZE [21:11] Virtual screen offset size (the number of half words).
This value defines the difference between the address of the last half word displayed on the previous LCD line and the address of the first half word to be displayed in the new LCD line.
PAGEWIDTH [10:0] Virtual screen page width (the number of half words).
This value defines the width of the view port in the frame.
00000000000
000000000
NOTE: The values of PAGEWIDTH and OFFSIZE must be changed when ENVID bit is 0.
例 1 : LCD 屏 = 320*240, 16 级灰度, 单扫描
帧起始地址 = 0x0c500000 偏移点数 = 2048 点 ( 512 个半字 )
LINEVAL = 240-1 = 0xef PAGEWIDTH = 320*4/16 = 0x50
OFFSIZE = 512 = 0x200 LCDBANK = 0x0c500000 >> 22 = 0x31 LCDBASEU = 0x100000 >> 1 = 0x80000
LCDBASEL = 0x80000 + ( 0x50 + 0x200 ) * ( 0xef + 1 ) = 0xa2b00
例 2 : LCD 屏 = 320*240, 16 级灰度, 双扫描
帧起始地址= 0x0c500000 偏移点数= 2048 点 ( 512 个半字 )
LINEVAL = 120-1 = 0x77 PAGEWIDTH = 320*4/16 = 0x50
OFFSIZE = 512 = 0x200 LCDBANK = 0x0c500000 >> 22 = 0x31
LCDBASEU = 0x100000 >> 1 = 0x80000 LCDBASEL = 0x80000 + ( 0x50 + 0x200 ) * ( 0x77 + 1 ) = 0x91580
例 3 : LCD 屏 = 320*240,彩色, 单扫描
帧起始地址 = 0x0c500000 偏移点数 = 2048 点 ( 512 个半字 )
LINEVAL = 240-1 = 0xef PAGEWIDTH = 320*8/16 = 0xa0
OFFSIZE = 512 = 0x200 LCDBANK = 0x0c500000 >> 22 = 0x31
LCDBASEU = 0x100000 >> 1 = 0x80000 LCDBASEL = 0x80000 + ( 0xa0 + 0x200 ) * ( 0xef + 1 ) = 0xa7600
29
Page 30
LCD Controller 中文手册 S3C2410
红色查找表寄存器
Register Address R/W Description Reset Value REDLUT 0X4D000020 R/W STN: 红色查找表寄存器 0x00000000
REDLUT Bit Description Initial State
REDVAL [31:0] 这些位定义了选择16种色度当中的哪8种红色组合。
000 = REDVAL[3:0], 001 = REDVAL[7:4] 010 = REDVAL[11:8], 011 = REDVAL[15:12]
100 = REDVAL[19:16], 101 = REDVAL[23:20] 110 = REDVAL[27:24], 111 = REDVAL[31:28]
绿色查找表寄存器
Register Address R/W Description Reset Value
GREENLUT 0X4D000020 R/W STN: 绿色查找表寄存器 0x00000000
GREENLUT Bit Description Initial State
GREENVAL [31:0] 这些位定义了选择16种色度当中的哪8种绿色组合。
000 = GREENVAL[3:0], 001 = GREENVAL[7:4] 010 = GREENVAL[11:8], 011 = GREENVAL[15:12]
100 = GREENVAL[19:16], 101 = GREENVAL[23:20] 110 = GREENVAL[27:24], 111 = GREENVAL[31:28]
0x00000000
0x00000000
蓝色查找表寄存器
Register Address R/W Description Reset Value
BLUELUT 0X4D000028 R/W STN: 蓝色查找表寄存器
BULELUT Bit Description Initial State
BLUEVAL [15:0] 这些位定义了选择16种色度当中的哪8种蓝色组合。
00 = BLUEVAL[3:0], 01 = BLUEVAL[7:4] 10 = BLUEVAL[11:8], 11 = BLUEVAL[15:12]
0x0000
0x0000
注意:不能使用从 0x14A0002C 到 0x14A00048 的地址空间。这个区域是为测试模式保留的。
30
Page 31
LCD Controller 中文手册 S3C2410
抖动模式寄存器
Register Address R/W Description Reset Value
DITHMODE 0X4D00004C R/W STN: 抖动模式寄存器
0x00000
此寄存器复位值为0x00000。不过用户可将此值修改 为0x12210。
(对于此寄存器的最终值可参考源程序。)
DITHMODE BIT Description Reset Value
DITHMODE [18:0] 根据你的LCD屏,使用下列中的一个值
0x00000
0x00000或0x12210
临时调色板寄存器
Register Address R/W Description Reset Value
TPAL 0X4D000050 R/W TFT:临时调色板寄存器。
0x00000000
此寄存器的值为下一帧的视频数据。
TPAL Bit Description Reset Value
TPALEN [24] 临时调色板寄存器使能位。
0
0 = 无效 1 = 有效
TPALVAL [23:0] 临时调色板值寄存器。
0x000000
TPALVAL[23:16] : RED TPALVAL[15:8] : GREEN
TPALVAL[7:0] : BLUE
31
Page 32
LCD Controller 中文手册 S3C2410
LCD中断挂起寄存器
Register Address R/W Description Reset Value
LCDINTPND 0X4D000054 R/W 指示LCD中断请求状态 0x0
LCDINTPND Bit Description Reset Value
INT_FrSyn [1] LCD帧同步中断请求位
0 0 = 无中断请求。 1 = 帧已插入中断请求。
INT_FiCnt [0] LCD FIFO中断请求位。
0 0 = 无中断请求。
1 = 当 LCD FIFO 达到触发水平时发出中断请求。
LCD Source Pending Register
Register Address R/W Description Reset Value
LCDSRCPND 0X4D000058 R/W Indicate the LCD interrupt source pending register 0x0
LCDSRCPND Bit Description Reset Value
INT_FrSyn [1] LCD frame synchronized interrupt source pending bit.
0 0 = The interrupt has not been requested. 1 = The frame has asserted the interrupt request.
INT_FiCnt [0] LCD FIFO interrupt source pending bit.
0 0 = The interrupt has not been requested.
1 = LCD FIFO interrupt is requested when LCD FIFO reaches trigger level.
LCD中断屏蔽寄存器
Register Address R/W Description Reset Value
LCDINTMSK 0X4D00005C R/W 决定哪一个中断源被屏蔽。
0x3
被屏蔽的中断源将不会被响应。
LCDINTMSK Bit Description Reset Value
FIWSEL [2] 决定LCD FIFO的触发水平。
0 = 4 words 1 = 8 words
INT_FrSyn [1] 屏蔽LCD帧同步中断。
1 0 = 中断服务可用。 1 = 中断服务被屏蔽。
INT_FiCnt [0] 屏蔽LCD FIFO中断。
1 0 = 中断服务可用。
1 = 中断服务被屏蔽。
32
Page 33
LCD Controller 中文手册 S3C2410
LPC3600控制寄存器
Register Address R/W Description Reset Value
LPCSEL 0X4D000060 R/W 此寄存器控制LPC3600的模式。 0x4
LPCSEL Bit Description Reset Value
RES_SEL [1] 1 = 240320 0
LPC_EN [0] LPC3600使能位。
0
0 = LPC3600 Disable 1 = LPC3600 Enable
33
Page 34
LCD Controller 中文手册 S3C2410
8、寄存器设置向导(STN)
通过对专用寄存器的设置,LCD 控制器可支持多种尺寸的 LCD 屏 VCLK 的频率由 CLKVAL 的值决定。CLKVAL 的取值应这样决定:必须使 VCLK 的值大于数据
传输速率。LCD 控制器中 VD 端口的数据传输速率决定着 CLKVAL 寄存器的值。
数据传输速率由以下方程给出: 数据传输速率 = HS×VS×FR×MV ,其中
HS: LCD 屏的水平尺寸 VS: LCD 屏的垂直尺寸
FR: 帧频 MV: 模式依赖值
Table 15-6. 各种显示模式下MV的值
模式 MV值 单色,4位单扫描显示 1/4 单色,8位单扫描或4位双扫描显示 1/8 4级灰度,4位单扫描显示 1/4
4级灰度,8位单扫描或4位双扫描显示 1/8 16级灰度,4位单扫描显示 1/4
16级灰度8位单扫描或4位双扫描显示 1/8 彩色,4位单扫描显示 3/4 彩色,8位单扫描或4位双扫描显示 3/8
寄存器 LCDBASEU 的值为帧缓冲区的首地址。The lowest 4 bits must be eliminated for
burst 4 word access. 寄存器 LCDBASEL 的值依赖于 LCD 尺寸和 LCDBASEU 的值而确定。
LCDBASEL 的值由以下方程给出:
LCDBASEL = LCDBASEU + LCDBASEL 偏移量
例 1:
160 x 160, 4 级灰度, 80 帧/秒, 4 位单扫描显示 HCLK 频率为 60 MHz WLH = 1, WDLY = 1. 数据传输速率 = 160×160×80×1/4 = 512 kHz
CLKVAL = 58, VCLK = 517 kHz HOZVAL = 39, LINEVAL = 159
LINEBLANK =10 LCDBASEL = LCDBASEU + 3200
注意:系统负担越高,CPU 的表现越差。
例 2:(虚拟屏寄存寄存器)
4 级灰度,虚拟屏尺寸= 1024×1024, LCD 尺寸= 320×240, LCDBASEU = 0x64, 4 位双扫描
1 半字 = 8 个像素 (4 级灰度), 虚拟屏的 1 行 = 128 半字 = 1024 个像素,
LCD 屏的 1 行 = 320 个像素 = 40 个半字, OFFSIZE = 128 - 40 = 88 = 0x58,
PAGEWIDTH = 40 = 0x28 LCDBASEL = LCDBASEU + (PAGEWIDTH + OFFSIZE)×(LINEVAL +1) = 100 + (40 + 88)×120 = 0x 3C64
34
Page 35
LCD Controller 中文手册 S3C2410
灰度选择向导
利用帧频控制(FRC)S3C2410XLCD 控制器可产生 16 级灰度。帧频控制的特点是可导致意
想不到的灰度类型。这些不希望有的错误类型在快速响应的 LCD 上或在比较低的帧速率时可 能会显示出来。
因为 LCD 灰度显示的质量依赖于 LCD 本身的特点,用户可先观察 LCD 所有的灰度水平,
然后才选择合适的灰度水平。
可通过以下步骤来选择灰度质量。
1. 从 SAMSUNG 获取最新的抖动模式寄存器值。
2. 在 LCD 上显示 16 级灰度条。
3. 修改帧频到最佳值。
4. 改变 VM 交替周期以获得最佳质量。
5. 观察完 16 级灰度条后,可选用在你的 LCD 正常显示的灰度。
6. 只使用质量好的灰度。
LCD 自刷新总线带宽计算向导
S3C2410X LCD 控制器可支持各种各样的 LCD 尺寸。
Example 3:
640×480, 8bpp, 60 frame/sec, 16-bit data bus width, SDRAM (Trp=2HCLK / Trcd=2HCLK / CL=2HCLK) and
HCLK frequency is 60 MHz
LCD Data Rate = 8 ×640×480 ´ 60 / 8 = 18.432Mbyte/s LCD DMA Burst Count = 18.432 / 16 = 1.152M/s Pdma = (Trp+Trcd+CL+(×4)+1×(1/60 MHz) = 0.250ms
LCD System Load = 1.152×250 = 0.288
System Bus Occupation Rate = (0.288/1)×100 = 28.8%
35
Page 36
LCD Controller 中文手册 S3C2410
9、寄存器设置向导(TFT LCD)
VCLK 的频率和帧频率由寄存器 CLKVAL 的值决定。 帧频 = 1/ [ { (VSPW+1) + (VBPD+1) + (LIINEVAL + 1) + (VFPD+1) }×{(HSPW+1) + (HBPD +1)
+ (HFPD+1) + (HOZVAL + 1) }×{ 2×( CLKVAL+1 ) / ( HCLK ) } ]
实际应用中,由于内存带宽的限制,必须考虑系统的时序,以避免 FIFO 跑空的情况出现。
例 4:
TFT 屏分辩率:240×240 VSPW = 2, VBPD = 14, LINEVAL = 239, VFPD = 4
HSPW = 25, HBPD = 15, HOZVAL = 239, HFPD = 1 CLKVAL = 5
HCLK = 60M (Hz) 下列的参量必须由 LCD 尺寸和驱动器规格参考设定。
VSPW、VBPD、LINEVAL、VFPD、HSPW、HBPD、HOZVAL 和 HFPD 帧频目标值为 60 到 70Hz,则 CLKVAL 的值应为 5,所以帧频为 67Hz。
张杰(whut)于 2007 年 3 月翻译
水平有限,错误之处,敬请指出。
Email: [email protected] QQ:7367427
36
Loading...