野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19128|回复: 20

F429驱动SDRAM失败, 求指导。

[复制链接]
发表于 2016-7-19 09:46:36 | 显示全部楼层 |阅读模式
上面是官方和我的图纸     没能成功驱动, 不知道是板子布线的问题还是其他。 程序参照是官方的程序, . 怀疑是板子的走线的问题,待会修改频率试试,  以下是配置代码



void SDRAM_Init(void)
{
  FMC_SDRAMInitTypeDef  FMC_SDRAMInitStructure;
  FMC_SDRAMTimingInitTypeDef  FMC_SDRAMTimingInitStructure;

  /* GPIO configuration for FMC SDRAM bank */
  SDRAM_GPIOConfig();

  /* Enable FMC clock */
  RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FMC, ENABLE);

/* FMC Configuration ---------------------------------------------------------*/
/* FMC SDRAM Bank configuration */   
  /* Timing configuration for 90 Mhz of SD clock frequency (180Mhz/2) */
  /* TMRD: 2 Clock cycles */
  FMC_SDRAMTimingInitStructure.FMC_LoadToActiveDelay    = 2;      
  /* TXSR: min=70ns (7x11.11ns) */
  FMC_SDRAMTimingInitStructure.FMC_ExitSelfRefreshDelay = 7;
  /* TRAS: min=42ns (4x11.11ns) max=120k (ns) */
  FMC_SDRAMTimingInitStructure.FMC_SelfRefreshTime      = 4;
  /* TRC:  min=70 (7x11.11ns) */        
  FMC_SDRAMTimingInitStructure.FMC_RowCycleDelay        = 7;         
  /* TWR:  min=1+ 7ns (1+1x11.11ns) */
  FMC_SDRAMTimingInitStructure.FMC_WriteRecoveryTime    = 2;      
  /* TRP:  20ns => 2x11.11ns */
  FMC_SDRAMTimingInitStructure.FMC_RPDelay              = 2;               
  /* TRCD: 20ns => 2x11.11ns */
  FMC_SDRAMTimingInitStructure.FMC_RCDDelay             = 2;

/* FMC SDRAM control configuration */
  FMC_SDRAMInitStructure.FMC_Bank = FMC_Bank2_SDRAM;
  /* Row addressing: [7:0] */
  FMC_SDRAMInitStructure.FMC_ColumnBitsNumber = FMC_ColumnBits_Number_8b;
  /* Column addressing: [11:0] */
  FMC_SDRAMInitStructure.FMC_RowBitsNumber = FMC_RowBits_Number_12b;
  FMC_SDRAMInitStructure.FMC_SDMemoryDataWidth = SDRAM_MEMORY_WIDTH;
  FMC_SDRAMInitStructure.FMC_InternalBankNumber = FMC_InternalBank_Number_4;
  FMC_SDRAMInitStructure.FMC_CASLatency = SDRAM_CAS_LATENCY;
  FMC_SDRAMInitStructure.FMC_WriteProtection = FMC_Write_Protection_Disable;
  FMC_SDRAMInitStructure.FMC_SDClockPeriod = SDCLOCK_PERIOD;  
  FMC_SDRAMInitStructure.FMC_ReadBurst = SDRAM_READBURST;
  FMC_SDRAMInitStructure.FMC_ReadPipeDelay = FMC_ReadPipe_Delay_1;
  FMC_SDRAMInitStructure.FMC_SDRAMTimingStruct = &FMC_SDRAMTimingInitStructure;

  /* FMC SDRAM bank initialization */
  FMC_SDRAMInit(&FMC_SDRAMInitStructure);

  /* FMC SDRAM device initialization sequence */
  SDRAM_InitSequence();
}






其他程序就不贴了 待会附件,  有个疑问, 若是要降频, 除了要修改 TMRD  还应该要修改哪些参数?

PCB

PCB

官方图纸1

官方图纸1

官方图纸2

官方图纸2

自己的图纸

自己的图纸

SDRAM.zip

5.24 KB, 下载次数: 38

回复

使用道具 举报

发表于 2016-7-19 09:50:56 | 显示全部楼层
那个定时刷新也需要修改
回复 支持 反对

使用道具 举报

发表于 2016-7-19 09:53:00 | 显示全部楼层
贡慧丽 发表于 2016-7-19 09:50
那个定时刷新也需要修改

把突发读写改低一点,改成4字节测试下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-19 09:57:44 | 显示全部楼层
flyleaf 发表于 2016-7-19 09:53
把突发读写改低一点,改成4字节测试下

现在出来了, 只能晚上测试, 到时候讨论下
回复 支持 反对

使用道具 举报

发表于 2016-7-19 10:00:05 | 显示全部楼层
你的PCB走线这么短,应该不会有问题的,只能是排除程序或者是焊接的问题。
回复 支持 反对

使用道具 举报

发表于 2016-7-19 10:01:26 | 显示全部楼层
你干脆用我的程序不就得了,你用的SDRAM的型号跟我用的是一样的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-19 10:49:41 | 显示全部楼层
fire 发表于 2016-7-19 10:01
你干脆用我的程序不就得了,你用的SDRAM的型号跟我用的是一样的

就是用你的, 不行  然后对照官方的,  因为用的管脚是144的 没有PH6 PH7   只能选择PB5 和PB6   做片选
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-19 10:50:25 | 显示全部楼层
fire 发表于 2016-7-19 10:00
你的PCB走线这么短,应该不会有问题的,只能是排除程序或者是焊接的问题。

芯片是一个ST的代理商拿的货,  应该没有多大问题。
回复 支持 反对

使用道具 举报

发表于 2016-7-19 11:43:40 | 显示全部楼层
yuanmo 发表于 2016-7-19 10:50
芯片是一个ST的代理商拿的货,  应该没有多大问题。

换一个芯片                       
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-19 12:05:18 | 显示全部楼层

晚上试试,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-19 12:06:16 | 显示全部楼层

  逻辑分析仪还在路上, 回来就知道了,  有人说是pcb的问题,  准备先降速看看
回复 支持 反对

使用道具 举报

发表于 2016-7-19 15:52:16 | 显示全部楼层
yuanmo 发表于 2016-7-19 12:06
逻辑分析仪还在路上, 回来就知道了,  有人说是pcb的问题,  准备先降速看看

我们用最高速也没问题,果断换个芯片试一试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-19 18:01:33 | 显示全部楼层
fire 发表于 2016-7-19 15:52
我们用最高速也没问题,果断换个芯片试一试

和pcb布局有关系不、?  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-19 19:02:36 | 显示全部楼层
fire 发表于 2016-7-19 15:52
我们用最高速也没问题,果断换个芯片试一试

换了一个, mcu 也从新刷了一遍, 还是不行。
回复 支持 反对

使用道具 举报

发表于 2016-7-20 08:35:30 | 显示全部楼层
yuanmo 发表于 2016-7-19 18:01
和pcb布局有关系不、?

看你PCB走线,离的这么近应该不会有问题的。
回复 支持 反对

使用道具 举报

发表于 2016-7-20 08:35:55 | 显示全部楼层
yuanmo 发表于 2016-7-19 19:02
换了一个, mcu 也从新刷了一遍, 还是不行。

那单步调试下,看看哪里出问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-20 08:39:19 | 显示全部楼层
fire 发表于 2016-7-20 08:35
那单步调试下,看看哪里出问题。

你可看下我另外一个帖子。 里面有测试的数据
回复 支持 反对

使用道具 举报

发表于 2016-7-20 08:43:52 | 显示全部楼层
yuanmo 发表于 2016-7-20 08:39
你可看下我另外一个帖子。 里面有测试的数据

单单看错的数据也看不出所以然。你先把原理图再检查一遍,确保原理图没有问题,看你的PCB走线靠这么近不会出啥问题的,最后再调试程序,把速度这些都降低一点。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-20 09:02:15 | 显示全部楼层
fire 发表于 2016-7-20 08:43
单单看错的数据也看不出所以然。你先把原理图再检查一遍,确保原理图没有问题,看你的PCB走线靠这么近不 ...

恩的 我对照下,。
回复 支持 反对

使用道具 举报

发表于 2016-7-20 09:11:24 | 显示全部楼层
帮顶,解答真是详细
回复 支持 反对

使用道具 举报

发表于 2019-12-17 11:38:44 | 显示全部楼层
fire 发表于 2016-7-19 10:01
你干脆用我的程序不就得了,你用的SDRAM的型号跟我用的是一样的

你的程序在哪里?
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-29 19:16 , Processed in 0.047530 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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