案例&资讯
案例&资讯
主页 › 案例&资讯行业案例 › 查看详情

MCU如何在扩展的SDRAM上运行程序?

来源:21ic电子网 日期:2022-03-03 14:36:36

在使用MCU的嵌入式系统设计中,当程序或者数据内存占用太大而无法放入片上闪存或SRAM时,开发者通常考虑使用SDRAM。
 
SDRAM是同步动态随机存取存储器的缩写。在微控制器应用中,微控制器通过使用外部存储控制器(EMC)操作访问SDRAM ,SDRAM时钟频率通常为100MHz或133MHz。
 
外部存储控制器通常不支持DDR SDRAM, 数据只是单边沿采样,即并行数据总线可以接受一个命令并在每个时钟周期传输一个数据字。
 
在SDRAM中执行程序是使用SDRAM的一种典型用法, 这里就介绍一下SDRAM中执行程序的方法和SDRAM执行程序的性能基准。
 
SDRAM必须在使用前进行配置,SDRAM初始化分为6个步骤。
 
1、配置EMC寄存器的SDRAM时钟频率、字节顺序和时序参数。
SDRAM的时序比较复杂,用户需要通过查阅相关SDRAM芯片的手册获得时序参数(如刷新周期、预充电命令周期、自刷新退出时间、写恢复时间等等)。
2、发送NOP命令
3、发送预充电命令
4、发送两次自动刷新命令
5、设置SDRAM模式
6、发送正常运行命令
 
系统启动时,SDRAM尚未初始化。理论上,程序在系统启动后的任何时刻都可以进行SDRAM初始化。然而,由于SDRAM初始化过程比较复杂,使用的系统资源较多,SDRAM初始化必须在所需的系统资源初始化完成后再进行。
 
具体上讲,开发者在芯片刚刚启动时(如Reset_Handler中)初始化SDRAM需要留心以下细节:
 
由于SDRAM初始化函数使用系统堆栈或全局变量,开发者必须确保系统堆栈或全局变量所在的物理内存上电及时钟使能。
 
在程序跳转到主程序启动之前,全局变量未清零或初始化,如果在主函数之前执行SDRAM初始化,开发者必须手动初始化变量。

本文关键词:MCU,SRAM,SDRAM


相关文章:灵动微电子MM32F0130单片机智能插座的参考方案


宇芯有限公司自成立以来,我们专注于代理国内外各大知名品牌的半导体元器件,代理品牌有NETSOL、JSC、everspin代理、来杨Lyontek、ISSI、CYPRESS,VTI等多个品牌总代理资质,主要产品线为sram、mram、psram等其他存储器芯片,致力于为客户提供具有竞争优势的产品,是一家专业提供存储方案解决商。