STM32F429驱动SDRAM
1 SDRAM控制原理
1.1 SDRAM信号线

1.2 SDRAM地址线
SDRAM包含有“A”以及“BA”两类地址线:
A:行(Row)与列(Column)共用的地址线
BA:独立的用于指定SDRAM芯片内部存储阵列号(Bank)

通讯时,当RAS=0,则“行地址选通器”被选通,地址线A[11:0]表示的地址会被输入到“行地址译码器”中,行地址被选中;同时地址线BA[1:0]表示的Bank也被锁存,选中要操作的Bank号;接着CAS=0,则“列地址选通器”被选通,地址线A[11:0]表示的地址会被输入到“列地址译码及锁存器”中作为列地址,完成寻址过程。
1.3 SDRAM数据线
IS45s16400J存储阵列的“数据宽度”是16位,但在实际应用中也可能会以8位宽度存取数据,这时我们只需要DQ[7:0]表示数据,而DQ[15:8]数据线表示的数据必须忽略。所以数据输入输出时,还会使用DQM[1:0]来配合,每根DQM线对应8位数据。如DQM0=0,DQM1=1时,数据线DQ[7:0]表示数据有效,而DQ[15:8]表示数据无效。
1.4 SDRAM容量计算

已知IS45s16400J芯片行地址12根线,列地址8根,4个Bank,位宽16bit。
可以计算出:
SDRAM的总单元数 =(2^行地址选择线)*(2^列地址选择线)*Bank选择线=2^(12+8)*4=2^10*4=1M bits*4
SDRAM总容量 = 单元数*位宽=1M bits*4*16=64M bits = 8MB(Bytes)
2 FMC
2.1 通信引脚
| SDRAM引脚 | FMC引脚 | 说明 |
| CLK | FMC_SDCLK | 同步时钟信号 |
| CKE | FMC_SDCKE1 |
时钟使能信号 |
| CS | FMC_SDNE1 | 片选信号 |
| CAS | FMC_NCAS | 列地址选通 |
| RAS | FMC_NRAS | 行地址选通 |
| WE | FMC_SDNWE | 写使能 |
| DQM[0:1] | FMC_NBL[0:1] | 数据输入/输出掩码信号 |
| BA[0:1] | FMC_A[14:15] | SDRAM芯片内部Bank地址输入 |
| A[0:11] | FMC_A[0:11] | 地址输入 |
| DQ[0:15] | FMC_D[0:15] | 数据输入/输出 |
CKE和CS作用:
FMC_SDCKE0,FMC_SDCLK0:FMC映射的SDRAM的存储区域Bank1
FMC_SDCKE1,FMC_SDCLK1:FMC映射的SDRAM的存储区域Bank2
2.2 地址映射

FMC_SDCKE0,FMC_SDCLK0:FMC映射的SDRAM的存储区域Bank1(0xC000 0000~0xCFFF FFFF)
FMC_SDCKE1,FMC_SDCLK1:FMC映射的SDRAM的存储区域Bank2(0xD000 0000~0xDFFF FFFF)
注意:这里的Bank和上面所讲的SDRAM芯片内部存储区域Bank1~4是不一样的概念。
STM32F429驱动SDRAM的更多相关文章
- lPC1788驱动SDRAM
Sdram型号为hy57v256 #ifndef __SRAM_H_ #define __SRAM_H_ #include "common.h" #include "de ...
- FPGA之驱动sdram控制兼容性移植实验
cb早在2012年就推出了VIP 视频开发板 V1.4 这套开发板是ep2的,摄像头是ov7670,虽然不如当前的vip20强大,但也算是其雏形. 在vip20后期,cb对sdram以及其他模块进行 ...
- 第26章 FMC—扩展外部SDRAM—零死角玩转STM32-F429系列
第26章 FMC—扩展外部SDRAM 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写
实验十八:SDRAM模块① — 单字读写 笔者与SDRAM有段不短的孽缘,它作为冤魂日夜不断纠缠笔者.笔者尝试过许多方法将其退散,不过屡试屡败的笔者,最终心情像橘子一样橙.<整合篇>之际, ...
- FMC—扩展外部 SDRAM
本章参考资料:< STM32F4xx 参考手册 2>.< STM32F4xx 规格书>.库帮助文档< stm32f4xx_dsp_stdperiph_lib_um.chm ...
- SDRAM和dcfifo的联合
SDRAM和dcfifo的联合 设计原理 在"SDRAM突发读写页"实验中,留下了一个问题,就是从SDRAM读取数据的速度要与SDRAM的驱动时钟同步,这就造成了读出的数据的速率过 ...
- SDRAM基础知识
SDRAM知识普及 在学习SDRAM之前,必须先了解"SDRAM"这个概念性的东西,并有感性的认识转变到一种理性的认识,所谓理性的认识就是实质性的东西…….不多说,相信你已经迫不急 ...
- 第26章 FMC—扩展外部SDRAM
本章参考资料:<STM32F76xxx参考手册2>.<STM32F7xx规格书>.库帮助文档<STM32F779xx_User_Manual.chm>. 关于SDR ...
- 【转】如何把变量或者数组定义到SDRAM及任意位置
我们开发软件的时候,经常会遇到到一个问题,就是内存不够,这个时候就纠结了,怎么办,有两种方法,第一种是扩展内存,外加SRAM或者SDRAM:第二种应该就是优化代码,也就是通常所说的把数组大小减一减,代 ...
随机推荐
- js 时间戳转yyyy-MM-dd HH-mm-ss工具类
转载自:https://blog.csdn.net/shan1774965666/article/details/55049819 在web开发中,我们经常需要用js将时间戳转yyyy-MM-dd H ...
- web-综合题2
地址 http://cms.nuptzj.cn/ 0x01 很有意思的一题综合题,确实包含的内容比较多 打开页面 把能打开的都打开,能看的都看一下 几个重点的信息 一段hash e045e454c1 ...
- 【简单的spfa+优先队列】
题目是给出只有x和y构成的图,相同元素走路不花费,不同元素间花费1,给出起点终点,最少花费是 #include<cstdio>#include<algorithm>#inclu ...
- jQuery中Ajax(三)
1. jQuery.ajaxSetup([options]), 设置全局 AJAX 默认选项. 参数见 'jQuery.ajax(url,[settings])' 说明. 2. jQuery.ajax ...
- SpringMVC拦截器(四)
拦截器,本质类似于AOP,主要的应用场景: 日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV等. 权限检查:如登录检测,进入处理器检测是否登录,没有登录返回登录页面. 性能监控:记录 ...
- 【java】svn显示×
背景:将客服系统代码赋值到商户子系统中,复制过去后,所有代码svn显示×. 可能:代码直接复制过去只是表面上再maven中显示的代码复制过去,不是真的代码,所以对于svn来讲真的代码删了,又来了一堆新 ...
- Docker 简单发布dotnet core项目 文本版
原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 照着步骤来基本没错 但是有几个要注意的地方: v ...
- cicros安装
1.下载与安装依赖包 wget https://github.com/libgd/libgd/releases/download/gd-2.2.5/libgd-2.2.5.tar.gz tar zxv ...
- leetcode 410. 分割数组的最大值(二分法)
1. 题目描述 给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组.设计一个算法使得这 m 个子数组各自和的最大值最小. 注意: 数组长度 n 满足以下条件: 1 ≤ n ...
- R语言填充空缺值
在R语言中, imputeMissings包的特点是,如果空值是数值型,则使用median代替,如果使用的是character类型,则使用mode值代替. imputeMissing中,需要的包是im ...