搜索
bottom↓
回复: 23

STM32H7无法正确读取SDRAM数据,内容随时间变化

[复制链接]

出0入0汤圆

发表于 2022-8-22 14:17:31 | 显示全部楼层 |阅读模式
大家好, 最近搞了一块板子, stm32H757 + IS42S16320F,
layout的时候, 比较粗糙,
没有做等长也没有做阻抗, 也没有放匹配电阻,
直接用6mil的线mcu->sdram, 最长2700mil, 最短650mil.
旁边有一片MP9943的DCDC的电感



运行测试时候, 使用了如下代码:
  __IO uint16_t* p = 0xC0000000U;
      *p = 0;
      *(p+10) = 11;
      *(p+20) = 22;
      *(p+30) = 33;
      *(p+40) = 44;
      *(p+50) = 55;

      HAL_Delay(2);


      uint16_t r0 = *p;
      uint16_t r1 = *(p+10);
      uint16_t r2 = *(p+20);
      uint16_t r3 = *(p+30);
      uint16_t r4 = *(p+40);
      uint16_t r5 = *(p+50);


在没有 HAL_Delay的情况下  r0 到 r5 的值都是55,
在加1ms delay的情况下  r0到r5 会从55开始 不规则递增到 1150
在加2ms delay的情况下  r0到r5 会从115开始 不规则递增到655xx
如果delay超过2ms 读取基本上都是65535

测试过程中 参数对照ds, 以及适当扩大测试过,
频率降低到10Mhz(同时降低了refresh rate)也测试过,
表现状况类似, 写入立刻读取, 只能读取最后写入的值, 有延迟就会读取二进制全1的值

抓取SDCLK

同时看地址和数据线 应该在合适的范围内(时钟在数据中段上升)

对应的配置代码 在ST的747disco开发板上 测试没问题(有做相应配置调整)

想请大家帮忙指点下:
1. 这种情况大概会是哪里的问题, 等长? 干扰? 供电(用的10mil线)? 时序?
2. SDRAM对等长和阻抗要求应该如何定量分析? 有不少地方说 100M就由他去好了, 也有说组内100  或者其他的要求.
3. 或者还有其他需要考虑的因素?  干扰?  远离电感?  


非常感谢!

本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入4汤圆

发表于 2022-8-22 14:22:38 | 显示全部楼层
示波器看一下各个地方电源纹波

出0入0汤圆

发表于 2022-8-22 16:28:38 | 显示全部楼层
同样H7带SDRAM,第一版没有做等长,只能降SDRAM速度才可以,做群脉冲仍然会出问题(ram变了);第二版做等长后,没事。虽然网上说SDRAM速度这么低,随便拉线都可以。。。。。实测不行

出0入59汤圆

发表于 2022-8-22 17:06:04 | 显示全部楼层
公司之前一块 ARM9 板的 SD RAM 随便走线, 线差距估计有2-3个厘米;  过了EMC 认证;卖10来年,好好的


后面公司来个小年轻,上了个429 的案子,SD RAM 死活不通, 和画PCB 的要干起来,说没有等长,没有做阻抗匹配。。。。。。。

最后发现那货画电路图画漏了一根地址线

我是无论如何都不会相信SD RAM 没有做等长,阻抗匹配;会导致内存访问失败的


出0入0汤圆

发表于 2022-8-22 18:48:05 | 显示全部楼层
本帖最后由 xmlbb 于 2022-8-22 18:49 编辑
polarbear 发表于 2022-8-22 17:06
公司之前一块 ARM9 板的 SD RAM 随便走线, 线差距估计有2-3个厘米;  过了EMC 认证;卖10来年,好好的


(引用自4楼)


确实,如果怀疑就把频率降低调试,调通再把频率整上去就知道是不是布线的问题了。我当时调就把频率整到60Mhz,一点问题没有,整120Mhz就有问题,最后调到了96Mhz稳定运行就没深究了。

出100入90汤圆

发表于 2022-8-22 21:11:27 来自手机 | 显示全部楼层
有坛友用过兼容的ST-link 连到stm32f767?今天怎么都连不上去。

出0入0汤圆

 楼主| 发表于 2022-8-22 22:56:30 | 显示全部楼层
xmlbb 发表于 2022-8-22 18:48
确实,如果怀疑就把频率降低调试,调通再把频率整上去就知道是不是布线的问题了。我当时调就把频率整到60 ...
(引用自5楼)

降到10M了都不行,  
线路看的已经麻了
直接重来搞一版得

出0入4汤圆

发表于 2022-8-23 00:00:50 来自手机 | 显示全部楼层
vea_zhang 发表于 2022-8-22 22:56
降到10M了都不行,  
线路看的已经麻了  
直接重来搞一版得

(引用自7楼)

那应该不是布线的问题了,重点检查下是不是有线没连或者虚焊,或者SDRAM芯片有问题,或者退耦电容的放置位置。如果怀疑芯片的问题,可以换一个兼容的SDRAM芯片试一下。

出0入4汤圆

发表于 2022-8-23 00:03:41 来自手机 | 显示全部楼层
vea_zhang 发表于 2022-8-22 22:56
降到10M了都不行,  
线路看的已经麻了  
直接重来搞一版得

(引用自7楼)

另外,时钟不是越低越好的,SDRAM的自刷新时间间隔,是以时钟为基准计数的,降低时钟的同时也要对应修改这个计数枝的,否则自刷新操作会出问题。

出0入0汤圆

 楼主| 发表于 2022-8-23 01:17:00 | 显示全部楼层
zqf441775525 发表于 2022-8-23 00:03
另外,时钟不是越低越好的,SDRAM的自刷新时间间隔,是以时钟为基准计数的,降低时钟的同时也要对应修改 ...
(引用自9楼)

多谢指点, 这个刷新已经按照比例降低, 还是不太行,
所有Pin都用表测了 应该是通的,  因为用的是is42s16系列, 所以重新入了winbond 和 镁光的兼容片试试 ...
这个确实有点诡异了

出5入14汤圆

发表于 2022-8-23 09:02:00 | 显示全部楼层
polarbear 发表于 2022-8-22 17:06
公司之前一块 ARM9 板的 SD RAM 随便走线, 线差距估计有2-3个厘米;  过了EMC 认证;卖10来年,好好的


(引用自4楼)

你们这画PCB的、电路图就完全不管?
还有既然是小年轻,电路图都没人审核吗?

出0入4汤圆

发表于 2022-8-23 09:06:00 | 显示全部楼层
vea_zhang 发表于 2022-8-23 01:17
多谢指点, 这个刷新已经按照比例降低, 还是不太行,
所有Pin都用表测了 应该是通的,  因为用的是is42s16系 ...
(引用自10楼)

我之前遇到过两次SDRAM的问题,希望能帮助你,
有一次是偶尔能读对,偶尔读不对,到最后发现是地址位最高位没有配置GPIO,用的4M的程序,16M的SDRAM,由于最高位没有初始化GPIO,所以那个GPIO是高阻状态,有时候能读对有时候读不对。
还有一次是用的16M的SDRAM调试好之后,为了降成本,实际生产硬件改成了4M的SDRAM,初始化不成功。

出0入0汤圆

发表于 2022-8-23 09:45:16 | 显示全部楼层
vea_zhang 发表于 2022-8-22 22:56
降到10M了都不行,  
线路看的已经麻了  
直接重来搞一版得
(引用自7楼)

你是不是原理有问题,建议你先搞个开发板来调试,感受下成功的喜悦,然后再参考电路搞一板,对比调试,成功率大大提升

出10入46汤圆

发表于 2022-8-23 09:54:33 | 显示全部楼层
先开发板,调通,确定软件没问题

出0入59汤圆

发表于 2022-8-23 10:02:58 | 显示全部楼层
EMC菜鸟 发表于 2022-8-23 09:02
你们这画PCB的、电路图就完全不管?
还有既然是小年轻,电路图都没人审核吗? ...
(引用自11楼)

审图只是看个大概, 按照检查列表的流程检测一遍;
没有人会给你一条线一条线的去检查

还有画PCB的是不会对原理图负责任的,在任何公司都一样;

出0入16汤圆

发表于 2022-8-23 10:23:18 | 显示全部楼层
大概率原理图有问题,走线的影响往往不会太大

出0入4汤圆

发表于 2022-8-23 10:45:37 | 显示全部楼层
初音之恋 发表于 2022-8-23 10:23
大概率原理图有问题,走线的影响往往不会太大
(引用自16楼)

以我的H743的经历,大概率是走线问题。

出0入1209汤圆

发表于 2022-8-23 11:04:57 | 显示全部楼层
关闭H7的D-Cache试试。这货经常这里出问题的

出0入0汤圆

 楼主| 发表于 2022-8-23 11:50:27 | 显示全部楼层
xmlbb 发表于 2022-8-23 09:45
你是不是原理有问题,建议你先搞个开发板来调试,感受下成功的喜悦,然后再参考电路搞一板,对比调试,成 ...
(引用自13楼)

开发板都测过了 没啥问题

出0入0汤圆

 楼主| 发表于 2022-8-23 11:50:56 | 显示全部楼层
kitten 发表于 2022-8-23 11:04
关闭H7的D-Cache试试。这货经常这里出问题的
(引用自18楼)

关了 DCache ICache MPU

出0入0汤圆

 楼主| 发表于 2022-8-23 11:51:58 | 显示全部楼层
zqf441775525 发表于 2022-8-23 09:06
我之前遇到过两次SDRAM的问题,希望能帮助你,
有一次是偶尔能读对,偶尔读不对,到最后发现是地址位最高 ...
(引用自12楼)

您之前的帖子我拜读过了, 也做了相应检查.  
暂时还没找到原因.
继续努力中

出0入0汤圆

发表于 2022-8-25 08:49:25 | 显示全部楼层
最长2700mil是那条线?CLK?

出0入0汤圆

 楼主| 发表于 2022-8-25 11:37:16 | 显示全部楼层
mypear 发表于 2022-8-25 08:49
最长2700mil是那条线?CLK?
(引用自22楼)

是啊, 位置刚好这么寸

出0入0汤圆

 楼主| 发表于 2022-8-31 02:28:34 | 显示全部楼层
问题最终查到:
SysTick的优先级 不知道为什么设置为了15, 经过和开发板配置的对比发现, 开发板此配置为0
修改为0后, 100M速度 压测未见出错.

目前尚未搞明白原因, 还请各位高手帮忙解一下, 谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-14 20:55

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

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