搜索
查看: 18424|回复: 9

[原创] STM32F429上SDRAM的应用

[复制链接]

该用户从未签到

5

主题

185

帖子

8

蝴蝶豆

金牌会员

最后登录
2021-12-10
发表于 2017-7-7 23:31:51 | 显示全部楼层 |阅读模式
从2000年玩电脑的时候开始,对CPU频率的追求,对内存和硬盘容量的最求一直都没有停止过。第一台电脑用的赛扬566CPU+64M内存+10G硬盘,一直玩到现在3G赫兹CPU+16G内存+2T硬盘。内存也从SDRAM---DDR---DDR2---DDR3......。
现在玩单片机也从51的128Byte,到AVR-Mega8的1k,Mega128的4k,到STM32F103C8的20k,再到STM32F407ZE的192k+FSMC外扩1M的RAM,然后头脑发热买了个STM32F429ZI-DISC1开发板的外扩8MByte,SDRAM,最后就是目前用的GD32F450Z外扩64MByte,SDRAM。
内存大了以后能在USB,网络,文件系统,图像处理等一些应用上面做更多的事情,这也就是我为啥要学SDRAM的动力。
SDRAM确实比SRAM的使用麻烦的太多了,也幸好买了STM32F429ZI-DISC1开发板,比自制板要少走很多弯路。为啥这样说呢?因为在网络上太多人说STM32F429的SDRAM控制器是个坑的论调,却从来不考虑是不是自己水平不够才出现的软硬件问题,这里主要是硬件问题,直接说就是自己PCB板绘制水平在高频应用中出现问题。
11.png

12.png
该板子配置如下
1.  2M的Flash。
2.  一个USB OTG FS,一个USB OTG FS/HS,可以同时连接U盘和上位机
3.  有LCD-TFT控制器,可以直接驱动液晶屏,不过需要扩展SDRAM作为显存,可以支持到32位色1024*768分辨率
4.  支持扩展SDRAM,作为显存和通用内存,开发板上是8M字节的SDRAM,型号为IS42S16400。
13.jpg
如图配置,生成程序就行。
注意一点是,CUBEMX生成的程序只是对MCU芯片内部的SDRAM控制和时序寄存器进行了初始化,对SDRAM芯片内部的控制寄存器另外需要初始化。可能很多人不知道SDRAM内部本身是有控制器的,需要对其进行设置才能正常工作,这也是SDRAM比SRAM应用麻烦的地方。
14.jpg
对SDRAM的操作网络上介绍的很多,这里就不啰嗦,上传一个附件大家看看。
高手进阶,终极内存技术指南——完整.zip (1.39 MB, 下载次数: 365)
回复

使用道具 举报

该用户从未签到

5

主题

185

帖子

8

蝴蝶豆

金牌会员

最后登录
2021-12-10
 楼主| 发表于 2017-7-7 23:38:10 | 显示全部楼层
SDRAM布线方法
1、无所谓在外面还是在内部,都可以,内外走线都要打孔。表层信号紧临地平面就不怕干扰,但要注意外表面空气介电常数不如隔绝空气的内部稳定,在一些湿度,温差大的地方的设备最好走内部,外部走地层,不过这样成本高。

2、等长不是目的,目的是满足建立保持时间,同频同相,采样正确。SDRAM是公共时钟模式,只关心建立时间,不关心保持时间。

1.SDRAM时钟信号:时钟信号频率较高,为避免传输线效应,按照工作频率达到或超过75MHz时布线长度应在1000mil以内的原则及为避免与相邻信号产生串扰,走线长度不超过1000mil,线宽10mil,内部间距5mil,外部间距30mil,要求差分布线,精确匹配差分对走线,误差允许在20mil以内。
2. 地址、片选及其它控制信号:线宽5mil,外部间距12mil,内部间距10mil,尽量走成菊花链拓补,可有效控制高次谐波干扰,可比时钟线长,但不能短。
3.SDRAM数据线:线宽5mil,内部间距5mil,外部间距8mil,尽量在同一层布线,数据线与时钟线的线长差控制在50mil内。  
4.在重要的控制信号线上一搬串联33的电阻,消除干扰。

仔细查看SDRAM手册后发现一个图,如下
21.png
SDRAM数据引脚是50欧姆阻抗,我就用50欧姆阻抗的同轴线试试呗。
4.jpg
50欧姆的射频同轴电缆,5MM直径,感觉挺细了,拿到手还是感觉太粗。。。,凑合用吧。
把MCU和SDRAM之间的时钟线去掉,换成50欧姆同轴电缆,60M全SDRAM测试通过,90M,没问题,100M,没问题!
110M,仍然没问题;120M,也没问题;125M,又出错了。。。
这样的板子,SDRAM跑到120M,你还想怎样?还想怎样!。。。
SDRAM为系统二分频,此时,系统时钟为240M。。。。
单独测试GD32F450,可以稳定跑到250M,再高频率无法设置了,因为GD32F450倍频最高500,再二分频,最高就是250M。
附上工程文件吧,有需要的朋友拿去。
GD32F450ZGT6-demo.part01.rar (4 MB, 下载次数: 138)
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

1002

帖子

363

蝴蝶豆

版主

最后登录
2021-4-15
发表于 2017-7-8 09:50:16 | 显示全部楼层
搞了半天在吹GD32F450???
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

185

帖子

8

蝴蝶豆

金牌会员

最后登录
2021-12-10
 楼主| 发表于 2017-7-8 10:52:31 | 显示全部楼层
本帖最后由 whtt 于 2017-7-8 10:54 编辑
MrJiu 发表于 2017-7-8 09:50
搞了半天在吹GD32F450???

429和450一样的呀,程序都是CUBEMX按照STM32F429生成的,你说呢?
回复 支持 反对

使用道具 举报

该用户从未签到

74

主题

1442

帖子

194

蝴蝶豆

版主

最后登录
2023-10-26
发表于 2017-7-11 13:26:48 | 显示全部楼层
挂羊头卖狗肉~~
回复 支持 反对

使用道具 举报

该用户从未签到

12

主题

280

帖子

0

蝴蝶豆

金牌会员

最后登录
2018-10-15
发表于 2017-7-11 13:49:23 | 显示全部楼层
当初板子换用SDRAM时候,焊掉SRAM,飞上个SDRAM就行,真不是难事情,程序配置上看手册搞一搞FMC几个数值就好
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

403

帖子

0

蝴蝶豆

金牌会员

最后登录
2021-7-30
发表于 2018-5-5 21:34:04 | 显示全部楼层
膜拜一下。
回复

使用道具 举报

该用户从未签到

0

主题

9

帖子

0

蝴蝶豆

初级会员

最后登录
2018-10-16
发表于 2018-9-28 10:50:33 | 显示全部楼层
学习了
回复

使用道具 举报

该用户从未签到

0

主题

8

帖子

0

蝴蝶豆

中级会员

最后登录
2019-8-6
发表于 2019-5-15 14:49:45 | 显示全部楼层
进来看看~~
回复

使用道具 举报

该用户从未签到

0

主题

2

帖子

0

蝴蝶豆

新手上路

最后登录
2020-8-13
发表于 2020-8-13 22:32:38 来自手机 | 显示全部楼层
新手上路,膜拜一下!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-20 02:36 , Processed in 0.207972 second(s), 46 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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