460077234 发表于 2016-3-5 11:52

LCD屏在驱动中的参数和u-boot中的pixclock如何计算

先向各位能看到此**的同行们致个敬,感谢大家能看到这个标题进来给指的方向。关于LCD屏在驱动和u-boot中的pixclock的计算方法这两天我在网上算是黔驴技穷了,各种公式我都计算过了都不对,万般无奈之下才向各位请教。下面进入正题。
我用的at070tn83的液晶屏,根据手册内容,分辨率为800x480,
vfp(Vertical Front Porch) --- upper      = 29
vbp(VSYNC Back Porch ) --- lower         = 13vcyc(VSYNC Pulse Width ) --- vsync_len   = 3hfp(HSYNC Front Porch) --- left margin   = 40hbp(HSYNC Back Porch ) --- right margin= 40hcyc(HSYNC Pulse Width ) --- hsync_len   = 48CLOCK frequenry   type = 33.3Mhzmax = 50Mhz请问在这些参数下pixclock怎么计算出来呢? 我用了以下的公式。pixclock=1/dotclock(单位:皮秒),其中dotclock= ( x + HBPD + HFPD + HSPW) * (y + VBPD + VFPD + VSPW)*整屏的刷新率整屏的刷新率公式我就不列了。按照这个算不出来。内核驱动里边的lcd参数如下: 请问.refresh        = 65,“65”从哪来的呢?.pixclock        = KHZ2PICOS(22825),“22825”从哪来的?   是手册中的Clock Frequency的典型值?static struct fb_videomode at91_tft_lcd07_modes[] = {{             .name         = "PD064VT5N",                .refresh        = 65,                .xres                = 800,                .yres                = 480,                .pixclock        = KHZ2PICOS(22825),//24825000HZ,                                .left_margin        = 45,                .right_margin        = 3,                .upper_margin        = 24,                .lower_margin        = 1,        //zhang.2009.11.13                .hsync_len        = 3,                .vsync_len        = 1,                      .sync                = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                .vmode                = FB_VMODE_NONINTERLACED,
        },};我写的可能有点乱,做过这块的人应该明白我要的问的是啥。希望各位朋友们能给个方向,谢谢。


lwlgy 发表于 2016-9-1 17:22

pixclock是像素时钟周期,单位是ps
页: [1]
查看完整版本: LCD屏在驱动中的参数和u-boot中的pixclock如何计算