搜索
bottom↓
回复: 18

求助STM32F429的SDRAM乱码的问题

[复制链接]

出0入4汤圆

发表于 2018-12-6 21:04:27 | 显示全部楼层 |阅读模式
如题:详细问题描述如下:
芯片STM32F429IGT6,SDRAM芯片K4S561632H-UC75(单价58元),K4S561632N-LI75(单价12元)。

用的官方程序,PCB截图如下图



我是在做CAN记录仪,用SDRAM做缓存,429的CAN1和CAN2接收到CAN总线的数据,并按照一定的格式打包之后放入到SDRAM中缓存,
另外又用了4片STM32F105做CAN转SPI,接429的4个SPI接口,这4个接口直接用DMA的方式把SPI数据写入到SDRAM,这样组成10路CAN总线数据记录仪。
每一路缓存够7000帧之后,把数据写入到SD卡。

现在做了20块板子,问题是:有的SDRAM有乱码,换了一个就好了,过了一段时间又有乱码了,再换一个就好。换下来的这个SDRAM芯片放到另外一个板子上就是好的。
乱码也不是所有的都乱,而是乱一会儿,就过来了,然后再乱一会儿。

还有一个小问题:我用的16M的SDRAM芯片,但是只能访问前4M,后面的12M均无法访问,不知道什么原因。

有没有大佬用过的,指导一下吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入4汤圆

 楼主| 发表于 2018-12-6 21:12:48 | 显示全部楼层
在补充一些现象:
降频使用(60MHz)无效果。用风枪吹一下就好。

时间配置如下:

  /* 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;

出0入24汤圆

发表于 2018-12-6 21:13:57 | 显示全部楼层
首先,基本不用怀疑是PCB的问题,SDRAM肯定是连上就好用。第二,95%的概率是你SDRAM的时序设置错了。把速度调慢一些就好了。

出0入24汤圆

发表于 2018-12-6 21:16:39 | 显示全部楼层
一会儿好使,一会儿不好使的原因是:信号需要setup时间,你给的时间不够。

出0入24汤圆

发表于 2018-12-6 21:18:57 | 显示全部楼层
而且你的时间刚好在信号建立好和没建立好的边缘。如果你有示波器,看“眼图”,你会发现你的眼睛没睁开。

出0入4汤圆

 楼主| 发表于 2018-12-6 21:19:25 | 显示全部楼层
ycwjl728 发表于 2018-12-6 21:16
一会儿好使,一会儿不好使的原因是:信号需要setup时间,你给的时间不够。 ...

降频使用过,也是不行,改过那几个时间,也是不行。

出0入0汤圆

发表于 2018-12-6 21:21:57 来自手机 | 显示全部楼层
这线走的有点随意啊,虽然sdram频率不高,能正常工作那说明电源以及线序没问题。程序也是官方的没啥好说的,不知道sdram信号线有没有完整的参考平面,如果没有的话,我会倾向于看信号完整性,当然也要同时确认软件给的时序参数跟sdram手册中的是不是能满足

出0入0汤圆

发表于 2018-12-6 21:24:48 来自手机 | 显示全部楼层
降频使用都不行,那得看看是不是电源脚,有没有放足电容

出0入24汤圆

发表于 2018-12-6 21:27:23 | 显示全部楼层
zqf441775525 发表于 2018-12-6 21:19
降频使用过,也是不行,改过那几个时间,也是不行。

频率和时序不是一个事儿。还是再检查一下时序配置吧。

出0入4汤圆

 楼主| 发表于 2018-12-6 21:32:31 | 显示全部楼层
本帖最后由 zqf441775525 于 2018-12-6 21:36 编辑
ycwjl728 发表于 2018-12-6 21:27
频率和时序不是一个事儿。还是再检查一下时序配置吧。


新发现,我用MDK的memory窗口在线查看SDRAM乱码位置的地址的数据,发现这个数据是在不断变化的。SDRAM的其他地址没问题。
用手摸住SDRAM的引脚,数据就正常了,看起来是写进去了,读出来的不对。

出0入442汤圆

发表于 2018-12-6 23:32:29 | 显示全部楼层
你这显然是不正常的,我用f4跑32mb的sdr跑133都没一点问题(我记得是133)。布线的话你是不是没有把ck做隔离?我看你布线压根没考虑信号完整性。通常acmd要走一堆,ck单独屏蔽,data/dm走一堆,等长都不用做。至于手摸管脚就正常了,是因为你给管脚加了个rc电路,吸收掉一些干扰信号了。建议换4层板,把电源和地好好布一下。你的电源和地布的非常烂。

出0入4汤圆

 楼主| 发表于 2018-12-7 00:02:40 | 显示全部楼层
wye11083 发表于 2018-12-6 23:32
你这显然是不正常的,我用f4跑32mb的sdr跑133都没一点问题(我记得是133)。布线的话你是不是没有把ck做隔 ...

是4层板,有一个完整的地层,层叠方式 top->GND->SIG->Bottom。CK信号的两边用了GND做隔离。
如果是手摸是加RC的效果的话,我把频率降低点,那 7 个时间加大点,应该就是好的了吧。问题是现在跑42M,都依旧有乱码。

布线这么乱是因为我看了很多资料说是随便布,只要通了就行,而且看到有个哥们用一堆飞线飞了一片SDRAM还能跑到100M,才这么随便布线的。唉。

我感觉应该不是布线的问题,如果是布线的问题,降频+增加那7个时间,肯定会有改观的。

出0入4汤圆

 楼主| 发表于 2018-12-7 00:03:37 | 显示全部楼层
wye11083 发表于 2018-12-6 23:32
你这显然是不正常的,我用f4跑32mb的sdr跑133都没一点问题(我记得是133)。布线的话你是不是没有把ck做隔 ...

F4的SDRAM怎么能跑到133M呢?貌似最高才能到90M吧?

出0入442汤圆

发表于 2018-12-7 00:18:48 来自手机 | 显示全部楼层
zqf441775525 发表于 2018-12-7 00:03
F4的SDRAM怎么能跑到133M呢?貌似最高才能到90M吧?

就是f429,我调的很高,跑算法速度比用tcm要慢上4~5倍我记得。当时是用cube的demo改的好像,点几个led,收发uart命令,还有用dma收vga摄像头数据到sdr里面再通过uart出来,429主频我记得超到240mhz以上才开始出错的,220mhz也稳,当然是用nqueen算法跑的结果,主频调高之后明显发热。adc也跑了跑,有负载时抖动相当大。

建议你养成一个习惯:信号线分组走,同种线走一堆无所谓,不同组仔细隔开。明天我找找我当时的布线。我是正反面来着,当时要做小好像。整个板子紧巴巴的。

出100入113汤圆

发表于 2018-12-7 06:36:20 | 显示全部楼层
目前没遇到这个问题,如果只能访问4MB,仔细看看电路图是不是总线搞错了。数据不稳定,极有可能时序问题了。目前跑84M没有问题。唯一一次不稳定是虚焊接触不良导致。

出0入0汤圆

发表于 2018-12-7 06:57:48 | 显示全部楼层
sdram的布线建议有一个完整的地平面,另外考虑你的程序配置,引脚有没配置正确,有没有漏配置

出0入4汤圆

 楼主| 发表于 2018-12-7 10:46:58 | 显示全部楼层
mypc16888 发表于 2018-12-7 06:57
sdram的布线建议有一个完整的地平面,另外考虑你的程序配置,引脚有没配置正确,有没有漏配置 ...

4层板,有一个完整的地平面的。程序配置核对N次了,应该不会有问题。我之前也怀疑过有引脚漏配置的,查过也没有。

出0入0汤圆

发表于 2018-12-7 11:04:22 | 显示全部楼层
看看别人怎么布的板子,看看什么正点啦,安福莱啦等等吧,他们开发板可定没有问题的,也要看看官方的,应该就是硬件哪里不对了,再有就是多换两套板试试

出0入4汤圆

 楼主| 发表于 2019-2-21 09:41:15 | 显示全部楼层
结贴!A12脚没有配置,之前一直用的4M的,没有A12,现在改成16M的,忘配置A12了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 17:52

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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