基于SPIFI外设的Cortex-M MCU嵌入式闪存选型解决方案
恩智浦新开发的SPI闪存接口(SPIFI)可以彻底解决并行/串行闪存的选型困扰。已申请专利的SPIFI外设可以将低成本SPI和新型四通道SPI闪存映像到ARM Cortex-M3内存中。与外部并行闪存方案相比,使用SPI外部闪存的MCU性能损失非常小。由于外部SPI闪存完整的内存空间可以映像到MCU内存中,微控制器对外部闪存直接访问,无需使用软件API或库。
例如,使用四通道SPI闪存,SPIFI外设传输速率可达40Mb/s。设计人员可以选择更便宜的SPI闪存器件,在保证性能的基础上缩小脚位尺寸,简化配置。由于系统无需针对外部并行闪存使用庞大的接口设计,设计人员还可以选择体积更小、成本更低的微控制器。嵌入式系统采用SPIFI外设可以提高内存资源利用率,缩小尺寸,提高效率,降低系统总成本。
SPIFI外设是恩智浦LPC1800系列ARM Cortex-M3微控制器率先采用的一种专用技术。此外,即将面市的新产品还包括低成本Cortex-M0系列和Cortex M4数字符串行控制器(DSC)。
SPIFI支持目前市场上大部分串行闪存器件(含四通道读/写产品),配置编程非常简便,采用4/6引脚设计(取决于串行闪存类型),支持小型寄存器组,优化内存事务,其软件指令可降低CPU开销,提高内存数据交换效率。
SPIFI工作原理
图2给出了SPIFI外设的功能框图。SPIFI功能块与微控制器应用的高速总线(AHB)矩阵连接,后者主要用于处理器内核和片上内存。SPIFI将外部SPI闪存内容映射到微控制器内存中。当片上ROM启动代码激活SPIFI接口后,外部SPI内存与核心处理单元上的片上内存功能完全相似。

图2:SPIFI外设功能框图。
初始化序列
SPFI接口的所有驱动程序全部保存在ROM中。对于读取操作,只需一个例程调用指令即可启动SPIFI外设。初始化序列结束后,整个SPI闪存可以象正常内存一样由处理器和/或DMA通道按字节、半字、整字访问。擦除和编程通过简单的API指令访问ROM命令调用即可,因此,使用外部SPI闪存与片上内存几乎没有差别。
从SPIFI启动
对于需要微控制器从外部串行闪存启动的系统,恩智浦LPC1800微控制器已配置了SPIFI启动功能。启动源的选择有两种方法:第一种是使用微控制器引脚确定启动源的接口;第二种由用户在非易失性内存中编程选择启动接口。使用非易失性内存编程可保留引脚的双重功能。
物理接口
图3给出了SPIFI外设的物理接口。本示例对于传统SPI闪存采用了标准的4引脚配置,如果是四信道SPI闪存,还需要增加两个引脚以支持四信道功能。

图3:SPIFI外设物理接口。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论