LCD S3C2410X User Manual

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
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
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
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
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
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
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
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
LCD Controller 中文手册 S3C2410
4-bit Dual Scan Display4 位双扫描显示)
4-bit Single Scan Display4位单扫描显示)
8-bit Single Scan Display(8 位单扫描显示)
Figure 15-2. Monochrome Display Types (STN)
图 15-2 单色显示(STN)
9
LCD Controller 中文手册 S3C2410
4-bit Dual Scan Display4 位双扫描显示)
4-bit Single Scan Display(4 位单扫描显示)
8-bit Single Scan Display(8 位单扫描显示)
图 15-3 彩色显示(STN)
10
LCD Controller 中文手册 S3C2410
时序要求
应利用 VD[7:0]信号将视频数据从内存传送到 LCD 驱动器。VCLK 信号是将数据移入 LCD
驱动器中移位寄存器的时钟信号。一行数据被移入 LCD 驱动器中的移位寄存器后,便插入一 个 VLINE 信号以显示此行(表明一行的结束)。
VM 信号则为显示器提供一个交流信号。LCD 用此信号使行和列电压的极性交替,这样可 以使像素开或关,因为若用直流电压,LCD 中的等离子体会被破坏。VM 信号可配置成每帧触 发或在指定数量的 VLINE 信号后触发。
图 15-4 为 LCD 驱动器接口的时序要求。
11
Loading...
+ 25 hidden pages