各位大哥大姐们好!
我最近用micro2440,需要外界液晶显示器,由于是VGA接口,所以用了友善的LCD2VGA转接板,型号是2A1102886A,现在有这么一个问题,如下:
我把/opt/FriendlyARM/mini2440/linux-2.6.32.2/drivers/video/s3c2410fb.c 中第391行(static void s3c2410fb_activate_var(struct fb_info *info)中)的
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_CLKVAL(clkdiv); 改成了
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_CLKVAL(0);
这样改过的效果是,将原来的LCD时钟频率VCLK=12.5MHz、行频HSYNC=10KHz、帧频VSYNC=13Hz,变为了50MHz、HSYNC=40KHz、VSYNC=52Hz,我想这样有52Hz的帧频,显示器才不会刷新的很慢。但是实际的结果是,显示器不停的闪烁,没有什么图像,不知道这种情况是什么意思呢?
另外我测试过,默认的驱动中fbi->regs.lcdcon1 |= S3C2410_LCDCON1_CLKVAL(clkdiv);我打出调试信息发现clkdiv=3,
所以我改为fbi->regs.lcdcon1 |= S3C2410_LCDCON1_CLKVAL(2);和
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_CLKVAL(1);
这时候都有图像显示并且一切正常,分别对应帧频为17Hz和26Hz,所以我就不清楚为什么当帧频为52Hz的时候就显示不正常了呢。
我已经打过友善技术服务人员N次的电话了,然后他说论坛中有热心的大家,所以还请各位大哥大姐们帮帮忙,看看是什么问题,感激不尽!
附:当我修改驱动使帧频VSYNC变化为13、17、26、52Hz时,经过转接板过后的场同步管脚(VGA的14脚)的频率一直是70Hz,应该是转接板怎么处理过,不过友善没有提供转接板的资料,所以不清楚。