LCD 控制器

概述

  S3C2440中的LCD控制器由位于系统存储器的视频缓冲区到外部LCD驱动器的转移LCD图像数据逻辑组成。LCD控制器支持单色LCD,2位每像素(4阶灰度)或4位每像素(16阶灰度)模式,通过使用基于事件的抖动算法和帧频控制(FRC)方法,其可以连接到8位每像素(256色)的彩色LCD面板和连接到12位每像素(4096色)的STN LCD。

  其支持1位每像素,2位每像素,4位每像素和8位每像素的TFT彩色LCD面板连接,以及16位每像素和24位每像素的无调色真彩显示。

  可以编程LCD控制器来支持不同涉及屏幕水平和垂直像素数,数据接口的数据线宽度、接口时序和刷新率的需要。

特性

STN LCD显示:

  • 支持3种类型的LCD面板:4位双扫描、4位单扫描和8位单扫描和8位单扫描显示类型。
  • 支持单色、4阶灰度和16阶灰度
  • 支持256色和4096色的彩色STNLCD面板
  • 支持多种屏幕尺寸
  1. 典型实际屏幕尺寸:640*480、320*240、160*160
  2. 最大虚拟屏幕尺寸位4M字节
  3. 256色模式最大虚拟屏幕尺寸:4096*1024、2048*2048、1024*4096等。

TFT LCD显示:

  • 支持TFT的1、2、4、8bpp(位每像素)调色显示
  • 支持彩色TFT的16、24bpp无调色显示
  • 支持24位每像素模式下最大16MTFT
  • 支持多种屏幕尺寸
  1. 典型实际屏幕尺寸:640*480、320*240、160*160等
  2. 最大虚拟屏幕尺寸为4M字节
  3. 64K色模式最大虚拟屏幕尺寸:2048*1024等。

共同特性:

  LCD控制器有一个支持从位于系统存储器的视频缓冲器接收图像数据的专用DMA,其功能同样包括:

  • 专用中断功能
  • 使用系统存储器作为显存
  • 支持多种虚拟屏
  • 可变成不同显示面板的时序控制
  • 支持大/小端字节顺序,和WinCE数据格式一样
  • 支持2中类型的SEC TFT LCD面板。

外接信号

STN TFT

SEC TFT

(LTS350Q1-PD1/2)

SEC TFT

(LTS350Q1-PE1/2)

VFRAME

(帧同步信号)

VSYNC

(垂直同步信号)

STV STV

VLINE

(行同步脉冲信号)

HSYNC

(水平同步信号)

CPV CPV

VCLK

(像素时钟信号)

VCLK

(像素时钟信号)

LCD_HCLK LCD_HCLK

VD[23:0]

(LCD像素数据输出端口)

VD[23:0]

(LCD像素数据输出端口)

VD[23:0] VD[23:0]

VM

(LCD驱动器的AC偏压信号)

VDEN

(数据使能信号)

TP TP
-

LEND

(行结束信号)

STH STH
LCD_PWREN LCD_PWREN LCD_PWREN LCD_PWREN
- - LPC_OE LCC_INV
- - LPC_REV LCC_REV
- - LPC_REVB LCC_REVB

 

  S3C2440ALCD控制器是用于传输视频数据和产生必要的控制信号,如VFRAME,VLINE,VCLK,VM等等。除控制信号外,S3C2440A还有视频数据的数据端口,如图15-1所示的VD[23:0]。LCD控制器包括REGBANK、LCDCDMA、VIDPRCS、TIMEGEN和CPL3600.REGBANK有17个可编程寄存器集和用于配置LCD控制器的256*16个调色存储器。LCDCDMA专用于DMA,他可以自动从帧存储器到LCD驱动器传输视频数据。通过使用专用DMA,可以在屏幕上显示视频数据到LCD驱动器。TIMEGEN由可编程逻辑组成来支持发现不同LCD驱动器的一般接口时序和速率的变化的需要。TIMEGEN模块产生VFRAME、VLINE、VM等等。

  数据流描述如下:

  FIFO存储器LCDCDMA。当FIFO为空或者部分为空时,LCDCDMA请求基于突发存储器传输模式(连续4个字每单次突发请求的存储器刷新,无需总线传输器件随着总线主控到其他总线主机)从帧存储器刷新数据。当存储器控制器中的总线仲裁器同意了传输请求,将会从系统存储器到内部FIFO传输4个连续字数据。FIFO分别由12字FIFOL和16字FIFOH组成,总共28字大小。S3C2440A有2个FIFO来支持双扫描显示模式。在单扫描模式情况下,只能使用FIFO的一个。

  TFT LCD控制器操作

  TIMEGEN产生控制信号给LCD驱动器,例如VSYNC、HSYNC、VCLK、VDEN和LEDN信号。这些控制信号与REGBANK中的LCDCON1/2/3/4/5寄存器的配置有极大的关系。基于REGBANK中的LCD控制寄存器的这些变成配置。TIMEGEN可以产生可编程控制信号是个支持多种不同LCD驱动器的类型。

  发出VSYNC信号来引起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)*2]

  帧频即为VSYNC信号频率。帧频与LCDCON1和LCDCON2/3/4寄存器中的VSYNC、VBPD、VFPD、LINEVAL、HSYNC、HBPD、HFPD、HOZVAL和CLKVAL字段有关系。多数LCD驱动器需要他们自己适当的帧频。

  帧频(Hz)= 1/[{(1/VCLK)*(HOZVAL+1)+(1/HCLK)*(A+B+(LINEBLANK*8))}*(LINEVAL+1)]

A = 2(4+WLH) B = 2(4+WDLY)

视频操作

  S3C2440A中的TFT LCD控制器支持1、2、4或8bpp(位像素)调色显示和16或24bpp无调色真彩显示。

256色调色板

  S3C2440A可以支持256色调色板给各种色彩映射的选择,以提供灵活操作给用户。

存储器数据格式(TFT)

  24bpp显示

(BSWP=0,HWSWP=0,BPP24BL=0)

   D[31:24]   D[23:0] 
 000H  空位 P1
 004H 空位 P2
 008H 空位 P3
... ... ...

(BSWP=0,HWSWP=0,BPP24BL=1)

   D[31:24]   D[23:0] 
 000H  P1 空位
 004H  P2 空位
 008H P3 空位
... ... ...

24BPP下VD引脚描述

VD 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
7 6 5 4 3 2 1 0                                
绿                 7 6 5 4 3 2 1 0                
                                7 6 5 4 3 2 1 0

 

16BPP下VD引脚描述

(5:5:5:1)

VD 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  1  0
4 3 2 1 0 1 NC                                
绿                 4 3 2 1 0 1 NC                
                                4 3 2 1 0 1 NC

(5:6:5)

VD 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  1  0
4 3 2 1 0 NC                                
绿                 5 4 3 2 1 0 NC                
                                4 3 2 1 0 NC

8BPP显示

(BSWP=0,HWSWP=0)

   D[31:24]   D[23:16]   D[15:8]   D[7:0] 
 000H  P1 P2 P3 P4
 004H P5 P6 P7 P8
 008H P9 P10 P11 P12
 ...        

(BSWP=1,HWSWP=0)

 

   D[31:24]   D[23:16]   D[15:8]   D[7:0] 
 000H  P4 P3 P2 P1
 004H P8 P7 P6 P5
 008H P12 P11 P10 P9
 ...        

4BPP显示

(BWSP=0,HWSWP=0)

   D[31:28]   D[27:24]   D[23:20]   D[19:16]   D[15:12]   D[11:8]   D[7:4]   D[3:0] 
 000H  P1 P2 P3 P4 P5 P6 P7 P8
 004H P9 P10 P11 P12 P13 P14 P15 P16
 008H P17 P18 P19 P20 P21 P22 P23 P24
...                

(BWSP=1,HWSWP=0)

  256调色板使用(TFT)

调色板配置和格式控制

  S3C2440A提供了256色调色板给TFT LCD控制。用于可以在64K色中选择这2种格式256色。256色调色板256(深度)*16位SPSRAM组成。调色板支持5:6:5(R:G:B)格式和5:5:5:1(R:G:B:I)格式。当用户使用5:5:5:I格式时。

5:6:5

 索引位的位置  15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0  地址 
00H R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0  0x4D000400 
01H R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0 0x4D000404
...                                 ...
FFH R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0 0x4D0007FC
VD数 23 22 21 20 19 15 14 13 12 11 10 7 6 5 4 3  

5:5:5:I

 索引位的位置  15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0 地址
00H R4 R3 R2 R1 R0 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0 I  0x4D000400 
01H R4 R3 R2 R1 R0 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0 I  0x4D000404
...                                  
FFH R4 R3 R2 R1 R0 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0 I 0x4D00007FC
VD数 23 22 21 20 19 15 14 13 12 11 7 6 5 4 3    

调色板读/写

  当用户执行调色板的读/写操作时,必须检查LCDCON5寄存器HSTATUS和VSTATUS,在HSTATUS和VSTATUS的ACTIVE状态期间,禁止读/写操作。

临时调色板配置

  S3C2440A允许用户无需进行复杂的更改来单色填充帧,只需要填充单色到帧缓冲器或调色板。通过写入一个在LCD面板上显示的颜色的值来之时单色帧到TPAL寄存器的TPALVAL并且是能TPALEN。

 

虚拟显示(TFT/STN)

  S3C2440A支持硬件水平或垂直滚屏。要实现滚屏,需要改变LCDSADDR1/2寄存器中LCDBASEU和LCDBASEL的字段。删除PAGEWIDTH和OPFFSIZE的值。储存在视频缓冲器中的图像应该在尺寸上大于LCD面板的屏幕。

 

LCD电源使能(STN/TFT)

  S3C2440A提供了电源使能PWREN功能。当PWREN设置为是的PWREN信号使能时,LCD_PWREN引脚的输出值被ENVID控制。换句话说,如果LCD_PWREN引脚连接了LCD面板的电源开/关控制引脚,LCD面板的电源将自动的由ENVID的设置来控制。

  S3C2440A同样支持INVPWREN位来反转PWREN信号的极性。VI功能只在当LCD面板拥有其自己的电源开/关控制端口并且当端口连接到LCD_PWREN引脚时才可用。

 

LCD控制器特殊寄存器

LCD控制1寄存器

 寄存器   地址   R/W  描述 复位值
 LCDCON1   0x4D000000   R/W  LCD控制1寄存器   0x00000000
 LCDCON1   位   描述   初始状态 
 LINECNT(只读)  [27:18]   提供行计数器的状态,从LINEVAL递减计数到0. 00000000
CLKVAL  [17:8]

 决定VCLK的频率和CLKVAL[9:0]

STN: VCLK = HCLK/(CLKVAL*2) (CLKVAL>=2)

TFT: VCLK=HCLK/((CLKVAL+1)*2) (CLKVAL>=0)

0
MMODE [7]

决定VM的触发频率

0 = 每帧  1 = 由MVAL定义此频率

0
PNRMODE [6:5]

决定显示模式

00 = 4位双扫描显示模式(STN) 01 = 4位单扫描显示模式(STN)

10 = 8位单扫描显示模式(STN) 11 =TFT LCD

0
BPPMODE [4:1]

选择BPP(位每像素)模式

0
ENVID [0]

LCD视频输出和逻辑使能/禁止

0 = 禁止视频输出和LCD控制信号  1 = 允许视频输出和LCD控制信号

0

 

LCD控制2寄存器

 寄存器   地址   R/W   描述   复位值 
 LCDCON2   0x4D000004 

 R/W

LCD控制2寄存器 0x00000000
LCDCON2 描述 初始状态
VBPD [31:24]

TFT:垂直后沿为帧开始时,垂直同步周期后的无效行数。

STN:STNLCD时应该设置此位为0。

0x0
LINEVAL [24:14] TFT/STN:此位决定了LCD面板的垂直尺寸 0x0
VFPD [13:6]

TFT:垂直前沿为帧结束时,垂直同步周期前的无效行数。

STN:STN LCD时应该设置此位为0。

0x0
VSPW [5:0]

TFT:通过计算无效行数垂直同步脉冲宽度决定VSYNC脉冲的高电平宽度。

STN:STN LCD时应该设置此位为0。

0x0

 

LCD控制3寄存器

寄存器 地址 R/W 描述 复位值
LCDCON3 0x4D000008 R/W LCD控制3寄存器 0x0000000
LCDCON3 描述 初始状态
HBPD(TFT) [25:19] TFT:水平后沿为HSYNC的下降沿与有效数据的开始之间的VCLK周期数 0
WDLY(STN) STN:
HOZVAL [18:8] 此位决定了LCD面板的水平尺寸,必须决定HOZVAL来满足1行的总字节为4n字节,如果单色模式中LCD的x尺寸为120个点,但不能支持x=120,因为1行是由16个字节所组成。LCD面板驱动器将舍弃额外的8个点。 0
HFPD(TFT) [7:0] TFT:水平前沿为HSYNC的下降沿与有效数据的开始之间的VCLK周期数 0
LINEBLANK(STN)  

 

LCD控制4寄存器

LCD控制5寄存器

帧缓冲器开始地址1寄存器

帧缓冲器开始地址2寄存器

帧缓冲器开始地址3寄存器

红色查找表寄存器

绿色查找表寄存器

蓝色查找表寄存器

抖动模式寄存器

临时调色板寄存器

LCD中断挂起寄存器

LCD源挂起寄存器

LCD中断屏蔽寄存器

TCN控制寄存器

 

posted @ 2016-07-04 16:58  pingfandfy  阅读(839)  评论(0)    收藏  举报