MCUs是许多嵌入式子系统设计中的关键元素,但通常需要额外的功能来实现必要的系统功能。在基于mcu的设计中,可能最受约束的元素之一是芯片内存。越来越多的应用程序需要比单片机更多的系统内存。特别是先进的人机界面设计,需要大量的只读图像和音频信息,不容易存储在单片机的闪存中。此外,越来越多的应用程序发现,对于需要大量数据缓冲和存储的高级通信通道,芯片RAM的限制过于严格。
本文将快速回顾现代MCUs上可用的一些外部内存接口。这将帮助设计人员更有效地实现基于mcu的系统,这些系统需要额外的外部存储——要么是NVM闪存,要么是volatile SRAM/DRAM。
SDRAM的外部内存接口
扩展存储能力所需的最明显的外部内存接口可能是大型工作SRAM。通常,MCUs的芯片上的SRAM数量相对较少,通常应用程序需要的工作内存比在芯片上的要多。例如,高级用户界面可能需要大量的缓冲区内存来处理图形用户界面(gui),并创建视频或音频提示。通常,当存储或传输这些数据文件以减少本地存储需求或系统带宽需求时,将使用压缩技术。这意味着可能需要大量的工作存储来解压这些文件。通常,通信应用程序或数字信号处理应用程序需要大量的工作记忆作为缓冲存储。
许多MCUs为控制外部SDRAM设备提供了特殊电路的外部存储器接口控制器。一个例子MCU强调支持SDRAM接口的关键硬件元素是NXP LPC1787单片机。图1所示的外存储器控制器外围设备有几个可编程的延迟元件,用于调整关键的SDRAM信号中使用的关键接口信号的时间。例如,两个潜在的SDRAM时钟(CLKOUT1和CLKOUT2)的延迟值可以根据内存的需要调整到位置。此外,另一个可编程延迟调整了从内存中读取数据的时间。这样的时间调整&#