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面板。

外接信号

STNTFT

SEC TFT

(LTS350Q1-PD1/2)

SEC TFT

(LTS350Q1-PE1/2)

VFRAME

(帧同步信号)

VSYNC

(垂直同步信号)

STVSTV

VLINE

(行同步脉冲信号)

HSYNC

(水平同步信号)

CPVCPV

VCLK

(像素时钟信号)

VCLK

(像素时钟信号)

LCD_HCLKLCD_HCLK

VD[23:0]

(LCD像素数据输出端口)

VD[23:0]

(LCD像素数据输出端口)

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

VM

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

VDEN

(数据使能信号)

TPTP
-

LEND

(行结束信号)

STHSTH
LCD_PWRENLCD_PWRENLCD_PWRENLCD_PWREN
--LPC_OELCC_INV
--LPC_REVLCC_REV
--LPC_REVBLCC_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空位
 008HP3空位
.........

24BPP下VD引脚描述

VD2322212019181716151413121110 9 8 7 6 5 4 3 2 1 0
76543210                
绿        76543210        
                76543210

 

16BPP下VD引脚描述

(5:5:5:1)

VD2322212019181716151413121110 9 8 7 6 5 4 3 1 0
432101NC                
绿        432101NC        
                432101NC

(5:6:5)

VD2322212019181716151413121110 9 8 7 6 5 4 3 1 0
43210NC                
绿        543210NC        
                43210NC

8BPP显示

(BSWP=0,HWSWP=0)

  D[31:24]  D[23:16]  D[15:8]  D[7:0] 
 000H P1P2P3P4
 004HP5P6P7P8
 008HP9P10P11P12
 ...    

(BSWP=1,HWSWP=0)

 

  D[31:24]  D[23:16]  D[15:8]  D[7:0] 
 000H P4P3P2P1
 004HP8P7P6P5
 008HP12P11P10P9
 ...    

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 P1P2P3P4P5P6P7P8
 004HP9P10P11P12P13P14P15P16
 008HP17P18P19P20P21P22P23P24
...        

(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

 索引位的位置 151413121110 9 8 7 6 5 4 3 2 1 0 地址 
00HR4R3R2R1R0G5G4G3G2G1G0B4B3B2B1B0 0x4D000400 
01HR4R3R2R1R0G5G4G3G2G1G0B4B3B2B1B00x4D000404
...                ...
FFHR4R3R2R1R0G5G4G3G2G1G0B4B3B2B1B00x4D0007FC
VD数232221201915141312111076543 

5:5:5:I

 索引位的位置 151413121110 9 8 7 6 5 4 3 2 1 0地址
00HR4R3R2R1R0G4G3G2G1G0B4B3B2B1B0I 0x4D000400 
01HR4R3R2R1R0G4G3G2G1G0B4B3B2B1B0I 0x4D000404
...                 
FFHR4R3R2R1R0G4G3G2G1G0B4B3B2B1B0I0x4D00007FC
VD数2322212019151413121176543  

调色板读/写

  当用户执行调色板的读/写操作时,必须检查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描述复位值
LCDCON30x4D000008R/WLCD控制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控制寄存器

 

转载于:https://www.cnblogs.com/pingfandfy/p/5641016.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值