硬汉嵌入式论坛

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

[emWin] 疑难症状。。GRAPHIC控件刷新速度

[复制链接]

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2019-7-1 14:47:29 | 显示全部楼层 |阅读模式
本帖最后由 caicaptain2 于 2019-7-1 15:00 编辑

我的主板上是F103外加512KB SRAM。此电路板的FSMC的SRAM地址都是与armfly相同,SRAM是嘉利创上买的10ns的,都不应该有差池。
同一个程序,含emwin和FreeRTOS,仅一个emwin任务。GRAPHIC控件是每秒刷新一次,即每秒添加一个数据,图形往左边走一格。
emwin使用内部RAM的时候,图形刷新正常,每秒走一格,文本控件刷新也正常。 emwin使用外部SRAM的时候,文本刷新正常,一秒一次,但是graphic控件很随机的几秒钟才刷新一次,刷新的时候可以把这几秒的数据都刷出来。。
外部SRAM使用了例程里面的读写检查函数,一切都是正常的。

然后,用emwin例程中的例子,使用F103内部RAM,图形正常。使用外部SRAM,图形的上部几行有花屏,其他90%的面积都是正常的。。。

反复修改SRAM的FSMC的参数,故障现象相同,思路已经呆了。。。。求分析。
小花屏.png

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-1 15:19:55 | 显示全部楼层
你的SRAM是不是离F1比较远,一定要够近,另外就是降低SRAM所涉及到GPIO的速度等级,先搞到最低,然后逐步提升试试
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
 楼主| 发表于 2019-7-1 15:21:39 | 显示全部楼层
eric2013 发表于 2019-7-1 15:19
你的SRAM是不是离F1比较远,一定要够近,另外就是降低SRAM所涉及到GPIO的速度等级,先搞到最低,然后逐步提 ...

它们很近啊,比安富莱的demo板还近呢。。。
关键是读写校验函数的结果都是正常的。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-1 15:22:39 | 显示全部楼层
caicaptain2 发表于 2019-7-1 15:21
它们很近啊,比安富莱的demo板还近呢。。。
关键是读写校验函数的结果都是正常的。

测试的时候一定要是大批量数据做测试,8bit,16bit和32bit数据都测试一遍,且一定要是大批量的
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
 楼主| 发表于 2019-7-1 16:13:16 | 显示全部楼层
初步感觉,因为外置SRAM和TFT都用到了FSMC总线,它们在互相使用时有冲突。 比如tft的控制器需要连续读写时,可能插入了SRAM的操作,造成部分数据错乱。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-1 16:43:41 | 显示全部楼层
caicaptain2 发表于 2019-7-1 16:13
初步感觉,因为外置SRAM和TFT都用到了FSMC总线,它们在互相使用时有冲突。 比如tft的控制器需要连续读写时 ...

这个完全不影响,F1的几个提高篇Demo,我都是用的外部SRAM。

首先单任务或者裸机的情况下,TFT和SRAM都是在一个任务里面,不存在切换问题。

然后就是多任务和中断与任务都操作FSMC设备,我在H7和F429上专门验证过,由于我们的板子都有一个FMC扩展IO,测试几百KHz的中断狂刷FMC扩展IO,完全不影响FMC外接的SDRAM做LCD显存。

最后根本上来说,只要你的硬件没问题,FSMC作为硬件操作,他们是操作在不同的地址上的设备,基本不会有相互干扰的。数据基本是不会出错的。
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
 楼主| 发表于 2019-7-2 13:49:18 | 显示全部楼层
eric2013 发表于 2019-7-1 16:43
这个完全不影响,F1的几个提高篇Demo,我都是用的外部SRAM。

首先单任务或者裸机的情况下,TFT和SRAM ...

测试到现在,你的观点应该是对的。

目前发现,如果关闭 WM_CF_MEMDEV,界面有点闪,但是graphic的曲线刷新就都是正常的。
一旦打开了memdev,graphic的刷新有撕裂,不刷新的色块,和刷新暂停几秒等问题。
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
 楼主| 发表于 2019-7-3 14:13:18 | 显示全部楼层
caicaptain2 发表于 2019-7-2 13:49
测试到现在,你的观点应该是对的。

目前发现,如果关闭 WM_CF_MEMDEV,界面有点闪,但是graphic的曲线 ...

今天终于找到重要/主要原因了。
这种花屏现象只在这种情况下出现: F103芯片同时配置了外部SRAM和TFT,且TFT的排线比较长(我这里是30cm),且开启了memdev,且emwin的缓存设定在外部SRAM。如果缓存设定在内部RAM,或者关闭memdev,或者排线变短,花屏就消失了。
原因是,TFT排线和SRAM同时连接了FSMC数据的16根线,而且数据的16根线由于长排线的延长易受干扰。液晶模块上的数据线地址线全部都串联了33欧姆电阻抗干扰。而arm板上的f103和SRAM之间没有这种措施。

emwin的缓存需要快速的大量的读写,外部fsmc的速度有限,刷屏速度就不好,也不可靠。下一步,数据线16根的pcb布局,arm就近直连SRAM,然后串联33欧姆电阻到tft的排线插座
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-7-3 15:23:10 | 显示全部楼层
caicaptain2 发表于 2019-7-3 14:13
今天终于找到重要/主要原因了。
这种花屏现象只在这种情况下出现: F103芯片同时配置了外部SRAM和TFT, ...

谢谢告知最终原因。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 03:11 , Processed in 0.240352 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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