S3C2440液晶屏分辨率如何设置

S3C2440液晶屏分辨率如何设置

先找到两个文件

s3c2440a_lcd.h在F:\WINCE500\PLATFORM\SMDK2440A\Src\Inc文件夹中

s3c2440disp.cpp在F:\WINCE500\PLATFORM\SMDK2440A\Src\Drivers\Display文件夹中

然后修改其中的参数

◆ s3c2440a_lcd.h文件的修改:

#define    LCD_SCR_XSIZE           (800)       // 按照所需分辨率修改

#define    LCD_SCR_YSIZE           (600)       // 按照所需分辨率修改

#define    LCD_SCR_XSIZE_TFT       (800)       // 按照所需分辨率修改

#define    LCD_SCR_YSIZE_TFT       (600)       // 按照所需分辨率修改

#define    LCD_XSIZE_TFT           800       // 按照所需分辨率修改

#define    LCD_YSIZE_TFT           600       // 按照所需分辨率修改

#define LCD_VBPD                             ((7)&0xff)

#define LCD_VFPD                             ((4)&0xff)

#define LCD_VSPW                                   ((2) &0x3f)

#define LCD_HBPD                             ((37)&0x7f)

#define LCD_HFPD                             ((32)&0xff)

#define LCD_HSPW                                   ((30)&0xff)

◆ s3c2440disp.cpp文件:

    m_nScreenWidth =800; // 按照所需分辨率修改

    m_nScreenHeight =600; // 按照所需分辨率修改

    m_cxPhysicalScreen =800; // 按照所需分辨率修改

    m_cyPhysicalScreen =600; // 按照所需分辨率修改

*************************************************************************************************************************************************

#defineLCD_VBPD      ((29-7)&0xff)
#define LCD_VFPD      ((13-1)&0xff)
#define LCD_VSPW      ((3) &0x3f)
#define LCD_HBPD      ((40+3)&0x7f)
#define LCD_HFPD      ((40-4)&0xff)
#define LCD_HSPW      ((48)&0xff)
#define     CLKVAL_TFT              (1)  

240×320

帧频80HZ

/* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz */

*********************************************************************************************************************************************

VBPD 列开始等待周期 
VSPW列有效脉冲宽度 
VFPD列结束等待周期

HBPD 行开始等待周期
HSPW行有效脉冲宽度

HFPD 行结束等待周期

VBPD 是指LCD显示每帧开始时有这么多个周期是没有图像信号输出的,目的是为了同步.取值范围与所使用的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 跑空的情况出现。

*********************************************************************************************************************************************
例:
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。

************************************************************************************************************************************************

问题

    1、当确定分辨率是多少时,如何确定VSPW、VBPD、LINEVAL、VFPD、HSPW、HBPD、HOZVAL 和HFPD值呢?只要帧频在60-70HZ就好,其他值凑出来的,还是其他什么原因?

已解决

    根据LCD的时序时间表来定义这些参数值。

你可能感兴趣的:(c,WinCE)