xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
阅读:2306回复:17

2410 LCD闪烁问题

楼主#
更多 发布于:2007-11-26 10:01
我的LCD是从320*240改到800*480的,现在基本显示可以,但就是屏幕有点闪,请问是哪里的问题,硬件问题还是软件问题,高手请指点
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2007-11-26 14:11
是否是刷新率太低,你把刷新率提高看看
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-11-26 15:40
谢谢,请问刷新率在哪调,偶是新手
cool_harber
驱动小牛
驱动小牛
  • 注册日期2003-03-01
  • 最后登录2009-04-28
  • 粉丝0
  • 关注0
  • 积分524分
  • 威望132点
  • 贡献值0点
  • 好评度126点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-11-26 20:34
LCD寄存器1 VCLK
博客:www.cnblogs.com/harber
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-11-27 14:05
谢谢楼上两位,
请问根据VCLK = HCLK / [(CLKVAL+1)*2],我把CLKVAL_TFT的值调小,那么VCLK就会变大,还是把LCD寄存器1的值改大,我把原来的6改为8,但都还是会闪,LCD寄存器1的配置如下:
s2410LCD->rLCDCON1   =  (8/*6*/           <<  8) |   /* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz  */
                            (MVAL_USED   <<  7) |   /* 0 : Each Frame                                   */
                            (3           <<  5) |   /* TFT LCD Pannel                                   */
                            (12          <<  1) |   /* 16bpp Mode                                       */
                            (0           <<  0) ;   /* Disable LCD Output    
还有个问题就是屏幕起来后四个边的触摸没有反应,我是从320*240改到800*480的,请问是不是只改大了显示范围,而触摸的范围也要做相应的修改?在哪里改?
请各位指点,谢谢
cool_harber
驱动小牛
驱动小牛
  • 注册日期2003-03-01
  • 最后登录2009-04-28
  • 粉丝0
  • 关注0
  • 积分524分
  • 威望132点
  • 贡献值0点
  • 好评度126点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-11-27 23:59
闪烁原因很多,仔细看屏的文档,设定好相应LCD控制寄存器的值,要特别注意时序。
触摸屏需要重新校准,看触摸屏驱动,在注册表力存放了校准值的。
博客:www.cnblogs.com/harber
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-11-28 11:28
谢谢cool_harber
触摸屏有校准,只是四个边没有反应,就是触摸的范围没有LCD显示的范围大,其它都可以正常触摸,看了触摸屏的驱动里面定义范围的最大和最小值如下:
#define TOUCH_MAX_X 952 //950
    #define TOUCH_MIN_X 88 //90
    #define TOUCH_MAX_Y 996 //960
    #define TOUCH_MIN_Y 84 //50
这是320*240的屏,不明白为什么是952  ,现在换成800*480的,不知道应该改为多少?请高手和版主指点
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2007-11-28 18:34
TOUCH_MAX_X  TOUCH_MIN_X  等是触摸屏XY采样的最大值和最小值,改成多少要根据你的屏的实际值,你测下就可以了  
cool_harber
驱动小牛
驱动小牛
  • 注册日期2003-03-01
  • 最后登录2009-04-28
  • 粉丝0
  • 关注0
  • 积分524分
  • 威望132点
  • 贡献值0点
  • 好评度126点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-11-28 22:40
分辨率是LCD的属性。
TOUCH_MAX_X是触摸屏的属性。
两者没啥关系。
这个MAX值是触摸屏控制器的AD转换的值。
你实测一下就知道了。
博客:www.cnblogs.com/harber
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-11-29 11:48
感谢两位的指点,请问一下,我的屏幕显示的时候画面向下移了一点,就是上面有一行没有显示到,想把整个画面向上移一点,该怎么办,
qinlei_sz
驱动小牛
驱动小牛
  • 注册日期2007-03-24
  • 最后登录2012-12-18
  • 粉丝0
  • 关注0
  • 积分1090分
  • 威望510点
  • 贡献值0点
  • 好评度145点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-11-29 21:44
你的屏是要配置的吧,如果是就把场扫描的开始行数加一再写到相应的REG中。
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-11-30 11:58
感觉是H和V没调好的问题,我把VSPW设为1(之前是4)结果会好些,但还是有一小行没显示全,还有屏幕有点闪的问题,我把CLK调高了很多还是不行(之前是6,现调为16),下面是我的一些配置,请高手帮忙看看!
#define VBPD                (8)
#define VFPD                (5)//(4)
#define VSPW                (1) //(4)

#define HBPD                (16)//(13)
#define HFPD                (8)//(4)
#define HSPW                (18)
#define CLKVAL_TFT          (2)
下面的在cfw.c和eboot\\main.c里面改
s2410LCD->rLCDCON1   =  (16           <<  8) |   /* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz  */
                            (MVAL_USED   <<  7) |   /* 0 : Each Frame                                   */
                            (3           <<  5) |   /* TFT LCD Pannel                                   */
                            (12          <<  1) |   /* 16bpp Mode                                       */
                            (0           <<  0) ;   /* Disable LCD Output                               */
qinlei_sz
驱动小牛
驱动小牛
  • 注册日期2007-03-24
  • 最后登录2012-12-18
  • 粉丝0
  • 关注0
  • 积分1090分
  • 威望510点
  • 贡献值0点
  • 好评度145点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-11-30 21:56
点800*480的分辨率,DCLK的频率至少在18MHZ以上,从你贴出来的看不出你的V,H,DCLK是多少,你先量出来看看
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-12-04 17:41
谢谢qinlei_sz的指点,把VCLK调到高于18MHz之后显示好多了,但画面字的显示还有进入控制面板里面图标的显示还有点抖,量出来的值是:
VCLK=25.45MHz,VFRAME=61.58Hz, VLINE=30.54kHz,
下面是我的一些配置,
#define VBPD                (8)
#define VFPD                (5)//(4)
#define VSPW                (0) //(4)

#define HBPD                (16)//(13)
#define HFPD                (8)//(4)
#define HSPW                (3)//(18)
#define CLKVAL_TFT          (1)
下面的在cfw.c和eboot\\main.c里面改
s2410LCD->rLCDCON1  =  (1         <<  8) |  /* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz  */
                            (MVAL_USED  <<  7) |  /* 0 : Each Frame                                  */
                            (3          <<  5) |  /* TFT LCD Pannel                                  */
                            (12          <<  1) |  /* 16bpp Mode                                      */
                            (0          <<  0) ;  /* Disable LCD Output                              */
请大侠指点
qinlei_sz
驱动小牛
驱动小牛
  • 注册日期2007-03-24
  • 最后登录2012-12-18
  • 粉丝0
  • 关注0
  • 积分1090分
  • 威望510点
  • 贡献值0点
  • 好评度145点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-12-05 10:56
define VBPD                (8)
#define VFPD                (5)//(4)
#define VSPW                (0) //(4)

#define HBPD                (16)//(13)
#define HFPD                (8)//(4)
#define HSPW                (3)//(18)
#define CLKVAL_TFT          (1)
这些值是根据屏参设的 吗?那个VSPW怎么会用(0)呢?比较少见哦。。
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-12-05 13:54
define VBPD                (8)
#define VFPD                (5)//(4)

#define HBPD                (16)//(13)
#define HFPD                (8)//(4)
只有这四个是屏datasheat里面找的,VSPW用0是我自己调的,原先不是0,但显示的时候屏幕上面少了一行,我调到0画面好了很多(但没完全好),个人理解:
VSPW和HSPW 会影响画面的大小
VBP=8,VFP=5,HBP=16,HFP=8 会影响图像的上下后前后偏移
请指点一下这些值对屏的闪或抖有什么影响,该怎么设定,谢谢
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-12-05 16:01
各位大侠,现在的屏幕不闪,但显示的字有点闪,特别是进入到控制面板里面点校准后出来的方框,里面的英文字母闪得有点模糊,请问是哪的问题?谢谢
fishly_0
驱动小牛
驱动小牛
  • 注册日期2005-09-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望466点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-12-13 21:16
我记得datasheet上有说vclk不能大于25m的,我用的是2442
游客

返回顶部