你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F429上SDRAM的应用

[复制链接]
涛哥2035 发布时间:2017-7-7 23:31
从2000年玩电脑的时候开始,对CPU频率的追求,对内存和硬盘容量的最求一直都没有停止过。第一台电脑用的赛扬566CPU+64M内存+10G硬盘,一直玩到现在3G赫兹CPU+16G内存+2T硬盘。内存也从SDRAM---DDR---DDR2---DDR3......。
( Q/ ^$ z0 l, |& ]2 G' [( c现在玩单片机也从51的128Byte,到AVR-Mega8的1k,Mega128的4k,到STM32F103C8的20k,再到STM32F407ZE的192k+FSMC外扩1M的RAM,然后头脑发热买了个STM32F429ZI-DISC1开发板的外扩8MByte,SDRAM,最后就是目前用的GD32F450Z外扩64MByte,SDRAM。. E7 u  Y0 {" P4 a; J
内存大了以后能在USB,网络,文件系统,图像处理等一些应用上面做更多的事情,这也就是我为啥要学SDRAM的动力。
SDRAM确实比SRAM的使用麻烦的太多了,也幸好买了STM32F429ZI-DISC1开发板,比自制板要少走很多弯路。为啥这样说呢?因为在网络上太多人说STM32F429的SDRAM控制器是个坑的论调,却从来不考虑是不是自己水平不够才出现的软硬件问题,这里主要是硬件问题,直接说就是自己PCB板绘制水平在高频应用中出现问题。
11.png
8 D# A8 k6 \7 ?/ \7 w
12.png
该板子配置如下
1.  2M的Flash。
( S# [- D. j$ M, d, e# B) Z1 ]. q2.  一个USB OTG FS,一个USB OTG FS/HS,可以同时连接U盘和上位机- T% r# e. \3 v! H/ G5 {
3.  有LCD-TFT控制器,可以直接驱动液晶屏,不过需要扩展SDRAM作为显存,可以支持到32位色1024*768分辨率/ F3 a$ ]7 i6 J* R2 L
4.  支持扩展SDRAM,作为显存和通用内存,开发板上是8M字节的SDRAM,型号为IS42S16400。
13.jpg
如图配置,生成程序就行。
注意一点是,CUBEMX生成的程序只是对MCU芯片内部的SDRAM控制和时序寄存器进行了初始化,对SDRAM芯片内部的控制寄存器另外需要初始化。可能很多人不知道SDRAM内部本身是有控制器的,需要对其进行设置才能正常工作,这也是SDRAM比SRAM应用麻烦的地方。
14.jpg
对SDRAM的操作网络上介绍的很多,这里就不啰嗦,上传一个附件大家看看。
高手进阶,终极内存技术指南——完整.zip (1.39 MB, 下载次数: 354)
收藏 2 评论10 发布时间:2017-7-7 23:31

举报

10个回答
涛哥2035 回答时间:2017-7-7 23:38:10
SDRAM布线方法
3 @$ C$ ?2 N" V3 w9 d1、无所谓在外面还是在内部,都可以,内外走线都要打孔。表层信号紧临地平面就不怕干扰,但要注意外表面空气介电常数不如隔绝空气的内部稳定,在一些湿度,温差大的地方的设备最好走内部,外部走地层,不过这样成本高。4 i: w: T- K- m! n4 k

  P& n+ t5 q9 }4 {- L8 J: C2、等长不是目的,目的是满足建立保持时间,同频同相,采样正确。SDRAM是公共时钟模式,只关心建立时间,不关心保持时间。; g1 v4 \) n, X. X2 \/ t- _

# o  Q8 r. n& s+ V# L0 k: [: G
1.SDRAM时钟信号:时钟信号频率较高,为避免传输线效应,按照工作频率达到或超过75MHz时布线长度应在1000mil以内的原则及为避免与相邻信号产生串扰,走线长度不超过1000mil,线宽10mil,内部间距5mil,外部间距30mil,要求差分布线,精确匹配差分对走线,误差允许在20mil以内。
2. 地址、片选及其它控制信号:线宽5mil,外部间距12mil,内部间距10mil,尽量走成菊花链拓补,可有效控制高次谐波干扰,可比时钟线长,但不能短。
3.SDRAM数据线:线宽5mil,内部间距5mil,外部间距8mil,尽量在同一层布线,数据线与时钟线的线长差控制在50mil内。  
4.在重要的控制信号线上一搬串联33的电阻,消除干扰。
7 o9 w( [4 R5 X1 ~
仔细查看SDRAM手册后发现一个图,如下
4 J' y3 \, x! x+ {  @$ C4 m5 b. p 21.png
4 T2 x  {8 z- J) ^- ~SDRAM数据引脚是50欧姆阻抗,我就用50欧姆阻抗的同轴线试试呗。
4.jpg
50欧姆的射频同轴电缆,5MM直径,感觉挺细了,拿到手还是感觉太粗。。。,凑合用吧。
把MCU和SDRAM之间的时钟线去掉,换成50欧姆同轴电缆,60M全SDRAM测试通过,90M,没问题,100M,没问题!
1 I: P: a0 [; C" v8 W4 b. e  G110M,仍然没问题;120M,也没问题;125M,又出错了。。。; z* j, d9 h1 Q) s
这样的板子,SDRAM跑到120M,你还想怎样?还想怎样!。。。
: Q, K1 d! J% O$ N7 E) pSDRAM为系统二分频,此时,系统时钟为240M。。。。
! V% S8 D% t' N& ~单独测试GD32F450,可以稳定跑到250M,再高频率无法设置了,因为GD32F450倍频最高500,再二分频,最高就是250M。
附上工程文件吧,有需要的朋友拿去。
GD32F450ZGT6-demo.part01.rar (4 MB, 下载次数: 143)
MrJiu 回答时间:2017-7-8 09:50:16
搞了半天在吹GD32F450???
涛哥2035 回答时间:2017-7-8 10:52:31
本帖最后由 whtt 于 2017-7-8 10:54 编辑
' M/ {0 B& N' D! b- i
MrJiu 发表于 2017-7-8 09:500 D5 l3 u% S# `9 v' o
搞了半天在吹GD32F450???

. W" s( p& y1 Q: w# O* M: t429和450一样的呀,程序都是CUBEMX按照STM32F429生成的,你说呢?
wolfgang 回答时间:2017-7-11 13:26:48
挂羊头卖狗肉~~
arenas 回答时间:2017-7-11 13:49:23
当初板子换用SDRAM时候,焊掉SRAM,飞上个SDRAM就行,真不是难事情,程序配置上看手册搞一搞FMC几个数值就好
aoxiangwode2008 回答时间:2018-5-5 21:34:04
膜拜一下。
rockzhouchina 回答时间:2018-9-28 10:50:33
学习了
mqchun 回答时间:2019-5-15 14:49:45
进来看看~~
月明如水 回答时间:2020-8-13 22:32:38
新手上路,膜拜一下!
kong988 回答时间:2021-9-8 17:24:48
涛哥2035 发表于 2017-7-7 23:38
6 U2 y% j3 E! p2 XSDRAM布线方法- v7 d) C% E; m
1、无所谓在外面还是在内部,都可以,内外走线都要打孔。表层信号紧临地平面就不怕干扰,但 ...
' S+ B0 \# e( R1 u1 k' V8 J
新手来学**!& Y1 q% L1 t  Y3 G) [8 i
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版