4215|8

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请问2410的LCD控制器的行场同步问题 [复制链接]

    我配置S3C2410的LCD控制器,点亮了LCD屏,但是画面存在错位。我的屏是320*240,TFT
    屏的偏左侧有一道1.5cm宽的黑色条块,然后才是WinCE的桌面,然后屏的最左侧是原本应该在最右侧的图像。大概和下面的标注一样:

123456789          9***12345
123456789          9***12345
123456789          9***12345
123456789          9***12345
正常时                现在的情况
   
    就是正常的时候,桌面上有WindowsCE的图标,现在这个图标变成:E**Windows,快捷键也有相应的偏移。
    请问这个是什么问题?我用示波器测了一下LCD屏的VSYN,HSYN,应该是两个下降沿对齐的,但是示波器显示行场同步信号之间好像不同步,即两个下降沿(低电平同步)不对齐,这是什么原因?使用2410的LCD控制器除了配置相应的5个LCDCONn寄存器和三个LCDADDRn寄存器,还要做什么吗?

最新回复

mark  详情 回复 发表于 2009-2-25 13:03
点赞 关注

回复
举报

96

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
行同步寄存器LCDCON3配置不正确,试着减少行前等待寄存器LCD_HFPD的值,增大行后等待寄存器LCD_HBPD的值,但保持他们的和基本不变.看看画面有无变化(左移或者右移)
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
改过尝试了,依然没有变化,后来发现是LPC3600一直被Enable,Disable LPC3600以后就没有黑条纹了,但是屏幕一直乱闪,纵向闪动,隐约可以看到WinCE的图标,这该怎么办啊?
寄存器的值都是参照手册设的啊:
s2410LCD->rLCDCON1=(7<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0; //TFT LCD panel,16bpp TFT,ENVID=off
s2410LCD->rLCDCON2=(VBPD<<24)|(LINEVAL_TFT<<14)|(VFPD<<6)|(VSPW);
s2410LCD->rLCDCON3=(HBPD<<19)|(HOZVAL_TFT<<8)|(HFPD);
s2410LCD->rLCDCON4=(MVAL<<8)|(HSPW);
s2410LCD->rLCDCON5=(1<<11)|(1<<9)|(1<<8)|1; //FRM5:6:5,HSYNC and VSYNC are inverted
s2410LCD->rLCDSADDR1=((FRAMEBUF_DMA_BASE>>22)<<21)|M5D(FRAMEBUF_DMA_BASE>>1);
s2410LCD->rLCDSADDR2=M5D( (FRAMEBUF_DMA_BASE+(LCD_XSIZE_TFT*LCD_YSIZE_TFT*2))>>1 );
s2410LCD->rLCDSADDR3=(((LCD_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSIZE_TFT/1);
s2410LCD->rLPCSEL&=~(0x3); // Disable LPC3600
FBuf = (struct FrameBuffer *) (FRAMEBUF_BASE);
s2410LCD->rTPAL=0x0;        
s2410LCD->rLCDCON1|=1; // ENVID=ON   

其中VBPD=11,VFPD=9,VSPW=0,HBPD=68,HFPD=17,HSPW=0,CLKVAL=7,LINEVAL=319,HOZVAL=239.
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

4
 
纵向闪动是Frame(场频)定义有误。

将LCD相关的这些寄存器全部打印出来,然后推算出相应的频率,看看是否正确。

2410的这些频率是从HCLK 60MHz分频过来的,你看看HCLK的频率设置对不对。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

5
 
闪烁是频率太小了,改大点就行了
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
FrameRate = 1/[{(VSPW+1)+(VBPD+1)+(VFPD+1)+(LINEVAL+1)}*{(HSPW+1)+(HBPD+1)+(HFPD+1)+(HOZVAL+1)}*{2*(CLKVAL+1)/(HCLK)}]
根据上面的取值,去CLKVAL=3,HCLK=60MHz,
FrameRate = 1/[263*408*2*(3+1)/60MHz]= 69.9Hz
(另外,我看有的书上写HCLK=100MHz,我就按100MHz计算,取CLKVAL=6,FrameRate=66.57Hz)
这两种情况下,画面比较正常了,但是仍然有比较明显的上下抖动。

还有画面的颜色不对,背景成白色,WindowsCE图标条成粉红色。

这两个问题该怎么办?
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

7
 
抖动已经消除了,但是颜色还是不对,先结贴了,另外再请教了。一个LCD就调了这么久,快要崩了。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(高级)

8
 
“抖动已经消除了,但是颜色还是不对,先结贴了,另外再请教了。一个LCD就调了这么久,快要崩了。”

你的抖动是怎么消除的啊?  背景色不对解决了吗? 我现在遇到了跟你类似的问题。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
mark
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表