硬汉嵌入式论坛

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

FMC写信号咋总是跟片选同步呢?

[复制链接]

98

主题

360

回帖

654

积分

金牌会员

积分
654
发表于 2019-7-16 11:41:37 | 显示全部楼层 |阅读模式
选用的模式1,手册上的WE写信号滞后片选信号ADDSET个HCLK周期,咋实际总是跟片选一起出来,麻烦硬汉哥给 瞅瞅是不是哪儿设置错了? 逻辑时序.png 模式1写时序.png
/* FMC initialization function */
void MX_FMC_Init(void)
{
  FMC_NORSRAM_TimingTypeDef Timing = {0};
  FMC_SDRAM_TimingTypeDef SdramTiming = {0};

  /** Perform the SRAM1 memory initialization sequence
  */
  hsram1.Instance = FMC_NORSRAM_DEVICE;
  hsram1.Extended = FMC_NORSRAM_EXTENDED_DEVICE;
  /* hsram1.Init */
  hsram1.Init.NSBank = FMC_NORSRAM_BANK1;
  hsram1.Init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE;
  hsram1.Init.MemoryType = FMC_MEMORY_TYPE_SRAM;
  hsram1.Init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_8;
  hsram1.Init.BurstAccessMode = FMC_BURST_ACCESS_MODE_DISABLE;
  hsram1.Init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_LOW;
  hsram1.Init.WrapMode = FMC_WRAP_MODE_DISABLE;
  hsram1.Init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS;
  hsram1.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE;
  hsram1.Init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE;
  hsram1.Init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE;
  hsram1.Init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE;
  hsram1.Init.WriteBurst = FMC_WRITE_BURST_DISABLE;
  hsram1.Init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ONLY;
  hsram1.Init.PageSize = FMC_PAGE_SIZE_NONE;
  /* Timing */
  Timing.AddressSetupTime = 3;
  Timing.AddressHoldTime = 2;
  Timing.DataSetupTime = 2;
  Timing.BusTurnAroundDuration = 1;
  Timing.CLKDivision = 3;
  Timing.DataLatency = 3;
  Timing.AccessMode = FMC_ACCESS_MODE_A;

  /* ExtTiming */

  if (HAL_SRAM_Init(&hsram1, &Timing, NULL) != HAL_OK)
  {
    Error_Handler( );
  }



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2019-7-16 12:50:22 | 显示全部楼层
你的逻辑分析仪是不是有问题,看我示波器测试的,建立时间设置为10,也就是50ns,用的H7帮你测试
QQ截图20190716125024.jpg
回复

使用道具 举报

98

主题

360

回帖

654

积分

金牌会员

积分
654
 楼主| 发表于 2019-7-16 13:54:19 | 显示全部楼层
还真是,示波器上可以看出来,逻辑分析太低端了,刚试了一下,地址建立时间大于5才能捕捉到。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2019-7-16 13:54:58 | 显示全部楼层
云琴箫龙 发表于 2019-7-16 13:54
还真是,示波器上可以看出来,逻辑分析太低端了,刚试了一下,地址建立时间大于5才能捕捉到。

该淘汰了。
回复

使用道具 举报

98

主题

360

回帖

654

积分

金牌会员

积分
654
 楼主| 发表于 2019-7-16 14:03:54 | 显示全部楼层

哈哈,不富裕啊,降低点儿频率先凑合着用。
回复

使用道具 举报

23

主题

1444

回帖

1513

积分

至尊会员

积分
1513
发表于 2019-7-16 14:11:45 | 显示全部楼层
云琴箫龙 发表于 2019-7-16 13:54
还真是,示波器上可以看出来,逻辑分析太低端了,刚试了一下,地址建立时间大于5才能捕捉到。

你的逻辑分析仪不仅低端,而且有问题,你这个低电平时间DataSetupTime是数据建立时间,这个都可以正常显示,而地址建立时间部分就被省掉了。
代码不规范,亲人两行泪!
回复

使用道具 举报

23

主题

1444

回帖

1513

积分

至尊会员

积分
1513
发表于 2019-7-16 14:12:32 | 显示全部楼层
QQ截图20190716141035.jpg
代码不规范,亲人两行泪!
回复

使用道具 举报

98

主题

360

回帖

654

积分

金牌会员

积分
654
 楼主| 发表于 2019-7-16 15:32:47 | 显示全部楼层

今天被这个东西耽误了不少事儿,尽信书不如无书啊
回复

使用道具 举报

39

主题

1516

回帖

1638

积分

至尊会员

积分
1638
发表于 2019-7-16 17:03:46 | 显示全部楼层
云琴箫龙 发表于 2019-7-16 15:32
今天被这个东西耽误了不少事儿,尽信书不如无书啊

买一个采样率200M的分析仪
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-14 04:15 , Processed in 0.045047 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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