OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14459|回复: 9

液晶屏 通过FSMC 刷新速度的问题

[复制链接]

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1818
金钱
1818
注册时间
2011-10-9
在线时间
231 小时
发表于 2013-3-5 10:13:38 | 显示全部楼层 |阅读模式
有个液晶屏 7寸 800*480 就是那种 CPLD+SDRAM  8088接口的那种方案


我用FSMC接口 采用官方提供的参数  在stm32运行72m的时候  有时候 会出现花屏  

当 stm的主频降低到 5倍 就是5*8 40MHZ的时候 花屏消失 或者把FSMC的 地址建立时间 啥的 变大  也不会花屏 


但是这个屏给出stm32的例程是用一个比较快的参数的  

我的stm32 挂了1个flash 和一个 屏       。 不能跑比较快的参数 是否和布线有关系(我布线功力不行 都是随便布的 很乱)


另外  这个屏支持点读 和 点写功能(不支持区域读 支持区域写)  现在我做反色 只能读一个点 取反 然后后写入  当写入256*256=65535byte数据 会发现反色比较慢 

有办法体高速度么  我听别人说 刷这个屏 可以做到 几十毫秒 但是现在我刷一屏数据需要1秒多 (800*480)












正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1818
金钱
1818
注册时间
2011-10-9
在线时间
231 小时
 楼主| 发表于 2013-3-5 10:16:56 | 显示全部楼层
补充  我现在稳定使用的FSMC参数

FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
  FSMC_NORSRAMTimingInitTypeDef  p;
  //GPIO_InitTypeDef GPIO_InitStructure; 

  //初始化io



/*-- FSMC Configuration ------------------------------------------------------*/
  p.FSMC_AddressSetupTime = 0x10;//
 //   p.FSMC_AddressSetupTime = 0x02;//
  p.FSMC_AddressHoldTime = 0x05;
  p.FSMC_DataSetupTime = 0x12;
 //  p.FSMC_DataSetupTime = 0x05;
  p.FSMC_BusTurnAroundDuration = 0x05;
  p.FSMC_CLKDivision = 0x05;
  p.FSMC_DataLatency = 0x05;
  p.FSMC_AccessMode = FSMC_AccessMode_B;

  FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2;
  FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
  FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;
  FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
  FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
  FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
  FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
  FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
回复 支持 反对

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1818
金钱
1818
注册时间
2011-10-9
在线时间
231 小时
 楼主| 发表于 2013-3-5 10:17:34 | 显示全部楼层
屏给出的参数

FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
  FSMC_NORSRAMTimingInitTypeDef  p;
  //GPIO_InitTypeDef GPIO_InitStructure; 

  //初始化io



/*-- FSMC Configuration ------------------------------------------------------*/
  p.FSMC_AddressSetupTime = 0x2;
 
  p.FSMC_AddressHoldTime = 0x00;
  p.FSMC_DataSetupTime = 0x5;
 
  p.FSMC_BusTurnAroundDuration = 0x00;
  p.FSMC_CLKDivision = 0x00;
  p.FSMC_DataLatency = 0x00;
  p.FSMC_AccessMode = FSMC_AccessMode_B;

  FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2;
  FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
  FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;
  FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
  FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
  FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
  FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
  FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-5 11:00:20 | 显示全部楼层
我也是用的CPLD+SDRAM方案,用我们例程的FSMC配置,一点问题没有.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1818
金钱
1818
注册时间
2011-10-9
在线时间
231 小时
 楼主| 发表于 2013-3-5 11:25:02 | 显示全部楼层
原子你刷 800*480的全屏 速度多少啊
回复 支持 反对

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1818
金钱
1818
注册时间
2011-10-9
在线时间
231 小时
 楼主| 发表于 2013-3-5 11:25:13 | 显示全部楼层
384k数据
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-5 12:01:51 | 显示全部楼层
回复【5楼】simms01:
---------------------------------
没统计,但是肯定不要1秒那么久,估计在0.1秒以内吧,有时间我看看
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-5 12:03:17 | 显示全部楼层
哦,可以计算的.
数据量是320*240的5倍.
那么速度就是刷320*240的1/5,我统计320*240是60帧,那么刷800*480,速度在12帧左右.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1818
金钱
1818
注册时间
2011-10-9
在线时间
231 小时
 楼主| 发表于 2013-3-5 14:57:31 | 显示全部楼层
不是净刷屏哦 如果只是填充颜色 现在也可以刷到12fps

例如将一个bmp 从flash读取出来 填充到 液晶     能达到什么速度啊

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-5 16:20:24 | 显示全部楼层
那就没测试了。
不过肯定快不了了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-22 19:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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