基于MCU外部存储器接口的系统设计

出处:电子发烧友 发布于:2023-06-21 15:53:56

MCU是许多嵌入式子系统设计中的关键元素,但实现必要的系统功能通常需要额外的功能。也许基于MCU的设计中受限制的元素之一是片上存储器。越来越多的应用程序需要比MCU可用的系统内存更多的系统内存。特别是,先进的人机界面(HMI)设计可能需要大量的只读图像和音频信息,这些信息不容易存储在MCU片上闪存中。此外,越来越多的应用发现片上RAM过度限制了需要大量数据缓冲和存储的通信通道。

本文将快速回顾现代MCU上可用的一些外部存储器接口。这将有助于设计人员更有效地实现需要额外外部存储的基于MCU的系统 - 无论是NVM闪存还是易失性SRAM/DRAM

SDRAM的外部存储器接口

也许多扩展存储能力所需的明显外部存储器接口适用于大型工作SRAM。通常,MCU具有相对少量的片上SRAM,并且通常应用将需要比片上可用的更多的工作存储器。例如,用户界面可能需要大量缓冲存储器来处理图形用户界面(GUI)和创建视频或音频提示。通常,在存储或传输这些数据文件时使用压缩技术以降低本地存储要求或系统带宽要求。这意味着可能需要大量的工作存储来解压缩这些文件。通常,通信应用或数字信号处理应用中需要大量工作存储器作为缓冲存储器。

许多MCU为外部存储器接口控制器提供了用于控制外部SDRAM器件的特殊电路。强调支持SDRAM接口的关键硬件元件的示例MCU是恩智浦LPC1787 MCU。外部存储器控制器外设,如图1所示,具有几个可编程延迟元件,用于调整关键SDRAM信号中使用的关键接口信号的时序。例如,可以调整两个潜在SDRAM时钟(CLKOUT1和CLKOUT2)的延迟值,以根据存储器的要求定位转换。此外,另一个可编程延迟调整从存储器读取的数据被采样的时间。这种时序调整及其范围和对于简化存储器接口,电路板布局和相关的信号时序检查至关重要。

基于MCU外部存储器接口的系统设计

图1 :恩智浦LPC1787 MCU外部存储器控制器。 (恩智浦提供)

恩智浦LPC1787外部存储器接口还包括几个其他重要的硬件功能,使外部SDRAM接口更高效。例如,框图顶部显示的数据缓冲区可用作读缓冲区,写缓冲区或组合使用。作为写入缓冲区,它们允许对事务进行分组,以限度地减少外部写入操作的数量,从而提高系统带宽并降低功耗。作为读缓冲器,它们充当本地数据副本,因此对相同位置的进一步访问可以使用片上缓冲器版本。这减少了外部读取操作的数量,从而提高了系统带宽并降低了功耗。

请注意,NXP内存控制器还支持RAM,ROM和Flash的静态存储器接口。这是大多数现代MCU存储器 - 控制器外设中使用的典型方法,因为大多数硬件在两个应用程序之间都很常见,并且应用程序通常不需要同时使用这两种类型的存储器。

配置外部存储器

外部存储器通常用于多种用途 - 应用程序不会将其视为存储的单块“块”。用于配置片外存储器块以简化存储器访问的方法有助于简化应用程序编码。 Silicon LabsC8051F70x/71x MCU系列使用了这种技术的一个例子。在该MCU中,使用特殊的MOVX指令访问外部存储器。为了便于将访问组合到片上和片外存储器,可以将片上存储器的一部分映射到外部存储器空间。图2显示了可用于将内部和外部存储器映射到外部存储器地址空间的四种配置模式。在模式1中,如图2的左侧所示,内部XRAM映射到完整的外部存储器空间,当片上XRAM存储器地址超过片上存储器的数量时,地址“包裹”。当芯片退出复位时,这可能是一种有用的模式,以避免未初始化外部存储器的启动问题。成功配置和测试存储器接口后,可以启用外部存储器空间。如果不使用外部存储器,也可以使用该模式。

基于MCU外部存储器接口的系统设计

图2:Silicon Labs C8051F70x/71x外部存储器配置。 (由Silicon Labs提供)

在模式2和3中,图2中左起第二个和第三个,地址空间在片上和片外访问之间分配。在模式2中,存储体选择不用于将高阶地址位驱动到地址总线上;用户可以控制这些地址值,以提供额外的灵活性。在模式3中,片上存储体地址自动用于驱动外部地址总线,从而提供更简单但不太灵活的方法。在模式4中,在图2的右侧,片外存储器完全映射到外部地址空间。这使得可以访问在其他地址模式中可能无法访问的外部数据,以充分利用可用内存。如果您的应用程序具有多种不同类型的外部存储器要求 - 代码,数据缓冲区,转换表或音频/视频处理,则可以简化设计,以使用具有地址映射和块访问功能的外部存储器控制器。

外部存储器接口灵活性

在某些应用中,MCU外部存储器接口支持多种存储器类型同时化器件引脚数量至关重要。常见的组合是用于程序存储的Flash和用作工作存储器的SRAM。如果MCU上使用多个存储器接口,则可能会在封装中添加20个或更多引脚,从而增加了成本,功耗和电路板空间要求。一些MCU在外部存储器控制器中提供了额外的灵活性,可以轻松适应各种存储器设备。例如,流行的Microchip PIC18F MCU系列提供了灵活的存储器接口,可以扩展到多种器件类型。图3显示了使用单个外部总线连接标准闪存和标准SRAM的一种方法。在这种情况下,使用一些外部组件(两个373存器和一个138解码器)来化MCU上使用的引脚数量。 (对于只需要一个373锁存器的8位接口,也可以实现更简单的实现)。具有这种灵活性的外部存储器接口允许“保存的”IO用于其他功能,化引脚效率,这是基于MCU的设计中重要的元素之一。

基于MCU外部存储器接口的系统设计

图3:Microchip PIC18F MCU外部存储器接口框图。 (由Microchip Technology提供)

接口时序灵活性

除IO互连灵活性外,外部接口通常还需要一定的时序灵活性。例如,如果内存慢于MCU时钟周期,则可能需要插入等待状态。理想情况下,可以为不同的外部存储器块分配不同的等待状态特性。当外部接口不仅可用于标准存储器而且可用于存储器映射器外设(如液晶显示器,模数转换器数模转换器)时,此功能更为重要。 Atmel ATmega MCU系列可以为外部存储器空间分配两个不同的等待状态值。如下面的图4所示,存储器配置A允许外部存储器被分成两个扇区 - 上部扇区和下部扇区。扇区大小可以有八个不同的值之一,以0x2000为增量从0x2000到0xE000调整上段和下段之间的分界线。

基于MCU外部存储器接口的系统设计

图4:Atmel ATmega64外部存储空间。 (由Atmel提供)

将外部存储器空间划分为两个扇区可以轻松地将具有较大等待状态值的设备和具有较小等待状态值的设备组合在一起。也许重要的是,如果零等待状态存储器用于频繁访问的程序数据,即使较慢的设备共享相同的存储器总线,也可以使用零等待状态值。这样可以限度地降低MCU引脚要求,同时提高性能并节省功耗。

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!