硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4098|回复: 14
收起左侧

[RT1050] 调试LCD显示界面的时候出现不稳定性横向偏移

[复制链接]

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2019-6-6 16:59:42 | 显示全部楼层 |阅读模式
本帖最后由 Leaf缘 于 2019-6-6 16:59 编辑

如题,调试时发现lcd一会显示正常,一会就偏移,求大神指点大概是哪方面问题?
正确界面图片如下,可以看到四角黑方块对应:

正确时的显示位置

正确时的显示位置


以下均为偏移显示界面

偏移显示

偏移显示

偏移显示

偏移显示

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115694
QQ
发表于 2019-6-7 11:48:57 | 显示全部楼层
可能是场同步,行同步以及时钟的极性问题,你切换高低电平极性配置看看。

极性问题会导致显示的时候错位
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2019-6-20 20:58:48 | 显示全部楼层
出现同样的问题,发现是sdram问题。SDRAM的主频太高。

        CLOCK_InitSysPfd(kCLOCK_Pfd2, 29);        // 28 = 169MHz (失败)  29 = 163MHz (OK) 32 = 148MHz
        CLOCK_SetMux(kCLOCK_SemcMux, 1);
        CLOCK_SetDiv(kCLOCK_SemcDiv, 1);

这样就好了,但好像USB又用不了。

emwin用SDRAM用作运行内存时也跑死机。

  /* Assign work memory area to emWin */
    GUI_ALLOC_AssignMemory((void *)GUI_MEMORY_ADDR, GUI_NUMBYTES);

回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2019-6-26 14:04:23 | 显示全部楼层
我的RT1052也遇到了同样的问题,上电后大部分情况下正常,20%的概率下图发生横向偏移,头疼中,上来问问硬汉老师
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115694
QQ
发表于 2019-6-28 08:54:07 | 显示全部楼层
liuyawei 发表于 2019-6-26 14:04
我的RT1052也遇到了同样的问题,上电后大部分情况下正常,20%的概率下图发生横向偏移,头疼中,上来问问硬 ...

这个问题还真不太清楚了。
回复

使用道具 举报

9

主题

18

回帖

45

积分

新手上路

积分
45
发表于 2019-6-28 19:45:09 | 显示全部楼层
分辨率多少?
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2019-7-1 17:17:38 | 显示全部楼层
我的分辨率是320*240
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2019-7-1 17:18:07 | 显示全部楼层

我的分辨率是320*240
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2019-7-1 17:24:49 | 显示全部楼层
本帖最后由 liuyawei 于 2019-7-1 17:40 编辑

这是我的图


偏移图片.PNG
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2019-7-5 08:51:17 | 显示全部楼层
liuyawei 发表于 2019-6-26 14:04
我的RT1052也遇到了同样的问题,上电后大部分情况下正常,20%的概率下图发生横向偏移,头疼中,上来问问硬 ...

我的已经解决了,大概调整了这几个部分,SDRAM时钟,LCD时序,LCD时钟,LCD时钟是根据时序算出来的值去配的,我的分辨率是1024*768
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2019-7-5 08:52:25 | 显示全部楼层

跟我之前情况一样,横向偏移,具体原因我其实还是搞不太明白,我没有时序资料,都是按照偏移的概率去调的
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2019-7-5 09:03:30 | 显示全部楼层
袁文杰 发表于 2019-6-20 20:58
出现同样的问题,发现是sdram问题。SDRAM的主频太高。

        CLOCK_InitSysPfd(kCLOCK_Pfd2, 29);        // 28 = 16 ...

是的,我也做了SEMC_CLK的调整,现在显示稳定了,我调到了132M,过高的话,我NAND读写会有问题,我想单独调低NAND时钟,发现不起作用,调整SEMC_CLK才行,我usb读写倒是没有问题,可能是因为用的不是同一个。emwin目前可以正常跑,freertos+emwin。
  CLOCK_SetMux(kCLOCK_SemcMux, 1);         /* Select 528_pfd2 as semc root clk */
  CLOCK_SetMux(kCLOCK_SemcAltMux, 0);
  CLOCK_InitSysPfd(kCLOCK_Pfd2,18); //528*18/PFD2 = 9504/PFD2
  CLOCK_InitUsb1Pfd(kCLOCK_Pfd1,35);
  CLOCK_SetDiv(kCLOCK_SemcDiv, 3);        /* 3-div 4 =132M*/
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2019-7-5 09:05:00 | 显示全部楼层
eric2013 发表于 2019-6-7 11:48
可能是场同步,行同步以及时钟的极性问题,你切换高低电平极性配置看看。

极性问题会导致显示的时候错位

谢谢硬汉,是时序及时钟问题
回复

使用道具 举报

4

主题

9

回帖

21

积分

新手上路

积分
21
发表于 2019-7-10 21:08:58 | 显示全部楼层
Leaf缘 发表于 2019-7-5 09:03
是的,我也做了SEMC_CLK的调整,现在显示稳定了,我调到了132M,过高的话,我NAND读写会有问题,我想单独 ...

根据你的配置,我解决了我的问题,谢谢各位。我分析了一下:
CLOCK_SetMux(kCLOCK_SemcMux, 0);时,SDRAM时钟为432/4=108MHz,Periph_clk output will be used as SEMC clock root,这个应该时主时钟
CLOCK_SetMux(kCLOCK_SemcMux, 1);时,SDRAM时钟为528/4=132MHz,1 SEMC alternative clock(PLL2 PFD2) will be used as SEMC clock root,这个应该为可供选择的时钟。

两种我都试了一下,都可以。各位,我的LCD时钟为27MHz,那么sdram的时钟会是27Mhz的倍数较好么?这样不会产生相位延迟?
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
发表于 2021-1-11 15:31:44 | 显示全部楼层
Leaf缘 发表于 2019-7-5 09:03
是的,我也做了SEMC_CLK的调整,现在显示稳定了,我调到了132M,过高的话,我NAND读写会有问题,我想单独 ...

楼主你好,我最近也在调试LCD,出现跟你一样的问题,请问是哪里问题导致的,是SDRAM的时钟太高了吗?
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-12 14:03 , Processed in 0.303604 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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