初学SDRAM笔记4--初始化时序结构体

初学SDRAM笔记4--初始化时序结构体_第1张图片

这个结构体里还有几个延时没说到,现在来看一下。

1、TRCD 行到列延迟

         在发送列读写命令时,必须要与行有效命令有一个间隔,这个间隔被定义为TRCD,即RAS to CAS delay,也可以理解为行选通周期,这应该是根据芯片存储阵列电子元件响应时间(从一种状态到另一种状态变化的过程)所制定的延迟。TRCD是SDRAM的一个重要的时序参数。通过查询数据手册可知,tRCD为15ns。

初学SDRAM笔记4--初始化时序结构体_第2张图片

2、tWR 注释写的恢复时间,其实这个应该是写入/校正时间。

         为了保证数据的可靠写入,都会留出足够的写入/校正时间,这个操作也被称作

写回(write back),tWR至少占用一个时钟周期或再多一点(时钟频率越高,tWR

占用周期越多)

初学SDRAM笔记4--初始化时序结构体_第3张图片

3、tRAS 自动刷新时间

         先来看下《终极内存技术指南》对它的解释:行有效至预充电命令间隔周期。它有一个范围,一般是预充电命令至少要在行有效命令5个时钟周期之后发出,最长间隔视芯片而异(基本在120000ns左右),否则工作行的数据将有丢失的危险。这也意味着一个工作行从选通开始,可以有120000ns的持续工作时间而不用预充电。显然,只要芯片不发出预充电的命令,行打开的状态就会一直保持。在此期间的对该行的任何读写操作也就不会有tRCD的延迟。


4、tXSR 自刷新命令后的延迟,ExitSelf-refresh delay,即退出自我刷新命令后要等待的时间,过了这段时间才可以发送行有效命令。查询手册,这个值在60到70ns之间。

到这里关于时序的几个重要参数就搞清楚了。照着数据手册,就可以完成结构体的初始化。

初学SDRAM笔记4--初始化时序结构体_第4张图片

到了这里有一个疑问。为什么SDCLK的时钟是90MHz呢?

查阅资料可知,FMC外设挂载在AHB3总线上,时钟信号来源于HCLK,SDRAM控制器里面有寄存器来控制SDCLK的分频。如下图,HCLK时钟进入后,再由配置寄存器里的寄存器来控制分频。

初学SDRAM笔记4--初始化时序结构体_第5张图片

初学SDRAM笔记4--初始化时序结构体_第6张图片

PS1:AHB时钟总线的作用:

1.AHB1总线,频率可达180MHz。主要用于连接外设包括GPIO端口,RTC单元,以及两个AHBAPB桥。其中两个APB桥还从两个DMA控制器单独开辟了总线用于DMA传输不用经过AHB1总线,这大大减少了AHB1总线的负担,很好的设计啊!
2.AHB2
总线。主要用于连接RNG随机数生成器,摄像头接口和全速USB-OTG单元,因为在图像应用中摄像头接口数据量太大,单独开辟总线避免和其他设备争总线造成系统反应缓慢。则是非常明智的选择。
3.AHB3
总线。只连接了FMC单元用于外扩存储器(包括ROMSRAMSDRAM等),独立总线可带来快速的存取响应。

 

PS2:AHB总线和APB总线的区别

AHB,是Advanced High performanceBus的缩写,译作高级高性能总线,这是一种系统总线AHB主要用于高性能模块(CPUDMADSP)之间的连接。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。

APB
,是Advanced Peripheral Bus的缩写,这是一种外围总线。
APB
主要用于低带宽的周边外设之间的连接,例如UART1284等,它的总线架构不像 AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。






你可能感兴趣的:(STM32,SDRAM)