天嵌 ARM开发社区

 找回密码
 注册
查看: 1177|回复: 0

lcd转vga问题

[复制链接]
embedfans 发表于 2013-3-18 20:29:04 | 显示全部楼层 |阅读模式
我使用tq2440接lcd转vga模块,在linux-2.6.25中有关于1024x768显示模式下LCD控制寄存器的设置:
#elif defined(CONFIG_FB_S3C24X0_TFT1024768)
        .width                = 1024, //图像的宽度
        .height                = 768, //图像的高度
        .pixclock        = 40000, //像素时钟周期/* HCLK 100 MHz, divisor 1 */
        .setclkval        = 0x3, //LCD的时钟设置参数
        .xres                = 1024, //图像的宽度
        .yres                = 768, //图像的高度
        .bpp                = 16, //像素位宽
        .left_margin        = 199,        /* HFPD水平同步信号的前肩*/
        .right_margin        = 15,        /* HBPD水平同步信号的后肩*/
        .hsync_len        = 15,        /* HSPW水平同步信号的脉宽*/
        .upper_margin        = 1,        /* VFPD垂直同步信号的前肩*/
        .lower_margin        = 1,        /* VBPD垂直同步信号的后肩*/
        .vsync_len        = 1,        /* VSPW垂直同步信号的脉宽*/
由以上各参数的值,结合以下三个公式:
VCLK = HCLK/[(CLKVAL+1)x2]                                    (1)
VFRAME=HCLK/[(CLKVAL+1)x2]/{(VSPW+1+VBPD+1+LCD_YSIZE_TFT+VFPD+1)*(HSPW+1+HSPD+1+HFPD+1+LCD_XSIZE_TFT)}                     (2)
pixclock=1/VCLK                                              (3)
推得

Pixclock=40000,结合(3)得VCLK=25MHz,由于HCLK=100MHz,结合(1)得CLKVAL=1,而setclkval= 0x3,如何求得?

还有我想知道.left_margin        = 199,        /* HFPD水平同步信号的前肩*/
                .right_margin        = 15,        /* HBPD水平同步信号的后肩*/
                .hsync_len        = 15,        /* HSPW水平同步信号的脉宽*/
                .upper_margin        = 1,        /* VFPD垂直同步信号的前肩*/
                .lower_margin        = 1,        /* VBPD垂直同步信号的后肩*/
                .vsync_len        = 1,        /* VSPW垂直同步信号的脉宽*/
中各值是如何求得的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-24 06:12 , Processed in 2.033455 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表