打印

FSMC对IS61LV25616的时序?

[复制链接]
3381|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
WX1986|  楼主 | 2010-6-6 22:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
哪位仁兄用过STM32成功控制IS61LV25616,能不能给个FSMC时序参数的设置,感激不尽。
沙发
WX1986|  楼主 | 2010-6-11 09:15 | 只看该作者
自己顶一下,以下是我的设置,读写均使用模式A,请指点。
  p1.FSMC_AddressSetupTime = 0;
  p1.FSMC_AddressHoldTime = 0;
  p1.FSMC_DataSetupTime = 5;
  p1.FSMC_BusTurnAroundDuration = 0;
  p1.FSMC_CLKDivision = 0;
  p1.FSMC_DataLatency = 0;
  p1.FSMC_AccessMode = FSMC_AccessMode_A;
  
  p2.FSMC_AddressSetupTime = 0;
  p2.FSMC_AddressHoldTime = 0;
  p2.FSMC_DataSetupTime = 3;
  p2.FSMC_BusTurnAroundDuration = 0;
  p2.FSMC_CLKDivision = 0;
  p2.FSMC_DataLatency = 0;
  p2.FSMC_AccessMode = FSMC_AccessMode_A;

  FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3;
  FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
  FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
  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_Enable;
  FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p1;
  FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p2;

  FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);

使用特权

评论回复
板凳
WX1986|  楼主 | 2010-6-11 09:15 | 只看该作者
自己顶一下,以下是我的设置,读写均使用模式A,请指点。
  p1.FSMC_AddressSetupTime = 0;
  p1.FSMC_AddressHoldTime = 0;
  p1.FSMC_DataSetupTime = 5;
  p1.FSMC_BusTurnAroundDuration = 0;
  p1.FSMC_CLKDivision = 0;
  p1.FSMC_DataLatency = 0;
  p1.FSMC_AccessMode = FSMC_AccessMode_A;
  
  p2.FSMC_AddressSetupTime = 0;
  p2.FSMC_AddressHoldTime = 0;
  p2.FSMC_DataSetupTime = 3;
  p2.FSMC_BusTurnAroundDuration = 0;
  p2.FSMC_CLKDivision = 0;
  p2.FSMC_DataLatency = 0;
  p2.FSMC_AccessMode = FSMC_AccessMode_A;

  FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3;
  FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
  FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
  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_Enable;
  FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p1;
  FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p2;

  FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);

使用特权

评论回复
地板
香水城| | 2010-6-11 10:49 | 只看该作者
你看看这个应用笔记,再结合存储器的时序自己算一下就好了:
AN2784  Using the high-density STM32F10xxx FSMC peripheral to drive external memories

这是翻译的版本:http://www.stmicroelectronics.com.cn/mcu/images/AN2784_CHN_2008_Sept.pdf

使用特权

评论回复
5
WX1986|  楼主 | 2010-6-11 15:05 | 只看该作者
谢谢香主。还是那个,看过了,这个应用笔记不行啊,根本算不出来,以前发帖问过了.
https://bbs.21ic.com/viewthread.php?tid=167295&highlight=FSMC
继续顶起。

使用特权

评论回复
6
香水城| | 2010-6-11 15:12 | 只看该作者
怎么算不出来?把你计算的过程贴出来看看?

使用特权

评论回复
7
WX1986|  楼主 | 2010-6-11 20:33 | 只看该作者
本帖最后由 WX1986 于 2010-6-11 20:35 编辑

非常感谢香主你的回复。
https://bbs.21ic.com/viewthread.php?tid=167295&highlight=FSMC
这个帖子里详述了计算过程,也是香主你回的呢。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

22

帖子

1

粉丝